top of page

Fantasy Factory Game

I wanted to create a project that would allow me to work on a few goals to shore up some areas I wanted to improve. I wanted a project where I could flex my programming and design skills while also learning Unreal, which I hadn't gotten any experience with while getting my degree. I've also had this idea for a factory game set in a fantasy world that I'd really wanted to see come to life.

Update 4 - 11/28/2023

I haven't gotten as much done as I would have liked since the last update. Currently recovering from Covid-19 and I wanted to do at least a small update.

I had been working on prototyping an item transfer building similar in idea to the conveyor belts in other factory-sim games. Design-wise I want these to be more customizable and thematic to fantasy. My plan is to have these be upgradeable through certain magical implements such as potions and scrolls. These upgrades would make it so you can fine-tune your transport so if you need something to transport something really fast but is produced at a low quantity. I want the variables that the player can customize to control to look like:

 

-quantity

-speed

-splitting

-Temperature management

Those are some early design plans I have for my version of an item-transfer building. I made some progress on prototyping it but ran into a roadblock getting it to transfer to a different instance of itself. I have a hacky way to do it in my head where I make a duplicate version of it that the blueprint swaps between when you're placing them down. I'm going to keep trying some other methods before I resort to that. I'm also going to post some pictures of the blueprints I've made thus far to have more to show.

 

My partner and I are also going to be doing a small game jam amongst ourselves to get some experience with UE5. I'll be updating a separate page for that once we make some progress on it. 

Update 3 - 10/6/2023

This update will be focused on the prototyping work I've done and will include stuff from this past week as well as stuff that I've been working on since the first update.

 

In the video to the right, I'm demonstrating the grid system I've built in Unreal Engine 4 using Blueprint. The player is able to see and hide the grid when they press the F key which enables build mode. Once the player enters build mode, they will have a preview of the building they currently have selected that follows their mouse. Once that preview overlaps one of the grid sections, the material dynamically changes depending on the building rules. I have it setup so that a player can build on a square if there is no player overlapping the section and it's not already in use. This can be seen by the material changing, green means it's good to build on, orange is a warning that the player is in the way, red means no, and the default white means it's available and being seen. Since the first update it can also be seen that I added in a sprite from a blueprint tutorial to better show the player's movements while testing, I also added the ability for the player to zoom in and out to better be able to see the larger area.

 

Going into the next week I want to start working on additional buildings, namely I'd like to start working on a transportation building, similar to conveyor belts in games like Satisfactory, Factorio, etc. but apply the design ideas I laid out in the last update.

Update 2 - 9/28/2023

This month I've been working a variety of different functions that I wanted to get working, as well as getting some design concept work done so I can have clearer goals and a list of things to work on. 

Starting with the design work I've been doing. I had an idea of what I wanted the game to look like in my head, but I hadn't fleshed out what any kind of structure or progression would look like. I took the time to get an idea of what I wanted the player to start out with and eventually progress towards. Generally, any game I've played in this genre has been some form of sci-fi so it's always been machines and metals you're working with. With this game I want it to be more about nature and magic. In games like Satisfactory or Factorio, you start with a collection of Copper, Iron, and Stone and use those materials to craft your beginning buildings. Those three materials didn't feel like it lent well to a magical setting so I really wanted one of the first materials you use to be wood and to have that be the foundation for anything else you use. Some inspiration we're working with is the Night Elf race from Warcraft 3, their wood gathering is wisps that magically harvest the tree and then pass that along to you without using anything. From this thought came an idea about the player using their magic production to restore the planet they're on. In the first image on the right you can see a concept for a grid-based region unlock system. The player would start in the center, and then move onto the surrounding areas once they've crafted the requisite materials. From this design work I created some project management pages on Trello that have been helping me keep myself inspired and focused on what I'm programming. I'm going to do another update with everything I've built in Unreal as this is becoming a wall of text.

Progression.png

Update 1 - 8/2/2023

The first thing I wanted to get working was a first pass on a basic factory building. This would have a single input and output that could process a variable amount from the input and process that into an item with variable build time. In the video I took, the numbers in the top left of the viewport represent the quantity that's going into the input (blue), the quantity of what's currently in the input (yellow), and the quantity of what is currently in the output (green). I was testing the production aspect for functionality so I have the input set to increase when I press the F or R key. F key increments by 1 and the R key increments by 10. Currently, the build time is set for 4.5 seconds so you can see how the script processes the input in that amount of time and then ends once the input is empty.

bottom of page