Welcome to the Imaginary Game Engine project!

Mono.Net Framework

The Imaginary Game Engine project tries to create a full-featured, modular and multi-threaded game engine in C#, and can run with Microsoft's .NET framework or Mono on either Microsoft Windows, Linux or Apple's MacOSX.

Help Wanted!
Sub-projects that could use your help:
- Direct3D 10 renderer
- Bullet or Havok .NET wrapper
- Extended demo scenes
- Collada, 3D Studio Max mesh loaders
Interested? Mail to info at(@) imaginary-project.net

 

 

 

 

OSI Certified


 

   
Archive: 2007 - 2008

New bug tracker

Posted by SeaEagle1 on 15 February 2009 | 1 Comments

Tags:

With some help of the new Hosted Apps feature of Sourceforge, we now have a brand new bug tracker! As some of you probably notice it's based on Trac and is a lot more powerful than the old, standard Sourceforge tracker. From now on it will not only be used for bug reports, but also to keep track of planned features and tasks that are on my to-do list. Hopefully this will make development a bit more transparent and provides a nice list of tasks in case you're looking for something to help out with.

1 comments | Read the full post

Mono 2.0 released!

Posted by SeaEagle1 on 11 October 2008 | 0 Comments

Tags:

Whee! Mono 2.0 is finally released! This mayor milestone for the mono project is fully compatible with Microsofts .NET 2.0 and will become our target version of Mono in the future. My congratulations to everyone over at the mono project.
Mono 2.0 Banner

0 comments | Read the full post

New wiki and a new name

Posted by SeaEagle1 on 4 September 2008 | 1 Comments

Tags: ,

I've recently picked up the task of improving documentation for IGE a bit. After all, a library is not of much use, when you don't know how to use it. To support this effort, the site has a new Wiki where I'll be placing the documentation, so you can improve and extend it. I'm also writing a parser that will put the inline Xml comments in nice API reference pages on the wiki, so it's easy to link and improve that too.
The 2nd change is a name change for our PhysX wrapper. Since all current projects that make PhysX available use the some combination of PhysX and .NET it seems to give some confusion about which wrapper is what. So, I've decided to change the name to PhysX-sharp. I think it's quite appropriate since this also seems to be the naming style of some Mono wrappers (think of GTK-sharp) and our wrapper stands out from the crowd by supporting Mono. All old links will still be available and the old packages still have the PhysX.NET name, but from now on we'll be using PhysX-sharp.

1 comments | Read the full post

PhysX.NET beta 3

Posted by SeaEagle1 on 24 August 2008 | 0 Comments

Tags:

A new beta version for the PhysX wrapper. Instead of more stability, this one probably is less stable than beta 2, but you'll get some new stuff for it. First of all it wraps the latest SDK version 2.8.1. Second is that it now includes function overloads, so you don't have to search through the manual for default values anymore. Third and the part that needs most testing are finalizers for objects that are created in managed code. This reduces the chances that a memory leak will occur, but might sometimes result in an AccessViolationException because an object is collected before PhysX was finished with it. My recommendation is to keep using the IDisposable pattern as this will also make sure that the class is not collected until you dispose it.

0 comments | Read the full post

Optimized math experiments

Posted by SeaEagle1 on 15 August 2008 | 0 Comments

Tags:

I've been on a very nice holiday, so it's been a bit quiet around here. But last week, while surfing around the net, I found something very interesting: NetAsm. NetAsm is a library that allows you to inject precompiled native code into a managed method at runtime. It's still very new and only works on 32 bit Windows, but has great potential.

0 comments | Read the full post

Physics Abstraction

Posted by SeaEagle1 on 13 June 2008 | 0 Comments

Tags:

It's been a while since the last post. In the mood of the season I've started a little spring cleaning of the IGE api recently. Using FxCop and Resharper I've been refactoring the code and api to adhere to .NET framework coding guidelines. While doing so, I'm also simplifying some constructions in order to make it easier to use them. A mayor change is that I'm going to remove the physics engine abstraction that I started on. With PhysX as our new main physics engine, there is a very extensive physics api and completely abstracting it would be a hell of job. Since most developers will probably choose a single physics engine anyway, I'll try to speed up development a bit, by reducing the physics driver to a kind of integration module, only bridging stuff like position and velocity between the physics engine and the IGE scene. This means that applications will have to choose a single physics engine and take care of setting it up and providing the right parameters. I think this will only be a minor issue, since the only real change is that we loose the ability to change physics engine and some api consistency, but it will bring IGE a lot closer to a releaseable state.

0 comments | Read the full post

PhysX.NET beta 2 has arrived!

Posted by SeaEagle1 on 24 April 2008 | 0 Comments

Tags:

It seems like the first PhysX.NET beta still contained quite some bugs, rendering it almost unusable (joints wouldn't work etc.). So, less than a week after the previous announcement, there is another beta, with these bugs fixed and initial linux support (meaning: it compiles).

0 comments | Read the full post

First PhysX.NET beta

Posted by SeaEagle1 on 20 April 2008 | 0 Comments

Tags:

Earlier I decided to use the fully managed BulletX as primary physics engine for IGE. However, progress on BulletX has been almost none, so I had to find another engine. There already was a basic implementation of a driver for Ageia's PhysX. Although not open source, the engine is free to use on our primary PC platform and has support for hardware acceleration. With the recent announcement of support for nVidia's CUDA the engine can also be accelerated on the latest models of nVidia graphics cards. Because of this I decided to invest a bit more time in a decent wrapper and driver for PhysX. The result is the first beta release of the PhysX.NET wrapper, which allows using version 2.8.0 of the PhysX api in C#. Coming days I'll spend some time to extend the current PhysX plugin for IGE with this wrapper, which will probably result in some more improvements to the wrapper also. But until then, head over to the download page to test the beta!

0 comments | Read the full post

March 08 progress report

Posted by SeaEagle1 on 18 March 2008 | 0 Comments

Tags: , ,

Well, it's been over a month since the last post. Progress has been a little slow lately, mainly because of some annoying issues with the shadowmaps I started on. However the number of issues is slowly decreasing and the shadowing results look more and more accurate, so I've good faith. Besides the shadowmaps I've started to work on an improved video interface, which will be based on the Tao Mediaplayer example I made for the Tao Framework. Also the in-game GUI has received a little upgrade, increasing skinning flexibility and improving the text rendering quality. Also experimental support for Scalable Vector Graphics (SVG) is implemented. On the website you might have noticed that I made some minor tweaks and improvements, including really cool syntax highlighting on the forum and blog pages!

0 comments | Read the full post

Some new features

Posted by SeaEagle1 on 4 February 2008 | 0 Comments

Tags:

As you might have noticed, you can now track development through the RSS feed on the Development page! Also I made a build script that allows building from the Visual Studio project files using Mono. This is the reason that we now have one, daily updated, build status page, that displays compile results of the project. This way we can keep easy track of Mono support and you can check if the current SVN version is working.

0 comments | Read the full post

1 2