Greeetings fellow gentlemen (and gentleladies)! The following is a proposal that could be pretty damn awesome:
I want to build an open source engine that indies can use to develop a game for any platform. (based on rewritten components of the Aquaria engine) It would be centered around the TIGSource community and "branded" as such.
I need the help of my programmer friends (Tommy, Goldbuick, Ivan and others) to make this a reality.
I need the help of the community to offer suggestions, criticisms, advice and support - as well as eventually testing, building tools and making games.
I need the help of Mr. Jeff Lindsay for open source / code-hosting advice and managing a feedback page/forum.
I need (if this takes off) the help of Mr. Derek Yu via hugs and front page support.
The central goal is to handle common tasks that game programmers run into without enforcing too much hampering structure on the developer. Lightweight, flexible, simple and consistent are really important keywords in this endeavor. This will enable more developers to focus their time on developing a fully featured, innovative, artistic experience without having to worry about the nuts and bolts of setting up a window, rendering a sprite or getting input from the user.
Goals and Features- C++
- open source
- crossplatform (as many platforms as we can manage)
- hand-written data structures for ultimate portability
- hardware accelerated 3D rendering
- light-weight, consistent, simple and flexible
- rendering engine that supports both OpenGL and DirectX
- flexible and simple action mapping system for managing input
- GameObject and Component structure (similar to Unity)
- update structure with support for plugging in a physics engine of the game developer's choosing
- a series of test applications that will be used to prove cross-platform compatibility
- community developed toolset (level editor, plugins, etc)
- well documented with examples, tutorials and new project templates
- a C++/MONOCLE newb tutorial so the most basic manbaby can jump into prototyping with relative ease
Key Platforms to Support- PC
- Mac
- Linux
- XBox360
- Wii
- iPhone
- PS3
This is a wish list. I have experience developing for most of these platforms, and my friends cover the others. However, the actual work of porting to various platforms will likely be farmed out to developers interested in developing for those platforms. The base code will be as cross-platform as possible, so it shouldn't be too difficult!
MilestonesTBD
If I decide to do this, I won't be able to launch into it full time until sometime after GDC. (things are super busy right now)
Realistic ExpectationsThis won't be an engine that does absolutely everything for you. But it will be an engine that saves you a lot of time getting started, provides a common base so you can port your game to various platforms and it will get out of your way and let you write the game code that you want to write.
This is the kind of project that will take time and patience. If we commit to this, we have to be ready to carry through on the effort over a long period of time. But you know what? It'd be totally worth it!
The ChampionOne of the most important factors to making this work is having a game to champion the engine with. Ideally it would be a rising star from the TIGSource community who is likely to sign with XBLA or WiiWare who I can partner with to the develop the game via this engine. That would prove beyond the shadow of a doubt that the engine works and is perfect for use in developing indie games. It would also be a lot more fun!
The first champion would likely be a 3D hardware accelerated 2D game in a similar technical-visual vein as Aquaria. This would make it simpler to start the process. (i.e. we wouldn't have to worry about writing a 3D model importer)
I've got some good contacts at large companies now, so if you have a unique idea that needs code, this could be a really cool partnership.
examples: Verge - sexed up in HD for XBLA, Brandon McCartin secret project, others...?
FeedbackLet me know your thoughts on this! I haven't decided to commit to this yet, but I'm seriously considering it. Off-topic rants about programming languages and other unneeded comments will be removed.
PseudocodeI'm going to be brainstorming
in this thread over here.