Jump to content

Recommended Posts

Yes! It's finally here. The playable Demo of Robot Zed. Years in the making!

I spent all day trying to figure out this game breaking bug that's been plaguing me for months and finally figured it out. Now I can finally release this thing.

 

You're a cute little robot that can obtain the powers of certain enemy robots once you defeat them.

You can use those powers in your quest to rescue all of your Robo Buddies!

 

This is just the opening level that everyone plays before you get access to any of the other levels.

This game is also a rogue like with inspiration from Mega Man and Kirby.

 

Here are the control instructions:

 

Left / Right - Moves in that direction

Up - Fires current weapon power

Fire Button - Jumps

Fire Button AND Down - Cycle through your powers to select (if you've obtained any).

 

You only have one life and an energy status. Every hit by enemy fire, an explosion, or even running into an enemy will knock it down.

To the right is the your power ability number. Every time you use one of your selected abilities, it will drain this. Once you are down to zero, you will return to normal power Zed.

You can obtain life energy from the regular bots that don't give you any special powers.

You can obtain special powers from the robots with special abilities. You receive their ability plus 10 power ability points.

If you already have their ability, you will receive 5 power ability points instead.

When you lose all your life energy, it's game over.

 

When you destroy an enemy, it will release their power module and will follow you until you collect it.

The regular bot won't always give you life energy.

 

So, have fun, tell me what you think, and if you run into any crazy bugs.

I will also be updating this demo with additional window dressing so to speak, to make it look even better. Once I make any additions, I will upload the new version.

 

Note: Quick edit. Minutes after uploading I realized I forgot to remove a recent bug checker I added to the code. I removed it and have uploaded the correct version.

 

RobotZed_07.bas.bin

Edited by Sprybug
  • Like 13

Share this post


Link to post
Share on other sites

I think up as FIRE feels better than up as jump. Thank you for the new, unique game :)

 

Is there a place to read up on new techniques and mitigating quirks you found while making this?

  • Like 1

Share this post


Link to post
Share on other sites

Looks great! Do you have any plans to add two-button gamepad support? Up for fire works, but it would be nice to have fire and shoot mapped to different buttons.

  • Like 1

Share this post


Link to post
Share on other sites

This is really well done, and I was surprised how naturally the up direction maps to fire. I agree that it would be interesting to have a second fire button a'la the 7800's controllers, but I suppose that probably wouldn't be easy to do. The way it's implemented now is perfectly playable!

  • Like 1

Share this post


Link to post
Share on other sites

Looks great! Do you have any plans to add two-button gamepad support? Up for fire works, but it would be nice to have fire and shoot mapped to different buttons.

 

Yep! It's already in the code. I just have to add the part of the code that will auto detect it and set it, which doesn't take much to do. I did it when it was demo'd at PRGE in 2018. You could play it with a Genesis controller, in fact it's preferred. I rem'd it out for this demo because you're playing in Stella and unless you know how, it won't auto default to it and you have to set it up. Playing with a keyboard too makes up for fire not much of a hassle. It will have Genesis Controller support for sure in a later demo release, and of course in the full version. Just like Princess Rescue!

  • Like 1

Share this post


Link to post
Share on other sites

Yep! It's already in the code. I just have to add the part of the code that will auto detect it and set it, which doesn't take much to do. I did it when it was demo'd at PRGE in 2018. You could play it with a Genesis controller, in fact it's preferred. I rem'd it out for this demo because you're playing in Stella and unless you know how, it won't auto default to it and you have to set it up. Playing with a keyboard too makes up for fire not much of a hassle. It will have Genesis Controller support for sure in a later demo release, and of course in the full version. Just like Princess Rescue!

Sold! I’ll take a cart now please. :)

  • Like 2

Share this post


Link to post
Share on other sites

