Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411498 Posts in 69373 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 08:37:15 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsPlatformer on the mega drive (for now)
Pages: 1 2 3 [4] 5 6 ... 10
Print
Author Topic: Platformer on the mega drive (for now)  (Read 29239 times)
diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #60 on: September 11, 2020, 05:24:46 PM »

It's easy to fall for that! Beginner devs usually worry about the latest graphics tricks and features and which engine is more realistic. And even non beginners sometimes! Apparently Duke Nukem forever suffered from this.

This project is particular because I set out to make a game for the mega drive specifically. So it's not like UDK vs unity or anything like that. Coding for the mega drive has be done either directly in ASM (if you are insane) or in C using a devkit called SGDK (if you are slightly less insane). Since both are extremely cumbersome to work with, I decided to design the game in Unity first because it is great for rapid prototyping. My dilemma is not which engine to use but how far should I prototype my design in Unity before diving back into the project.

And it's a super boring looking prototype. I didn't want to waste time with animations, so it looks like some weird stealth chess. I mean, which would you be looking forward to work in, this:

or this


But patience is important and pays off in the end.
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #61 on: September 11, 2020, 08:19:29 PM »

OK so I know I'm spamming this topic too much but I just wanted to share an obvious bit of knowledge. It's super obvious! But I keep forgetting so it's worth sharing.

When prototyping, you don't actually have to implement stuff. You can rely on your imagination to some extent. For example, in a platformer you might want to implement decent physics and collisions, but you don't need to implement fail states, you know that touching an enemy would be death so you can experiment and use your imagination a little.

In my case I realized I spent some unnecessary amount of time with checks to see where the character can walk, where there is a wall, where he can jump etc. In a grid based movement none of this is necessary!

Anyway, that's it. When prototyping don't waste time with things you know how should behave and can safely rely on your imagination Tongue
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #62 on: September 12, 2020, 03:09:31 AM »

It's almost always a good idea to protoype without any fancy graphics, but I think it's especially valid here because it makes more sense to worry about that when you implement the actual megadrive version and have to budget your available CPU cycles and whatnot to decide what to include or not.
Logged
diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #63 on: September 14, 2020, 10:08:08 PM »

It's almost always a good idea to protoype without any fancy graphics, but I think it's especially valid here because it makes more sense to worry about that when you implement the actual megadrive version and have to budget your available CPU cycles and whatnot to decide what to include or not.
Yes!

So, reiterating my current plan: It follows Art of Theft in the level layout style. Small, self contained, requiring non-linear navigation. I intend on not having any sort of upgrade system for replayability, so my plan to make it an engaging experience is to lean strongly on more complexity and depth. This requires level design with more moving parts and more gameplay mechanics, which I'm supplying with the two playable characters.

That is the plan so far. Not sure I like my experiments so far.

Spent some time playing with mostly my imagination in the prototype. I had an interesting idea to add to the mix and break some of the linearity of grid 2D space. One of the characters can move between specific locations like a teleport. AoT achieved the same thing with doors. But I like the idea of restricting this ability to one of the characters. I also added camera, which I'm leaning towards making it part of a category that only the clunky one can dispatch with. Who can kill what is still a mystery to me though. Maybe I should remove killing altogether.



The way I imagine this level to be is that you need to reach that high office at the top left. The red door can be opened by clunky but it's inaccessible at first. The blue lines were my attempt at defining some teleport points. I played around with having clunky disabling the camera at the top floor so stealthy can access the office from the right (picking lock takes too long to do it with that camera watching). But it's kind of trivial with that teleport line as is.

My attempts at creating an interesting challenge led me to think I need more combined abilities! I thought about noise making, so one can help the other cross some guarded section.

My honest impression at this point is that there is a good game in here somewhere! For real. The next step would be to move some of these things from my imagination to a crude implementation. However, for whatever reason, I'm not that hyped by what I'm seeing. I guess it's steering too far from that first image in my mind that got me interested in this in the first place. I would definitely play it if someone else made it, but I don't know if I'm excited enough to make it myself.

I want to take a step back test other ideas before tossing this project in the bin again.

Logged

JobLeonard
Level 10
*****



View Profile
« Reply #64 on: September 14, 2020, 11:40:52 PM »

Does the megadrive have a "sprite limit per scan line" thing? Or was that more of a NES era problem? Because that might be a relevant technical limitation of your game design plan here Wink
Logged
diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #65 on: September 15, 2020, 09:59:39 AM »

It does have the limitation. But it's much higher than the NES and going over the limit isn't the end of the world depending on the game, it causes some flickering. I think it's hard to reach this limit unless for bullet hell games!
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #66 on: January 31, 2021, 09:07:54 AM »

