Voxel Space (2017)
davikr
269 points
58 comments
May 30, 2026
Related Discussions
Found 5 related stories in 95.4ms across 8,961 title embeddings via pgvector HNSW
- Voxile: A ray-traced game made in its own engine and programming language spacemarine1 · 157 pts · March 03, 2026 · 53% similar
- Show HN: My open-world voxel game with a magic system, playable in the browser kouhxp · 13 pts · March 31, 2026 · 51% similar
- O(x)Caml in Space yminsky · 233 pts · May 15, 2026 · 50% similar
- Open source CAD in the browser (Solvespace) phkahler · 314 pts · March 31, 2026 · 50% similar
- Moss is a pixel canvas where every brush is a tiny program smusamashah · 223 pts · March 04, 2026 · 48% similar
Discussion Highlights (20 comments)
TheChaplain
I really love this kind of articles, so much to learn.
taneq
If you render columns instead of rows you can render near-to-far without a Y-buffer and with zero overdraw. :)
tdeck
It's interesting that the color maps seem to have shadows "built in", so that you get a 3D bevel effect from just looking at the color map.
a1o
When this was first posted I made a game with a port of this approach to AGS Engine. Nowadays AGS is much faster since we have improved a lot of things, but this wasn’t the case at the time, so I had to make a few little tricks to make the rendering work well with the engine at the time. https://github.com/ericoporto/i_rented_a_boat
Jare
[Edit] ah ok they clarify later as a performance enhancement. I think it was pretty integral to the algorithm, but ok. Wait why do they say painter's algorithm. Comanche and other such voxel terrain engines went front to back and never had overdraw.
nine_k
Technically this is not related to voxels ("volumetric pixels", so to say), which split the 3D space equally along all three axes. This is just a height map, a set of prisms, not entirely unlike a Doom map. Every prism has a regular fixed-size square base. For 1992, this was mind-boggling though.
esafak
I remember how groundbreaking Comanche was. Now I learned that it was a result of the programmer's experience in the medical industry (CT/MRI scanning): https://en.wikipedia.org/wiki/Voxel_Space
blaze33
Previous discussion (2017): https://news.ycombinator.com/item?id=15772065
mthoms
This sure brings back memories. I remember figuring all this out as a self-taught teenager (pre-internet) with some books, a whole lot of time, and only a high-school level understanding of trigonometry. I built different versions - first in Pascal, then C, then Assembly. Figuring out the algorithm was hard, but one of the optimizations I was most proud of was inventing (or so I thought) lookup tables to get around the slow floating point multiplication of my 16MHz 80286 CPU. I also remember "inventing" (ha!) the old bit shift + add technique. There was something immensely satisfying about squeezing every last drop of performance out of a machine. Nothing ever came of it. It was more or less a demo, but man did it make me feel like I accomplished something magical. I'd give anything to have a look at that source code today, but this post is the next best thing. So thanks for sharing. This made my day.
haruharuha
This rendering approach reminds me of a project I saw a while back that explored what the world would look like from the perspective of a 1D or 2D being. Someone actually built a interactive demo based on that exact premise. edited, I found it: https://www.reddit.com/r/gamedev/comments/m19vl2/1d_game_pro...
davrosthedalek
Obligatory link to mars.com: https://chaos.if.uj.edu.pl/~wojtek/MARS.COM/
karmakaze
First thing that comes to my mind is the procedural generation in Rescue on Fractalus! (Behind Jaggi Lines) 1984 by LucasFilm Games which blew my mind on Atari 6502.
mondainx
Reading Voxel always takes me back, way back.. I played Comanche for hours and read up on Voxel tech in various magazines of the day; so clever and easy to implement. Nice demo and thanks for the trip down memory lane.
binarymax
Is this the same algo used for Magic Carpet (1994)? The style looks very familiar, and I always wondered how they pulled it off. https://en.wikipedia.org/wiki/Magic_Carpet_(video_game)
totetsu
Was this also how the flight sim that used to be hidden in EXEL.EXE had been built, I wonder.
superjan
Off topic: The very first assignment in this game is called “oil tank holiday”: fly the chopper to unguarded oil tanks, shoot and watch them burn, and then fly home. No enemies. Just learn to fly and shoot. I apply this in testing code. After you write some code, try to think of the absolute minimal test to prove that your code does anything at all without crashing. These are my “oil tank holiday” tests. It is always humbling to see those fail.
acrinimiril
Looking back even further, games like Koronis Rift did a lot with much less. Still, both are impressive and brilliant.
DonHopkins
I would love to see somebody code this up to run in the browser -- it's from 2003, so I bet it could now run really fast with lots of voxels. It will steal your face right off your head. Happy Halloween! https://www.youtube.com/watch?v=9SplEU05z64 Using Deformations for Browsing Volumetric Data 1,367 views Jul 31, 2009: A prototype user interface for browsing volume data. Presented at IEEE VIS 2003 by Michael J. McGuffin, Liviu Tancau, and Ravin Balakrishnan. For more information, see https://profs.etsmtl.ca/mmcguffin/research/#mcguffin_vis2003 https://profs.etsmtl.ca/mmcguffin/research/volumetricBrowsin...
snickerer
C++ version of this game, using exactly the same original Comanche map and rendering algorithm: https://codeberg.org/Lew_Palm/voxelcopter
mft_
Brings back memories. Comanche was incredible when it came out, running on (IIRC) our family’s 386SX-16. I tried to replicate the effect in Visual Basic, albeit with very limited success at the time.