Post-submission Blog
Hi, in this post I'm going to explain how I made Where's My Body using GDevelop! Before touching the game engine, I'm writing concept ideas on Google Docs:
Writing ideas are probably the easiest job in my workflow. These rough ideas were written while considering the time it takes to implement it, the difficulty on programming it, and can it be completed before the deadline. Even after taking all that into account, many ideas were cut because of... time.
Next, creating assets using Aseprite. To save time, I animate with as few frames as possible. The longest animation in Where's My Body is only 4 frames long:
Making animations took almost a day. All sprites are 32x32 (except the intro and the ending visuals). Even by this point, not all animations are completed; just enough to get the programming part going! Now this is my favorite part. GDevelop is a heaven for a guy who couldn't code at all - like me! It's easy to understand, the community are helpful, and exporting a game is a simple one-click away!
Initialization
To simulate the pixelatedness of Where's My Body, I took the liberty to zoom the game up to 3 times with the resoltuion of 1980x1080. Why the big resolution? The original aim was to make Where's My Body playable on a mobile phone (1980x1080 was the best-suited resolution for most mobile phones). Since that would take yet more time to implement, the resolution was left as it is. Turns out, the game still works fine on my browser! (although itch.io resized it again)
Level design
Levels in Where's My Body was designed on a separate software called Tiled. It is easy: Insert your tilesets > draw your map > export as Image > Insert the exported image to GDevelop! I find it easier and an incredibe time-saver since putting tiled sprites in GDevelop one by one, rotating it manually - in my opinion - is not efficient. With tiled, all the tools you need to design a level is available.
Player controls, NPCs, game objects
Using the top-down movement behavior, I implement a standard movement controls; WASD. Player interaction is using only two buttons; LMB and E button. NPCs in Where's My Body are using the Platformer Movement Behavior.
For them to move, I use RandomInRange() variable where for every 3, 4, or 5 seconds, the NPCs will simulate a key press of A (left) and D (right) for a short random period of time.
The only interactable game objects in Where's My Body are a vase, a door, and a lever. Programming game objects are much easier than that of NPCs.
Music
Music was composed using Bosca Ceoil; a free open-source music making software that focuses on chiptune-like instruments! Perfect for pixel art games - I might add.