Sprybug Posted June 9, 2019 Share Posted June 9, 2019 (edited) 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 June 9, 2019 by Sprybug 14 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted June 9, 2019 Share Posted June 9, 2019 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? 1 Quote Link to comment Share on other sites More sharing options...
TrekMD Posted June 9, 2019 Share Posted June 9, 2019 Really cool game. Nicely done. 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted June 9, 2019 Share Posted June 9, 2019 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. 1 Quote Link to comment Share on other sites More sharing options...
nyandeyanen Posted June 9, 2019 Share Posted June 9, 2019 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! 1 Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 9, 2019 Author Share Posted June 9, 2019 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! 2 Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted June 9, 2019 Share Posted June 9, 2019 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. 2 Quote Link to comment Share on other sites More sharing options...
djmips Posted June 9, 2019 Share Posted June 9, 2019 (edited) 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 June 9, 2019 by djmips 1 Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted June 9, 2019 Share Posted June 9, 2019 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. 1 Quote Link to comment Share on other sites More sharing options...
+stephena Posted June 9, 2019 Share Posted June 9, 2019 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). 1 Quote Link to comment Share on other sites More sharing options...
KevinMos3 Posted June 9, 2019 Share Posted June 9, 2019 (edited) 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 June 9, 2019 by KevinMos3 1 Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 9, 2019 Author Share Posted June 9, 2019 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. 3 Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 9, 2019 Author Share Posted June 9, 2019 (edited) 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 June 9, 2019 by Sprybug 3 Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 10, 2019 Author Share Posted June 10, 2019 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. 3 Quote Link to comment Share on other sites More sharing options...
Trip2018 Posted June 10, 2019 Share Posted June 10, 2019 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! Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 10, 2019 Author Share Posted June 10, 2019 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. 1 Quote Link to comment Share on other sites More sharing options...
Lillapojkenpåön Posted June 10, 2019 Share Posted June 10, 2019 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 Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 10, 2019 Author Share Posted June 10, 2019 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. 1 Quote Link to comment Share on other sites More sharing options...
Trip2018 Posted June 11, 2019 Share Posted June 11, 2019 (edited) 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 June 11, 2019 by Trip2018 Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 11, 2019 Author Share Posted June 11, 2019 (edited) 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 June 11, 2019 by Sprybug 2 Quote Link to comment Share on other sites More sharing options...
Trip2018 Posted June 12, 2019 Share Posted June 12, 2019 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. Quote Link to comment Share on other sites More sharing options...
Trip2018 Posted June 12, 2019 Share Posted June 12, 2019 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. Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted June 12, 2019 Share Posted June 12, 2019 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. Quote Link to comment Share on other sites More sharing options...
Arenafoot Posted June 12, 2019 Share Posted June 12, 2019 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/ Quote Link to comment Share on other sites More sharing options...
Sprybug Posted June 13, 2019 Author Share Posted June 13, 2019 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. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.