Posted October 28, 2025 by ArturKlemens
#devlog #gamejam
This is the first day I can do some real work on the jam. I spent some time last night brainstorming some ideas for the gameplay. I filtered these ideas through two criteria:
By "easy", I mean: can I use my existing knowledge to at least get a working prototype? The theme is "lost & found", so I think I got some good ideas for it.
You play as a character that finds items under autumn leaves, and brings them back to people. You have to figure out which item belongs to who. Ex. you find a small mirror, and it belongs to a lady with a lipstick smear on her face. You find a comb, and it belongs to a man that has unruly hair. Etcetera.
It is a 2D game like Stardew Valley, with no time limit or pressure. There are two big areas that are connected to each other. The camera is static. The player spawns in the left area, where the NPCs are located. The player moves to the second area. He has a broom and can sweep for leaves. There are many piles of leaves, but not all of them contain items. There is some indication as to which piles contain something.
An extra feature to implement, if I have time for it, is that the player has an ability to assist in finding items, such as wind blowing across the screen & rustling all the leaves and a glint showing where items are.
At this point I have several question:
That's a lot of stuff. It would be wise to categorize everything in two sections: MVP (must haves) and Extra (nice to haves)
Now, to deal with the design of the sweeping mechanic. How do I want to handle it? Should each leaf pile have an Area2D, and if the player is standing in it & holds the button pressed for X seconds, it uncovers the leaves? It sounds simple, but then it could be the case that the player is facing backwards but is still in the leaf's Area2D. Then they could very well be visibly sweeping outside of the leaves, and the leaves would still get swept away. It would look awkward.
The easiest solution is to make the player's collision slightly smaller than the model. Same for the leaves' Area2D. So then the player has to step on the leaves in order to enter the Area2D, which would also make the player character's (PC) sprite face in the correct direction.
--- A BIT LATER ---
I see a big problem right now: each pile of leaves has two signals, entered & exited. It works OK for 1 pile of leaves, but what if I add 50 to the screen? And I will. That's 100 signals to connect by hand. I have to figure out another way to do this.
------
Ok, I got stuck trying to figure out how to connect signals from an instanced scene to another via code. This is a good topic to study after the game jam!
------
Maybe I found an approach. Have the leaf instances in a group, and in the PC run this script:
func update() -> void:
for tree in get_tree().get_nodes_in_group("leaves"):
tree.hit.connect(on_leaves_enter)
func _ready() -> void:
update()
func on_tree_hit() -> void:
print("Area2D Entered!")
------
It worked. Now the PC script can detect when it enters & exits a pile of leaves, and it can also detect which pile of leaves it is - so I can update that one specifically, when the PC sweeps. Next up: the sweeping mechanic. But now I have to get ready for work.