Previous Blog Next Blog
Prev/Next Blog
by date

IndieZen Dev Blog, Oct 2007

IndieZen Dev Blog, Oct 2007
Name:Tony Richards
Date Posted:Oct 18, 2007
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Tony Richards

Blog post
Fractured Universe

Fractured Universe is the MMO game that a few of us started last year. Development has been paused to accommodate a few lessons learned.

First, as I've stated before, tools for game creation kinda stink. Using several pieces of software I was able to create some models and use them, but there were a bunch of steps I was taking that were repetitive and unnecessary. As a programmer, I really hate doing repetitive tasks... that's why computers were invented. :D

I learned a whole lot over the past year... IMGDC 1.0 was a huge eye opener as related to game design.

Our original game design for Fractured Universe... well... it was suitable for a 90 day contest (zero risk, quickly implemented) but wasn't really suitable for actually publishing it, especially for an Indie... Indies should be taking more risks and trying out more new things than the funded guys. That was another great topic at IMGDC 1.0.

Do you remember the days of MUD and some of the original BBS collaborative story-telling? I do, and I miss it. I co-founded a BBS hosted in Arlington, VA back in 1988 called Split Infinity and we had some of the best online stories ever told... even better, we actually played some of our characters interactively in weekly AD&D sessions. I miss DMing and that is what I would like to re-create in an MMO game. I miss the SIPs (Split Infinity Party) where Dagger, Ragnarok, Ari and a bunch of the other BBS guys would get drunk, tell stories, play AD&D and just have fun in general.

The technology isn't quite there yet, but that's another story... and enough "inside" nostalgia.

IMGDC 2.0

Over the next few years I plan on spear-heading Indie MMO game development. My startup company, IndieZen is well funded and I'll be using that as a platform for bringing professional grade MMO game development to the general public.

One of the ways we're helping the Indie MMO community is our sponsorship of IMGDC 2.0, which will help keep the costs down for participants (under $100 if you register early). I'm very happy we were able to help with this sponsorship.

Another way we're assisting MMO game developers is by providing a free, Open Source (Apache / BSD style) MMO Middleware Framework and we're also publishing the basic implementation used by Fractured Universe with the same Open Source license.

Quoting myself on a recent press release, virtual worlds are quickly becoming the next big internet revolution and we want this to be something that can be made available to everyone.

This isn't something that should be owned by a single company... just imagine if Microsoft and Netscape owned the only web servers in Web 1.0. Thanks to Apache and Linux, that didn't happen. The world would be completely different if it had.

Game Engines

At this point, everything that I am doing is Game Engine agnostic and hopefully T2 will prove to be a great client. I started creating a game engine framework a few months ago and I've made significant progress on it, but I'm pausing for a bit in hopes that T2 will prove to be a great framework and there will be no need for me to continue working on my own.

What I really would like to see is for the community to band together and create an open source game engine framework, much like Eclipse has done for various other frameworks. The framework should be free and open-source (EPL style), but companies and individuals are free to create their own implementations without any redistribution entanglements. This works extremely well for Eclipse. You can create your own distribution, add your own proprietary plugins and re-distribute it without being forced to re-distribute your own source code or pay any royalties.

The open source part is the framework, not the implementation.... I deeply wish Torque 2 would follow the same model.

Eclipse

Most of you know I'm creating an IDE for game development. What you don't know is that although most of what I'm writing is in C++, the GUI portions are actually based on Eclipse's Rich Client Platform. I've been able to wrapper most of the functionality of the Eclipse plugin system via JNI which has allowed me to create C++ plugins for Eclipse.

In addition, I've made significant headway on a C++ implementation of OSGi, which is an open services specification. In short, anything that IndieZen publishes can be utilized by other developers, but the tradeoff is that IndieZen can also publish other LGPL and EPL plugins and they all interoperate seamlessly.

I've been "mum" on this for a bit because after making this blog post, anyone that knows a bit about Java can do exactly the same, and all of the sudden IndieZen becomes a "me too". At this point it's no longer an issue. The IndieZen plugins that augment Eclipse are impressive enough on their own.

