I implemented time bonus. Each second not used from an allocated 10s per level is now counted as score. How to keep track of seconds on an Apple II? With the mouse interrupts, which come at 60 or 50Hz depending on the country. How to know the frequency of the interrupts? Easy, calibrate by counting the number of loops between two mouse interrupts.
✅ Here is level 5 ! With it there are two new sprites - the sheet of paper (which gives the player an extra life), and the toast. As you can guess, the toast is fatal.
I'm happy about my toast's ballistics, which are approximated using maths and python. I am very smart.
This level is a little bit hard but can be made easier if one doesn't try to get the extra life. Dying after getting it means one can try again, I like that the player has options.
I've done level 6 and am a bit happy with it, it's twisted, you have to think fast thanks to downward vents and an inconveniently placed switch, and if you don't you lose access to the extra life! and/or you lose one!
It's also the first level I can commit without touching the core engine, which must mean something's good in it!
The high scores table is done and I didn't post a screenshot yet because I finished it in HGR mode having reimplemented about the all the char ROM before figuring out it would be more practical to just switch to text mode. After that it was late.
I was a bit annoyed that I was on track to only be able to fit nine levels on the floppy. I experimented with cc65's included LZ4 decompressor and it works really well. Now I should be able to put 30 to 40 levels on a single floppy!
Also I think it's time I officially asked John Calhoun if he's OK with my use of his game's name. https://github.com/softdorothy/GliderPRO/issues/14 (Yes, the original Glider game is now available as GPL v2, since 10 years apparently!)
I've implemented two levels with stairs. (one of them very incomplete). It works quite well. Here's an example with a level that has three exit/entry zones.
I have added sound! After the #Wozamp project, I couldn't settle on manually tickling $C030, so I've tested a thing. I can play samples at 8kHz with a precision of 7 bits... As long as they're very very short to fit in memory.
The sound player and samples are generated by C code.
The sound player and a sound sample asm files look like utter shit. But it works.
The sound generator has duty cycle functions that PWM the speaker. It is 4.4kB. The sound clip function jumps to each appropriate level. Each is about 600 bytes for 0.02 seconds. (It would be 24kB for one second of sound).
Of course, with the cursed Apple II colour implementation, it looks like shit on a colour screen. But to me, the Apple II experience is better with a monochrome screen, and I'm OK with that.
I think it's time to work a bit on the level design. I find it hard to make things look neat on 280x192 pixels, but I'm quite happy with the result of this one hour session?
Cycliste, écologiste, gauchiste, et d'autres mots en iste. Sur mon temps libre, je fais des trucs comme du logiciel libre, des meubles, du #RetroComputing.Des fois je poste avec mon Apple //c.