![]() ![]() I could save these into the game instance and load up the new level to fight and then load the main level again but this would involve a lot of unnecessary loading screens compared to a simple matinee fade sequence and changing the camera location. Nothing is spawned in new or having to be cleaned up, just a couple of variables switched out from a dataset. This gives you the problem of a lot of games from 5-10 years ago where you would go from an open world into a building and it takes 30 seconds to transition back out to the open world.įor mine its a 1v1 turn based combat, so my actor and pawn is always loaded, i simply adjust the variables on it, which are cast from the monster I collide with straight over. If you unload the entire main level just to jump into a small combat scene and then try and load it again at the end then its going to take a long time. It’s the unloading and loading of the levels that is the time consuming part. I wasn’t talking about the saving/loading data being the intensive part. TLDR just because it works and is easier, doesn’t mean it’s right. The thing with programming is most of the time there are several ways to accomplish the same thing the hard part is knowing when to do what. Now in you’re situation this is fine as by the sounds of it you’re only having one battle event happening at one time but if you we’re to multiply what you are doing several times it would greatly impact the system and bog things down. You’re not ‘just moving the camera’ you’re creating multiple copies of actors, and spawning them in, pausing everything else, probably having to write different logic to make the battle sequences work etc then reversing everything once the game is over. So actually you’re way of doing things is a lot more intensive, and is more of a bodge job (quick fix) than actual good coding. Not really most saving and loading is done in the init or end phase unless you’re implementing some kind of auto save system that saves every few mins an even then it’s not that big of an impact. It really depends on the situation as to what the appropriate solution is. Since loading levels is a lot more time consuming and intensive than just moving the camera. Yep it definitely can be done this way, just often is not a great way to do it. This currently seems to be the best method I have discovered for it, annoyingly on everything that does some kind of action you will need to check for this pause event, blueprint interface is probably the way to go. You can still stream in a sub level for the actual combat area but I didn’t bother at the moment, i just tweaked some variables based on where the user was and the terrain etc to make it feel different, but if your combat areas are going to be different then just load in a sub level to a specific combat area, away from the main part of the map and unload it when you are done. I created a “global pause” event so that all the behaviour trees and everything else pause whatever they were doing until the fight is over, then when the fight is finished I unpause and everything goes back to normal. So what I did was actually setup a new area on the map which when I run into an enemy changes me to be controlling a different player which is in my “fight room” along with spawning a replica of whatever enemy i ran into. I tried ******** around with sub levels and things but it all ended up being too much of a hassle. Pokemon sort of style turn based combat levels with open world main level. I was running into this same problem with a project I was working on. Now, don’t take my word for it, but since GameInstance saves information between levels, I would imagine that if you had something in there saving the location of the player PRIOR to entering Combat Mode, and then calling up that location upon EXITING combat mode back into exploration mode, you should be good. I’ve looked at a couple different options, like level streaming, sub-levels, and Save/Load Game states, but all of these don’t seem to specifically solve the problem. This doesn’t happen though, because everytime I load the exploration map, it returns to it’s initial state, with you at the player start, and the monster back where it started as well. I want the exploration map to be updated with your location where the fight occurred and for the monster you were fighting to be gone. ![]() ![]() However, this is where my problem starts. You run into an actor (or vice versa) on the exploration level, and then it will load you into another level where the game mode has changed and you are now fighting.Īfter you defeat everyone on that map, you will load back into the exploration level. ![]() Hello, currently I am working on a Turn Based RPG game and have run into a problem when transitioning from the battle screen back to the exploration scene. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |