Thopter Escape

Published 2023-06-12


A game about flying a damaged ornithopter through a sand storm on Arrakis. 3 levels of windy action! Fake speech synthesis!

Instructions:

Reach the end of each map without crashing into the dunes below or being overtaken by the following sandstorm.

Controls:

left: tilt thopter upward (less speed, more lift)
right: tilt thopter downward (more speed, less lift)
x: fire jet (more speed, fuel recovers over time)
z: air brake (cuts speed, gain a little altitude)

About the game

This is my second PICO-8 game, following on the Dune theme of Shai Hulud; I wanted to make a little flying game about surviving the sand storms of Arrakis as an excuse to experiment with flight model stuff, screen scrolling, and collision detection. I did that stuff and also played with a few other goofy "what if" ideas, and so the code is in places a mess of hacks, which I'm trying to embrace as an okay way to go with experimental P8 games.

The map was an interesting thing to work out; I had a few ideas for how to do sand storm stuff and how to create maps dynamically to get past the limited map sheet area, but ultimately decided to make do with a pretty conservative approach of just static directional-wind tiles on a pre-rendered 1*8 string of map screens. The method for reusing the same map for three increasingly windy levels was fun, though; if you look in the map memory on the cart, you'll see green, blue, and red arrows filling it up, and on each level I successively convert another one of those to actaul sand storm sprites as the level loads up.

Music is a straight-time rendition of a bit of the extremely Toto-y soundtrack of the Lynch film.

The "speech synthesis" is just a trio of sound effects played back together chunk by chunk in time with the words, using melodic rises and falls and rests to suggest speech. The way this is implemented is super duper hacky, and could be formalized a little into a function and a decent data structure if I wanted to use it as more than a one-off, but I'm not convinced it's worth the effort for such a silly effect.

Version history:
1.01 - Tweaked starting configuration to be less brutal to someone who hasn't been playing this for several days while developing it.
1.0 - Release