Fantastic! Of course I like button for jump and up for shoot as well. ;-) But some people are going to want to swap to "up for jump and button for shoot" (if they don't have a Genesis controller). So consider putting in that as an option - menu or difficulty switch perhaps. I'm always abusing the difficulty switches; it is confusing but allows configuration without adding a menu and it's sticky.

Edited by djmips
  • Like 1

Share this post


Link to post
Share on other sites

You could play it with a Genesis controller, in fact it's preferred. I rem'd it out for this demo because you're playing in Stella and unless you know how, it won't auto default to it and you have to set it up.

 

The next version of Stella (6.1) will have autodetection for many controller types, including the Genesis. So this point may be irrelevant when 6.1 is released.

 

EDIT: In fact, testing with the git version of Stella 6.1 right now, it autodetects Genesis even though you've commented it out in the code (it analyzes the bytes sequences that are used for Genesis handling, but doesn't know that they aren't active in the ROM). :)

  • Like 1

Share this post


Link to post
Share on other sites

Awesome work! I love everything about this demo. Can't wait to own the full game.

 

P.S.

What do the letters stand for that you get after defeating the 1st boss?

Edited by KevinMos3
  • Like 1

Share this post


Link to post
Share on other sites

 

The next version of Stella (6.1) will have autodetection for many controller types, including the Genesis. So this point may be irrelevant when 6.1 is released.

 

EDIT: In fact, testing with the git version of Stella 6.1 right now, it autodetects Genesis even though you've commented it out in the code (it analyzes the bytes sequences that are used for Genesis handling, but doesn't know that they aren't active in the ROM). :)

 

Really?! Wow! When I edited the code to go back to regular controller for this, I didn't realize I left in full Genesis controller functionality. That's great to know. I'll be sure to go back and add full support then in my next update, which will also include an experiment I am doing to make a sort of 2.5D background with dark color bars to make it feel like you're in a room and the perspective will shift on the bars depending on how high or low you are on the screen.

  • Like 2

Share this post


Link to post
Share on other sites

Really nice game. Plays well and I like the music.

 

BTW, it won't play on my Harmony Encore, but it does play on the UnoCart.

 

UNO CART? Okay, never heard of this one, now I gotta do some research, because I'll need something like that to test the game on the real deal as I progress.

My Harmony cart of course, won't play it.

I just saw a video on how to make your own. Okay, gonna go watch this video now. TTYL!

Edited by Sprybug
  • Like 2

Share this post


Link to post
Share on other sites

Awesome work! I love everything about this demo. Can't wait to own the full game.

 

P.S.

What do the letters stand for that you get after defeating the 1st boss?

 

It's the robot you rescued. Each one has a certain ability that will allow you to get through a different upcoming level and also use the power in the level. Like Sky Way you have to fly, Sea Way you need to have the water suit ability to be able to "float", etc, and etc. I'm going to create a sort of Overworld level, where you can enter the other levels in a side scroller platformer like any other level, but you can only access these levels if you have that robot's power, so it's up to you to discover which power will allow you entry. It's random, adding to the rogue like element, on which one you rescue, so it's going to be different every time you play it.

  • Like 2

Share this post


Link to post
Share on other sites

Really nice! It has wonderful animations, good platforming segments, nice character design that isn't to unfamiliar to what you would normally see out of the 2600 games, a nice controller scheme, and a sort of a megaman feel. The only criticism I have is that movement is way to fast. Even then, it didn't take that much away from the experience. 4 stars! Keep it up man!

Share this post


Link to post
Share on other sites

Really nice! It has wonderful animations, good platforming segments, nice character design that isn't to unfamiliar to what you would normally see out of the 2600 games, a nice controller scheme, and a sort of a megaman feel. The only criticism I have is that movement is way to fast. Even then, it didn't take that much away from the experience. 4 stars! Keep it up man!

 

Yes, the movement speed is difficult to try and tack down, because I changed the method from Princess Rescue, to be more efficient on how it checks screen memory for platforms to save on CPU cycles, but it also assumes that you move 4 pixels at a time, which is the length of each playfield block. Since the playfield scrolls at 4 pixels per scroll (and there is no way around it), I thought it'd make sense to match that rate, but it also makes the movements pretty touchy. I added a stop when you land from a certain height or change direction to try and help out, but it only lasts a frame or two. Maybe I need to make it last longer.

Share this post


Link to post
Share on other sites

Haha

 

Nice! I beat the boss, I might have taken a shortcut because I got shot into a wall and jumped in the wall mario style up to the next level :)

