Hello y’all! I’m here for the weekly update on Monster Embassy’s development.

This week has seen some significant changes and improvements to the game system. Most of them are still a work in progress, but I’m pretty satisfied with everything, both from the programming point of view and with the evolution of the game’s design.

What I’ve done this week

  • Improved the game’s screenshot system (you can take a screenshot by pressing C) so you can config the scale ratio of the screenshots: x1, x2, x3… for now there’s no config menu, so this has to be done manually by editing the config.cfg file, but it will be useful to me. Now I can easily post here bigger screenshots, without needing to edit them manually!

  • Divided the navigable worldmap into different areas and created a system to detect which area you’re currently standing on. Also added a mini-worldmap to the menu, which is automatically updated with the player’s current position in the map and also indicates the next episode (quest) that needs to be completed!

screenshot screenshot

Unknown worldmap areas, as you can see, are displayed as black squares.

  • This is very important: I added a system that automatically restores the position of all objects when you change rooms. This is very relevant gameplay-wise, because, for example, if you’re working on solving a puzzle and you move a rock the wrong way, you want to be able to leave the room and return to find the rock in its starting position, so you can try again. For the moment this system isn’t very well optimised, since it reloads all the rooms in the map instead of just the affected one and there’s a noticeable framedrop. But at least it works! I’ll keep working on it.

  • I made some changes to the map system, so you can draw directly on the map the different “collision” areas by using the TileMap option in Godot, instead of having to set the collision coordinates by hand in code.

screenshot

  • And, for the biggest update of the week: I’ve started improving on the “spell” system in the game (spells are the abilities/tools that the player can use to interact with the environment). Until now, the system worked, and you could destroy and move obstacles in the map, but it was very simple and boring. I’m starting to polish it a little by adding a “combo” system: you can learn up to 4 different elements, which can then be combined in combos of two to create up to 14 different spells. The menu looks like this, for the moment:

screenshot

I’ve also been adding more details to my game development document related to strategy and basic gameplay in the game. Each spell and element will have its ups and downs, and I want them to be simple but, at the same time, leave some choice to the player in how they want to play the game. I’m still working on it, but the basic rules seem sound.

  • I’ve also been working on (re)adding (this was in the game planning at first, but I dropped it) a clock system. It will work as a countdown timer, so you have limited time (an in-game day) to finish every episode. This adds some complexity and more strategy to the game: otherwise it was too easy.

  • Not that important, but, as you can see, I made some simple placeholder tiles that make the maps a little more visually palatable.

Discarded stuff

  • Saving and loading fullscreen mode to config file: I just can’t get Godot to detect fullscreen mode, so the player will have to press F11 by themselves, at least for now.

What I want to work on next

  • Improving and finishing the spell combo system.
  • Letting the player turn around (change direction) by using the arrow keys, without actually moving to the next tile.
  • Optimise the function that reloads obstacle positions to prevent framedrops.
  • Implement the clock countdown system.
  • Add a game over event when your health drops to 0 or the clock reaches the max available time.

Things I want to do but will leave for later

  • Implement a savefile system with encrypted files.
  • Create an actual config menu (possibly with custom keybindings, although that may be beyond my ability for the moment).
  • Implement the item system + random drops when you destroy obstacles.
  • Implement an indoor map system, so you can enter and exit indoor maps without the states and positions of objects being reset (tricky).

Known bugs to fix

  • When using a stick controler and navigating the menus, the cursor moves way too fast.

This is all for today, I think. See you next week!