April 2007 - Posts

Kartones.net had a problem several days ago and this post was lost in the backups, so I'm reposting it again (thanks to Overlord who had the feed :)). I'll post in the following days about what we are doing in the project, there are some interesting things happening. Here goes the old post:

"Well, Jade 1.1 got released some days ago and it generated some buzz around: Gamedev, Devmaster and Stratos. We have seen a lot of new people visiting the site, this blog and the forums in the latest days also Smile And now it is time to think in the future of Jade and what will come in Jad 1.2.

To be truth, the engine devs hold a meeting some weeks before the 1.1 launch to talk about the release and what we would be doing. In this meeting one thing was clear: the engine needed serious cleaning on the internal parts, it was taking us too long to develop new features, to long to integrate the and to long to test them. The engine base wasn't designed thinking in helping the engine developer to maintain and extend it and we have paid that price in 1.1. We wanted to write some new features and we ended rewriting several parts while doing our main objectives. This is the main problem of the engine from our point of view, as engine developers. But the engine has other problems from other point of view: the problems of the engine users. For you the main problems are the lack of several important features: animation and collada are still half-done, a GUI system, terrain rendering,...
  
We have talked quite a lot about this subject between ourselves, and we feel that the most important subject to solve right now is the engine internals. There are some points that made us take this decision:

The more code we write, the harder it becomes to continue coding, so the slower we are able to finish things. This means that 1.2 would need even more time than 1.1 and well, 1.1 took too long to born.

We break the existing code every time we release something. Not breaking things is hard, but it's very desirable for  people that use the engine so they don't have to change their code every time a new version appears.

The team is growing and it's getting harder to coordinate. If the code is meshed you have to check out too many files to write something and then we have to do strange merges in the server.

MDX will die in the future, we don' t know when but it will happen. Microsoft has released XNA and DX10, so MDX future will end someday and we have to be prepared for it. We can't just stop the engine 6 months (or more) while we rewrite everything around to move from MDX to another graphics API.

Then, what does this mean? If you have looked at JadEd project (Jad Engine Editor), you probably have seen that there's a very powerful plugins architecture there. It's easy to use, easy to integrate and it cleans a lot code, and more important: it helps extending code. So, in the end we have decided that Jade 1.2 is going to be a design release. We are going to move all Jade parts to a plugin based approach, so we can exchange components in the future easily (sound, physics, rendering,...). We are going also to clean the internal problems we have found in 1.1 (and some problems you have pointed to us in the forums).

I'm sure by now some people using the engine will be probably sad or angry right now. I promised in the forums that GUI would make it for 1.2, and the following lines are pretty clear in that GUI won't be for 1.2. I have learnt that in the future I won't promise anything unless I have a very very very clear idea of how things are going. But to be truth, things aren't really so dark. We think that the re-design and cleaning will make the engine a lot easier to understand and use for you, but we also know that new features are needed. And we have got quite lucky in this subject the latest months Smile

If you follow the forums, you probably have read about two people, Krisso and Stephan who are working on a terrain renderer and a new and more complex scenegraph (Krisso released today some nice screens of his work Smile). They are students from Munich University who are going to do part of their university work helping in Jade. On another front, Jader is going to work on finishing meeshoo work on the Collada importing, something that will help easing to import graphic assets in the engine. Kartones and RGB are doing their work on the console (and a secret small new app to help you guys to try the new dev versions more easily Smile), and yesterday a new person showed his interest in helping us with the input and the GUI Smile So while not in our main plan, there are several important aditions in the works (terrain, scenegraph, Collada, console and GUI).

As usual, if you want to see the advances, check the development branch to get the new goodies we have there: the plugin system is already there (with a new sound system over OpenAL to show it), Collada importing (with some mistakes), new scenegraph,... But remember that so far in the iteration of a new version, the code is quite unstable and probably breaks easily, but nevertheless is pretty interesting if you want to have a glimpse in how things will look in the future for Jad."

Posted by Vicente | with no comments
Filed under:

It's been a long time, but at last it's here. After a RC in the Jad Engine forums and some last hour bug-fixing, today we release Jad Engine 1.1. For the Jade Team is a great moment as this release has sucked a lot of our free time in the last months. It's more stable, faster and better organized that Jade 1.0. I must say it's my mistake not having a proper changelog, so I'll copy the "new features" text from the 1.1 Readme.txt:

"Apart from a very big list of changes and fixes, the most important new features in Jade 1.1 are:

- Jade Binary Format: Jade now has its own binary format to load and save scenes. This format is meant to be used when deploying a game, as it will offer very fast load times.
- Input: Jade's input system was rewritten, and it's now scriptable.
- Scripting: Jade supports now scripting in Boo, C# and VB.NET.
- Virtual File System: Jade now has a virtual file system (VFS) used to query for files and load resources into the engine from different sources via one simplyfied interface. It supports package files and comes with a visual tool to create and manage them.
- Collada Importer: the main format for Jade will be Collada, so there's now a tool that allows you to load Collada files into Jade. This feature is in beta state.
- Animation Support: there's now support for morphing animation in Jade. Also, the basics for skeletal animation are there, but they need a little more work. This feature is also in beta state."

Believe me the list of fixes and new minor features is very big (like multiple viewports, math improvements,...) ;) The main features are also pretty important for the engine future, and it's here where we have failed a little with this release: due to real life matters (one dev had to leave the project), we haven't been able to finish the Collada and Animation parts. They are mostly done, but they aren't in a usable state yet. I know a lot of people would like to see these features in the engine, and I can tell that we would love to see them in the engine also, but at the moment we lack the knowledge on those subjects to finish them properly, but we are searching solutions for the subject (if you feel interested in helping, drop an email to jadengine AT gmail DOT com).

Apart from that "dark point", we have tried to make an effort on the documentation area on this release, so we have added several new tutorials and several new docs for starters. I would invite you specially to check the "Jad Engine Quickstart Guide" from Jesse A. Jimenez, as it makes a great job teaching the basics of Jade.

You can grab the 1.1 release here:

http://www.codeplex.com/JADENGINE/Release/ProjectReleases.aspx?ReleaseId=2841

Feel free to post your oppinions about Jade 1.1 here, or better in our forums ;) We hope you enjoy this new release as much as we enjoyed coding it. Now time to work on 1.2!

Posted by Vicente | 1 comment(s)
Filed under: