# Introducing... Halo-Doom/Wolfenstein3D (But I'll call it Halo-Doom)!

**URL:** https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325
**Category:** Show & Tell
**Tags:** demo, game
**Created:** [February 22, 2022, 5:16pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325 "2022-02-22T17:16:22Z")
**Posts on this page:** 20
**Page:** 1

<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: [February 22, 2022, 5:16pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/1 "2022-02-22T17:16:22Z")

</div>

Hello, I worked on this for a couple of days now and I’m proud to announce the first demo of Halo-Doom has been released to the public!

Using the [Fake 3D Raycasting Demo](https://forum.makecode.com/t/3d-raycasting-in-arcade/474) from @mmoskal, I added this list of features:

- Zoom/ADS (The change in view only changes when the system registers a button input (e.g. W or D))
- Firing with recoil
- Hand-drawn art
- Armour + Health system (No enemies yet so can’t test that; I will elaborate later)
- Realistic ammo counter with max ammo limits

Now, for some help:  
I’m no Javascript expert (Nor novice), so I can’t really delve into the raycasting stuff. That being said there are no enemies. This is because I have actually no clue as to how to code them. If anyone has any ideas please go ahead 🙂

**Remember, this is still a demo so expect updates and calls for help!**

> **[Halo\_Doom\_test](https://arcade.makecode.com/48859-23464-70216-13459)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

Developer Notes:  
While making the demo I actually didn’t know how to increase the FOV for the zoom (Or to give the illusion of zoom), so I considered switching out the ADS for a pistol. But in the midst of coding the pistol, I found out that changing the FPX scale changed the FOV.

---

<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: [February 22, 2022, 7:19pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/2 "2022-02-22T19:19:46Z")

</div>

Cool game!

In case you want to add enemies, I know that the tutorial below is for scratch, but it does have the basic idea of how to do depth sorting, and with Makecode’s new scaling, a code similar to this might work (obviously accounting for how more positioning in makecode has to be done manually, but the general principle is there). I don’t do scratch, but I watched the whole series that these two videos below are from and some of the concepts are really cool and could work for this game!

[Sprites in a 3D World | E3. Crazy Fun Raycasting - YouTube](https://www.youtube.com/watch?v=eBFOjriHMc8&list=PLy4zsTUHwGJKolO9Ko_j6IStFIJnTYBul&index=3&ab_channel=griffpatch)  
[Sprites Behind Walls (Depth Sorting) | E4. Crazy Fun Raycasting - YouTube](https://www.youtube.com/watch?v=Q4cDDNCXfHA&list=PLy4zsTUHwGJKolO9Ko_j6IStFIJnTYBul&index=4&ab_channel=griffpatch)

---

<div class="post-metadata">

### Author: ![TheJaky](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/thejaky/32/5711_2.png) [@TheJaky](https://forum.makecode.com/u/TheJaky)
#### Post date: [February 22, 2022, 10:39pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/3 "2022-02-22T22:39:51Z")

</div>

Man, raycasting is so cool

---

<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: [February 23, 2022, 12:05am UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/4 "2022-02-23T00:05:05Z")

</div>

by the way, the controls are:

WASD to Move  
SPACE/A to Aim/ADS  
ENTER/B to Shoot  
L to Reload

---

<div class="post-metadata">

### Author: ![jackal](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jackal/32/19506_2.png) [@jackal](https://forum.makecode.com/u/jackal)
#### Post date: [February 23, 2022, 5:50pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/5 "2022-02-23T17:50:41Z")

</div>

hol’ up  
WAIT A MINUTE

---

<div class="post-metadata">

### Author: ![469927](https://avatars.discourse-cdn.com/v4/letter/4/919ad9/32.png) [@469927](https://forum.makecode.com/u/469927)
#### Post date: [February 28, 2022, 4:21pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/6 "2022-02-28T16:21:03Z")

</div>

This is a great game! Can’t wait to see what you do next!

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 10, 2022, 5:37pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/7 "2022-03-10T17:37:47Z")

</div>

Finally got time to play with this prj, so interesting!  
So I tried some customize on it.

- Add a mini map, with pos & dir shown
- Reload animation (screen shot gif is some laggy)
- Add menu as reload btn, for device
- Amo count text refreshed one by one
- Some other optimize, faster then before over all
- Reversed camera X dir, to make it according to tilemap X dir

> **[Halo\_Doom\_test\_aqee](https://arcade.makecode.com/74608-40369-67973-88337)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

Hope you like it!

---

<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: [March 11, 2022, 5:52pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/8 "2022-03-11T17:52:23Z")

</div>

This is really interesting! I’ve made the ammo counter slightly weaker because it needed more elaborate code that I was not bothered to do. The minimap is also a really cool and neat addition!

---

<div class="post-metadata">

### Author: ![DahbixLP](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dahbixlp/32/4760_2.png) [@DahbixLP](https://forum.makecode.com/u/DahbixLP)
#### Post date: [March 11, 2022, 5:54pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/9 "2022-03-11T17:54:33Z")

</div>

If you press a and b at the same time the scope doesnt fully close anymore!

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 14, 2022, 3:12pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/10 "2022-03-14T15:12:29Z")

</div>

Thanks for your feedback, I will test and try to fix it ASAP.

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 14, 2022, 4:08pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/11 "2022-03-14T16:08:03Z")

</div>

> **[Halo\_Doom\_test\_aqee\_fov](https://arcade.makecode.com/46335-45246-78366-15493)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

@personalnote  
Zoom/FOV if ready. (Again, gif is somewhat laggy)

@DahbixLP  
The bug should has gone, have a try pls.

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 15, 2022, 9:16pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/12 "2022-03-15T21:16:39Z")

</div>

> **[Halo\_Doom\_test\_aqee\_Sprite](https://arcade.makecode.com/49605-13906-88733-55957)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

After a whole weekend, the first sprite is caming…  
Just worked, I am understand all codes in detail, still need more study  
And more features, optimizations will come also in recent future…

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 22, 2022, 4:30pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/13 "2022-03-22T16:30:56Z")

</div>

Hi @personalnote  
This sample is special for you, FOV and Sprites are all inside.

> **[Halo\_Doom\_aqee\_animation](https://arcade.makecode.com/49539-30915-56708-73315)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

See animation.ts in pxt-raycasting extension for how to define your enemy sprite animation.  
Thanks you for your cool project, which like the rabbit hole I falled in, and got lots of fun. 😄

---

<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: [March 23, 2022, 4:04pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/14 "2022-03-23T16:04:17Z")

</div>

No problem! This looks especially cool! I just might have to get on Makecode Arcade just to try this out, so a new demo might release soon! Thanks for the tip!

---

<div class="post-metadata">

### Author: ![jackal](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jackal/32/19506_2.png) [@jackal](https://forum.makecode.com/u/jackal)
#### Post date: [March 23, 2022, 4:04pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/15 "2022-03-23T16:04:37Z")

</div>

Enemy A.I.??? I’ve never made a 3-D game so, I have ABSOLUTELY NO IDEA how this even works.

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 24, 2022, 4:15pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/16 "2022-03-24T16:15:56Z")

</div>

Hi, @jackal  
@Kiwiphoenix364 has provided a great video, which explain it easy to understand

> [@Kiwiphoenix364](#):
>
> Sprites in a 3D World | E3. Crazy Fun Raycasting - YouTube

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [March 24, 2022, 11:43pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/17 "2022-03-24T23:43:45Z")

</div>

Yah, wait for your demo, good luck!  
BTW, feel free to let me know if there’s any issue, or you have any quesiton about it.

---

<div class="post-metadata">

### Author: ![TZG](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/tzg/32/7392_2.png) [@TZG](https://forum.makecode.com/u/TZG)
#### Post date: [March 28, 2022, 3:05pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/18 "2022-03-28T15:05:15Z")

</div>

Cant wait for this! And also im a big fan of halo.

---

<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 6, 2022, 2:42pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/19 "2022-04-06T14:42:00Z")

</div>

@AqeeAqee I tried to provide an update to the demo but the sample you sent me couldn’t be converted to blocks. Not to mention there were extension errors.

---

<div class="post-metadata">

### Author: ![AqeeAqee](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aqeeaqee/32/5424_2.png) [@AqeeAqee](https://forum.makecode.com/u/AqeeAqee)
#### Post date: [April 6, 2022, 8:22pm UTC](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325/20 "2022-04-06T20:22:13Z")

</div>

@personalnote  
Sorry for that issue, I have no idea why it work when I post, but can’t work now.  
The fix is easy: Just replace the line with “pxt-Raycasting” to following, in pxt.json file(click “edit settings as text” button)  
`"pxt-Raycasting": "github:aqeeaqee/pxt-raycasting#v0.2.0"`  
like this:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/8/8e11f46f465a6781eb00285310319561089568d3.png)

or check this out:

> **[Halo\_Doom\_aqee\_animation](https://arcade.makecode.com/14275-62197-53881-28673)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

BTW, if you are just starting to make new version of your project, I strongly suggest you using new edition of this extension. Feel free ask me pls if you have any quesion on migrating to new edition.

# [Raycasting 3D render – Blocks Edition](https://forum.makecode.com/t/raycasting-3d-render-blocks-edition/12921)

[Next page](https://forum.makecode.com/t/introducing-halo-doom-wolfenstein3d-but-ill-call-it-halo-doom/12325.md?page=2)