Haha! I was playing it yesterday and trying to break stuff and the same thing happened to me, but it just advanced me to the next part of the level. You were probably just one level away from getting to the boss already at that point. This is one of the bugs I'll need to fix.

Share this post


Link to post
Share on other sites

Yes, the movement speed is difficult to try and tack down, because I changed the method from Princess Rescue, to be more efficient on how it checks screen memory for platforms to save on CPU cycles, but it also assumes that you move 4 pixels at a time, which is the length of each playfield block. Since the playfield scrolls at 4 pixels per scroll (and there is no way around it), I thought it'd make sense to match that rate, but it also makes the movements pretty touchy. I added a stop when you land from a certain height or change direction to try and help out, but it only lasts a frame or two. Maybe I need to make it last longer.

You could probably use a frame buffer bit on player movement to fix it. You'd likely gain a lot of extra cpu cycles, which is always a win in my opinion. Edited by Trip2018

Share this post


Link to post
Share on other sites

You could probably use a frame buffer bit on player movement to fix it. You'd likely gain a lot of extra cpu cycles, which is always a win in my opinion.

 

Good suggestion, and like with Zippy, I'm doing 2 screen draws for every game cycle, already putting me at 30 FPS. I split the two so I can fit in more CPU cycles to do more things. Princess Rescue used 3 for 20 FPS, but since then I was able to refine some things. The only downfall with your suggestion though, would be a noticable speed down and speed up every time you moved, which would also mess with the speed of the soundtrack. I've been thinking about using a bit to make your increments 2 pixels instead of 4 when you start moving as a momentum buildup, and then when you move twice under that you go back to a full 4, keeping your increments even. It shouldn't throw off my platform checks and it won't do a screen scroll, which by in of itself eats a lot of cycle time.

Edited by Sprybug
  • Like 1

Share this post


Link to post
Share on other sites

I was thinking more along the lines of a bit that only interferes with player movement and nothing else. Wouldn't affect the frames of anything else.

Share this post


Link to post
Share on other sites

I've been thinking about using a bit to make your increments 2 pixels instead of 4 when you start moving as a momentum buildup, and then when you move twice under that you go back to a full 4, keeping your increments even. It shouldn't throw off my platform checks and it won't do a screen scroll, which by in of itself eats a lot of cycle time.

So like how super Mario bros. does it with sub-pixels? I was thinking of that too but I figured frame buffer method would be more efficient.

Share this post


Link to post
Share on other sites

Awesome smooth scroller with great music! :)

 

I like the Weapon the character has - very different than Mr Do or Berzerk.

 

I prefer interesting genre ports like this one and Gemintronic's Pacman that build on the classics with new concepts over exact clones.

Share this post


Link to post
Share on other sites

 

UNO CART? Okay, never heard of this one, now I gotta do some research, because I'll need something like that to test the game on the real deal as I progress.

My Harmony cart of course, won't play it.

I just saw a video on how to make your own. Okay, gonna go watch this video now. TTYL!

https://thebrewingacademy.com/

Share this post


Link to post
Share on other sites

So like how super Mario bros. does it with sub-pixels? I was thinking of that too but I figured frame buffer method would be more efficient.

 

Talking this out with you reminded me of something. After the demo, I was going to go back and start changing a few variables that only use values 0-16 and splitting them in two, making them essentially 2 nybbles. The reason why I mention this, is because I have already used all my ram. I have one variable that is for gravity momentum when you fall or jump. It never exceeds 6. Make that a nybble, and then I can use the other half as another momentum nibble for starting a walk/run. When the screen scrolls 4 pixels at a time, there's nothing you can do about it. You're locked at 4 pixel movement. HOWEVER, if you're still and you're just starting to move, the screen will not scroll, so you can build up a little bit before you take off again. Looking back, this is how Princess Rescue worked, and it worked pretty darn well then, I just have to go back and make quite a bit of adjustments to the code to make this happen. This should help give it more of a Princess Rescue movement vibe. Not exactly, but close.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...