# Conquest Of Duat

**URL:** <https://forum.makecode.com/t/conquest-of-duat/36992>\
**Category:** Show & Tell\
**Tags:** game, art, platformer, rpg\
**Created:** [May 30, 2025, 2:32am UTC](https://forum.makecode.com/t/conquest-of-duat/36992 "2025-05-30T02:32:45Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![Hulahoop](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hulahoop/32/25398_2.png) [@Hulahoop](https://forum.makecode.com/u/Hulahoop)\
**Post date:** [November 30, 2025, 10:00pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/82 "2025-11-30T22:00:14Z")

</div>

another question! @Bifrosty how did u make the ai bosses and monsters? and like how did they know where the player was? and how it knows when and what direction to use the projectiles?

---

<div class="post-metadata">

**Author:** ![Ima.notarobot](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ima.notarobot/32/26551_2.png) [@Ima.notarobot](https://forum.makecode.com/u/Ima.notarobot)\
**Post date:** [November 30, 2025, 10:01pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/83 "2025-11-30T22:01:45Z")

</div>

Oh wow. I needed this. Thanks @Bifrosty. Quick question: is it easy to add this as dialogue in my game without adding a ton of extra code? It really hurts when I use the text sprite extension and make lots of variables and create positions, flags and timers for it.

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 1, 2025, 3:46am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/84 "2025-12-01T03:46:14Z")

</div>

You can get the player’s position with the “mySpirte x” and “mySprite y” blocks.

Everything the enemies and bosses do in the game is entirely possible without an extension. But I used sprite utilities extension to do most of that. It has an “get angle from one sprite to another” block. It also allows you to make “on game update loops” for specific sprites.

It takes some practice to make decent enemy AI, this is not my first attempt. Here is a post I made with a simple example: [How to make AI - #7 by Bifrosty](https://forum.makecode.com/t/how-to-make-ai/27776/7)

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 1, 2025, 3:55am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/85 "2025-12-01T03:55:33Z")

</div>

It definitely could be a hassle to integrate to a game depending how far along you are. Here is how I setup my dialogue system in Conquest of Duat:

Not that this method also uses the timer extension.  
1.Create a function that contains inputs for the text displayed, position of the text, and the duration you want your dialogue to run for.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/5/5/55f61f1f2fd33d1da44e685f25bc3d9772fd0bdc.png)  
2.Create your textSprite and set a boolean (true/false varible) containing information as to whether or not there is dialogue on screen.  
 ![Screenshot 2025-11-30 180024](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/4/a/4a7c773a53d6a863706cc3bab63f97320e999375.png)  
3.Animate your text. It should be revealed letter by letter for about 60% of the time it is on screen. The “lifespan” sprite attribute destroys a sprite after a given amount of milliseconds.  
 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/7/8/788dedc3f52c980fd9135d6291af09123f730c75.png)  
4.End the dialogue. I like to give the player 100-200 milliseconds after the text has disappeared before showing them new text, it just looks nicer.  
 ![Screenshot 2025-11-30 181726](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/9/6/96978c2f3786403ddb3d167672f91cb54dc9f6dc.png)  
5.Add your dialouge. Note the use of the timer extension “separately do.” It stops the pause until block from pausing the entire game.  
 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/3/3/33a1c1a3d43263ea81f7bbae1ff99d54d3748088.png)  
Here is my example in the form of a simple cutscene:

