Skip to content
article

devlog #9 夜市ねこ / night market cat: month 7, 412 wishlists, lanterns that flicker

開発ログ。今月はランタンの光。This month: lantern light, a tiny shader, and cats that walk through things

佐藤はるか Haruka@nekomata_games

July 5, 2026 · 2 min read

開発ログ #9。今月はランタンの光を作りました。

devlog #9! this month I made the lanterns (=^・ω・^=)

数字 / numbers

  • wishlists: 412 (+38 this month)
  • savings: about 14 months left, if I eat a lot of rice
  • bugs fixed: 23. bugs created: 26 😿

ランタン / lanterns

(GIF: the night market street, paper lanterns swaying a little, the light on the stalls slowly breathing, the cat shopkeeper blinks)

I wanted the lanterns to feel alive, but not like a disco. In Godot 4 each lantern has a PointLight2D with a soft texture, and the lantern sprite has a tiny canvas_item shader so the paper flickers a bit. It is very small:

shader_type canvas_item;

uniform float speed = 3.0;
uniform float strength = 0.08;
uniform float offset = 0.0;

void fragment() {
    vec4 c = texture(TEXTURE, UV);
    float flicker = 1.0
        + sin(TIME * speed + offset) * strength
        + sin(TIME * speed * 2.3 + offset * 1.7) * strength * 0.5;
    COLOR = vec4(c.rgb * flicker, c.a);
}

Two sine waves at an odd ratio looks less like a robot than one wave. The offset is important: if every lantern flickers together it looks like the power is failing ahaha. I turn on "Local To Scene" on the ShaderMaterial so every lantern gets its own copy, then in _ready() I do material.set_shader_parameter("offset", randf() * 10.0).

今月のバグ / bug of the month

Cats walking straight through the lanterns. NavigationAgent2D avoidance was on, but the lanterns were not obstacles, so the cats did not care at all. I added a NavigationObstacle2D to the lantern scene. Fixed. muzukashii...

(GIF: before the fix, a cat walks through a lantern, the lantern swings, the cat does not even look)

来月はたこ焼き屋台のミニゲーム。Next month: the takoyaki stall minigame. ganbarimasu 🐈‍⬛

Written by

佐藤はるか Haruka

福岡でひとりゲーム開発 🐈‍⬛ Godot / pixel art / 猫. Making a small cozy game about a cat who runs a night market. Wishlist it on Steam (only if you like it)

Get the best of Dynamo Geeks weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.

Comments

8

Sign in to join the conversation.

Sign in to comment
Olivier Gagnon@ogagnon
Bonjour ! The two sine waves trick is very good, I do the same for my water. +38 wishlists in a month with no event is normal and honest, do not be sad. And the GIF of the cat not caring IS the marketing, post it everywhere
1 net votes
佐藤はるか Haruka@nekomata_games
merci! I will post the cat not caring... it is my best work and it is a bug (´・ω・`)
1 net votes
Trần Phương Thảo@thao_qa
23 fixed and 26 created. So you are testing in production as usual 🐞
1 net votes
佐藤はるか Haruka@nekomata_games
thao-san... production is the only environment I have 😿
1 net votes
Bartek Wójcik@bartek_gamedev
No, the "Local To Scene" step is the one everybody forgets. I lost one afternoon on same problem in Unreal with material instances, different engine same pain
0 net votes
Jo Brennan@jo_ships
you post your savings runway as a number. respect. runway anxiety is real, hang in there. also i would pay money for a game where a cat sells takoyaki
0 net votes
Karthikeyan S@karthik_embedded
The shader is so small and sounds so nice. Embedded people are jealous, our graphics is one LED blinking at 2Hz
0 net votes
Sam Whitaker@segfault_sam
bugs created > bugs fixed is called job security
1 net votes