7 ms·
After seeing Comanche in 1992, the term "voxels" for a time was quasi-synonymous with "heightmap terrain" to me. https://en.wikipedia.org/wiki/Comanche_(video_g
by pjtr 8y ago
After seeing Comanche in 1992, the term "voxels" for a time was quasi-synonymous with "heightmap terrain" to me.
https://en.wikipedia.org/wiki/Comanche_(video_game_series) https://en.wikipedia.org/wiki/Comanche_(video_game_series)
There used to be quite a few Turbo Pascal "voxel"-heightmap demos floating around.
Blade Runner was surprising: It used voxels for characters.
https://en.wikipedia.org/wiki/Blade_Runner_(1997_video_game) https://en.wikipedia.org/wiki/Blade_Runner_(1997_video_game)
The technique seemed to fall out of favor for a while due to the polygon GPU boom (I guess I missed Delta Force) until Outcast in 1999. (Back to heightmap terrains.)
https://en.wikipedia.org/wiki/Outcast_(video_game) https://en.wikipedia.org/wiki/Outcast_(video_game)
- madmoose 8y agoBlade Runner didn't actually use voxels, they used a rather unique technique that they called "slice animations". The 3D models were sliced from bottom to top into a couple of hundred slices (depending on desired quality) by intersecting the model with a horizontal plane and storing the resulting polygons. The engine can only rotate the models around the vertical axis. I made a hacky javascript version of the renderer a long time ago: http://thomas.fach-pedersen.net/bladerunner/mccoy_anim_13_frame_0.html http://thomas.fach-pedersen.net/bladerunner/mccoy_anim_13_fr... EDIT: Let me also plug our WIP Blade Runner engine for ScummVM: https://github.com/scummvm/scummvm/tree/master/engines/bladerunner https://github.com/scummvm/scummvm/tree/master/engines/blade...
- digi_owl 8y agohttps://en.wikipedia.org/wiki/Blade_Runner_%281997_video_game%29 https://en.wikipedia.org/wiki/Blade_Runner_%281997_video_gam... Seems that the people that developed the game considers it voxel based.
- anc84 8y agoRead on: https://en.wikipedia.org/wiki/Blade_Runner_(1997_video_game)#cite_ref-PC_Gamer_13-8 https://en.wikipedia.org/wiki/Blade_Runner_(1997_video_game)...
- digi_owl 8y agoReads to me like they used voxels for the grunt work and then painted the result on some otherwise unimpressive polygons at the end (aka voxels plus as they put it themselves).
- madmoose 8y agoThe page you linked quotes Louis Castle: > What we are using is not voxels, but sort of 'voxels plus.' So "not voxels". Louis Castle probably called it voxel-like because he didn't want to get too technical in an interview. Their technique has not been described in detail in the press but see http://deadendthrills.com/future-imperfect-the-lost-art-of-westwoods-blade-runner/ http://deadendthrills.com/future-imperfect-the-lost-art-of-w... for an article that calls it a "slice model"-technique. I'm not an expert on voxels but I've reverse engineered and reimplemented most of the Blade Runner rendering engine and in my opinion it doesn't count as voxels. For one, you're never going to be able to rotate the models around any axis other than the vertical.
- LouisCastle 8y agoFun! Yeah, we stored our data as slices for space and restricted rotation to the Y axis. Both were optimization since each frame of an animation was a full model there was no need to rotate them. The renderer could render them from any angle though so I still consider them voxels. More like voxels lite then voxel plus. We also used a lot of sprite cards with zdepth and a quick normal hack for lighting. You had to cut corners where you could back then!!
- DonHopkins 8y agoSo that's why you didn't include the Deckard -vs- Pris scene where she rotates around the X-axis! ;) https://youtu.be/e9t5ikxjAQ4?t=1m9s https://youtu.be/e9t5ikxjAQ4?t=1m9s
- madmoose 8y agoHello Louis! I've certainly had a lot of fun figuring out how you did what you did, so thank you for that, no matter what you call it :) You certainly crammed a lot of tech into one engine! Full screen 15 BPP videos with full z-buffer with smaller alpha-channeled videos rendered on top, character models with lighting. Even the UI is looping videos. Once I get proper path finding working Blade Runner will be a lot more playable in our ScummVM engine. I've probably rewatched the opening scene of the game a thousand times while working on it... I only wished that you had used a scripting language for your game code instead of compiling it to DLLs. I know you optimized heavily for speed but it would have made our task a lot easier :)
- pjtr 8y agoThat's really cool. Great job!
- blaze33 8y agoSpeaking of Comanche, there was a discussion on it 6 months ago when I posted the link to "Terrain rendering in fewer than 20 lines of code" https://news.ycombinator.com/item?id=15772065 https://news.ycombinator.com/item?id=15772065