VoxelSpace
DIYDoom
VoxelSpace | DIYDoom | |
---|---|---|
20 | 5 | |
5,794 | 530 | |
- | - | |
0.0 | 0.0 | |
about 1 year ago | over 1 year ago | |
C | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
VoxelSpace
- VoxelSpace – Terrain rendering algorithm in less than 20 lines of code
-
I made a proof of concept 2.5d engine (Download in comments)
This uses the "Voxel Space algorithm" used in 1992s Comanche to get a faux 3d terrain. Based on the code from here with some optimizations to get a reasonable FPS.
-
Voxel Space Engine: Comanche Terrain Rendering
Reminds me of this: https://github.com/s-macke/VoxelSpace
Another implementation to play around with here; this one's not DOS but web based though.
- Terrain rendering algorithm in less than 20 lines of code
-
The Genius of Binary Space Partitioning in Doom
I'm reminded of the render algorithm in Comanche, the 1992 video game [0]. I find it remarkably ingenious, and it certainly felt incredible at the time.
[0] https://github.com/s-macke/VoxelSpace
-
Infinite procedural terrain generated in Godot3D
The heightmap I've been manipulating may also be familiar to you, but not for the same reason, because it's terrain data of Mt. Fuji. I'm thinking of heightmap files instead of infinite noise, mixing the perks of ray-based rendering insights with a manageable early-'90s-style aesthetic and conventional level design. An erosion simulation could be preprocessed with a seamless OOB margin in that context too.
-
Voxel space and WGPU troubles
I wrote a voxel space implementation in Rust some time ago using SFML, and now am trying to move it to WGPU in order to learn how GPUs work better and perhaps solve a horizontal lines glitch I've got.
- Rustenstein 3D: Game programming like it's 1992
-
Voxel rendering using pixel columns.
Recently, I’ve been getting into voxel rendering, and I’ve been thinking of a way of extending the voxel space algorithm. https://github.com/s-macke/VoxelSpace
DIYDoom
-
QCVM: Bite-sized QuakeC VM written in C
Don't sell yourself short, I imagine you could achieve a lot more than you think! It's just a case of breaking the problem down, simplifying accordingly and (probably the most difficult bit) finding the time to sit down and work on it. There are some DIY courses that could even be followed and mashed up to approximate a scriptable "3D" engine with a bit of creativity. You could familiarise yourself with building a simple compiler + VM for a little language by following "Crafting Interpreters" (https://craftinginterpreters.com). For the engine side of things someone recently posted this "DIY Doom" over @ https://github.com/amroibrahim/DIYDoom which looks like a bit of fun.
I mean it's a bit tougher to do it all completely from scratch, but I reckon most HNers could get quite a lot of the way there :)
-
Game Engine Black Book: Doom [pdf]
see also a tutorial on writing a doom-compatible engine from scratch:
https://github.com/amroibrahim/DIYDoom
they also have a community forum, diyidtech, at https://discord.gg/a8n4Y2z
-
How hard is to convert C++ code to C?
For reference, I want to convert this C++ code (https://github.com/amroibrahim/DIYDoom/tree/master/DIYDOOM/Notes001/notes)
-
Rustenstein 3D: Game programming like it's 1992
see also: a series of posts (with accompanying code) on rewriting the doom engine from scratch:
https://github.com/amroibrahim/DIYDoom
- Can you share some resources that show how to make a rudimentary DOOM game and how stuff works?
What are some alternatives?
GameBoy-Advance-3D-voxel-space-demo - A custom 3D voxel space engine tech demo for the GameBoy Advance
Portal-Raycaster - A software portal rendering game engine
Descent-2 - The Descent 2 source code.
dhewm3 - dhewm 3 main repository
rustenstein - Wolfenstein 3D port written in Rust
abrash-black-book - Markdown source for Michael Abrash's Graphics Programming Black Book
REminiCRT - Flashback with CRT emulation shader
qzdl - Qt version of BioHazard's ZDL
infinite-terrain-3D - A very simple infinite terrain generator for Godot 3D (v.3.4.2)
qwpython - QuakeWorld dedicated server wrapped up as a Python module, QuakeC -> Python game translator