# BB001 - Must be at least 15 characters

**URL:** https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012
**Category:** Show Your Projects
**Created:** [September 14, 2025, 10:46am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012 "2025-09-14T10:46:34Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [September 14, 2025, 10:46am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/1 "2025-09-14T10:46:34Z")

</div>

I created this topic to post progress on a new game I’m working on.

Genre: Roguelike, sandbox, survival, open-world (auto-generated maps)

The game is highly moddable. All game logic is implemented using my own [scripting language](https://github.com/Kagamma/evil-script), and the scripts will be available for users.

It is still in its early stages. I’m currently working on character-world interactions and built-in map editor. See [Watch bb001\_20250914 | Streamable](https://streamable.com/k925h7)

The game currently has no name, “bb001” is just the codename for it 🙂

---

<div class="post-metadata">

### Author: ![phomm](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/phomm/32/2827_2.png) [@phomm](https://forum.castle-engine.io/u/phomm)
#### Post date: [September 14, 2025, 1:02pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/2 "2025-09-14T13:02:24Z")

</div>

Looks promising 👍  
keep going !  
Will you use here your other projects/ components? like particle emitter? this could be a good real trial for them.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [September 15, 2025, 1:00pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/3 "2025-09-15T13:00:55Z")

</div>

Definitely.

 ![image](https://forum.castle-engine.io/uploads/default/original/2X/b/baea4c190a334c3073bd81a6ddf3385f7e60aa23.jpeg)

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [March 3, 2026, 3:10pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/4 "2026-03-03T15:10:16Z")

</div>

Things have been moving slowly so I haven’t achieved much recently 🙂 so here’s a small demonstration to show crude implementation of shader-based line of sight / fog of war and x-ray effect when behind other objects.

---

<div class="post-metadata">

### Author: ![phomm](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/phomm/32/2827_2.png) [@phomm](https://forum.castle-engine.io/u/phomm)
#### Post date: [March 3, 2026, 5:42pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/5 "2026-03-03T17:42:27Z")

</div>

Unlit/black tops of cubes look unnatural , compared to everything else is lit..

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [March 4, 2026, 12:23am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/6 "2026-03-04T00:23:54Z")

</div>

Backtop belong to the “upper floor” so it will only lit up if the character is on the same floor. I will improve the algorithm so that stuff that can be seen from the lower floor like trees should be lit.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [March 4, 2026, 6:36am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/7 "2026-03-04T06:36:20Z")

</div>

Stress test 162 NPCs (can go higher if I zoom-in to avoid overdrawn) with their own light source, line of sight, x-ray, collision detection, and basic AI movement.

In the actual game there will be a maximum of 100 NPCs per map. So this is just to make sure I can still hit 60 FPS on this decade-old laptop when more features are added.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [March 10, 2026, 2:37pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/8 "2026-03-10T14:37:06Z")

</div>

Gouraud shading is making a comeback 😃 and it’s honestly making environments look much better than the modern equivalent.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [July 26, 2026, 3:29pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/9 "2026-07-26T15:29:59Z")

</div>

Update progress:

- Housing system with multiple floors.
- Trading + Dialogue system.
- Move between areas + randomly generate area if it’s not available yet.

https://www.youtube.com/embed/aydW7KM6ClU?feature=oembed&wmode=opaque

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [July 27, 2026, 9:48am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/10 "2026-07-27T09:48:33Z")

</div>

Using shader to show objects behind wall.  
https://www.youtube.com/embed/jhz9T6jzYTY?feature=oembed&wmode=opaque

---

<div class="post-metadata">

### Author: ![DiggiDoggi](https://forum.castle-engine.io/letter_avatar_proxy/v4/letter/d/6a8cbe/32.png) [@DiggiDoggi](https://forum.castle-engine.io/u/DiggiDoggi)
#### Post date: [July 27, 2026, 10:44am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/11 "2026-07-27T10:44:47Z")

</div>

In the first video use of the shader was hard to spot. At first I thought “why did they abandon the idea?” So I watched it again to see that the Hero is still visible through the walls. I’m glad you made this second video - It shows the transparency trick very well.

Personally I think you could tone down the highlighted area a bit, or reduce gloss of some materials because they can be very bright.

Looking at the inventory: if the border between cells was thicker, it would help seeing which object is selected. I do understand it’s a draft, though. Also I can’t see the mouse pointer in UI.

Bug report: In the first video, and around 1:42, when you destroy the fireplace light casted by it remains.

From what I see, it’s a game I’d like to play 🙂 Discovery + building = good fun. And I see your solutions are well thought, so I’ll wait for more to come.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [July 27, 2026, 11:36am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/12 "2026-07-27T11:36:33Z")

</div>

> Bug report: In the first video, and around 1:42, when you destroy the fireplace light casted by it remains.

The fireplace was not destroy, but instead got hidden by the fog of war.

> In the first video use of the shader was hard to spot.

Well there’re actually 2 ways to hide any objects that block players from seeing their character:

- If the character is inside a room, then the upper floors will be hidden. This was shown in the 1st clip.

- If the character is behind any wall, then a simple shader will be used to modify the alpha value of the wall in screen space. This was shown in the 2nd clip.

> Personally I think you could tone down the highlighted area a bit, or reduce gloss of some materials because they can be very bright.

I will likely roll out my own light system, since the game engine’s default light system is not really suitable for the game.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [September 2, 2026, 5:51am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/13 "2026-09-02T05:51:50Z")

</div>

Built-in profiler, which shows function calls and how much time it takes.

 ![image](https://forum.castle-engine.io/uploads/default/original/2X/d/d78b202dba55930ba7b59d821dede1510429975d.jpeg)

A much smoother lighting system

 ![image](https://forum.castle-engine.io/uploads/default/original/2X/b/b4db81ec69b8926d46f300743a97068a220eca87.jpeg)

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [September 2, 2026, 9:25am UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/14 "2026-09-02T09:25:59Z")

</div>

Thanks to the new built-in profiler, I managed to bring PlayerControlScript:update() down from 0.4ms per frame to less than 0.1ms per frame 😃 , this was done on a 12-year-old laptop so expect much better performance on modern PC.

 ![image](https://forum.castle-engine.io/uploads/default/original/2X/3/32ecb7611c7c2ff95aef9525534e4e49f0b5ab9e.jpeg)

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [September 19, 2026, 12:35pm UTC](https://forum.castle-engine.io/t/bb001-must-be-at-least-15-characters/2012/15 "2026-09-19T12:35:26Z")

</div>

A bit of progress: Objects now change as time goes by (trees grow, food becomes stale, etc)  
It was done on a separate thread, including static batching of meshes in the world (the results are then synchronized on the main thread)
