I am a newbie with Unreal, and I got a project I’m trying to prototype, to see if Unreal is the right engine to use.
So, here is the criteria for what I am trying to make.
The setting is a spaceship with a generational crew.
The spaceship consist of 3 types of objects:
- Modules (rooms)
- Crew
- Jobs
The modules will be displayed in a way similar to the base layout in the game X-COM (2012).
Each module can be rebuilt into a different type of module (habitat, workshop, hydroponics, etc.)
Module objects contain child objects that define their use. For this prototype, that is just limited to different types of jobs.
It should be possible for a module to have more than one job.
Crewmen are individual objects with names and age.
Each crewman may be assigned to one or more of any job object.
If a module is changed, the job is replaced or removed, and thus the crewman lose the job assignment.
Jobs may function differently from each other, but are all called in the same way as a game progress though a game-turn.
A farming job may add food to storage, a workshop job may add a piece of equipment.
(In this prototype, they will just print to log each game-turn)
I have already prototyped this in Java, but I wish to recreate this in UE4 Blueprints.
I am, however, unsure how to set this up, as the Blueprints system does not seem as straight forward as advertised.
I learned about the GameMode Blueprint, and how I may use it as the main structure to hold the data and progress the game turns.
I found the Enum and Struct types, and found some limited use of them to store the type and location of each module/room.
I suppose I could also make a struct for crewmen, and put those in an array.
But I can’t define any functions for structs and enums, so that won’t do for jobs.
And from what I can see of the Blueprint classes, all other alternatives are for static values or visual objects.
I am pretty sure I am misunderstanding or missing something, but hey, that’s why I am asking for help.