I released
Irrlicht 1.0 just some minutes ago. This release may come unexpected for some people, especially its version number, "1.0", indicating that it is a stable, usable, finished product. I'm writing down this short article to summarize the last years of Irrlicht development, to take a look into the future of Irrlicht and to answer the maybe arising question, why version 1.0, why now.
I started to develop Irrlicht as small Direct3D framework in my spare time when I was working for an Austrian game development company 4 years ago. We were creating only 2D games there and I had become interested in hardware accelerated 3d graphics, so it was a nice hobby project. After I posted a screenshot of it on the flipcode.com IOTD (rest in peace) together with a small demo, I received a lot of positive feedback and thought about making the code open source.
Now, 4 years later, a lot has changed. There have been nearly 20 releases until now, we've got a huge community of more than 3000 registered forum users, Irrlicht now consists of maybe more than 400 classes, runs on several operation systems and platforms and has a lot of impressive features. But still it is a small, compact and easy to use framework for creating realtime 3D applications. And maybe this is why it has become one of the most popular open source 3D engines today. Scary somehow. If you take a look into a forum today and open a thread where someone is asking for recommendations for a 3d engine to create a game or similar, you can almost be sure that someone will name Irrlicht as possible candidate. And that's really exciting. When I started Irrlicht I never thought it would become that successful.
Unfortunately, as Irrlicht is only a hobby project, and the team members including me have a job and a private life, we are sometimes not able to fulfill all feature requests of the huge community. And that's a bit sad; I wished the day had 48 hours. Sometimes it is not even possible to merge code with some users code contribution, or to include one of the various bug fixes. Of course the reasons for this are not solely lack of time, but I am also trying not to break compatibility to previous versions. And here comes Irrlicht 1.0. It's just a point where we can say that's it, from here we can start and head towards a new, better version of Irrlicht, whatever it will look like. (Presumably it will be something fitting better the new 3D technologies with buzzwords like shader driven architecture, D3D10 hardware and similar on its feature list.) And we could still maintain and improve the Irrlicht 1.0 branch. Maybe this is also a good time to implement all those user contributions and patches (e.g.
here). Let's see, I think we are looking into an exciting future.
And no – it is definitely not too early to tag Irrlicht with a version numbered 1.0. Irrlicht has more features than lots of other products asserting that they are 1.0. The community and we've tested Irrlicht very intensive during the last years. Lots of small games and other neat projects using Irrlicht already have been released. Irrlicht is stable. There are no major bugs. Some things are still missing, right, for example some mesh importers don't produce 100% accurate results, but there exists almost always a simple workaround. Software is never finished, you can work on it forever. But sometime you'll have to stop and declare that you've achieved what you originally intended too. And I think I've done this now.
So, what will the future of Irrlicht look like? I have no idea, and no plan. As always. During the last weeks, I've started to create an editor for Irrlicht, and I think this will be a useful addition as soon as I implemented a XML based format for serializing the whole 3d scene. And then it might be a good idea to move to a subversion server, to add all those contributions, improve the material system, rewrite and clean up the character animation system, and add some of that neat stuff today's 3D hardware is able to do: Better realtime shadows, HDR, whatever comes into mind. Ahh, it will be fun. And I hope you'll have some too. And before this text gets too long and you are bored by my crappy English: A lot of thanks to the Irrlicht team and to all people for contributing code, patches and doing suggestions, and to all users. Please don't stop. :-)
time to do something productive :D