It has been a while since I visited this forum. Having a son in a pandemic is extremely exhausting. Seriously, even my doctorate didn't come close to this. But I have been working on this project specifically (well not quite this one, but I'll get to that later) and maybe it will help to write about it again.

Quote
I want to take a step back test other ideas before tossing this project in the bin again.

So I tossed this in the bin again. And then I picked it out of the bin yet again.

Honestly, I'm not so much as 'picking it out of the bin' as I'm starting a new project that resembles what I was going for with this one.

The whole cinematic platformer on-the-grid thing is out of the plan. I concluded those games I liked do not appeal to me anymore. So it's a regular platformer controller now. But I am still interested in the 'cinematic' aspect of the project so I'm working on getting a regular platformer that has smooth animations and transitions. That's easier said than done but we'll see.

So it's a platformer with a metroidvania structure, which is unoriginal enough that designing it should be less challenging than my usual projects. Well... there is the stealth and combat thing though. Stealth and metroid have yet to be combined effectively, in my experience, but I'm willing to give it a shot. And I don't know how to do combat yet. But I want to make it fun and nice, just because I don't trust the stealth will work.

Still on the mega drive! I find programming in C from basic building blocks surprisingly relaxing. It's slow though, and any form of refactoring takes ages. Right now, for example, I would really like to quickly see if my idea for combat would work, and I don't want to do it in C. I'm giving game maker a try for rapid prototyping.

Just to not leave this comeback post without a gif, here's the movement system filled with temporary animation:



Some peculiarities of the movement: you have two different kinds of jumps, one jumping that isn't high but long, and standing jump that requires 'winding up' and goes higher. There's quite a bit of inertia too.
Logged

oahda
Level 10
*****



View Profile
« Reply #67 on: January 31, 2021, 02:03:52 PM »

Again, welcome back! Hope you'll be less exhausted soon. This new stuff looks cool! Getting Prince of Persia vibes, perhaps not surprisingly. Are both kinds of jumps in the GIF? I watched it a few times and feel like I'm only seeing one of them. Blink Looking forward to future progress. c:
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #68 on: January 31, 2021, 03:08:01 PM »

Thanks! :D I hope that happens soon too Tongue

Quote
Are both kinds of jumps in the GIF?

Nop! In fact, I haven't implemented the wind-up jump yet.

Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #69 on: February 07, 2021, 10:15:04 AM »

Started implementing basic combat. The idea is to make a kind of prince of persia thing, where you automatically go into combat mode whenever near an enemy. That is, you unsheathe your sword, face your opponent, side step etc.

As I code the finite state machine that will become this system I start to question if I want to go this route. A whole new state means a lot more coding to do! special animation for side stepping. Lots of cases to deal with, like falling of a ledge in combat mode returns you to normal mode. And what if there are two enemies? which one do you face? extra turning animations for attacking and defending both ways?

As complex as this specialized mode is, it's not much of a problem in PoP because that game has very few enemies. I don't think you ever fight more than one at the same time.

I'm just thinking out loud here, by the way  Hand Joystick

I think it will be easier to make something simpler. (well duh). Like an attack button that let's you attack from normal mode.

In terms of mood and gameplay I noticed this is getting very similar to Blasphemous, a very cool game that I did not enjoy very much. Souls games have really cool ideas, but I dislike the repetition. It's basically a tweak on the metroidvania formula, but instead of upgrades as keys you have upgrades and player skill as soft keys. That is, you *could* in theory make a B line for ending but you're more likely to be squashed by stronger enemies. So by exploring and dying a lot you eventually find the path of minimum resistance. I like the idea. I prefer to borrow the strategy of information games and rely on knowledge gathered rather than skill+xp+repetition. But I don't know how to achieve that, to be honest.

I was talking about combat though. I'll just make a basic attack and a basic defense and parry and try that out.
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #70 on: February 08, 2021, 08:46:25 AM »

Good to see you posting again!

That is, you *could* in theory make a B line for ending but you're more likely to be squashed by stronger enemies. So by exploring and dying a lot you eventually find the path of minimum resistance. I like the idea. I prefer to borrow the strategy of information games and rely on knowledge gathered rather than skill+xp+repetition. But I don't know how to achieve that, to be honest.

If I'm remembering the contents of this video correctly it may be of interest as it touches on similar topics, but about knowledge required to solve puzzles rather than skill in combat:


Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #71 on: February 08, 2021, 12:42:43 PM »

Quote
Good to see you posting again!
Thanks, Ishi! Smiley I'm not in the best place, in terms of mental health, and a warm reception makes me smile.