> **[fancyTextFunction](https://arcade.makecode.com/S98690-06940-68801-65736)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

**Author:** ![Ima.notarobot](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ima.notarobot/32/26551_2.png) [@Ima.notarobot](https://forum.makecode.com/u/Ima.notarobot)\
**Post date:** [December 1, 2025, 5:17am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/86 "2025-12-01T05:17:21Z")

</div>

@Bifrosty Thank you so much! I also learned functions that are slightly more advanced because of this to! I always just used them do repeating code.

---

<div class="post-metadata">

**Author:** ![aBoiWhoMakesGames](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aboiwhomakesgames/32/23312_2.png) [@aBoiWhoMakesGames](https://forum.makecode.com/u/aBoiWhoMakesGames)\
**Post date:** [December 1, 2025, 7:04pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/87 "2025-12-01T19:04:28Z")

</div>

Bro can you help me with the art for Voyage: Chapter II?

---

<div class="post-metadata">

**Author:** ![Hulahoop](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hulahoop/32/25398_2.png) [@Hulahoop](https://forum.makecode.com/u/Hulahoop)\
**Post date:** [December 2, 2025, 4:53am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/88 "2025-12-02T04:53:56Z")

</div>

don’t mind me i might have to copy this. 🤫

---

<div class="post-metadata">

**Author:** ![Hulahoop](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hulahoop/32/25398_2.png) [@Hulahoop](https://forum.makecode.com/u/Hulahoop)\
**Post date:** [December 2, 2025, 4:56am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/89 "2025-12-02T04:56:31Z")

</div>

i understand everything there but what does the “set (textspekaing) to True” block do? and what is it for?

oh and how did you make it so there are different colors in the sentences in the game?

---

<div class="post-metadata">

**Author:** ![Luke](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/luke/32/32519_2.png) [@Luke](https://forum.makecode.com/u/Luke)\
**Post date:** [December 2, 2025, 5:00am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/90 "2025-12-02T05:00:46Z")

</div>

yes! fancy text is such a cool way to make more customisable dialogue, I’ve also used similar methods with functions to make text for Red Line and Westward

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 2, 2025, 7:01am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/91 "2025-12-02T07:01:28Z")

</div>

Sorry, I’m working on my own game rn.

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 2, 2025, 7:01am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/92 "2025-12-02T07:01:31Z")

</div>

The textSpeaking variable enables the pause until blocks to be relaxed and ready for the next line of text or the next part of the cutscene. As for changing color mid sentence, just look at the fancy text documentation I sent or look in the code.

---

<div class="post-metadata">

**Author:** ![aBoiWhoMakesGames](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/aboiwhomakesgames/32/23312_2.png) [@aBoiWhoMakesGames](https://forum.makecode.com/u/aBoiWhoMakesGames)\
**Post date:** [December 2, 2025, 11:57pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/93 "2025-12-02T23:57:45Z")

</div>

That’s okay.

---

<div class="post-metadata">

**Author:** ![Hulahoop](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hulahoop/32/25398_2.png) [@Hulahoop](https://forum.makecode.com/u/Hulahoop)\
**Post date:** [December 3, 2025, 6:18pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/94 "2025-12-03T18:18:41Z")

</div>

another question! srry its just im making a game with the text. ok so. my character is talking and talking but then after a few words the next sentences don’t work for some reason.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/7/a/7a207c141864c39a66ec42e20a5a83ed97af23e3.png)

the last 2 sentences don’t work. i need help!

---

<div class="post-metadata">

**Author:** ![Dlee](https://avatars.discourse-cdn.com/v4/letter/d/d6d6ee/32.png) [@Dlee](https://forum.makecode.com/u/Dlee)\
**Post date:** [December 3, 2025, 6:22pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/95 "2025-12-03T18:22:13Z")

</div>

No joke best MakeCode Arcade possible

---

<div class="post-metadata">

**Author:** ![Dlee](https://avatars.discourse-cdn.com/v4/letter/d/d6d6ee/32.png) [@Dlee](https://forum.makecode.com/u/Dlee)\
**Post date:** [December 3, 2025, 6:22pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/96 "2025-12-03T18:22:16Z")

</div>

I open the code and it almost fried my pc

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 3, 2025, 6:23pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/97 "2025-12-03T18:23:44Z")

</div>

If the first post on this topic gets to 45 likes ♥ then I will make another boss fight in a new area.

---

<div class="post-metadata">

**Author:** ![ZeroFall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/zerofall/32/34898_2.png) [@ZeroFall](https://forum.makecode.com/u/ZeroFall)\
**Post date:** [December 3, 2025, 10:21pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/98 "2025-12-03T22:21:10Z")

</div>

Really? You promise?

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 3, 2025, 10:30pm UTC](https://forum.makecode.com/t/conquest-of-duat/36992/99 "2025-12-03T22:30:47Z")

</div>

I see a couple potential problems. Its hard to tell from your screenshot though. I see that your “play song” is set to “until done” set it to “in background” or "looping in background. If that doesn’t work show me your function.

---

<div class="post-metadata">

**Author:** ![Hulahoop](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/hulahoop/32/25398_2.png) [@Hulahoop](https://forum.makecode.com/u/Hulahoop)\
**Post date:** [December 4, 2025, 12:08am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/100 "2025-12-04T00:08:18Z")

</div>

changing the sound didn’t work so here’s a picture of the function block.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/a/f/afeaae57edddf85f9e40b62256d291444c724c0a.png)

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [December 4, 2025, 5:55am UTC](https://forum.makecode.com/t/conquest-of-duat/36992/101 "2025-12-04T05:55:07Z")

</div>

IDK just make a new topic and post the game link. I’ll meet you over there.

[Previous page](https://forum.makecode.com/t/conquest-of-duat/36992.md?page=4)

[Next page](https://forum.makecode.com/t/conquest-of-duat/36992.md?page=6)