What sets IndieZen apart?

First, all of our frameworks are (or will be soon) open source with an Apache / EPL style license. Non-viral (like GPL), basically you can use the source as you wish, just be sure to include IndieZen in your credits and maintain the copyright text if you re-distribute the source.

Next, our new 3d modeling tool is absolutely incredible.... I keep promising screenshots and I'm sorry for not providing them just yet, but I'm holding off for a bit for a few more features to be implemented, otherwise it'll just look like a 3d model viewer inside of Eclipse, and it's so much more than that even at this early stage. At IMGDC 2.0 (late March 2008) I promise to have a nice technology demo that shows off our progress.

Does IndieZen compete with Garage Games

For the time being, the answer is "no". I've paused the Game Engine Framework project in hopes that T2 will cover our requirements.

Our main competitors are Multiverse, Pixologic (makers of ZBrush) and other 3d modeling application providers like MakeHuman, Autodesk, Chumbalumsoft (makers of Milkshape), etc.

Current status

For the status prior to this week, check out my Dev Blogs over on IndieZen.com.

I've been reluctant to blog here since before a few days ago I was competing with GG. Now that my project is complimentary and not competitive I'll start blogging here more often.

This week I've finished the C++ / Java integration for Eclipse plugins and I have ported three major plugins over to the new implementation.

At first I was having some difficulty with the Ant files and the schema's for defining extension points, but I finally got it.

For the rest of this week I plan on porting the C++ GUI for the modeling tool over to Java / SWT. This will eliminate my need for FOX (the cross-platform C++ GUI library I was previously using).

If I can finish by this weekend, it'll get me to Milestone Adams nearly a month and a half ahead of schedule. This milestone was one of the riskiest... I wasn't sure if I could seamlessly integrate C++ with a Java plugin so I gave myself plenty of time in case I ran into problems.

Initially, when I started experimenting with Eclipse, I was concerned about performance. If you have a whole lot of plugins installed then the startup time is quite sluggish, but keeping a slim installation it easily keeps up with any other IDE I've ever used.

Anyways, back to the coding grind... Happy Torquing!

Recent Blog Posts
List:04/10/08 - Indie 2.0 - Content Packs
03/14/08 - Indie 2.0 - Part 1
01/04/08 - IndieZen Dev Blog, Dec 2007
12/13/07 - Happy Birthday IndieZen!
11/25/07 - IndieZen Dev Blog, Nov 2007
11/17/07 - IMGDC tech talk
10/18/07 - IndieZen Dev Blog, Oct 2007
10/13/07 - Long time no blog

Submit ResourceSubmit your own resources!

Novack   (Oct 19, 2007 at 00:31 GMT)
Tony, I liked a lot the words I read. "Eclipse", "open source", "Apache", "Indie support", "IDE for game development"... sounds fantastic.

Nevertheless -and maybe because I didnt know your project till now-, I cannot understand completely your idea, what exactly you want to do. Could you please when you found the time, explain conceptually what is this all about?

Tony Richards   (Oct 19, 2007 at 01:00 GMT)
In short, IndieZen is a game creation IDE based on Eclipse.

It includes the following features:

IndieZen 3d Modeling Plugin

The 3d modeling tool includes the basic functionality for creating 3d models, but it includes features like morph targets, sculpting, custom sculpt brushes, a built-in continuous level-of-detail system etc.

I also have texture creation tools that allow you to bake ambient occlusion, subsurface scattering and other procedural textures into a standard image format. Also, the built-in shader editor allows you to develop and apply shaders in a WYSIWYG environtment.

Basically, you create a base mesh, then separately you create morph targets like MakeHuman. You can create multiple models, importing a base mesh and apply morph targets, then generate textures, customize them and apply them using advanced shader libraries / custom shaders.

In addition, the modeler includes a loop-based poly reducer that will create lower-detailed meshes for exporting to games. The reduction algorithm has modifiers (applicable to morph targets as well as the base mesh) that help the algorithm make the right choices. It takes slightly more work to set up, but once you've created a base mesh, you can create literally hundreds of new meshes in just a few hours.

