Hey there,
Death 3D has been live for about a year now, it seems, and the game hasn't gotten very popular. I kinda liked it though, and wondered if you could make it open source, so I could play with it for a little, add some potential features and whatnot. I used to be a big fan of DOOM, and I kinda like this simple version of the game. :)
Could you send me the source code, or upload it to GitHub or something, so I can mod it for a little? Thanks.
Gothis <3
@Gothis , glad you like the game. Like most of my stuff, it is not really feasible to just throw it to GitHub and make it open source. I use shared libraries across nearly everything, and the way things are so intertwined, you can't really take Death 3d as it is written and run it outside of the apewebapps.com environment. Same applies to all of my games on here. It would actually be a significant undertaking akin to just rewriting the game from scratch in order to completely decouple it from the rest of Ape Apps.
If you want to make an old school Doom clone, your time may be better spent writing your own. There are many tutorials on Ray Casting, which is the principal I used in Death 3d. I actually got the idea to make Death 3d when I was searching the web one day for something unrelated and found this tutorial:
https://dev.opera.com/articles/3d-games-with-canvas-and-raycasting-part-1/
https://dev.opera.com/articles/3d-games-with-canvas-and-raycasting-part-2/
His code renders everything using the DOM, but it was trivial to convert it all to using the Canvas instead, which allows for much higher resolutions and faster performance.
There is another article here where a guy made a simple JS ray caster with 265 lines of code:
http://www.playfuljs.com/a-first-person-engine-in-265-lines/
I used some of the concepts in this article when working on the code for the floors and ceilings:
https://lodev.org/cgtutor/raycasting2.html
Finally, many sources on the net regard the following article as the best introduction to the raycasting concept. You should read through all of it to begin with:
https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents/
Good luck!
Owner of Ape Apps, LLC
That's surprisingly simple! Thanks for the tips. I'll definitely look into them. :)