Re: Aw: Re: Aw: Re: Aw: Re: [stella] Assymetrical PF and Repositioning don't mix...

Subject: Re: Aw: Re: Aw: Re: Aw: Re: [stella] Assymetrical PF and Repositioning don't mix...
From: Christopher Tumber <christophertumber@xxxxxxxxxx>
Date: Mon, 10 May 2004 13:19:47 -0400
>So this kernel is going to be very complicated... :-)

So cheat. Use ROM.

Assume 20 rows (as per the screenshot) and 6 bytes per row (Or compact down to 5 if you don't mind bitshifting for PF0) of full asymetric playfield. That's 120 (100) bytes ROM per playfield. Instead of generating a fully random playfield on the fly, pre-generate a bunch of playfields. Use a full 4k bank for 34 (40) playfields. Use two 4k banks for 68 (81). Use four banks for 136 (163) playfields. &etc.

If you're a little clever in your level design you could get a lot more than that - Design playfield sections that are (say) 5 rows high. Make 20 different ones of these, making sure they can be stacked "on top" of each other (that is, the bottom row of each is compatible with the top row of each) then randomly select 4 of these sections to comprise your map - For 600 (500) bytes you get 20^4 different maps! Do a few "groups" of sections like this where the "seam" (top and bottom rows) between sections is different. For 4k ROM you could have something like 6*20^4 playfields. Not random, but nobody's going to notice...

And this allows you to hand design some special levels/sections. Or just write a little proggy to randomly generate them for you. If you want to really push it, use a proggy to generate random levels/sections and then when you're done the game generate a few different final ROMs, each with a different set of maps...

This also saves you a whack of RAM since you only need pointers to the ROM data, not the auctual playfield data itself.


Chris...

----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


Current Thread