Also, the 3d modeler includes a mechanism for creating derived meshes. This is great for creating clothing. You can create some clothes that fit on one model, then when you create another model, the clothing still fits.... think "Poser", only for games.

Also, not only humanoid / organic models are supported. The 3d modeler includes an advanced splicing / modular component system that allows you to create fantastic cars, flying vehicles, mechina and other non-organic models.

Eclipse

With Eclipse, I get some extremely advanced features... Python, LUA, Cg, GLSL, TorqueScript, C/C++, Java editors built in; these plugins include syntax colorization, help, debugging, etc. Also, some advanced features such as Trac Wiki integration, SVN / CVS / other source control integration, etc.... all for free.

Also, the MMO Framework is based on Apache Geronimo, ActiveMQ and PostgreSQL... all open source and free... plus Eclipse has readily available plugins for creating Geronimo EJB's and connectors, plus database design tools.... Just think, all of the great tools that Geronimo has for Service Oriented Architecture can easily be applied to your next MMO game. Wizards, documentation, IBM technical support (if you opt for the free Websphere Community Edition) and much more... Indie MMO Game Development on a professional level, but still free.

Additionally, if you need to scale, IBM will be there to help you move over to the Enterprise level Websphere and Rational products.

More to come

In addition to the 3d modeling plugin that I'm creating, I'll also have features for creating BSP's (like Torque style DIF's / Constructor), terrain creation, GUI development, tree / folliage, lighting / particles, and even a full world editor.

I've also designed a model format that could be likened to the next standard of "JPG for avatars" which would allow avatars to be freely distributed amongst virtual worlds and hosted by standard web servers.

Imagine being able to create your own virtual worlds and publish them as easily as you can publish HTML today.

Novack   (Oct 19, 2007 at 01:17 GMT)
Well Tony, thanks for the explanation, sounds fantastic, hope you keep us informed.

And! hope you extend the support of your IDE to Torque. I love the level of development that Ecplipse has in terms of intellisense/autocompletition/"snipeting"/contextual help for java development, would be awesome to see something like that applied to game dev, specially with Torque.

Im not an artist myself, but I can see the advantages of having an unified development IDE for all the workflow, code, art, SVN and even Trac!

Tony Richards   (Oct 19, 2007 at 11:43 GMT)
As I side note, when I stated that PostgreSQL, Geronimo, and ActiveMQ were part of the MMO Framework (to be re-named to Virtual Worlds Framework) I was incorrect.

Those products are used as part of Fractured Universe's implementation of the IndieZen Virtual World Framework... the Virtual World Framework is database / Enterprise Service Bus / Java Messaging Service agnostic as it should be.

@Novack - Thanks for the comments. The cool thing is that I don't have to include Torque support. It's already partially there, and hopefully Torque 2 will be created in such a way as to allow it to integrate its GUI / terrain / mission editors. If that happens then I'll definitely be adding full T2 support.

Mads Laumann   (Oct 21, 2007 at 21:01 GMT)
Nice to see you are still going Tony. I followed you on fracturedUniverse web site, but there has been very little (actually non) activity there. And because you didn't blogged here either, I was getting afraid you had stopped your projects. But then the other day, and today I saw a nice "New" indicator on my Rss feed reader, saying you had posted :)

Im following your progress closely :)

Keep up the good work!

Pesto126   (Oct 21, 2007 at 22:16 GMT)
Did I read Open source as in Free to the public? I'd really like a free game create environ that includes a lot of all in one editors like a 3d modeler, IDE, debugger and resource tracker.

Tony Richards   (Nov 05, 2007 at 20:51 GMT)
@Pesto - Just for clarification:

The IndieZen 3d Modeling Plugin is not Open Source, but a lot of the other plugins are.

If GG doesn't create an Open Source Game Engine Framework then IndieZen will.

IndieZen will also license the MMO Middleware used by Fractured Universe as Open Source in the near future.

You must be a member and be logged in to either append comments or rate this resource.