The Omega Project is a Universe Simulator accessible remotely by registered users over the JSON-RPC protocol.
This allows the most users and developers to access the universe and control ships / stations / other entities in via many mechanisms.
You can see an instance running on the Megaverse at megaverse.net
For a quick user tutorial see this. To run your own node on the Megaverse see the install document.
See the wiki for many other helpful links as well as screenshots & videos.
At the core of the simulation is omega-server, the process that is responsible for registering the Omega subsystems and listening for requests:
Omega consists of several subsystems:
-
Motel - Movable Object Tracking Encompassing Locations - Tracks locations, in 3d cartesian space. The location's movement strategy periodically updates the location's properties. (eg along linear, elliptical paths, to follow another location, rotate, etc)
-
Users - User registrations, sessions, permissions, groups, etc
-
Cosmos - Manages heirarchies of cosmos entities, galaxies, solar systems, stars, planets, moons, asteroids, etc. Each cosmos entity is associated with a location tracked by Motel.
-
Manufactured - Manages player controlled and constructed entities, ships, stations, etc. Similar to the cosmos subsystem, each manufactured entity is associated with a location managed by Motel.
-
Missions - Manages high level recurring events and goals. Privileged users are permitted to create sequences of checks/operations which query/impact other subsystems.
-
Stats - Provides access to overall user and universe statistics. Other subsystems may write to stats here and/or read stats to modify operations.
-
Omega - Convenience utilities to bind the various server side subsystems together, and provides simple mechanisms which to invoke functionality via a remote client. This includes a simple dsl which can be used to setup a simulation as well as an event based interface which to query/manipulate entities.
Entities may be controlled and subsystems may be queried via any programming language and transport protocol. See the Clients page on the wiki for more details.
The Omega Project also comes with an interactive web frontend based on WebGL (via three.js) and middleman. This is a completely optional component, an Megaverse node will run just fine w/out it, but if installed provides a rich view to the node(s) which its configured for.
See the Web UI and Tutorial wiki pages for more details.
Generate documentation via
rake yard
To run test suite:
rake spec
Copyright (C) 2010-2014 Mohammed Morsi [email protected]
Omega is made available under version 3 of the GNU AFFERO GENERAL PUBLIC LICENSE as published by the Free Software Foundation
- Mo Morsi [email protected]
- Nicolas Satragno [email protected]