The February Rougol was again a hybrid in person / Zoom event (about 25 people in total), with the speaker present in the pub on this occasion. Those at the pub enjoyed some excellent food, drink and chat so well worth showing up if you can.
Terry spent a lot of lockdown writing some versions of classic arcade games for RISC OS. He did a lot of experimentation with things like the vsync, tricks to speed up the display. The talk is well watching in detail for ideas, tips and those OS calls. Here are my notes...
Orginally, Terry wrote some games in C but was curious to see if Basic would be fast enough. Turns out it is, especially using some clever tricks.
Stargate uses triple buffer. Talked about drawing to sprite for speed but not mode independent. Tony did a lot of experimentation with full screen and desktop plotting and how to get it fast and flicker-free.
Game timing is independent of vsync speed and uses Arm club timer module. Graphics loop adapts amount of movement for slower machines. Move in larger increments on slower refresh.
The games uses a lot of plotting to sprite which speeds up both reading and writing data.
Plotting to sprite also makes it easier to read pixel values (it is local memory).
Games also run in desktop mode
Uses rdsp and amplayer for sound and music
Nice extended demos of after all that theory showing stargate and munchy in action and adapting their speed so same on all machines if possible
Pac-Man games actually needs complex code to handle movement of monsters.
Basic great for creating mazes
Decrypt made use of Artworks features for development like export as bitmap in mode. Also used Changefsi and Paint to create.
Packman uses location based collision detection. Stargate uses unique colour in force field for speed. Basic fast enough to handle this as reading values from local memory.
Currently writing a space invaders game which looks really good!
Demos will be on website with code for anyone to tinker with.
Thanks for Bryan (as always) for organising and ROUGOL will be back in a month's time...