Tuesday, May 20, 2008

XeO3: A pleasant surprise!

I suddenly realised that the bug Luca discover and I subsequently fixed might have been the reason for level Fast-Forward not working, after all it would alter the cycle count things would be active for. So I resurrected it and gave it a few tests and hay presto! It works perfectly!! This means I no longer have to fast forward through the whole level to check a path, the level will just fade on at the correct spot! Very cool! And a great surprise at that!

Who knows...I might actually get more paths done tonight....maybe... if the TV isn't too good. :)

Sunday, May 18, 2008

XeO3: Enemy fire....

I've been finishing off the firing of baddies and was playing with the actual bullet direction stuff. I short-cut most of the work by not using a line draw, but a best guess. That is if we're 200 pixels away on X then I give it a steep angle, if Im zero pixels away on X then it fire directly up or down. Now this works pretty well but now that baddies shoot I've been extending it to be a little more prescise. However, with each tweak, I'm making the code bigger and more complex, and its all just a fudge anyway.... so I'm wondering if I should rip it all out and just use a line draw.

The thing about a line draw is its nice and prescise, but the good thing about mine is that it isn't! I know that sounds a bit strange so let me explain. If someone shoots at you're position, you simply move out the way. If 5 baddies shoot at your position, then again... its a little harder, but move and your probably safe. If 5 people shoot in your general direction then moving out of the way of one bullet, will probably throw you into the path of another! This makes it harder to avoid bullets which is the idea.

So... should I just leave the spaghetti code and think "well, it does what its supposed to, even if it is a bit unreadable..." or should I have a nice neat bit of code (that might take longer to run) but may also make the game easier.... Mmmmm.

The only way really is to try and see, but its a fair amount of work, so I'm not sure....

XeO3: Action!

I've just spend they past hour or so adding in baddie shooting, and it makes a real difference! It's now tough! And in places; REALLY TOUGH! I've still some tuning to do before I can call it V1.0 but its looking pretty good.

This means you can no longer line up a whole row of baddies and blast them while automatically following in to pick up coins, as one or more of them may be shooting at you and you'll run right over the bullets! I plan to make this optional in baddies so that at the start of levels I can ease players in then make it tough later on.

It also means that I can make the end of level baddies even harder if I need to, as I can bet them to shoot at you without using sprites! So while I can use a sprite to fire a large rocket or something, I can fire out up to 8 bullets at a time forcing you to dodge all over the place! That could be fun! (or a nightmare!)

Oh, and on a side note... I've also allowed turrents(and baddies) to shoot horizontally. This means again you cant fly directly at a turret/baddie worry free anymore!

Saturday, May 17, 2008

XeO3: Weapons!

I have just finished adding in the new weapons system! So now what happens is theres a GREEN and RED section to the RIGHT hand power bar. This is your weapons power.

IF you get enough coins (fill your coin bar) while the weapons bar is in the green - you power up!!
IF you fill your coin bar when the power bar is in the RED you only recharge.
IF you DONT get enough coins to do either, you drop a power level.
IF you are on level 1 and the bar drops to 0 - it STAYS zero until the coins bar is full and then recharges.

This should mean that you HAVE to kill baddies and dive in to collect coins making you dice with death! Otherwise, you could just sit back and shoot which would be too easy.
It'll be interesting to get feedback once the demo is released....

Friday, May 16, 2008

XeO3: The future...

I was sitting here updating the panel so that the power bar on the right wasn't the player shield anymore, but a weapon energy bar and I got to thinking.... what other games could you use this engine for?

Well, aside from more shoot-em-ups, platform games spring to mind! You could update the scrolling so it goes both directions, and change player input so that it stands on the background, and hay preso! A platformer!

I sped the scrolling up to 8 pixels a game tick to see just how fast I could push it, and it managed that pretty well, so you could be moving really fast too! It also occured that if you DID update the scrolling to go both ways, you could do a full Uridium clone! Uridium only had 7 baddies and you, so it should work pretty well!

Theres nothing to say of course you dont update the scrolling to go vertically either so that you can do vertical scrolling games. Hell, you could ditch the scrolling and have static screens and puzzle or adventure (Atic Atac style) games!

