Sunday, 29 June 2008

C64 :: Breaking down the walls

Well, it's been a week and although quite a few cosmetic jobs have been done including the bolting in of the new status bar, sprites and some level data, there wasn't really a "milestone" to report until today when i got some proper time in front of the assembler; Co-Axis 2189 has a nearly complete game framework running, can initialise levels (although there's no data for anything past the first map and block of aliens) and run through them, detects death events and reacts accordingly, can spot when the lives are all out (but can't act on it just yet since there's no title page to return to) and knows when the end of a level has been reached and if it should move to the next or get ready for the completion sequence.

The next job is getting some of the cosmetics sorted so that the titles page can hand control to the game, then the game back to the titles or the completion screen; that really needs to be sorted now so that i can test it thoroughly before the levels start going in and getting through the entire game takes a lot longer!

The level name "Babylon And On" is a reference to the stone blocks as well as an album by Squeeze - most of the level names in the original Co-Axis were musically inspired and i want to continue that for this "re-imagining" as much as possible - the second level (which is partially planned graphically) is going to be called "Blue Monday".

Friday, 20 June 2008

Spectrum :: Steel Force released

A little development sidetrack this time; Steel Force was developed with Jonathan Cauldwell's Shoot 'Em Up Designer whilst i was writing a review of it for Retro Gamer issue 52; it's a single level, horizontally scrolling shoot 'em up and i've tarted it up with a surround and a simple (in other words, BASIC) title page. It's on my personal site for download and here are a couple of screenshots for good measure; hopefully someone'll enjoy the thing even if it's pretty simple... =-)

Monday, 16 June 2008

C64 :: A spot of rebranding

So i was thinking, y'see, that Boom Zone was familiar... well okay, it's not exactly the most original game going but it does bear a striking resemblance to a project i've had on the back burner since time began; Co-Axis 2189 to be precise. So, rather than writing a totally new game and probably re-coding Ax2189 (as it's referred to on it's source files) from scratch for yet another time next year at some point, the project formerly known as Boom Zone is now officially (wait for it!) Co-Axis 2189!

So the game now has full collisions, a nice attack wave manager that works fairly well and handles up to ten objects (five free floating, the other five produced by recycling one sprite every 32 raster lines), the ship and bullet with their collisions all up and running, the status bar partially activated and it looks pretty nice all told even before i've started importing the tile graphics. The Boom Zone name has, incidentally, been inherited by another project... because despite my saying i wouldn't get sidetracked, i have. Twice. Bum...

Friday, 13 June 2008

C64 :: Whoops, sidetracked...!

Okay, so a little background might be needed here; over on the CSDb message boards a little thread [ahem] ran for a few days regarding coding games in a monitor; during that thread there's a slight possibility i got a teeny bit carried away after several bold claims from an advocate of monitor use that assemblers were "a palava" and that the Action Replay monitor was as good a development environment and... well, i sort of challenged him to write a scrolling shoot 'em up in the same time i could build one with my trusty cross assembler. He didn't even start and suddenly he's the sort of person who takes his time (you wouldn't know it from the bugs he's managed to collect) but i had a fully functioning core to a game running within twenty four hours and video on YouTube to show it off a bit:

So then i've got a small shoot 'em up core that isn't going to be doing anything. Fast forward a couple of days to yesterday and a decision was taken about Charge Armada to move it not so much to a back burner but to one side and let it simmer; the original idea with CA was to get it completed for Fusion '08 but, since it's becoming quite a complex project now, the new game, called Boom Zone, is going to step up for that job and Charge Armada will be given a few more months to simmer on a low heat... or something. i never could cook!

Boom Zone's being upgraded to "full project" has seen it gain a static starfield behind the landscape, bullet to background collisions and a full status bar already but the big jump is trying to come up with level ideas... which is where we're going next, hopefully. There'll be another video over the weekend if all goes to "plan" with some backgrounds in place and a few more attackers tootling around...

Monday, 9 June 2008

C64 :: Catching up

i was doing odds and sods as well as coding over the weekend, so here's a quick update that covers the last three days; the character bullets were tweaked but there's a "ghosting" bug that means a bullet gets decommissioned but left on the screen until it gets filtered out by the buffer copier and the buffers flip, i thought i had it but that needs further investigation it seems. The background starfield went in as well, although it's using it's own routine for speed, again relying on the filters in the buffer copier to remove stars cleanly and a feature of the "colour per tile" colour scroller for speed; the bullets currently inherit the high res colours of the stars as they pass over them, that's on the "to do" list when i go through the bullet code looking for that ghost.

The status bar font was also slapped together and a layout bolted into the code before all the score handling routines were installed; the scoring itself is pretty arbitrary right now since any hit to an active object gives ten points and destroying it another forty but the score itself is displayed correctly and, if it tops the high score, the latter updates as well. The lives and level counters both work as well although the code to decrease the lives hasn't been added for the moment.

Charge Armada screenshotThe final job was writing up some notes on the object and animation systems for the fluffy bunnies doing the sprites, then passing said notes to the first designer to add some to the pool and whatever specific ones are required for his level; this is, hopefully, where the game starts coming together because it'll be when the first level-specific movement patterns start getting bolted into place... it'll also be the point where my worst fears will be realised and i might start getting raster over-run problems because the damned object system really is too CPU intensive so there might be some re-writes around that area of the code on the way too. Since i'm waiting on data for the moment, i'll give the cosmetic stuff a bit of thought as well; i've had a quick tweak of the backgrounds (we're now using 256 characters of the first font!) and details such as the way the ship arrives and leaves play at the start and end of a level have been improved a bit; the code also spots it's "game complete" state correctly, so the ship zooms off and then it falls into a loop because there's no code for that condition just yet...

Friday, 6 June 2008

C64 :: Out with the old

Well, I finally found some time to code [insert pretentious comment about being a "writer" and deadlines here!] and removed the old single-sprite bullet routine in order to add a shiny new character-based system; it almost worked straight away (which is a minor miracle in itself) and, after just a little tweaking, things seem to be happy... although I did have to re-tune the collisions again now I can actually see where things are in relation to each other! Essentially, the bullets can be used as a guide, if you can fire through a gap it's possible to fly through it as well. There needs to be some work done to add coloured bullets (presently they just inherit the colour of the tile they're over) since I'm hoping that the same plot routine can be co-opted into driving a static starfield behind the action and that'll need high res characters to get it looking the way I want it.

A first draft of the level management routines and some data went in as well; so far it seems to be functioning but I suspect I'll need to keep an eye on the thing because a single, minor typo in that table can utterly bork things up and the attack wave managers or tile readers can suddenly find themselves pulling in totally wrong data. A next step is going to be removing the INC $D021 loop that kicks up when a level is completed and having the thing actually try to leave the level and set up the next.