Portal-Raycaster
DIYDoom
Portal-Raycaster | DIYDoom | |
---|---|---|
3 | 5 | |
54 | 530 | |
- | - | |
0.0 | 0.0 | |
about 4 years ago | over 1 year ago | |
Kotlin | C++ | |
- | 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.
Portal-Raycaster
-
Write a First Person Game in 2KB with Rust
Nice writeup! Building raycasting engines is fun and rewarding. You can get a lot of visual impact with very small and easy to understand code. I took a stab at it and ended up adding portals which I thought was really fun (https://github.com/gh123man/Portal-Raycaster).
I've been thinking about re-writing my raycasting engine in Rust but never really found the time - glad to see someone has done it and documented it so well!
If anyone else is interested in raycasting this page is also worth a read: https://lodev.org/cgtutor/raycasting.html
-
Rustenstein 3D: Game programming like it's 1992
Ray casting is close to my heart as it's easy to understand and has a very high "effort to reward" ratio, especially to someone who is new to graphics programming. I built a game + engine around ray casting portals [1] (think the game Portal). It was a lot of fun trying to figure out how to bounce rays around a scene and intersect with different objects in the environment and immensely satisfying to have built the whole engine from the ground up. Though I'd probably not do it again. Your top-down ray debug view is very similar to one I came up with!
Some of the interesting bits of the engine are open source: https://github.com/gh123man/Portal-Raycaster
1. https://blog.sb1.io/gateescape/
-
Raycasting in JavaScript and React
If you find this sort of thing interesting, I implemented a "Portal" raycasting engine akin to Valves portal game. You can read more about how it works here: https://github.com/gh123man/Portal-Raycaster
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?
raycast - HTML5 raycasting demo using React
VoxelSpace - Terrain rendering algorithm in less than 20 lines of code