So, I could write about my submission It was totally encouraged by you @Oleg_The_Evangelist - to prepare a demo of the game I’m working on from a while. It’s not completed, it’s not even playable sometimes because of bugs, I know about But I’m proud I prepared something to show for UDGJ#1. It gave my a glimpse of what people would think about a mix of puzzle with a platformer. So, the motivation to show as much features, that I would like to have in my game, as possible was very high
The story behind the creation of this game is hidden behind the story about a young father of twins, who still wants to create a game of dreams in meantime. And thus this “meantime” is very short, the production goes very, very slow. I’m not worried about it, I spend as much time as I can, creating it and it is a fun and didactic time. I learned a lot about game development, design, and Defold is in my opinion the best tool to create games - why? Its community is great and I can feel personally attached to them, feeling like I could ask anything someone who is like a colleague to me - and not a developer, closed in a corporation without a contact with its clients. Defold is simple, yet complex tool, that anyone could dive in by small steps. Simple, because with current go/components system its easy to understand. Complex, because with every day I can learn something new about it and it’s very awesome and more and more professional. For me, it’s the best tool to learn from a beginner to a developer.
But getting back to the game. There were already several iteration of the game and each was refactored or completely new. It is because I’m learning during the development. The presented state was a prototype, where I used separated modules for movement and animation, but yet the attacks and collisions were fuzzy between many related scripts. So, my submission couldn’t be treated as other entries, but anyway the week of the jam was the most fruitful for this project and the whole combat and AI systems were made from scratch.
I would recommend to encapsulate things into reusable generic modules. I do not use collections in Defold, because it’s easy to create, but hard to handle then It’s because of different physics world for collections, I didn’t figure out the way to create a collection for each hero GOs that could work in a collection of a level, when it comes to physics and ground collisions. So I use game objects with components or sometimes factories for other game objects that are generic and reusable for both hero and mobs (like attacks).
The focus board is encapsulated completely in GUI. I do like Defold’s GUI system a lot, take a look at the HUD in game - it’s made completely of Defold’s GUI elements, like pie, texts and boxes. Some actions were originally supported by Gooey - a helpful library by @britzl, and still there are remains of this. I do love to use Defold’s asset. They are like an example, a way to solve different problems. For example all the kinematic movement around the tilemap is handled by another Bjorn’s module - Platypus. It applies both to the hero and enemies. Last asset I am using in this project is Rendercam - a modified version with lighting support, just from the forum. It was in the game from the beginning and probaby will stay there, because of how it’s useful
During that week I tried to implement boss behavior and design a combat that would show basic possibilities of a magic system, Therefore I was implementing on the go, adding functionalities I’ve listed in a to-do list, one by one, just where it was most convenient and easy to add. I’m happy I’ve managed to add 3 types of carriers for each of 4 element - so 12 spells for one jam! I had prepared fireball, so it was easy to modify it a little bit to create other projectiles. Each spell is a GO with collision object, light sprite, particlefx and a script to create a behavior and control its components. I used a prepared earlier campfire as a fire trap and then again, modified it a little bit for other elements. The trickiest was the earth’s trap - a ground block. I added there just another collision object that has the same properties as the ground in the tilemap, so enemies couldn’t jump over it, but a hero could
At the end of the jam I added last kind of spell - buffs - effects that give the hero temporary advantages like damage or defense boost. It was also added on the go. The biggest advantage of Defold was in that time the ease of creation of particlefxs. To polish effect I added in the last days particle fxs for blood splash, dust, xp gain, buffs, and so on. Moreover, I added some basic sounds in the last day and I was surprised, I could add and play sounds with ease in Defold - this basic support was enough to add at least fundamental sound of attacks and steps. Though, I know it’s not polished I got the feedback anyway and will take care of this more in the future
So in this jam I focused on adding content instead of taking care about the clarity of my project It was a rush, but I’m very proud of it, as I discovered many bugs, features and dependencies that need to be solved/overcame/implemented to create a good and captivating game. It was a great kick for my project!
If you reached the end of this story, I appreciate it! Thanks!