I really do need to get on with it so that others can play with the source and we get some good NEW games out there!

XeO3: Luca's bugging me again...

Luca found another little bug, this time coins were wobbling if you got them in a specific place. After a quick hunt, I discovered that while the screen scrolls 2 pixels at a time, I do in fact scroll it at 1. The hardware then drops a bit for displaying, but the sprite system was adding it to the coordinate before masking off the bottom bit. This means if the sprite was on an odd pixel, it could wobble as the screen scrolls.

Anyway... I now store a masked version of the scroll counter and the sprites use that - so all fixed.

Thursday, May 15, 2008

XeO3: Begining again.....

So... finally found a little time (and will power) to sit down and do a little work. I started out by changing the colours on the panel so that I now have the GREEN zone on the weapon's bar that I wanted, but Luca and I also changed some other colours, and it just looks "nicer" over all I have to say.

After sending Luca the latest version he spotted a stutter in the movement of the sprites which I was just not seeing. Still, after him slapping me with a wet fish called bernard I finally spotted what he was seeing. Very odd.

I stuck on some colour bars thinking that perhaps it was over running raster time but no... a whole frame left!

Next we downloaded it onto a real machine thinking it could be the emulator (since its not on a real TV and would judder a little), but no... exactly the same! While on real machine I moved the player ship around and it was smooth as silk, even when the judder in the baddies happened!

So I tried to capture what was happening in Yape and do a frame step - and there it was!! But it wasn't just the baddies stuttering - oh no! It was some baddies stuttering!

Damn...

I tried a couple of things thinking that it might be a MCM sprite on an odd pixel boundary due to scrolling and sprite coordinates, but no....nothing!

Time to break out the debugger... First I ran it to just before a sprite stalled then jumped in to watch its coordinates. Yep! For 1 frame they dont change! How weird is that!

After all this I finally discovered that an optimisation Id done to in-line a function into the PATH system (I made a function a macro) had missed a RTS!! WHen a sprite was killed due to being clipped (gone off screen) it was returning. Now before it was a macro it would return to the PATH routine, but now it IS a macro, it was returning to the main loop, effectively missing the update for last few sprites - DOH!

Oh well... all fixed and looking better. Well spotted Luca!! :)

Monday, May 12, 2008

Xeo3: Whats missing?.....

I was sitting here watching the teaser we did and trying to put my finger on what was missing. I notice a while back that it wasn't quite right and I finally figure out what makes it so easy to play... Badies dont shoot at you! Sure the turrets fire and all, but they are easy to avoid/shoot.... but if I add the ability for baddies to shoot at you, then I suspect it'll get a lot more interesting! This means that even when a formation passes you by you still have to dodge and be careful.

I was also trying to remember what I needed to do on the weapons front, and I need to add a weapons power bar! Currently both bars are used as a shield and just make it look pretty; but what I need to do now is change the one on the right to be a weapon power bar! The idea is that this will decrease over time (or per-shot, Im not sure) and you need coins to keep it charged. Now I was thinking on the way to work today that if its over 1/2 full, then getting a full coin bar as well means you get a new power up, while if its under 1/2 full, then you only top up the current weapons power! If the bar runs out, then you drop a weapon level and the Bar starts again.

This means you WILL have to get into the thick of things to just to keep your weapons powered up, or else you run the risk of powering down to a pea shooter again! (in theory)

Friday, May 09, 2008

New release

Ive update Minus4 and SNASM. Minus4 had a crash I assume caused by a windows update - this is now fixed. SNasm had several opcodes in 65816 mode spelt wrongly, and this is also fixed. Both these programs can be found on my minus4 site.

Monday, May 05, 2008

Long time no work...

Yep, long time now since I posted anything - let alone did any work! Oh well, tick tock and all that. i've still not done anything but I have looked out the source again and started to try and remember what the hell I was doing. I currently look to be just past the half way mark in the demo level, so I guess whenever I get a chance the 1st thing to do is finish the paths off before looking to clean it all up and release it.