003 – Engine Update

In short, I’ve decided to go with the (under $1,000) commercial simulation/game engine Visual3D.net for a variety of reasons. (built using primarily open source technologies, but not open source)

Choosing an engine within my independent development budget, which also supports ALL of the features the fans and I have planned has been the most challenging element of development of the Ummo project.

I started out investigating basic MMORPG engines like Realmcrafter and Multiverse, but decided that I wanted technology that would more fully support some of the Simulation elements of the design.

Recent developments of computer technology have allowed the creation of game engines with Seamless Terrain (no article link, sorry) in a variety of methods called Paged Terrain, Paging Terrain, Chunked Terrain (and others).

The idea is pretty basic, actually. Instead of a video game being divided into “Levels” (Doom 3, Halo, Half Life 2, etc.) that are loaded into memory in one huge PUSH.. The graphics and terrain of new areas is loaded into memory as required.

This opens up the design to allow for basically infinite sized terrains with no visible loading screens or barriers.

I first discovered the technology when I was investigating Torque Game Engine Advanced and it’s “Atlas Terrain System”. Unfortunately there was never any fully retail ready MMORPG component compatible with TGEA and the future of the engine was in question.

Garagegames (the developer of TGEA) has since announced plans of discontinuing TGEA in favor of the MUCH more expensive “Torque 3D” a product that also does not have any MMORPG features and is targeted towards small studios planning to release on Windows or XBox 360.

The technology is also available on a bunc of other engines, none of them particularly designed to make MMORPG development easy.

For programmers able to develop their own MMORPG engine components who are strictly in need of a graphics engine to build it around, there are lots of options.

OGRE, Unigine, Lightfeather, Torque3D, Delta3D, etc.

For a small game developer like me, competent in tweaking and adding onto systems, but not looking to create from scratch, they were out of my financial and time budget.

So I finally came across the Peragro Tempus Open Source MMORPG engine. It was created by a bunch of developers associated with Yo Frankie and Planeshift, two popular Open Source games (the first a released platformer, the second an in development pseudo open source project.. reminds me of Saga of Ryzom, another “pseudo open source” project).

I liked the general design and development direction of Peragro. In addition, it was a true Open Source project where even the assets were open to public view, review, and use in other projects.

Unfortunately they are two years from releasing a project and I felt that it would be difficult, as it is in any Open Source project, to twist the code to do exactly what I wanted for my own project.

In addition, as someone with over 13 years experience as a Project Manager/Lead Application Developer in the Corporate world, I was accustomed to a certain level of support, documentation, development pace, and tools.

I was hesitant to base my first major project, one which would determine the whole future of my life, career, and income, on an unfinished and untested engine whose direction was not set in stone.

One of the things I love most about Peragro was the development team. they are all really cool guys and extremely intelligent coders.

The paging terrain system used in Peragro (which is, itself, based on the Open Source game engine Crystal Space) is what interested me most.

When I told the developers that my DREAM was to eventually allow interplanetary flight by game characters (like Superman and Silver Surfer or Thanos), they were able to modify the World manager of the engine to load 3D Geometry spherically (allowing characters to fly into outer space properly, while still only loading 3d objects into memory as visibly needed, such as satellites)

Ultimately I felt that i needed technology that would allow more rapid development, design, and deployment. But within my budgetary constraints, hope seemed lost.

I decided to use Seamless / Paged / Paging / Chunked / Streaming terrain as the jumping off point for another investigation into the various engines at my disposal, regardless of if they required specifc coding to become MMORPGs or not.

As my final target release date for a polished product was December 22, 2012.. I figured there was time to create the various subsystems if need be. (That online design document is now gone)

The most important thing was to deliver exactly the features promised to the players when the project was first announced in May 2005.

The more I started to discuss my specific requirements to any developers I knew over the years, the more discouraged I became.

It was not enough for me to have the FREEDOM to code into the engine the things I wanted. I wanted a framework in palce and tools to speed up development of that framework into the finished product.. even if it was unique.

I was seeking an engine that was somehow in between a simulation engine and a game engine. I wanted something sort of in between and FPS and RPG and i didn’t mind if the MMORPG part had to come later.

I had decided that the key to funding the development of the full blown MMORPG was to develop a really amazing FPS or RPG (or combination) that could show of the game world, characters, art, and action.

Even if it only served as a Demo, as long as the art, animation, and other assets created for it could be reused in a more developed version of the same engine, I might be able to fund the larger game with smaller pieces of it in different forms or mediums.

Most important to me was the knowledge that I was planning on having an entire simulated world within Ummo and needed an engine that would allow easy creation of a global terrain.

Discussions with the developers in the Peragro IRC channel also informed me that it was not enough to have a terrain system that would allow planetary sized terrain. also needed an engine capable of eventually allowing interplanetary travel.

I needed an engine with source code access, should these things need to be added later. And lastly, I needed an engine that was designed to allow the sorts of speeds that super powered characters and science fiction devices might be flying at.

I decided that mach speeds would be fast enough for the first game release, especially considering I wanted it to take at least a year or more of SOLID gameplay for a player to develop the ability to fly at those speeds.

My research brought me back to an engine i had already looked at before, but had passed over for a more MMORPG specific engine.

Now, with a refined timeline (seen in previous posts) and a more defined set of tasks and expectations, I was pleasantly surprised by what I found.

If you are making a more traditional MMORPG in the vein of World of Warcraft or Final Fantasy, and you are an individual or a small group like me, I suggest Realmcrafter or Multiverse.

If you are a hard core coder who has doesn’t need fancy IDEs and Plug and play rapid development tools, or simply has an interest in purely Open Source, take a look a the Peragro project.

But for Ummo, the need for a global terrain builder, rapid development tools, and a variety of frameworks and templates for both game and simulation development is paramount.

I have extremely limited resources, a very aggressive development schedule, and rather unique design requirements. With a bit of work and a lot of assistance from the user community and a bit of time, Visual3d.NET should work perfectly for Ummo.

It is not yet at the 1.0 version number, but it has been used already by several Private Corporations as well as the U.S. Department of Defense.

It is in a state now where it can be used to design the terrains, animations, characters, sounds, and effects. That is enough to start diving into development and work with teh engine as it matures to finish teh rest of the game.

Teh fact that it is designed for simulations and planet sized terrains is helpful, and it has a growing user community with diverse needs which should encompass the scope of what we need to do.

The Indie version is relatively affordable in it’s current “Early Adopter” form and I look to be making a final decision and purchasing it before the July 3, 2009 deadline.

Lastly, it seems very suited for the rapid development and deployment that we require. It has an efficient art pipeline and allows direct export from Blender, our (as of right now) chosen 3D tool.

It comes bundled with a variety of Editors that handle such things as particles, scripts, and the myriad of other things that are minor headaches in video game development.

It seems like everything is coming together well. I will keep you posted as things progress. Next up, the first development Desktop since 2005.

Good news is that Google’s 3D Wharehouse has made a TON of improvements since we last reviewed our buildings and structure options, and the 3d models we chose for characters are still decent.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s