Download

Looking for some advice on how to structure my game.

ok so I’m very new to unreal /blueprints and I’m in the middle of porting my game over from Unity. I’m looking for some advice on how to structure my rpg game using unreal.

My game has three modes of play, world map exploration, combat encounters, and area exploration. The player controls a party of characters (6 in total) and the game has all the standard rpg elements (inventory, leveling, etc).

My initial design is to use a persistent level and sublevel structure to hold all the games content. Each combat scenario will be a sub level and the player’s characters will be moved back and forth between all the sub level positions. For example, I will move the characters from the campaign (overland hexmap) to random combat levels as encounters occur (sometimes random levels). Likewise, when a player moves his party over a town the town level will be streamed in and the players will be moved to the correct location within the town.

This means that the top level will be blank and it will hold all the data and characters I need to be persisted across each level. At this point, I’m not really sure where I should keep all my games data and characters. I have a GameInstance, but it seems that the PL is probably the best place to store all of this run time information.

Now, I’m not sure how many streaming levels I can have or if there are any limitations on how much content they can hold, but so far I think this is the right approach.

I can answer a bit, but some of your description might need elaborating.

Yes, level streaming sounds like the way. Typically, the top level is empty.

Something that’s not obvious with streaming is that you can use it like a level loader, or you can use it to ‘attach’ levels as you go ( you can stream in more than one level at once ).

Your map. If it’s a top down affair, then UMG might be the way to go with that.

As for player data, that really is up to you. You might want it permanently loaded, but you could also load it with the level and characters.

It’s good to know what stuff hangs around during all streaming, and that would include things like ‘player controller’, ‘game mode’, ‘game state’, ‘game instance’. You also, of course have the same game.