Jump to content
Sign in to follow this  
supercat

Lunar Lander: Super kernel demo

Recommended Posts

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.

Share this post


Link to post
Share on other sites

:thumbsup:

 

Very interesting! I'll have to play with this some more tomorrow. :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Wow! :thumbsup: 8)

 

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!

Share this post


Link to post
Share on other sites

I actually like the FB2 Lunar Lander, but another port is always welcome! Lunar Lander Deluxe!

 

BTW looks good so far :)

Edited by Lord Helmet

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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 by supercat

Share this post


Link to post
Share on other sites
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...