Saturday, June 21, 2008

XeO3: Update

With the final playtest demo done I can now look forward to other things, like a C64 version for a start! I would quite like to get the playtest demo running on that, although the lack of front end does make it a bit of a pain.

I've hooked up my C64 again and have the demo playing away on it, and it's looking pretty good I guess. We've gone for a gray level this time which makes the player ship stand out much better (as its still blue). It looks much smoother as the sprites and scrolling suddenly have an extra pixel to move with as it is no longer limited to MultiColoured pixels. This is where my pain of keeping hires coordinates comes ino its own, everything just works AND smooths out all on its own!

The panel raster split isn't quite right so I'll need to look at that, and I really want a better multiplexor sort. The one I have is okay, but I think a 1D-linked-list and an insertion sort would speed it up and make things a bit smoother.

I've also resurrected my character sprites on the Plus/4 which allows me to throw around huge blocks if I want, but I dont know if I have the memory to keep them in. I would like to keep the source active though so that even if I can't use them, when I release the source others can.

If I dont use character sprites then the redrawing of the whole screen becomes questionable, particually on the C64. I could spend a lot less time simply scrolling the screen over 8 frames then flipping to it. But this would require me to save+replace over a VBlank. Possibly, but tricky. (Or use more screens...).

With character sprite code back in I can also start thinking about putting it things like doors that open and closethat you have to go through adding another layer of complexity to the game which blood money had (although they were too quick I think).

I'm also going to be playing with some PCEngine stuff I just got so there's probably not going to be any immediate progression on the game; besides I want to let the demo get a good playing and get all the feedback in before we start on real levels so I have a little bit of time to play.

9 comments:

simon said...

Sounds all very interesting. :D

One question though: Do you plan to make the c64 version run at 50hz instead of 25?

Mike said...

nope, it'll run at the same speed as the gameplay would feel different.

simon said...

aww man.

:~(

simon said...

Wait, I don't mean changing the speed, just doubling the framerate, with the fineness of the movement doubled so that the perceived speed of movement remains the same..

Mike said...

Then a level would only last for about 1:20, which is too short. :)

Mike said...

Actually..... I should also say it feels a little faster anyway since it is a lot smoother due to the fact that Im not bound by MCM pixels.

simon said...

Then a level would only last for about 1:20, which is too short. :)

Oops, I meant: double the framerate to 50hz, but also double the smoothness of movement and scrolling, so the overall speed and time it takes to complete the level remains the same.

ie: An object that formerly moved 2 MCM pixels per frame @25hz would move 1 MCM px per frame @ 50hz, while an object that moved 1 MCM pixel would now move 1 hi-res px.

Anyway, isn't it great that I've got a new thing to harp on about? ;)

BTW, I've never actually played a plus/4 game before xeo3, and have only a layman's understanding of the system's limitations, but I certainly remember the way most of the plus/4 game reviews I used to read in Commodore User looked fairly primitive compared to the all-singing all-dancing c64 games. Yet something that always strikes me as I play xeo3 is how easy it is to forget that you're playing a plus/4 game as it's just so damn slick. I wonder how plus/4 owners would have reacted if it had been released back in the old days. I bet they would have been feeling pretty damn pleased about giving the c64 a run for its money. :)

Mike said...

ie: An object that formerly moved 2 MCM pixels per frame @25hz would move 1 MCM px per frame @ 50hz, while an object that moved 1 MCM pixel would now move 1 hi-res px.

Thats kinda what happens, but it all moves at 25hz. You see the game actually runs in hires then the software sprite system cropps off the bottom bit. This means it all gets smoother on the C64 for free, but also means you can speed it up without changing the level.

It does look nicer on the C64 for sure though. Having seprate sprite colours does help, although the Plus4 panel is just nicer....

Mike said...

that shouls be.. you can't speed it up without changing the level.