Improbable is developing SpatialOS, a distributed operating system that enable you to make huge simulations inhabited by millions of complex entities. Simulated worlds offers unique insight to people that ask questions of complex systems. Simulated worlds solve significant problems in areas such as energy, defence, finance, and health and city efficiency.
Simulation is the flip side to “big data.” Simulations are only helpful if you understand how parts of the system function and want to generate data about the system, Simulations are well suited in hypothetical questions such as: How could we change A and B to get the result we want?
Improbable, the London-based company was established by a group of computer scientist from the University of Cambridge. The company’s technology solves the problem of parallelization for a significant class of problems: anything that can be defined as entities that interact in space. In short, this basically means any problem where a person wants to build simulated world.
Improbable was started by Herman Narula and Rob Whitehead three years ago. They have since build a good team of computer scientist and engineers from companies like Google. It is funded by Andreessen Horowitz, as well as a prudently selected group of experienced investors and entrepreneurs with roots in some of the biggest technology success stories. The company’s collective mission is to influence the age of strong simulation, enrich and inspire humanity.
Entities are the main building block of a SpatialOS. These can be trees, NPCs, and players in a game simulation. It can also be pedestrians or vehicles in in a city infrastructure simulation, or rabbits and humans in an ecology simulation.
Each Entity is defined by a various components. Components give functionality through the events, commands and properties you define. For instance, in the simulated ecology, a fox is an entity that has a hunting component, which has hunger and health properties. These properties keep changing as entities interact. For example, fox get hurt when they fight and hurt rabbits when hungry.
Behaviors of components are simulated by workers. Workers can be anything from a specialized simulation code to an off-the-shelf physics engine. SpatialOS assigns them space regions and combines their output to realize a scale much larger than what a single worker can handle.
By default, all Worlds in SpatialOS are persistent. This allows simulations to run indefinitely. You can either reset simulations to a starting state and run a number of times, or run continuously.
Simulations are pushed to the cloud via the SpatialOS web interface to run at large scale. Spatial OS distributes work between workers and combines their output into the fault-tolerant, recognized state of the world, and scales up to potentially many machines performing the simulation in real time.
One of the earliest applications for the Improbable is gaming. For a long time, game developers have been trying to make virtual worlds, but until last year those worlds had been relatively small, usually running on a few servers and relying on hacks to make the illusion of state. With Improbable, developers are now creating games with very many persistent, complexes, interacting entities. Moreover, they can spend their time trying to invent games features instead of creating building back-end systems.