5 ms·
Shameless plug, but I'd just like to point out this was actually made in our game creation software Construct 3! (https://www.construct.net https://www.construc
by AshleysBrain 2y ago
Shameless plug, but I'd just like to point out this was actually made in our game creation software Construct 3! (https://www.construct.net https://www.construct.net)
It's mainly focused on 2D, but we have been adding some 3D features over the years that can handle retro-style content like this, although I'd speculate this is based on some kind of raycasting technique rather than true 3D.
- Sharlin 2y agoI mean, it wouldn't be DOOM if it weren't raycast :) I'm actually surprised that this wasn't just running (a port of) the original DOOM engine – or maybe it does, at least the renderer? I don't know if that's possible with Construct.
- kfuse 2y agoDoom doesn't use raycasting, it uses binary space partitioning. From the description it seems to be a DOOM clone. Physics feels a bit off, but all the little details may trick you into believing that it's the real thing.
- bzzzt 2y agoDoom uses both: binary space partitioning to find the visible surfaces then casting rays to draw the textures.
- cyberax 2y agoIt doesn't. Doom uses BSP to precisely determine which columns of textures it needs to render. It's faster than raycasting, so this was even used in Wolf3D port to GBA.
- eumenides1 2y agoYeah is fast and cheap because the BSP tree is created after the level mapped out. It's also why "Will it run DOOM?!" is a thing. For further reading: https://en.wikipedia.org/wiki/Doom_engine#Binary_space_partitioning https://en.wikipedia.org/wiki/Doom_engine#Binary_space_parti... https://en.wikipedia.org/wiki/Binary_space_partitioning#Application https://en.wikipedia.org/wiki/Binary_space_partitioning#Appl...
- boomlinde 2y agoThere is no need to cast rays when you have divided the space into convex polygons. If you know all the vertices of a convex polygon and two of them form a visible wall, you can determine the texture column and height of the screen space wall column by means of interpolation. This is what the Doom engine does. The PC version of Wolfenstein 3D used a more straight forward ray casting approach, but I think the SNES port was Id's first use of BSP.
- deleted 2y ago[deleted]
- boomlinde 2y agoAn easy tell is walking up to a painting or even looking at the pillars you see from your starting position: you'll notice that the vertical lines aren't perfectly perpendicular to the horizontal lines in screen space, because the camera is pointed slightly upwards. In Doom, walls are rendered as strips of screen columns, and the pitch of the camera angle looks like it's perfectly parallel to the horizontal plane as a result. You can sort of implement looking up and down with minor modifications to the Doom engine, and this was implemented in Heretic, but because of the nature of the renderer, vertical lines in the world remain vertical lines in screen space even when you pitch the camera, so it looks somewhat distorted in a way that's very characteristic of the post-Doom "2.5D" engines.
- hyperman1 2y agoCool. After all these years, we finally have an example that answers 'But can it run Doom' with a clear No.
- deleted 2y ago[deleted]
- fragnet 2y agothats a shame, I had wanted to get the iwad for my collection