supercat Posted November 3, 2005 Share Posted November 3, 2005 Here's a demo of a new kernel I wrote for a "Lunar Lander" style game. Like the FB2, this one has 30Hz flicker **BUT** in exchange for that flicker you get a high-resolution background *AND* a nice-sized ship sprite (20+ pixels wide when pointed sideways at maximum thrust) *AND* some other really cool effects I don't think have ever been done on the 2600. LL.bin To use this demo, fire it up and notice the somewhat-vectory ship superimposed on the hires landscape (which is hopelessly out of scale of the ship--sorry about that; the landscape is drawn for the zoomed-out view and the ship is sized for the zoom-in view). The ship may be moved about the screen using the joystick. The real coolness comes, though, when you push the RESET or SELECT buttons. I'm not going to spoil the surprise. And whatever you do, don't push FIRE. At first glance, one might think the game looks like a Suicide Mission kernel. And in some ways the resemblance is very strong. It uses six sprites per line spaced wide, shifting by eight pixels on alternate frames to show a 96-pixel-wide bitmap. But there's a twist: the Suicide Mission kernel uses 1K or so of RAM to hold a bitmap. This binary doesn't use any extra RAM. So how does it work? I don't want to spoil everything by giving away my secrets too easily, but this little demo should be fairly easily adaptable into a full-fledged game (though I expect having multiple zoom-in views like the arcade version does would require using a bankswitched cart). I will reveal this much: what you are seeing with the space ship in this demo is "real". If I wanted to vary the size of the rocket flame in response to use controls, I could do so very easily. I have some tricky code in there which makes the impossible, possible, even on a dinky little 1.19MHz 6502. Quote Link to comment Share on other sites More sharing options...
Gateway Posted November 3, 2005 Share Posted November 3, 2005 Very interesting! I'll have to play with this some more tomorrow. Quote Link to comment Share on other sites More sharing options...
Albert Posted November 3, 2005 Share Posted November 3, 2005 Fired it up in Stella, very cool what you've done so far. Would love to see this developed further. Keep up the great work! ..Al Quote Link to comment Share on other sites More sharing options...
+Nathan Strum Posted November 3, 2005 Share Posted November 3, 2005 Very cool. I've always really liked Lunar Lander, and would love to see a quality port of it for the 2600. Quote Link to comment Share on other sites More sharing options...
uosipa llamxew Posted November 3, 2005 Share Posted November 3, 2005 Wow! Fired it up in Stella, very cool what you've done so far. Would love to see this developed further. Keep up the great work! ..Al 959142[/snapback] Ditto that! Quote Link to comment Share on other sites More sharing options...
Lord Helmet Posted November 3, 2005 Share Posted November 3, 2005 (edited) I actually like the FB2 Lunar Lander, but another port is always welcome! Lunar Lander Deluxe! BTW looks good so far Edited November 3, 2005 by Lord Helmet Quote Link to comment Share on other sites More sharing options...
Emehr Posted November 3, 2005 Share Posted November 3, 2005 Looks great! I'd love to see a Lunar Lander with scaling background, which I hear the FB2 version doesn't have. Impressive work. Looking forward to updates! - Jason Quote Link to comment Share on other sites More sharing options...
mos6507 Posted February 12, 2006 Share Posted February 12, 2006 Fantastic kernel. Could you post another demo to show how it would look with a small sprite for the zoomed out view also? Quote Link to comment Share on other sites More sharing options...
ZylonBane Posted February 13, 2006 Share Posted February 13, 2006 Screw the kernel, what really impresses me is the real-time rotation (and exploding?) of the sprite data. Now that's something you don't see a 2600 do every day. Quote Link to comment Share on other sites More sharing options...
supercat Posted February 13, 2006 Author Share Posted February 13, 2006 Screw the kernel, what really impresses me is the real-time rotation (and exploding?) of the sprite data. Now that's something you don't see a 2600 do every day. 1017492[/snapback] You pushed the button, didn't you. I thought I told you not to do that. There's a lot of precalculated data for the rotations, but the program nontheless is doing a fair amount of "real work" each frame. One limitation with the method is that drawing things at a different scale would require a separate copy of some rather large data tables. Accommodating different space ships (or parts of space ships, like thruster or rotation-rocket flames) is fairly straightforward. Unfortunately, doing a smaller spaceship would probably require using a different set of scaling tables because certain errors are proportional to the scale involved. The math routines are about +/- 1 pixel which is fine for large scale, but at small scales getting closer to +/- 1/2 pixel (the best possible) would be much better. Note, BTW, that in some ways the LL demo is the opposite of my texture-mapping demo (see my blog). That one needs about 2K of tables for every different logo that's used (which is why there's only one) but could easily accommodate different scales or motion effects without needing any new large tables. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted February 13, 2006 Share Posted February 13, 2006 You pushed the button, didn't you. I thought I told you not to do that. 1017543[/snapback] Quote Link to comment Share on other sites More sharing options...
Rob Mitchell Posted April 16, 2006 Share Posted April 16, 2006 Update? Rob Mitchell, Atlanta, GA Quote Link to comment Share on other sites More sharing options...
supercat Posted April 16, 2006 Author Share Posted April 16, 2006 (edited) Update? The LL demo was a little something I cooked up while taking a break from Strat-O-Gems. I've not done anything with it since; I don't really know what my design objective should be. I think with a 32K "standard" cart I could probably achieve a smooth-scrolling background which would be something quite unprecedented on the 2600. I know I could do a really nice background on a 4A50 cart, but that would seem to be somewhat cheating. The biggest technical hurdle I've not had any really good ideas for is collision detection, though I'm sure I could solve that if I put my mind to it. I guess the biggest "problem" with LL is that I don't really feel like using 4A50 for a game that could be done without it, but I don't really feel like producing a game without 4A50 that could be done better with. On something like Ruby Runner, I don't feel I'm cheating by using 4A50 because the game goes far beyond anything that could be achieved any other way. Edited April 16, 2006 by supercat Quote Link to comment Share on other sites More sharing options...
Shawn Posted April 16, 2006 Share Posted April 16, 2006 I guess the biggest "problem" with LL is that I don't really feel like using 4A50 for a game that could be done without it, but I don't really feel like producing a game without 4A50 that could be done better with. On something like Ruby Runner, I don't feel I'm cheating by using 4A50 because the game goes far beyond anything that could be achieved any other way. Whatever the means be, It's cool no matter how you make it. I would love to be able to buy this game from you on a cart or at least have a BIN to make my own if the "copyright" gets in the way. 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.