Jump to content

Walking Inside of Moving Ships?


Recommended Posts

I saw the thread last week where the question was raised about being able to walk in ships, but I didn't see this particular question addressed.

 

A few friends and I were been playing Empyrion this weekend, as it was one of the few games we could find that was similar to what Dual Universe is wanting to accomplish. One of the issues we noticed was that it's not possible to stand inside of a ship while they are in motion. 

 

In order to ride along in a vehicle, players have to enter seats and stay immobile (unless there's a way to move your head we didn't find). That kind of mechanic is somewhat disappointing, as I think it would be cooler to be able to run around a ship making repairs in the heat of battle, instead of having to stop a ship to be able to run to a different part of it. 

 

Has there been any mention of this particular mechanic? 

 

I know there was this devblog, https://devblog.dualthegame.com/2015/01/30/multiplayer-ship-crew/ , but aside from the information about boarding ships during combat (unless I'm missing it completely) I don't see anything about doing that while a ship is in motion. 

 

I suppose that brings up another question. If a ship is in motion, and players are free to move around while it is happening, if gravity is disabled does that mean players will be bouncing off the walls in zero gravity as the ship moves? 

 

 

Link to comment
Share on other sites

from a coding perspective... if the view from inside is that the ship doesn't move... it's the universe around that's moving... Should be possible to have internal movement while external movement is happening.

 

I don't think artificial gravity will be able to be turned off... probably something inherent to the deck plates or something.  So even a ship that's been cut in half ... the 2 halves would have gravity.

 

There definitely should be the ability to run around repairing things... I think they compared it to the game Faster Than Light in the DevBlog.  In that game you're running all over a ship repairing things that go wrong... so...

 

And if other players invade and a battle ensues... and the bridge still has maneuvering capability then they're going to want to move away from whatever troop carrier... or out of the line of fire to free up more crew to fight off the invaders...

 

 

But this is mostly speculation on my part.  I have no more info than you.

Link to comment
Share on other sites

It could also be interesting to use the ship's acceleration as a form of gravity if artificial gravity is disabled/not installed.  In this case the direction of "down" will be the direction of the engine exhaust.  If the main engines, gyros or maneuvering rockets are able to compensate for the center of mass shifting slightly (or if the game ignores the current position of people in a ship when calculating its CM) then you should be able to walk around normally as long as your ship is designed with the floor in this direction with the exact gravity strength dependent on the ship's acceleration.  Cut thrust and you're back to artificial gravity, mag boots or floating even if the ship still has some speed.  For a good example of how this arrangement would work watch any episode of The Expanse.  Yes, I'm really hoping gravity generators will be optional.

 

As far as the programming side is concerned Star Citizen had a way of pulling this off.  From what I understand each ship generates its own coordinate system which governs the position of all players in, and possibly near, a given space ship.  In this way the player's position is referenced relative to the ship, not the world.  This way the movement of the ship is irrelevant with regards to the movement of people inside the ship... at least until you crash into something.  DU could do something similar, using that base block as a reference for any players in, on or near a given space ship.  With the game treating the ship as a stationary world it should be relatively simple to apply a gravity vector in the mini-coordinate system.  Overall the arrangement would basically be what Fitorion said; the game first treats the ship as a stationary world then determines the visuals of the universe moving around it based on the ship's movement in the global coordinate system.

Link to comment
Share on other sites

Yeah I want to make ships that rotate to have gravity...  Think Babylon 5.

 

But I don't think there's going to be the physics simulation level to allow for such things. 

 

If we get gravity plating for which I can set which surface of the ship in small sections is "down"  and I can have rotating ship sections... I'll be able to make due.

 

Also if we get that... M.C. Escher ships are on my list of wants too...

Link to comment
Share on other sites

It's not rocket science.... oh wait.

 

Aside from horrible pun, it's not that difficult to implement this mechanic into the game with the way the devs are doing it. Each ship is it's own construct, which isn't any different from any other construct in the world. All they would need to do is to add some extra parameters, assuming they have leftover code from the planet gravitational field and construct a way to implement it into the ship.

Link to comment
Share on other sites

Aside from horrible pun, it's not that difficult to implement this mechanic into the game with the way the devs are doing it.

I dunno, 90% of the time someone makes a statement like that, they're wrong.  Without being privy to the codebase, it's impossible to know!

 

Moving ships are different from planets; planets probably don't move.  Gravity isn't the issue.  The more likely problem is when you have two very close objects, moving at high, but similar speeds, in a discretized simulation, you get very large problems from very small inaccuracies, and the whole thing ends up unstable.  This problem is much worse when you add in network latency!  Anyone who's played space engineers will know what I'm talking about here.

 

Fortunately, the solution exists; use relative frames of reference (ie, players inside a ship have their movement tracked relative to the ship, as a few posters have already alluded to).  It's probably a bit tricky to implement, but given what we've seen so far, I'd be shocked if Novaquark didn't have the technical chops to do it.  Nothing here to worry about, I reckon.

Link to comment
Share on other sites

My only concern is that having instanced ships where multiple people are walking around during combat and then having lets say 300 ships in that battle all with people walking around those instanced ships. I just shudder at the amount of calculations being applied to the server and latency issues. I don't care who you are or what your company has. I have been in MMO games in large battles and there will always be more people and assets on screen that the servers can handle...if you tell us we can have 500 people fighting at the same time and not get a single bit of lag or errors that is awesome....but we will bring 800 and crash the server. you upgraded the server? we can have 1200 now? awesome but now we are bringing 1500 and the lag is so bad i cant do anything....i lost my ship or assets ...my avatar got stuck in a moon when the game froze and i couldn't steer my ship. 

 

The point is no mater what awesome way they come up with letting millions of people play together and have their awesome assets on screen together. the player base will find a way to tax the system to a breaking point...Would i like to walk around a large capital ship...sure...but i would rather have fluid game play and stable large fleet battles and warfare. 

Link to comment
Share on other sites

I suppose NQ's dynamic server/area splitting trick is intended to handle that.  I don't get the impression the ship interiors will be instanced, though.  Relative reference frames don't require instancing (and indeed, instancing would render them unnecessary).  But instancing of any kind doesn't seem to be on NQ's agenda.

 

In any case, they can come up with an awesome way to let very large of people play in the same area.  Bandwidth gets saturated in those cases in current games because N players in the same area requires N*N updates to be sent (each player gets an update about every other player).  If NQ is right about their system, it reduces the load to a linear load (N updates per N players, roughly speaking).  Changing the load from N*N to just N is a huge deal, and makes the kind of huge fleet actions you're describing entirely plausible!  It's why everyone's so excited about NQ's claim about their algorithm.

Link to comment
Share on other sites

It is possible to do so. Isolating movement and orienting gravity in an engine is as old of a tech existing since Mario Worlds guys. It's a server-side issue of the devs decide to utilise it and how taxing it will be on the server itself.

Link to comment
Share on other sites

It is possible, it is a must, and i'm pretty sure is going to be in the game. Otherwise a big part of the gameplay would die just for that, i.e. building big ships wouldn't make any sense, repairing, various other stuff you do inside a ship. I even read somewhere that there's going to be the possibility to have carriers that carries ships, bombs, drones, so this doesn't just means that you would need an hangar, and that you should be able to move to the hangar while the ship moves? They even said they wanted (one day) to give players the opportunity to open holes in the enemy ship armor, and to board that. In that case you should be able to walk in a moving ship, right? 

 

The technology to do this is common and quite old, even some mmorpgs have it, like darkfall or archeage, where you can walk on moving ships. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...