Game Designer
Robert Åselid
Aspiring Alchemist - A prototype
ROLE
Solo Project
DESCRIPTION
A little prototype I made for personal research and educational purposes.
Wanted to try to make a, grid based building system together with a crafting system to go with it.
As most games with these features a core, I picked the top-down perspective, and got a little adventures also implementing a basic quest system.
YEAR
2025
GENRE
Cosy Adventure
PLATFORM
PC
Engine
Unreal 5

Concept
The idea was to make this to a full game where you played as an alchemist apprentice, learning the ropes from your mother.
You would get quest to brew and cure different potions, and unlike the quest example shown later. The player would only get the symptoms of the patient, and after that they would have to read up on different ingredients and experiment to find the correct "recipe" to help the patient.
But for this the player would need ingredients, some would be grown from seeds found in the wilds, or bought from the merchant. But other ingredients later would force the player to explore forests and caves, hunting monsters and get ingredients only growing underground.
This turned out to be a bit much for a one man army, at least in my current level, as many things would be a first time attempt as well. So I cut it down to a simple prototype of the things I had not done before.
​


Grid System
As I would only use a grid system for the objects placeable by the player. I wanted something I could place in the world, and from there generate a grid, so I could customize it after my own needs.
After some research and trying out some examples I ended up combining the different kinds of grid generation methods I found, and afterwards made my own version which I understood and felt comfortable with.
The Grid Spawner
Actor responsible for:
-
Spaw tiles.
-
Remember spawned tiles.
-
Send out calls to tiles spawned, toggling visibility on & off.
-
Check and set tile height index.

The Tiles
Actor responsible for:
-
Marking a valid area where objects can be placed.
-
Check overlap events for blocking actors.
-
Remembering what objects is currently occupying the tile.
-
When occupied (by building) also remember what other tiles are connected to that object.
-
If it is in a greenhouse or not.


Building
Allowing the player to place objects in the world using the earlier explained grid system. Some just static decoration pieces, but also plant different flowers and vegetables that can later be used for crafting.

The Build Component
Component responsible for:
-
Tracing for grid tiles.
-
Showing current object mesh preview.
-
Rotating object.
-
Setting correct offset for preview mesh to not overlap with player.
-
Sending overlapping tiles to affected tiles when object is placed.
-
Placing objects (Spawning Actors).
The Build Objects
A base class which all objects the player can place in the world derive from. This actor holds all the info about the building which is contained within a "Data Asset".
From the data asset it creates the mesh that are to be shown as the preview mesh, which the build component use. And it is also responsible for changing the overlay material on the object (indication if object can be placed or not).
But most importantly the data asset contains the actor class to spawn when object is placed. And depending on the actor different logic is applied which make it very modular.
Some actors is dependent and change mesh depending on neighboring actors, and others like the plants have different meshes and logic depending on growth index and so on .

Plants & Growth
The plants themselves can be grown, found in the world or be received as quest rewards. The plants can't be planted directly, but instead the player would have to get the different plants seeds, which then could be planted and grown.

The plants themselves would have different amount of "Time" needed to get fully grown. And the only way the player could influence that time, would be to place the plants within the greenhouse where they would grow twice as fast.
The greenhouse does however have a limited amount of space, so the player would have to make a decision on what goes in to the greenhouse and what is not.



Crafting
The grand concept is that there are 4 slots which the player can place different (or the same) ingredient in. Each combination leading to a new recipe added in the players journal, as well as the actual potion being added to your inventory.
The player would get recipes from completing quests, or simply experimenting themselves using the information of each ingredients which also is found in the player journal. Be careful however when experimenting, as any items used in a brewing attempt will be lost.


Quests
I started out just making a simple "Give me x amount of item x" kind of system focusing on tying a dialog system to it. This worked great, but then after some more work I realized I hadn't thought this through enough. Yes this system worked, but and it was something I had not done before, but it was boring, and not really what I wanted.
I wanted more "complex" quests. Where the Npc who gave you the quest, wasn't necessary the one you turned it in to. But the the system I had made didn't really work, and as I was rapping the prototype up, I made some hacky tweaks to the system to support this feature.
If I were to make this system again, I would make sure to think through and really know what feature and different quest setups the system would need to support.
But all in all, it works, and I am happy with having the experience of making a if yet flawed quest system. A for the purpose of this prototype, a functional one.
