Improbable: enabling the development of large-scale simulated worlds
cdixon.org
cdixon.org
A year or so later, they'd gotten actual offices and had become something of a phenomenon. People were quitting Google to join them. A pretty famous game developer (creator of Day-Z) was in their office working on his next game. It seemed they'd managed to reach their ambitious technical goals, which was really, really strange and unexpected, but it still didn't click with me that they were doing well, and they were among the most rapidly growing companies in London. I liked the people a lot however, and continued to hang around their offices on Friday just to chat, taking very little interest in their technology.
No point to this story, just that spotting a great company can be hard, even when it's right under your nose. Even more so when it doesn't fit your mental image of what a great company should look like (i.e. not in London, not making video games, etc.)
http://www.theguardian.com/technology/2015/mar/24/andreessen...
That sounds like a wonderful project. Alas, not a lot of details on their website/blog. I found this talk on their Facebook page:
Another project with similar ideas is http://www.paralleluniverse.co/ . Wonder how it compares ?
(pron you around, have you heard of Improbable before?)
Spatial simulations like this are pretty simple to implement on a custom basis, though I would do it differently than paralleluniverse.co. The dynamic resource scheduling on the servers is the hard part. When I designed simulation systems, the code for the spatial part was semi-custom every time because there was little overhead for that part. Simulations/games use cases allow you to take a lot shortcuts and liberties with the spatial processing and representation that do not work for, say, spatial analytics of the physical world using real-time sensor data.
Dynamically balancing real-time spatial skew under load and failure is tricky. This is a problem that has been solved by a few people before but it is not a trivial piece of engineering and is not really found in the gaming world. The seamless nature of the logical spatial world is a necessary side-effect of how you solve the dynamic rebalancing problem while the system is fully online. That said, it is much easier to implement for a game engine use case than the general use case because the load characteristics are more predictable.
It will be more interesting to see how they make money. I looked at starting a company doing exactly what they are doing a few years ago, we had all the tech for it, but no matter how we looked at it the scalability of the revenue model was pretty suspect. I do wonder how they plan to address that.
While they speculatively suggest using it for more traditional simulation use cases, this type of technology has relatively little value there for reasons somewhat orthogonal to the technology itself (something that is not obvious from the outside looking in).
I've thought about this stuff, not as much as you, obviously.
But wonder what kind of shortcuts do you mean. Perhaps that a game world is not necessarily completely uniform and entities are clustered in hubs/plazas/cities rather than say an array of sensors that might be distributed uniformly. So then the world is really a graph of large nodes and edges are portal betwen them.
I guess for a uniform static distribution it is easier as can pre-divide the world into a grid and each server is reponsible for an area. But if distribution is dynamic it will sort of be based on some kind density or clustering. Like say during a particular time a lot entities start gathering in one place (a virtual sporting event) so then there would be a lot of small cells with a server responsible for each cell.
Really? I'm curious. I would think that there isn't much simulated worlds in games because 1) it costs a lot to produce content for such worlds 2) most of the time it's kind-a useless for the gameplay anyway 3) when it's not, it requires actual simulation ideas which are hard to find and develop. In short, "it's difficult to use the available computing resources" would be the least of the problems I think. Is there a game out there using their tech?
This looks interesting from the point of view of not having to roll your own dynamic spatial load balancing and DB backend for an MMO. There's not really enough information around to know what particularly is unique about their implementation other than they are licensing it to other developers.
The game using it with the most public facing information is Worlds Adrift by Bossa Studios.
Great, it's working at scale? Okay, where can I go join the other million people playing something powered by it? (I'll go easy and assume that scale = 1/10 of WoW MAU)
They're hardly the first MMO middleware company, but they're definitely the first to receive $100M of funding.
Also don't understand why people keep talking about "parallelizable", when the real issue is latency and accuracy of simulation at scale.
I did so, and submitted it. They then emailed me back I had been rejected without any feedback at all, and didn't send me any when I asked for some.