Pilot your state-of-the-art RAH-66 Comanche helicopter over once-peaceful tropical shores. Take on an endless barrage of enemies and leave their wreckage littering the voxel landscape.
The engine and overall game is inspired by the Comanche series from NovaLogic.
--Voxel landscape engine (as seen in Tera Firma tech demo)
--Shaded 3D polygon enemies
--Awful self-made music and sound effects
z: Fire Missiles
x: Fire Mini Gun
tab: Enable Mouse Control (left button fires gun)
Here's a landscape / flight simulation engine that I have been playing with. I'm still figuring out how to turn this into a game, but at least it's functional now and runs at 30 fps.
It takes a few seconds to generate the map using simplex noise mapped onto a sphere.
Arrow keys to turn and pitch up and down.
Z-key to accelerate
There's a 3D shaded polygon engine built into this as well, but I'm not using it yet.
Thanks Anthony DiGirolamo for the simplex noise:
Step into cyberspace with cutting-edge 3D vector graphics. Battle tanks with your triangular pew-pew cannon. Explode into a number of polygons.
This is an homage to Specter VR, which came packaged with my Macintosh Performa back in the day.
-Motion blur effects
-Blue/Red 3D glasses mode (it actually works)
-Multiple camera modes
-An attempt at writing title music
Gameplay is a bit, well, simple. Basically drive around shooting and being shot at.
Take aim, fire and score! It's Desert Lead 3D!
Spread the desert with the dented and shattered remains of bottles and cans. It's like recycling, but more destructive.
For use with the Pico Light Gun, Desert Lead 3D is also compatible with the Pico Mouse.
(Pico Light Gun is only available in selected dimensions.)
Click at the bottom of the screen to reload.
Sound effects could use some love. Anyone have a good shot and "plink" sound?
Affine texture mapped 3D isn't perfect, but it does create the appropriate effect.
Scoring system may be a bit glitched right now.
Thanks Felice for the sound and cross hair improvements.
Here's a demo effect kludged together from some doodles I had been playing with.
I'm quite fond of my new and improved 3D shading. (It's not quite as speedy as the line shading I was using previously, but it gives smoother gradients.)
I've been hacking at a ray-marching 3D rendering app.
playing with the dithering patterns a bit more.
Here's a stab at some lossy compression of the Bad Apple animation-- clocking in at 25 seconds long without even touching the sprite sheet.
The compression algorithm finds the best possible dictionary of 32 different 8x8 tiles with which to represent all of the frames of the animation. Then for each 8x8 chunk of each frame that is being compressed, I find the closest possible match out of this dictionary and record the index of this chunk. Finally, I use run length encoding to compress the string of dictionary indexes for each frame. (That's the idea at least...)
That gets things down to around 54 bytes per frame while still being recognizable.
Inspired by old-school demo-scene effects, here is a new and improved grayscale bump map render, which takes 8 bit height map input and generates real-time shading effects.
Please see GitHub for Python image conversion script and sample files. (https://github.com/electricgryphon/pico-9-height-map-converter)
I found the skull height map in the following forum:
Why settle for single renderings of a Mandelbrot when we can smoothly zoom in?
--Dithered Palette Animation
--Smooth Bilinear Zoom from sprite buffer
--Background Rendering of Mandelbrot into a (third?) buffer
The way this works is that we graphically zoom into initially rendered view of the Mandelbrot from the sprite buffer. While doing this, we are drawing the next level of Mandelbrot zoom into a second background buffer. When it's done, this gets copied into the zoom/sprite buffer. Lather, rinse, repeat.
Overall, a neat effect I think. Though, I wonder if I should trade the (more or less) smooth frame rate and dithering for less chunky pixels.
Also, I realize that I am awful at spelling "Mandelbrot".
This is an attempt to create a faster falling sand simulation (60fps) by reading and writing directly to screen memory. All pixels / sand particles are active at all times.
I'm writing 1X2 pixel blocks in order to work directly with bytes and avoid bit-masking to address individual pixels. Then, I am using the display mode hack ( poke(0x5f2c, 2) ) to stretch the vertical scale of the display by 2X without requiring me to write any more data to screen memory.