Open hajimehoshi opened 5 years ago
Here are some links to some information about DOOM and its renderer;
And a few ports of the game/renderer to other languages than C/C++:
https://doom.fandom.com/wiki/Source_port Port list
As DOOM requires 3D polygons, DOOM might not be a good example to port to Ebiten :thinking:
openRA? https://github.com/OpenRA/OpenRA
As DOOM requires 3D polygons, DOOM might not be a good example to port to Ebiten thinking
Is that true? I am fairly sure classic DOOM actually predates 3D acceleration in video cards. I believe it was all done in software.
Well, 3D rendering without hardware can be possible, but this works only with ReplacePixels
in Ebiten. I'm not sure this would be a good example of Ebiten.
Perhaps a Wolfenstein 3D-style raycaster would be better?
In Ebiten, the raycaster result would be rendered via ReplacePixels
.
@darkerbit Maybe something along the lines of this little experiment I did a while back:
Ebiten port compiled to WebAssembly: https://peter.tilde.team/ebiten-gfx-raycaster/
Source code is available as a gist and is a port of a raycaster experiment I did for the Pixel package.
https://github.com/hajimehoshi/ebiten/issues/411 Homography transformation might help to implement DOOM. (Originally, the original DOOM used similar technique to draw sprites, but is that correct?)
https://github.com/chocolate-doom/chocolate-doom
Note that the license would be GPL.