# Making a doom clone would be (technically) possible

**URL:** <https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985>\
**Category:** Arcade\
**Created:** [April 6, 2022, 2:38pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985 "2022-04-06T14:38:45Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![hasanchik](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hasanchik/32/5885_2.png) [@hasanchik](https://forum.makecode.com/u/hasanchik)\
**Post date:** [April 6, 2022, 2:38pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/1 "2022-04-06T14:38:45Z")

</div>

Doom renders alot like raycast rendering, that’s why you cant look up and down in doom. I’m sure you just have to make some slight modifications to make a doom clone possible

Just wanted to say that

---

<div class="post-metadata">

**Author:** ![personalnote](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/personalnote/32/31359_2.png) [@personalnote](https://forum.makecode.com/u/personalnote)\
**Post date:** [April 7, 2022, 4:34pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/2 "2022-04-07T16:34:55Z")

</div>

Yes, if you check out of Halo-Doom topic, I made a Halo game with Doom-like physics. @AqeeAqee helped out with sprites.

**It is definitely possible.**

And just so you know, the topic of making Doom in Makecode has been brought up many times in the Forums.

> [@hasanchik](#):
>
> that’s why you cant look up and down in doom.

Yes, but you can utilise y-shearing to look up and down. Heretic, with a modified Doom engine used this technique to allow the player to look both up and down.

---

<div class="post-metadata">

**Author:** ![hasanchik](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hasanchik/32/5885_2.png) [@hasanchik](https://forum.makecode.com/u/hasanchik)\
**Post date:** [April 8, 2022, 5:58pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/3 "2022-04-08T17:58:57Z")

</div>

Oh, no, not the frankenstein type of doom, i mean REAL real doom. You know, with all those complex geometric surfaces? (Not really)

There’s a youtube video of someone hacking doom into a 50th anniversary mario game and watch. (Wait…That thing is FASTER than any makecode arcade hardware???) You can put doom on anything if you just optimize it enough.

Like that bad apple meme  
There’s literally a bad apple video for every thing that you could imagine

You know, i come back to the makecode kart topic often. The perspective blows my mind for a dollar-store microchip. Its a wonder mmoskal actually made 3D raycasting on this cheap of a microprocessor. I also often just think:  
“What if i combine this with the raycast engine @mmoskal made?” Raycasted floors and ceilings in a raycast engine will be possible.

Actually, it was already possible. Just the bad microprocessors are holding us back…

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [April 8, 2022, 6:05pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/4 "2022-04-08T18:05:14Z")

</div>

with Doom, it renders in more than 1 layer. Although many parts are flat, it definitely has floors and ceilings, as well as many different levels and stairs, all textured. The current raycast engine wouldn’t be fit at all to do that, with many modifications required to “remake Doom”, unless you want everything to be flat. Even if you made an engine that could render like Doom, level design would be difficult due to Makecode not having a 3d editor. There could be some sort of trickery that could be done to raise and lower walls artificially, but it would be tough. I know the SNES could run Doom, (as well as GBA), so it’s definitely possible (and Makecode is definitely powerful enough), it’s just a matter of WHO would take the effort and be smart enough to do it (especially with how small the Makecode community is.

---

<div class="post-metadata">

**Author:** ![hasanchik](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hasanchik/32/5885_2.png) [@hasanchik](https://forum.makecode.com/u/hasanchik)\
**Post date:** [April 11, 2022, 5:10pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/5 "2022-04-11T17:10:54Z")

</div>

> [@Kiwiphoenix364](#):
>
> it’s just a matter of WHO would take the effort and be smart enough to do it (especially with how small the Makecode community is.

I definitely tried to make a more advanced raycasting engine a few days ago. It didn’t work. Can send you the project file if you want. It’s really ugly imo.

.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [April 14, 2022, 7:04pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/6 "2022-04-14T19:04:14Z")

</div>

THIS is a new project that could possibly be used for DOOM, but you’d have to do some SUPER complex math for collision, and there are no textures (besides 1 (max 512x512) on the floor, and sprites that can be drawn). If you did this, you’d have to credit KWX though, because he made basically the whole engine (besides me making the “wires” be compatible with blocks, but he already made blocks for sprites (if they are visible, and also to place them).

> [@"3d" wireframe](https://forum.makecode.com/t/3d-wireframe/13014):
>
> I’ve done some experimentation, and it seems that it could be possible to draw a wireframe with a bunch of “3d” points being connected by lines. Idk really how your perspective texture code works @kwx , so I was just using colors to draw lines. [flashing colors warning] If it would be possible to output the positions of every sprite of one kind after they have been put into a “3d” space, and draw lines from their screen positions to their other screen positions, there could be, in theory, som…

---

<div class="post-metadata">

**Author:** ![hasanchik](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hasanchik/32/5885_2.png) [@hasanchik](https://forum.makecode.com/u/hasanchik)\
**Post date:** [April 21, 2022, 4:38pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/7 "2022-04-21T16:38:35Z")

</div>

Well…  
Just take a look, please…

> [@3D Renderer Demo](https://forum.makecode.com/t/3d-renderer-demo/2294):
>
> Hi all. I’m new here. I thought I would try making a 3d renderer for Arcade, and here’s what I came up with: [2020-06-02\_12-03-43] Controls: Joystick: Move camera A: Cycle the lighting model (None, Flat, Dither) B: Toggle wireframe overdraw The renderer has an optional depth buffer, but using it causes an out-of-memory error (err 22) on my PyGamer! I’m trying to think of a clever way to solve that. The depth buffer can be disabled in engine.ts, in case you wanted to try running this on yo…

Its people already did this. What im thinking of is a **raycast engine** , not a full on 3d renderer like you mentioned. Since hardware is very slow with actual 3d rendering i think raycast engines are the way to making good-looking 3d scenes.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [April 21, 2022, 5:04pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/8 "2022-04-21T17:04:37Z")

</div>

I was just saying that DOOM has more detail on the Y axis than a raycast engine could easily do, and you might as well just make a 3d renderer instead if you are making a complete DOOM clone. If you are just doing the flat sections, it’s totally fine just doing a raycaster, but I was just suggesting if you want to have as much detail as the original game, a full 3d renderer would be needed. On hardware, there is no reasonable way (yet) to render “full” 3d, with a raycaster or otherwise.

---

<div class="post-metadata">

**Author:** ![RED.J.S](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/red.j.s/32/8982_2.png) [@RED.J.S](https://forum.makecode.com/u/RED.J.S)\
**Post date:** [May 25, 2023, 8:23pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/9 "2023-05-25T20:23:51Z")

</div>

i’m in the process of building it. but i have some issues with enemies. out of curiosity could you (or anyone else for that matter) give me some help? thx- .JS

---

<div class="post-metadata">

**Author:** ![labfox29](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/labfox29/32/9252_2.png) [@labfox29](https://forum.makecode.com/u/labfox29)\
**Post date:** [June 23, 2023, 5:01pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/10 "2023-06-23T17:01:17Z")

</div>

When should you be done?

---

<div class="post-metadata">

**Author:** ![RED.J.S](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/red.j.s/32/8982_2.png) [@RED.J.S](https://forum.makecode.com/u/RED.J.S)\
**Post date:** [June 26, 2023, 4:29pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/11 "2023-06-26T16:29:39Z")

</div>

Idk like 2 weeks

---

<div class="post-metadata">

**Author:** ![DEBOI](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/deboi/32/25485_2.png) [@DEBOI](https://forum.makecode.com/u/DEBOI)\
**Post date:** [December 5, 2023, 7:31pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/12 "2023-12-05T19:31:07Z")

</div>

I made a doom clone that is good

---

<div class="post-metadata">

**Author:** ![DangerNoodle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dangernoodle/32/14797_2.png) [@DangerNoodle](https://forum.makecode.com/u/DangerNoodle)\
**Post date:** [December 5, 2023, 7:35pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/13 "2023-12-05T19:35:36Z")

</div>

can i see it??

---

<div class="post-metadata">

**Author:** ![DEBOI](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/deboi/32/25485_2.png) [@DEBOI](https://forum.makecode.com/u/DEBOI)\
**Post date:** [December 6, 2023, 2:56am UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/14 "2023-12-06T02:56:29Z")

</div>

Controls wasd for movement, b to fire.

---

<div class="post-metadata">

**Author:** ![DEBOI](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/deboi/32/25485_2.png) [@DEBOI](https://forum.makecode.com/u/DEBOI)\
**Post date:** [December 6, 2023, 2:58am UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/15 "2023-12-06T02:58:29Z")

</div>

> **[doom](https://arcade.makecode.com/S66098-93974-03024-47442)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

**Author:** ![thedarkwars1914](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/thedarkwars1914/32/13562_2.png) [@thedarkwars1914](https://forum.makecode.com/u/thedarkwars1914)\
**Post date:** [February 12, 2024, 4:36pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/16 "2024-02-12T16:36:37Z")

</div>

⭐ ⭐ ⭐ ▫ ▫  
(three out of five)

I guess I couldn’t figure it out but I didn’t encounter any monsters but it was good in terms of design and animation.

---

<div class="post-metadata">

**Author:** ![ADM\_F](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/adm_f/32/19808_2.png) [@ADM\_F](https://forum.makecode.com/u/ADM_F)\
**Post date:** [February 12, 2024, 10:30pm UTC](https://forum.makecode.com/t/making-a-doom-clone-would-be-technically-possible/12985/17 "2024-02-12T22:30:14Z")

</div>

now this looks like a job for me

> **[ADM\_F Dungeon Descent!](https://arcade.makecode.com/S71980-38624-56950-56820)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

made this about 7 months ago and im very proud about it  
but I’m most likely going to remake it as it is very spaghetti code

5 guns and over 10 lvls!  
as well as secrets everywhere

NOTE  
The wooden blocks with red need the button to be hit to remove  
you can also shoot it  
same with the stone ones
