Ah yeh, this thread. I kinda learned to like this big walled conversation here. I had some final thoughts on this I wanted to post the last couple months, so geektalk ahead.
TL;DR.
Eve does have free flight and trajectories (double click to set course freely in space). but it’s layed back, also as the term suggests, you only “set a course”, the ship moves only on the server, you only get the final updates, and you only see the stuff happening you just ordered, after the server gives a full ack and actually sends you updates on what is happening. Therefore the sometimes feelable delay in many MMOs.
Some Geektalk about the Software side.
to have your ship move the way you press buttons and move your mouse, and for everybody else to see it, your key press and mouse moves have to be sent to every observer and the simulation of the ship has to be started locally before there is an ack from the servers (client side prediction), if that really worked (e.g. you were hit by a torp inbetween, or another player warps into you; sometimes your numbers could be off). Keeping all the players in sync in older LAN games is done by one of the machines (host), while SC offers us dedicated hosts. This makes it also more safe against cheating. (Note, some modern protocols, like Arma2, achieve high player numbers by allowing clients to modify other clients, resulting in excessive cheating and hacking; they did this however, to support clients giving faster realtime updates of what they are doing peer-to-peer; they also did this as a design decision, because they did not anticipate so much success for a niche market military simulation, used to create the famous DayZ mod;)
FPS behaviour needs the server to run the physic steps way faster than it does in mmo style protocols, to be able to put in keypresses more exactly at what time they happened. However, all the servers send are “updates” and “corrections”, but not the full “descriptive” data of the thing you observe, you dont need updated x y z playername, etc. sent along with every click, sometimes not even what this click would mean, because it is obvious to the game engine, so it can really be just a couple bytes per action.
your client has to know about every single ship in the current instance from the start, otherwise this logically would not work, because everyone tries to run the same simulation locally. entering new ships would cause lag. but you get small data updates which can be sent in rapid succession. All FPS have this kind of protocol structure since quake. Some techniques also developed in RTS games, like aoe2, might also be handy and are often used to create a cross between FPS and MMO, like planetside 2 or CCPs “Dust”.
in an mmo, since the data you get about something you just entered visual range into, is descriptive in nature, and you might not know anything about that object before, you have more optimizations to make this data stream better, therefore, the protocol runs on a lower framerate per second in terms of physics and has usually more data per frame and more overhead, as already very well described in many of these posts.
Basicly, every client runs the simulation, and the server “integrates” the various input into a global decisive state, which everybody has to be updated about, and decides who shot first. In an MMO, the server also decides which client sees what, or has to prepare clients about new things (descriptive data), while in an FPS, usually, all clients get every update, to keep the simulation correct (sometimes only blacking out unseen and unimportant information to prevent cheating)
This means also, your MMO protocol can send ludicrous amounts of different objects real time appearing in your vicinity, but to be able to do that, it has higher timeframes to transmit this amount of data in time (because it makes less steps per second in simulating the physics). Keep in mind, all I just wrote, still do not take the rendering on the client (3d) into account yet. Some posts already nailed that pretty much in detail. Since an MMO wants to send a lot of data every now and then, they also use more TCP - the standard protocol for the internet, which also HTTP runs on - so the arrival of the data is secured by nifty measures in this protocol. A highly action packed game like SC needs to use UDP, which is kind of a minimal subset of TCP, because its not that hard to resend some lost small packets and much of TCP would be overhead, resulting in too big packages again, but on the other hand it would be devastating, if in an MMO a server has to resend larger amounts of data again and again just because of packet loss, so they mostly stick to TCP.
Since 3d needs an extra dimension, indeed many mmos only run in 2d, giving funny exploits, like the walking-in-the-air exploit in wow back then, because the third dimension was actually controllable by the client. So to keep 3d fluid, some part of your protocol is sent peer to peer and not checked by the server, just to keep your characters fluid. It also shows, which information is needed for the combat system usually, so basicly, wow allowed (back then, they changed a lot) you to hit enemies 500m straight above you with a close range weapon, theoretically, which you could exploit in maps, or “got exploited” by mobs if they glitched in the terrain.
Basicly this means for a player, you can click a bit slower, because sometimes it does not make any difference, which is great for EVE because in big battles, things can happen pretty fast even playing like this. However, the Adrenaline Rush of an intense Eve Battle is not the usual ongoing game experience, and the gameplay is also more strategic in nature. Also, you get fed a lot of Propaganda, which is kinda funny and gets really addicting once you enter the politics part of the game and start to read up about what alliances do, not really caring so much about the highly dangerous “blue” sectors anyway.
Lately, there is also a lot of interesting articles in the net (Google: Glen Fidler Game Physics)
In my (youthier) youth, much of this was still not openly presented on the web, also there are tons of source code examples in open source projects in all areas (MMO: UO Emus, FPS: Quake, parts of unreal network code, RTS: a bit less, but there are some, however it is kind of a mix of the two anyway; also, Blizzards Editors do show a lot of how their system actually works, and parts of blizzards sc2 engine are also well documented openly; apart from Replay files, which actually show you a big deal of the network code, because, it is basicly the transmitted network code log)
Network programming is also worth studying if someone is undecided and is doing CS or even IT, because there is a big need for skilled people there globally, and the occasional good pay if you have such basics, gives you a lot more time to study details, work less, earn the same, stuff like this. A lot of todays Software used in the web was at some point mentored by people with game network programming experience.
Otherwise, a project aimed to make Open World Sandbox approaches was on kickstarter: Elite Dangerous by the creator of Elite. That game actually started it all for me, back on the C64 with the tape recorder. But still, it might not be what you hope for either.
I think SC has a good position on the market, and really takes up the Freelancer vibe and even serves me as veteran Descent or Battlefront robo ceptor player exactly what I hoped for. PvE also heavily reminds me of that failed Star Wars flick intro, where I realized I had forgotten to bring a gamepad into the cinema.
It really has most of the things I missed in Eve, but almost nothing in Eve wants me to go back into it, as long as this is up, maybe even not after. Some people will still love Eve more, but sorry to say, Eve does pretty much everything to be best at what it is, geekly-wise.
And Dust could still have an impact on their MMO scene, if they finish their PS exclusive contract and release the PC port. They still need to optimize that game. But that’s not SC either, that’s space-battlefield-halo.
Another game which my corp plays, a MOBA named Starbattle (we play since version 1, now at version 3), on SC2, always impressed me by the community part of that particular map, which was fueled by some eve and dota veterans. The team play aspect of SC is really what it makes it shine, so yeah, space feels more crowded with 12 enemies and 12 friends all the time, or even 6v6, than 100 friends and 1 enemy docked in stations most of the time.
I am also sure, games evolve, and SC could hit higher barriers (32v32? just imagine it, thats almost 3 times as many players in a game), depending on their ongoing success over the years. Also, abstract forms of openness, or strategic decisions in Sector Conquest could immerse way more into an “Open World” while keeping up the action packed gameplay. Rome wasn’t built in just one day.