I am definitely watching this video as soon as I can. Also I played the first Toki Tori and it really did not stick with me, I had no idea TT2 went metroidvania! it looks a lot more interesting, and possibly useful for the current project as well.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #72 on: February 09, 2021, 02:47:53 AM »

Anything we can do to support you a bit diegzumillo? Other than remind you how happy we are that you're part of our little community? Smiley
Logged
oahda
Level 10
*****



View Profile
« Reply #73 on: February 09, 2021, 03:58:28 AM »

Hope you'll do better soon! <3 Looking forward to seeing the new mechanics implemented. Coffee
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #74 on: February 09, 2021, 11:44:13 AM »

Thanks, everyone! Smiley

Quote
Anything we can do to support you a bit diegzumillo?

Nah, I'll be just fine Coffee
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #75 on: March 25, 2021, 02:59:37 PM »

Today I am tired and it's 33 C (91 F), which means my ADHD is OFF THE CHARTS  Waaagh!. I can't maintain a coherent line of thought for too long so I thought 'hey, let's write a devlog post!' because logic. Seriously, writing here helps me out of the ADD-induced stupor.

Here is what I tried doing today but failed to maintain focus. I need some simple stick figure animation for guards, just to help me further implement the logic. I have idle, start walk, walk, turn, all of these repeated with weapon in hand, sheathe and unsheathe animations. My whole day was spent putting a pixel, then going to the kitchen, putting another pixel then doing a little dance while eating cheetos, then putting another pixel and singing in front of a fan etc. (The worst part is that today was one of the most free days I had for myself in almost a year!)

The code side is not too bad either. The AI has 3 states: calm, confused, and alerted. A variable called suspiciousness increases whenever it has line of sight to the player. When this number reaches a value (L1) the AI switches to confused. L1 is very low, it's meant to be reached almost instantly when he sees the player because the confused state is just that, he stands and just... be confused. After it reaches the second value (L2) it goes into alerted mode.

So far this is what I have and it's kind of a dead end. Maybe alerted state actually has two substates: combat if there is line of sight and is near enough to the player and searching for the player.

Maybe. I don't know. Writing did not help me that much today. Maybe tomorrow my mind will be less foggy.

Here's a gif:



Another thing I did was switching to an emulator with a good CRT composite filter. Because I want the game to look good under these conditions but it's hard to know without seeing it. I could not for the life of me find a good workdlow, something that let's me put a crt shader on aseprite or on part of the screen. So this is the best I came up with.

It looks much darker! a lot of details disappeared because it uses similar dark colors, and the small highlight on the shoulders that I thought were too much are looking much nicer. I also don't like the overall shape of the idle frame, those straight lines are distracting; looks like a square with a tiny head on top.
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #76 on: April 08, 2021, 10:41:33 AM »

Here comes another rambling log!

First: I'm a twitch streamer now. The idea is that by having the occasional curious looking over my shoulder helps me procrastinate less. So pop in any time if you want to see me coding or pixeling or other things if I forget it's streaming.

So anyway, I just stopped streaming a minute ago because I finished what I had set out to do; code basic AI and its accompanying animation state machine. Now I need to set some new goals, and here are my options:

- continue along this line, code alerted state which includes attacking the player, and searching state.
- Improve the engine. Right now level loading is all done by hand in the main function. I need to code a metroidvania system that loads parts of the map, decides what's persistent etc.
- Improve my Tiled editor workflow and parser.

I could write more things, like backgrounds and improved animations. But, if I'm being honest with myself, I should really make a beeline to the biggest design mystery and obstacle, get it out of the way as fast as possible. Combat. So let's do that then. Let's code a simplistic combat.

I'm thinking classic darksoulsy slow but with high risk, dodge roll, attack, defend, parry etc.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #77 on: April 08, 2021, 11:24:08 AM »

Well, I just popped in to say hi Smiley

Not a regular Twitch user so I can't say whether or not I'll be following all the time, but I hope the solution works in general!
Logged
diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #78 on: April 08, 2021, 11:29:19 AM »

Thanks for popping in! :D it was nice seeing someone there haha. Weirdly enough the viewers count remained at zero. Sometimes it stays at 1 when I'm pretty sure I'm alone. That thing is surprisingly unreliable. I mean, what are the challenges of making a viewer counter anyway?
Logged

muki
Level 2
**



View Profile
« Reply #79 on: April 08, 2021, 07:25:23 PM »

Following this!

I'm super fascinated by the idea of developing for old hardware. Been kind of tempted to do it for the GB, one day.

Dig what's been shown so far!
Logged
Pages: 1 2 3 [4] 5 6 ... 10
Print
Jump to:  

Theme orange-lt created by panic