3D alchemical shop simulator based on pentominoes.
Grow ingredients, brew potions, and develop your business to help Skelly repay the evil Gremlin!


In this project, I served as: Lead—setting tasks, monitoring their timely completion, and providing feedback; Programmer—coding all game systems and widgets; and Game Designer—balancing the game in the final stages of development and implementing mathematics to calculate progression of difficulty. Below are different segments of the game and what I contributed to each.
Orders

I developed a quest system featuring 36 tasks of varying complexity. As a game designer, I wrote the text for them; as a programmer, I configured their selection, saved them to the game instance, saved the chosen quest across different levels, and implemented quest resets when the day changed.
Pentomino
I created a pentomino system. To do this, I designed shapes made of individual cells, each of which passes its property to its parent.
Next, I programmed basic controls: rotating the shapes, determining where they can and cannot be placed on the grid, and returning them to the spawn point.
Then, I programmed the inventory for figures and bone meal, created spawners that reacted to the presence of figures in the inventory, and also developed a statistics counter. First, this counter determined and displayed in a widget how full the property scale for a potion was. Second, it showed how full the field was overall. Third, it displayed the current order on the screen. Fourth, it created a basic or enhanced potion.
As a game designer, I balanced the costs of basic and enhanced potions here, and I also introduced a multiplier based on field fullness.
To diversify the gameplay and add a challenge for players, I also programmed three different types of fields: a closed field, bonus cells, and wet cells that erase the property of the cell above them.
Third, special cells will appear on the board: bonus cells will grant extra coins, wet cells will erase the piece’s property, and locked cells will prevent placing a tile.
Shop
In the store, I created an inventory for bone meal based on the main inventory structure. I also programmed potion upgrades and balanced their cost; furthermore, I coded the purchase of graves and set up an arithmetic progression for their increasing cost.
Raised Beds
In the garden beds, I implemented the logic for moving bone meal from the main inventory to the grave inventory, planting the bone meal, waiting for ingredient maturation, and also converting bone meal into figures, which involved changing the enumeration type in the inventory structure and adding it to the main inventory.
As a game designer, I balanced how many garden beds the player needs for a comfortable experience and on which day they will be able to unlock them.
The Night Shift and Gremlins
I implemented the day-and-night cycle logic, which controlled the appearance of new tasks, the gremlin, and the level changes in the washing machine.
Next, I implemented the Gremlin’s logic: how much it demands upon arrival, and also the level change upon winning or losing.
As a game designer, I tested the optimal amount of money it should demand and the nights it should return to prevent player frustration while motivating them to complete tasks more effectively.
Working with game instances
In our 13-level game: one main level and 12 levels featuring different types of washing machines. When a player moves from one level to the next, the previous level is deleted, and all its progress is reset. Therefore, we had to invent many functions to save the current states of objects on the level and restore these states when the level was reopened. For example, this method was used to save task progress, the number of purchased graves and upgrades, planted plants, and unavailable graves.



