Over the course of the past 5 years, InWorldz has dedicated a tremendous amount of time to improving, innovating, and reinventing the virtual world platform. We have spent a ton of time on server side components from the asset storage system, to the script engine, physics, and physical vehicles. This year we’re going to begin putting the time into the client side of our virtual world solution, and adding features that have never been seen anywhere else. However, before we get started on that work, I want to summarize the technical advantages that makes InWorldz a unique and quality focused platform for creative people to build their dreams on.
It all starts with the network
In 2015, the InWorldz virtual world is hosted at Rackspace on our own private network behind two redundant Cisco firewalls. These firewalls operate in a failover configuration and provide a redundant path to the internet should one of them fail. Our network infrastructure supports redundancy from the router level all the way to down each and every server. All servers operate with dual NICs operating in a team to provide failover to two separate switches in a highly available configuration. This means that even if we lose a switch or a router, InWorldz stays up and kicking while talented and friendly Rackspace technicians replace the faulty hardware. This has given InWorldz an uptime advantage and we have seen very few outages. And it should be mentioned that none of which involved the networking setup behind our firewalls.
Highly available and redundant all the way down
Even though we incur increased costs due to the quality of our setup, we believe the advantage comes with customers dealing with as little downtime as possible. At InWorldz, everything from our new asset infrastructure, to inventory, to core data services have been designed to be highly available, replicated, and scalable. We chose Apache Cassandra to store user inventory because it is infinitely expandable, and fault tolerant. We have inventory servers go down a few times a year for maintenance or hardware issues, and no one on the grid is affected. Using Cassandra was and continues to be one of the best technical choices we’ve ever made for mass data storage. Holding over 200 GB of inventory data, we were so impressed with Cassandra that we were compelled to share one possible implementation of inventory storage utilizing the technology on Github complete with full unit tests.
Asset storage has traditionally be a sore point for virtual worlds. Failed implementations, service overloading, and corruption or loss are common issues that plague virtual environments. In 2015, InWorldz now supports a hybrid native/cloud asset service that ensures we can scale to meet the demands of all future storage and not burden our customers with the costs of us being forced to add servers and disks where they are not needed. This has allowed us to maintain the tradition of quality, redundant storage with a dataset of ever increasing size, while keeping prices steady.
Original code solving complex problems
At InWorldz, we believe in doing the hard work where required to get the job done. We may be a small company, but we keep multiple full time software developers and contractors on staff, and we have tackled some of the most complex and time consuming problems in virtual worlds today.
The Phlox compiler and virtual machine
Phlox is one of InWorldz most crowning achievements. We were tasked with creating a virtual machine and compiler that could run scripts efficiently, while preserving enough context to quickly move entire sets of running programs between different machines. With Phlox, this was achieved. We can stop and start hundreds of scripts, transfer their memory state to a new machine, and fire them up milliseconds later. In less then one simulation frame we can literally move your active and running creations to a new server while you’re enjoying yourself riding a car across our vast landscape. You can find some more details in my personal blog post entitled Virtual machine state transfer.
The Phlox compiler is also very quick and highly compatible with the original LSL spec. Many people have messaged us and expressed pleasant surprise at the amount of imported content that has compiled and run on the first try.
The Phlox runtime is efficient, supports true script sleeps without trying up the engine, supports bytecode sharing, and is highly optimized to run many scripts at once. It has served as the basis for all other advancements that have been built on top of it.
InWorldz NVIDIA® PhysX® based physics
Utilizing Nvidia PhysX® on the server side has given us a huge advantage in the realism of physical movement on InWorldz. We took our time to make sure the integration contained plenty of tricks to reduce memory and CPU usage of the physical simulation. We also took steps to ensure even the most complex physical vehicles can be moved to a new server with all their scripts and other state in tact in under a tenth of a second! This means that when you ride your favorite tall ship or plane over many miles through InWorldz, the servers will spend their time waiting on you rather than you waiting on the servers. You can find a good example of an InWorldz user flying across multiple servers in an airplane on our ratherbe.inworldz.com promotional site titled I’d rather be posting yet another video flying on IW6 sims #InWorldz. This work was completed and debugged by the beginning of 2013 and was considered phase one of the physics implementation.
NVIDIA® PhysX® based vehicle dynamics
We’ve implemented physical vehicles on top of the stable base provided provided by phase one and achieved a high degree of compatibility with existing LSL physical vehicles and content. InWorldz vehicles can be made realistic and respond to collisions and forces in a believable and fluid manner. Custom vehicle types like direct support for motorcycle leaning and banking, as well as wind and water current reactors were added to make the building of all kinds of land, sea, and aircraft easier and more fun. You can read more about advanced vehicle building and InWorldz specific extensions in the advanced vehicle tutorial on our wiki.
We’ve spent many years refining the way that the InWorldz platform works, and the advancements and unique attributes listed above are only a few of the bigger examples of the steps we have taken to make your virtual experience on InWorldz one of a kind. We hope you’ll stick with us while we work the same magic on the viewer side of the equation and begin to look at areas where we can enhance your experience. This is your platform and we’re not afraid to do what it takes to keep it fun, exciting, and viable.