Tags

interfaces
ncurses
ruby
refs
filesystems
retro gaming
raspberry pi
sinatra
3d printing
nethack
gcc
compiler
fedora
virtfs
project
gaming
vim
grep
sed
aikido
philosophy
splix
android
lvm
storage
bitcoin
projects
sig315
miq
db
polisher
meditation
hopex
conferences
omega
simulator
bundler_ext
rubygems
book review
google code in
isitfedoraruby
svn
gsoc
design patters
jsonrpc
rjr
aeolus
ohiolinuxfest
rome
europe
travel
brno
gtk
python
puppet
conference
fudcon
snap
html5
tips
ssh
linux
hardware
libvirt
virtualization
engineering expo
cloud
rpm
yum
rake
redmine
plugins
screencasting
jruby
fosscon
pidgin
gnome-shell
distros
notacon
presentation
rails
deltacloud
apache
qmf
passenger
syrlug
hackerspace
music
massive attack
crypto
backups
vnc
xsd
rxsd
x3d
mercurial
ovirt
qpid
webdev
haikus
poetry
legaleese
jquery
selenium
testing
xpath
git
sshfs
svg
ldap
autotools
pygtk
xmlrpc
slackware

Jun 16 2014 omega simulator

Omega - A Universe Over IP

Omega large logo 2

Anyone following my github repo over the last few years may have noticed alot of activity around the Omega Project for which a post about is long overdue. Omega is a Universe Simulator that serves requests over the JSON-RPC protocol, enabling the widest variety of clients implemented in any language, running on any platform, to access and manipulate the universe over any transport (TCP/IP, HTTP, Websockets, AMQP, and more).

Omega consists of several subsystems implementing a variety of functionally from 3D location tracking, to user management and access control, to querying and manipulating hierarchies of cosmic entities and player-controlled ships and stations. Omega provides a complete scriptable interface through which an admin can setup and customize sequences of server side events and workflows as well as access high-level simulation statistics and user-ranking mechanisms.

The Omega Project is not only just that though, also included are a slew of utility binaries to setup and configure a custom universe, many examples of tailored environments, a full featured client DSL, as well as a web frontend based on middleman and three.js. A hosted demo instance is available at megaverse.net


Omega has been a labour of love over the last several years, it's gone under several disparate revisions, having been started shortly after I finished grad school in '08 and slowly being improved since. The structure and runtime is finally stable enough to promote / share with others to hopefully grow the community. Credit goes to many various people who've been helping along the way, from Nolan and Nico who have been playing around with getting it up an running on different platforms, reporting various issues, and submitting various patches, to Nitesh who is working on packaging up the project with dependencies, to Mark/Ken/Dan from the local hackerspace who helped organize / run the first Omega meetup a few months back, to the many others who I have collaborated with and tossed around ideas with along the road.

As far as what's next I aim to plan keep hacking away at the repo, wrapping up loose ends and starting to implement the next round of features on the list. As it stands Omega currently ships with a distributed example in which two separate nodes interact with each other, permitting a ship to jump across a distributed universe. I am to continue expanding this, hopefully setting up a network of these simulations at some point in the near future. Also various other clients (such as Android and native desktop clients), integration with the Occulus Rift, and more is on the backlog.

If you are interested in following progress make sure to join the newly created mailing list (blog coming soon). The project is still in its early / alpha stages, so contributors are more than welcome. There is plenty TODO from coding, testing, documentation, marketing / promotion, and more. There is something for anyone! If you're interested in the project or just want to find out more info feel free to drop me a line anytime.

Other than that, be sure to check the repo often for updates as there's alot more coming!

Happy Star-Travelling!