The game I’m currently working on it is my first, and so I had to learn now pretty much everything from 0 that is related to gaming engine. Right now I’m done with the main menu and everything related to creating an account, the ability to update it, and connecting to the server that controls the interaction with the database (not the server that is created for players to join and load maps…), which actually doesn’t have much to do with the game engine (beside mostly the UI), and my programing knowledge was actually really useful for this part.
Now from what I read on the internet you can have two ways of travel between maps, seamless and non-seamless travel, the first one being recommended, and so I’ll use that one. I’ve read the basic documentation about this and I understood what it should do in the background (how you’ll load a between map to remove the old and load the new one, and that you can keep some actors).
But I still have some questions to make sure I understood it right, and to get some help:
- In that documentation it says that the
GameMode
(which I know is available only on the server side) gets carried over to the new map. Now this also raised two questions:
1.1. Does this mean that for all maps I should use just oneGameMode
(Level -> Selected GameMode
) instead of having a different one for each of them, as a new one won’t be created when the new map is loaded so it would be useless, or maybe it would actually create some problems if you have a different ones?
1.2. Because theGameMode
contains theGameState
as well asPlayersState
, does this mean that they will also be carried over, and new ones won’t be created with the new map? This actually is important as you have some information insidePlayerState
and/orGameState
that you would want to keep and other to reset/remove. - Because of the transition map, does that mean that if you want to have a loading screen, inside that map is where you should show the UI, and not show/create any environment elements on the map? Or instead of an UI to give the players access to roam around until the new map is loaded? Like you have in Assassin’s Creed games, that void world where you can move around.
- Will the players be transported to the new map when their system is done loading the new map? Or they will be transported to the new map when all players are done loading the new map? This is good to know because if they are send when their system is done loading the map, then not all the players are on the new map yet, and you should add a “wait for everyone to be done loading” thing. Or does it wait for everyone to load into memory the new map, and only then everyone is sent to the new map? This can be a little hard to test on the same PC using standalone.
- Can someone link me a good YouTube video where they explain how this process is done? I’m a person that learns a lot faster by example and not reading theory, and so when I’m working on it and I get stuck, I’ll have a material to compare how I’ve done with that.