5 ms·
"We are going to emulate all computers and physics even when players aren't logged in." I built a prototype trying to do something similar, inspired by a text-
by pantaloons 15y ago
"We are going to emulate all computers and physics even when players aren't logged in."
I built a prototype trying to do something similar, inspired by a text-based RTS/MMO that kept running while you were asleep. For me this was an unrealistic goal, if the simulations are complex enough you can't operate at a price point users will pay for. Even if you can, because the game is now CPU bound, far less players fit on a single instance -- you now need incredibly clever partitioning and load distributing facilities to keep the world appearing seamless. Even AAA titles haven't solved that problem, a look at world PVP lag in EVE or WoW will tell you as much.
- jiggy2011 15y agoNot an expert in this but can't many physics calculations now be offloaded to modern GPUs which are designed to parallelize much more neatly?
- deleted 15y ago[deleted]
- heretohelp 15y agoPhysics/vector math aren't getting off-loaded, a virtualized 16 bit processor is.
- stephengillie 15y agoWhat would it take for the average i5 or i7 to virtualize a 16bit processor? Could it run on a separate thread from the main game? Could you run part of your MMO server work as a distributed-computing setup on client PCs? (but how would you get that working in real time?) Maybe the players that are online at a particular time could be doing some of the extra processing - the game client could run 1 or 2 extra 16-bit virtualizers in the background, along with the virtualizer for the player's own 16-bit cpu and the game thread. So 4 threads running on 4 separate cores.
- mattstreet 15y agoI think it would be really hard to secure that as far as an MMO goes, not that there aren't a few tricks that might be worth trying. (Like having a player's CPU emulated on several different peers and comparing the output to find errors or hacks)
- nknight 15y agoI don't think the processor needs to be. If it's designed carefully, the code should be trivially translatable to native x86, at which point you may even be able to run a few thousand on a single reasonably beefy server, depending on how fast the virtual CPU runs and the average load.
- heretohelp 15y agoNot to be an asshole, but you do realize we're talking about Notch here right?
- nknight 15y ago> Not to be an asshole Typing that should have been a pretty unambiguous clue you needed to stop.
- heretohelp 15y agoNo, it was necessary to reframe the constraints of what can be done designwise. Idle speculation about the design of how it could be done that is wildly outside both Notch's abilities and the allocation of people on his team he plans to put towards it (zero) is pretty pointless.
- nknight 15y agoNo, it wasn't. If you wanted to communicate a legitimate concern (which you don't seem to have, just idle speculation), you would have done so. Instead, you were an asshole, and made it worse by recognizing you were being an asshole, and doing it anyway.
- deleted 15y ago[deleted]
- coopdog 15y agoYou realise how much money they've made from Minecraft yeah? If he wants cutting edge virtualisation technology he can no doubt pay for it (if it'll be fun, and he definately has an intuition for what is and isn't fun)
- Gormo 15y agoIf OnLive is viable, I don't see why this shouldn't be.
- groby_b 15y agoReally? Given what Notch plans (2,000 DCPUs per machine - which is certainly doable), let's assume he's running a high-cpu instance (large) at Amazon for those 2,000 DCPUs. That's $500 per month for the machine. If he can't get that much money out of 2,000 players, he's doing it wrong. Assuming you allow for eventual instead of atomic consistency, and allow for loss of CPU for several seconds if an instance goes kablooey, the load distribution is really not that hard. (And your spaceship really doesn't need five 9's. It's a game, so just blame it on "an ion storm". Or "a space monster" if that floats your boat ;) Partitioning does not need to be too clever if you can constrain the number of ships per region - certainly something you can impose via game design. Lag only matters if you interact twitch based. Notch's plans lend themselves to indirect agency via the simulated ship's computer instead, so if everybody perceives the world as it was a few seconds ago, not much is lost. It's certainly a doable task. Notch's mind is in the right place to pull it off. No doubt, it'll be hard - but it'll be interesting to see what he comes up with.
- intended 15y ago> constrain ships per region. That would obliterate the point of the MMO aspect though. EDIT: One more thing regarding the ion storm or whatever - gamers aren't that forgiving about those things. You could try and blame it on space monsters and what not, but gamers know pretty quick when something is borked. And they hate it hard. - Anything that isn't within their locus of control which negatively impacts game play is easily hated. I can't stress enough how painful flamewars from pissed off gamers are to deal with. I'm not sure how much you are aware of current occurrences in EVE online, but for what its worth - they too had the similar lag issues (while still being called excel in space). They recently deployed a time dilation mechanic to make it possible for people to play the game and enjoy massive fleet battles, which has increased satisfaction amongst the player base immensely.
- pantaloons 15y agoWell a first person shooter engine only really needs an (x, y, look-at) tuple for each player, certainly putting thousands of players on one map is doable. You're dreaming. Assume for a moment a team of developers spend several months if not years doing infrastructure build-out to support the imagined CPU simulation system. Now they just have to implement the rest of the engine, the part powering the actual game, in which all players, CPUs, and other elements are active and interacting with one another at all times. I'm hoping Notch succeeds, but lets be realistic -- the closest anyone has got to offline simulation is effectively "event queue and timer" and not for lack of trying.