We are in the planing phase to a new SciFi Game. The Player will have a ship with a crew. You can walk inside the ship with is located in the space.
But now we stuck at two Points.
We dont know what would be a good way to simulate a giant universe. So that you really have the feeling to be part of it. If you navigate from one planet to another or to an asteroid field near a planet the Planet should be in an mostly realistic distance or it should at least look like it. If we try to scale the universe to near realistic dimensions we run in trouble with the lighting. So my question is how do i show a universe like it is done for example in EVE Online.
Because the player and its crew can walk inside the ship while the pilot is flying the will be a problem with the navmesh. So my idea was to move the universe around the ship, instead of the ship itself. Would this be a realistic idea?
Hi,
There are a series of games called the “X-Universe” and they create a separate map per solar system and use jump gates (i.e. in UE4 teleporters) to transfer you from one map to another. If you build your ships as vehicles in UE4 you shouldn’t have any problems with the navmesh since both your player character and the starships would both end up being pawn class within the engine. The only thing I think might be an issue is you might need to build a custom navigation system within your playercontroller class so that the player/ship knows it’s in space versus on the ground of some planet. For space travel, you probably need a routine to set a course to a jump gate within the system that would lead you to your destination.
What I would suggest is that you draw out on paper a simple 5 map star system with jump points between them clearly defined between the systems. Every system would be a seperate UE4 level and would need at least one jump gate per system. Once you know where the jump lanes are, building the jump gate blueprint would be next thing to do. I would build the jump gate blueprint so that they would have an array of destinations, that way if you needed to add a jump lane to a new star system down the road you would just add another item to the array.
I rather would prefer a jumpdrive inside the ship. We actually want a universe where you can select a destination marker in free space and click “navigate to”. Also we would prefer to not have any loadingscreens between the travel. LevelSteaming would maybe work. But i have no idea at the moment how i could simulate a fast travel between two levels without running out of the important lighting I had some ideas with first flying away from any smaller structures like space stations and at one point stop the ship and simulate fast travel with a particle effect or so. And with some Math scaling down the planets and suns so that it looks like you flying away from them.
I mean Eve Online has a way to travel over huge distances or at least simulating that without loadingscreens. We dont want a EVE copy only an open Universe aka Solarsystem like theres
You could use World Composition and create a huge universe with streaming sections(which also lets you set the world origin at player location), however you’ll still be limited by world bounds vertically.
That’s certainly doable as well. The concept is the same except instead of traveling to the gate within a sector you just fire off a console command to do that once the jump engines are online. When you do the teleport you just feed the console command the location of the actor (I.E. the object) you want to travel to minus some “safe distance” factor and you’ve got it done.
You might be able to do one big map once the team at Epic create those “large world” map things that have been discussed in various development forums. Level streaming could also work. As for the teleport effect, some sort of massive particle system would be needed perhaps like as used in the “Borderlands” series of games. If you’ve played a game called FireFall they use a zone type system where you have a limited number of large maps. Another easy way to create a large map is to scale down the speed that ships travel within the space map so all the distances seem much larger. Planets and moons would still probably need to be separate maps if you are landing on the surface of those locations.
With a single teleport effect you will miss the feeling of traveling over a huge distance. If i play X3 for example the universe feels quite small. In X Rebirth they have done a better job with the fast traveling lanes but still the universe is not that big.
In Eve you get the feeling because you often cant see one planet from the perspective of an other planet. So it would be nice to get that simulated. Do you think that scaling the planets could help by doing that?
I’m looking to make a very similar game, although I actually want to go from ground level through atmospheric flight, all the way to interstellar flight. Hugely ambitious, especially since it’s just me
I don’t exactly know how I’m going to do it yet, but what I thought might be necessary is a server component which streams in the objects that are visible… so rather than having everything in a map, you actually just have components which are placed procedurally. This would also be necessary for any kind of multiplayer in a universe to scale.
When you need to send data to a player, you only stream data from objects which are within their field of view (i.e. within some reasonable distance), and everything else is invisible. The only exception would be things like “nav beacons” which will be rendered regardless of distance, but will (intentionally) have huge floating point location discrepancies. Hopefully it won’t matter since they’ll be so “far” away from the user.