jrok Posted June 25, 2009 Share Posted June 25, 2009 (edited) I decided to post some progress on a new game I'm working on. But instead of posting a bin, I thought I'd just describe the game's progress, and throw out some screencaps I cobbled together from the current build. I really only want to post a near-final release candidate for this project, since in the past I've started working on things only to have my interest fizzle out during development. EDT: WIP binary attached The game is called "Charge!" It's working out to be a weird hybrid of Defender, Phoenix and Joust (which, not incedentally, are three of my favorite arcade games.) The action takes place on a medieval battlefield. You control a knight defending your castles from invading armies. The game progresses as a series of Waves, varying the number, type and difficulty of enemies spawned with each new Wave. The Knight is equipped with a Lance and a Bow. The Lance is automatically deployed when the knight's horse reaches a certain speed, giving him the ability to kill enemy knights and soldiers on the ground. The Bow fires magical Arrows skyward at dragons and other aerial enemies. A Defender-style radar readout (directly above the score) gives the player information about what is happening off-screen. Each of the surviving castles appears as a light green dot (flickered Ball). The player's position is marked by a single white pixel(missile0), while the invading enemies are represented by other pixels (flickered missile1). An additional play option allows players to track how far away certain offscreen enemies are by displaying a number in the extreme right and left of the screen (PF0). Play begins with four castles to defend and three knights (lives). Some enemies will focus on destroying your castles, while others will target your knight directly. Play ends when either all your knights are killed or all your castles are destroyed. Additional knights and castles can be earned during play. I've been developing the game with batari's multisprite kernel, which is simply awesome. Thanks again to Mr. Quimby (and to Mr. Wierer, for his fantastic VisbB IDE). Here's a couple of pics, showing the system of relative world movement. I'll try to keep posting updates whenever I have new things to show or explain. Cheers! Charge_rev1.bin Edited July 15, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
yuppicide Posted June 25, 2009 Share Posted June 25, 2009 Those screen shots look absolutely amazing! Quote Link to comment Share on other sites More sharing options...
Byte Knight Posted June 25, 2009 Share Posted June 25, 2009 Wow! You did all of that with batari Basic? Quite impressive... Quote Link to comment Share on other sites More sharing options...
Richi_S Posted June 25, 2009 Share Posted June 25, 2009 I'm amazed, and really looking foreward to see the final game! Quote Link to comment Share on other sites More sharing options...
jrok Posted June 25, 2009 Author Share Posted June 25, 2009 Wow! You did all of that with batari Basic? Quite impressive... Thanks! Yeah, the multisprite kernel is pretty incredible, so all credit to batari. I'm learning about how it is constructed as I go so I can hopefully make some minor modifications for the final build. I'm also toying with the idea of going up to superchip, since I am throttling every last bit. It's tempting, but I really want to try to squeeze this into a standard 8K cart. Quote Link to comment Share on other sites More sharing options...
gambler172 Posted June 26, 2009 Share Posted June 26, 2009 Hi Jrok Look great.....where is a bin???? greetings Walter Quote Link to comment Share on other sites More sharing options...
jrok Posted June 29, 2009 Author Share Posted June 29, 2009 (edited) I've made some decent progress over the past week. Thanks to batari's help, I am now coloring the background rows. This helps in the sense that with a slightly larger viewable battlefield, the player will have a bit more time to react before he is steamrolled by a dragon or a knight careening in from one side of the screen. Also, I no longer have to flicker PF0 between 0 and 255 to acheive a (modestly) different colored border. Given these new circumstances, I've been rethinking the whole idea of using the number counters to show how far away an enemy is, since that was partly a cludge for the narrow screen and partly for debug purposes. The dragons themselves are finally getting to behave the way I want: bobbing, swooping and breathing flaming death all over everything. When the player kills one, a new dragon spawns in a random position after a short period, wreaking havoc on any castles nearby. There are still a few details that need to be hammered out (having them "wrap" the world edges has caused a lot of headaches, for one thing) but in general I feel like I'm ready to focus on difficulty leveling. I've learned a lot about how to squeeze as much use out of the temp variables as possible. They are real handy for sequentially setting a series of properties before a drawscreen. In one case, I'm using temp6 as a data pointer that sets the horizontal speed, color, and number/size of the dragons in any given level. I used to waste a ton of variables to keep track of that sort of thing. Neat stuff! Here's a new screenshot: Edited June 29, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
jrok Posted July 6, 2009 Author Share Posted July 6, 2009 (edited) I'm very close to a good beta version here. The game is definitely playable in its current form, but I think it still needs some fine-tuning. What's new: I've stolen four addresses from the multisprite map (the Y values of the missiles and the ball and "statusbarlength") to create health counters for each of the four player castles. Even though the core game is finished, I still need to find 3-4 more variables to steal so I can create more data pointers for the dragons and knights. Even one or two would give me a lot more flexibility in making the enemies get more difficult over time. The castles change color as they recieve dragonfire damage, and turn to rubble once they've lost all their "health." When all four are destroyed, the game ends immediately. Considering changing this to a "sudden death" scenario, where the game ends if all four castles are gone and the current knight is killed. Decided to omit the 6lives_statusbar minikernel to conserve cycles. Substituted it with the pfscore constant, with the three left pixels represented the number of lives left and the right pixel bar representing the health of the current knight in play. Doesn't look as pretty, but it does the job. The dragons' routines are now split across two frames. Frame 1 sets the dragon horizontal path and chooses whether to attack, and Frame 2 sets the vertical attack depth and runs the firebreathing routine. In the firebreathing routine, each new stream of flame is progressively rendered and erased using the player0pointers. This means I need to flicker the player's knight sprite, but only when the dragon is on screen and breathing fire. But the flicker isn't too bad, and I think I can reduce it even further if I can figure out how to set the player pointers for the virtual sprites, and use an unused player to add color back to the knight sprite. The "jousting" logic is about 50% done. Currently, four enemy knights roam the battlefield, separated by zones that they personally guard. Collisions test for how close the player's Y is to the enemy's Y, with closer margins killing the enemy knight and wider ones wounding/killing the player. The knights still need to be a little smarter though, and I need to add a speed differential test to encourage the player to be moving fast as often as possible. Added a Title screen and a Game Over screen. New Z26 Screenshots: Player Hunts Distant Enemies Enemy Knight Running Away Enemy Knight Kills Player Dragon Burns Down Castle (after Killing Player) Edited July 6, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
yuppicide Posted July 6, 2009 Share Posted July 6, 2009 That looks freakin sweet! I think it looks like a sequel to "Battlezone" set in Medieval times! Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 (edited) Okay, I've attached a build. She's still plenty buggy, but she's playable. I've crippled a few gameplay elements until I've had a chance to fine tune them. Archived versions Charge_1.bin Charge_2.bin Latest version Charge.bin Edited July 8, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 8, 2009 Share Posted July 8, 2009 This is one of the best things I've seen on bB yet. How on earth did you do the Defender-style object map near the score? This kind of looks like your Knight Rider thing you did a while back (i.e. the horse and rider in particular.) Did you use some code from it? Quote Link to comment Share on other sites More sharing options...
yuppicide Posted July 8, 2009 Share Posted July 8, 2009 Hands down I think it's the best bB game I've seen so far! I'll admit I suck at it and don't totally know what to do, but the elements are freakin sweet. I love how you hold left and let go.. he'll keep running for a bit and then stop. The mini map thing is awesome. No clue how you did that. Custom ASM? Not sure what that bird is on top that keeps shooting at me. Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 (edited) This is one of the best things I've seen on bB yet. How on earth did you do the Defender-style object map near the score? This kind of looks like your Knight Rider thing you did a while back (i.e. the horse and rider in particular.) Did you use some code from it? Thanks! I just reused the spriteset for the knight. Everything else is from scratch. The object map is still a work in progress. It's composed of alternating balls (the castles), missile0 (the player's knight) and missile1 (the dragon). If I went up to superchip I could probably do a lot more with it, but if I did that I could probably do a lot more with everything I guess. Edited July 8, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 (edited) Hands down I think it's the best bB game I've seen so far! I'll admit I suck at it and don't totally know what to do, but the elements are freakin sweet. Thanks man. I suck at it too, heh. I purposely made this version a little mean-spirited while I'm still fiddling with the AI and difficulty progression. The mini map thing is awesome. No clue how you did that. Custom ASM? No, that's all bB. There's no inline asm in this at the moment. I'm using the ball and the missiles to make it. Not sure what that bird is on top that keeps shooting at me. That's a dragon man! Come on and use your imagination But seriously, the design of that sprite may change before the game is done. I'm experimenting with a 16px sprite that looks a bit more like a dragon... it'll flicker but it might look better. Edited July 8, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
bongomeno Posted July 8, 2009 Share Posted July 8, 2009 wow..... this was done in bB! lol sweet. Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 wow..... this was done in bB! lol sweet. Thanks! Quick question for you (or anybody else): Are you playing this in Stella? If so, do you hear the sounds? For some reason, I'm only hearing sound in Z26. Quote Link to comment Share on other sites More sharing options...
sandmountainslim Posted July 8, 2009 Share Posted July 8, 2009 wow..... this was done in bB! lol sweet. Thanks! Quick question for you (or anybody else): Are you playing this in Stella? If so, do you hear the sounds? For some reason, I'm only hearing sound in Z26. I am playing it with Stella and hearing the sounds fine. I can't figure out what to do in the game though other than ride at full pace and lob grenades at birds Am I doing it right? GREAT looking game! Wp Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 wow..... this was done in bB! lol sweet. Thanks! Quick question for you (or anybody else): Are you playing this in Stella? If so, do you hear the sounds? For some reason, I'm only hearing sound in Z26. I am playing it with Stella and hearing the sounds fine. I can't figure out what to do in the game though other than ride at full pace and lob grenades at birds Am I doing it right? GREAT looking game! Wp Thanks, slim! Hahah yeah, that sounds about right. If you can ride under a dragon's fire column and time a shot just right, you can even avoid getting damaged. You also have to stop those dragons/birds from burning down all your castles with their firebreath/flaming-bird-poop. Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 (edited) I worked on a couple of bugs and lightened up the difficulty a little in this version. I'm curious if anyone makes it to the first "boss." A few notes: To kill knights, try aiming a little above their Y position (the actual jousting logic has been disabled for now) Try to kill dragons before they can reach a castle. In later waves, some dragons must be hit more than once to kill. Any suggestions are welcome. Archived Version: Charge.bin Latest Version: Charge_rev1.zip Edited July 11, 2009 by jrok Quote Link to comment Share on other sites More sharing options...
yuppicide Posted July 8, 2009 Share Posted July 8, 2009 I !!was!! using my imagination. Originally I thought it was some sort of space ship about to beam me up! Not sure what that bird is on top that keeps shooting at me. That's a dragon man! Come on and use your imagination But seriously, the design of that sprite may change before the game is done. I'm experimenting with a 16px sprite that looks a bit more like a dragon... it'll flicker but it might look better. Quote Link to comment Share on other sites More sharing options...
yuppicide Posted July 8, 2009 Share Posted July 8, 2009 I play in Stella and I hear sounds just fine. If you complete this game I think this is the ONE game everyone will look at and THINK it's done in pure ASM. Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 I play in Stella and I hear sounds just fine. I guess its something on my end, then Quote Link to comment Share on other sites More sharing options...
yuppicide Posted July 8, 2009 Share Posted July 8, 2009 My advice is that when you're done you have a high res title screen done up in ASM. Then nobody for sure will know this is done in bB. Or maybe you're craftier than me and can do something tricky in bB. Quote Link to comment Share on other sites More sharing options...
jrok Posted July 8, 2009 Author Share Posted July 8, 2009 My advice is that when you're done you have a high res title screen done up in ASM. Then nobody for sure will know this is done in bB. Or maybe you're craftier than me and can do something tricky in bB. Thanks, but I wouldn't want to hide the fact that this was made with batariBasic. I mean, at the very least batari deserves credit for making 2600 programming so accessible and fun for guys like us, you know? If I ever completed and sold this, I'd put "bB" on the box. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 8, 2009 Share Posted July 8, 2009 Your 8 is a little messed-up, you might want to fix it. 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.