I had been lurking on the forums for a few months when I found Prog8 and though this looked interesting. I.e. I could learn a new language and test out the emulator.
I recently saw some good demos using C64 emulator but just based on PETSCII graphics and I though this looked surprisingly cool. Then I remembered the old Galaga game on the C64, the one using just (a few) petscii chars. I thought making something similar would be a nice challenge.
The game is continuing to move toward what I consider a complete (but short) game. There are now 12 levels at which point the game will end in victory (bonus points for lives remaning). I am currently inclined to thinking that it's ok to end up with a fairly short and "completable" game. I still need to add some sort of simple high score handling. And there are always places that could use a bit of extra polishing but perhaps it would be better to spend that effort on another game.
I've uploaded a new version of Petaxian. Lots of updates since the first version
More variations of enemies and movement patterns
Simple sound effects
Actual "score" counting
Joystick control (though the NES keyboard stuff is causing some issues)
And lots of various smaller adjustments and optimization of code etc. etc.
Just be warned that the NES keyboard emulation seem start up with joystick byte 1 set to 0 (= all buttons pressed) instead of 255. That causes the game to autostart the first time. I could work around this using a non-NES keyboard key to start the game, but since I added joystick support that seems inappropriate. Everything works fine if the game is started with -joy SNES (or NES).
Did a quick update of Petaxian with a workaround for the NES keyboard emulation (thanks to desertfish for pointing out that this was pretty trivial to add).
A new update of Petaxian has been uploaded with the following main changes :
Added random "attacks" for enemies (with increased bomb frequency)
Updated to non-uniform waves. Remixed to 12 stages.
Add stage start "announcement"
Add stage completion time bonus points
Unsurprisingly there is a lot work left after the basic gameplay mechanics is implemented. It certainly makes one appreciate all the other non-coding work that goes into games (I certainly see why having professional level designers and testers are necessary).
I want to add some sort of proper "game end" (and show current high score) but after that I suspect updates to this game will slow down. I have a couple of other game ideas I'm considering (none especially original).
Very nice game, very playable. I reached level 6 ? With some more enemy types it would be great, perhaps bigger one, composed of more than 1 character.
Very nice game, very playable. I reached level 6 ? With some more enemy types it would be great, perhaps bigger one, composed of more than 1 character.
Thank you. There is actually a slightly bigger enemy (though marginally so) that appears at stage 9 and later. I guess you just have to practice ? to get that far.
BTW, the enemies are actually 4 (2x2) characters in size. I support movement "within" the characters using the 16 PETSCII characters that cover all the variations of 2x2 "sub bits". I was inspired by PET/C64 Galaga (which this is basically a clone of).
I don't currently support any larger enemies though that is of course completely possible, e.g. Galaga had a 3x2 char sized enemy. It is something I have noted down as a possible improvement.
@borgar would you be okay with Petaxian being shown as part of a sort of public showcase for the X16? @Kevin Williams asked on the discord about this for "VCF Midwest 17" on september 10th.
I've built a new version of Petaxian based on the current git master branch. (I am not sure if the version available here as download is still up to snuff)