As you can see, I'm using some of the general shortcuts like Ctrl+C, Ctrl+V and Delete. These shortcuts are used in textboxes too, to copy, paste and delete text. So, if you are editing a text box below in the property window and pressing 'delete', what do you think would happen? Would the text box delete a character or would the 'delete' shortcut be invoked, deleting the whole object? Sure, you would expect the character to be deleted. But not in .NET. Here, the shortcut comes first. There are ways to work around this problem, and they improved the workaround in .NET 2, but it's not nice. Or maybe I've overseen something.
I am thinking about stopping this project in .NET anyway, maybe this is a good time to do this. Writing applications in .NET has several advantages and I really like it, but it is quite horrible when you are wrapping a library written in native C++ (exteme slow debugging, random crashes while debugging, ugly gc() artifacts, ...). Also, the editor wouldn't be cross platform in this way anyway, Mono is still not supporting managed C++.
Someone knows a good cross platform UI library for C++? With docking windows? And not with QT in the name? Thought about wxWidgets, but I'm not sure yet.
A bit impratical. I think'll simply define all places in the appartment where there are no power sockets as internet free zones. Then it looks like I intended to let it work like that.
Prey Trailer? It's nice, although I don't really see why the developers say that it is such a different and innovative game - it's a simple shooter after all. One interesting feature - although already seen in other games - is its portal technique. In several scenes you can see portals into other rooms - gates through which you can walk and see into other places far away. Looks like this:
The monster is coming out of this portal which is embedded in that box, wich funnily is falling down and moving. Looking into the box doesn't show an empty inner box but another huge room.
Santostefano Giovanni reimplemented this technique for Irrlicht. Looks like this:
You can also walk into the portal, and come out in the displayed room, look back and see the place where you started at, pretty impressive
It lacks the nice 3d art as in prey (which is a common problem for programmers doing graphics) but it works. He even provides the source code, a video and the executables. He implemented it using the stencil buffer and Irrlichts capability of directly invoking d3d or opengl commands. I would have done it in a bit different way - using the RTT feature, not because it looks like prey is doing it this way too but it would have been a bit more portable with irrlicht and some other nice additional effects would have been possible too. But who cares at all, it really is nice and great work. Cool that lots people are making their work available like that.
A: "Hey, let's meet again, at the subway station just there at that entrance, ok?"
B: "Ok, 6 o'clock?"
And this worked. Believe me or not, A usually really would meet B at 6 o'clock at the subway station. Today, this is totally different and doesn't work anymore. Nearly nobody is negotiating meeting times and places making it impossible to organize anything. But even worse, if you define some meeting point, nobody is keeping that appointment. Instead, people are coming too late (half an hour is not unusual) and as an excuse calling the other party after half of that time with something like "Are you there already? I'm on the way already, just 2 minutes…". But maybe this is also part of the Austrian tradition that everybody has to come 10 minutes after the negotiated appointment and I'm just blaming mobile phones here. I refuse to estimate how much time of my life I already wasted while waiting for people beeing late.
Maybe I'm simply always arriving on time and should change that. Maybe I simply should be delayed 10 minutes by default, perverting the system, beating it with its own rules.
Looks like Microsoft really wants me to learn for the exam for the next 5 hours. Oh well.
Looks like Microsoft really wants me to learn for the exam for the next 5 hours. Oh well.
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.
the specialFX example today. With the next release, it will look like this:
I think that's some big improvement to the old version. It also shows nicely the self shadows. The artist made this dwarf model available for free, but I sent him a mail and asked him for permission to include it in the SDK, just in case. I hope he'll answer.
lightfeather 3D engine homepage has been hacked (defaced) by a turkish hacker. The page says (if you are not using opera at least, then it is quite black)
Now the funny part: Besides the fact that this 'hacker' doesn't know how to spell really a lot of stuff correctly, he also doesn't know how to create html webpages. Maybe I spotted the reason:
*rotfl* Sorry for the lightfeather guys, btw.
- Prepare the next release of Irrlicht. (Nope, the release won't be too soon, this will take some weeks at least).
- Learn for the math exam which will be in two weeks
- Answer all remaining Irrlicht mails (there are tons of.. sorry.)
- Try to improve the 3D editor a bit further. Property window or material editing maybe.
- As the EU now really is implementing its idea to store all internet connection data of every citizen and treat us all like terrorists, I think I'm going to install or at least try out Tor.
more pictures from the igda meeting I was already blogging about. And I'm visible on two of the pictures, after all this is 18% of all pictures! :) Via rarebyte devblog.
(The picture doesn't show this very well, but there are really really loooots of people. And - well, ok - we are not looking really scared of being squeezed to death soon because we thought it would be a good idea to look friendly on the last picture taken before our cruel and sudden exitus.)
There are exceptions to this opening hours regulation, and some few shops are allowed to be open, for example when they are in the vicinity of train stations. So for the whole city of vienna, there are about 5 or 6 shops open on sundays, and everybody will go there. The Billa shop shown above is one of these, and - thinking of Unreal: If you would drop a redeemer missle in there, you would easily get a few MoMoMooonsterKILLs. :)
I'm working on:
A good example of what I usually do when I should learn for an exam. Added a (not working yet) property window, made the tree window useful and working now (had to hack into the window messages of that control to make it stop flickering like mad), and added commands for mesh loading. That shot also demonstrates nicely Irrlichts capability of importing DirectX .X files. Ok, but now off to start learning. And maybe taking a shower before that. And eat something. And surf the web a bit. And.. Hm.
edit: Corrected. Thanks.
Tomb Raider: Legend Demo. It's not an outstanding game (I never thought the TombRaider games have been that great), but nice to play anyway, the puzzles with the physics are ok and Lara is looking sweet as always.
I took the screenshot above right out of the game, it was rendered in realtime. It is not using the latest 3D techniques and - as far as I can tell with my poor programmer eyes - maybe not the greatest artists created the models, but this game is now looking better in realtime than the prerendered movie sequences of the first TombRaider games.
GPL Violations is spotting some of them, but I think 99% of all hidden copyright violations will never be discovered. Companies really only look at their profit - that's why they exist. If they find some free code on the web and they can turn it into money they'll do it. Ok, why not. But most of them will never think about contributing anything back again. Too bad. Especially if you think about the fact that they would profit from this. Their enhanced code would be merged with the development version of the open source project they used, and become even better in this way, so they can create even better software from it again. Otherwise they will always have to stick with the version of the sourcecode they used when they started their project. But I think most companies don't even think about it.
the small editor I started last week:
It is already possible to create, select, and move nodes. Not that much, but it's a beginning. And it really helps me improving Irrlicht. Especially the .NET version, I introduced at least 5-6 new features to make it easier to create windowed applications and to work with orthogonal 3d projections.
Einige BRDF Modelle. (BRDF Models explained, with lots of examples, pictures and formulas)
Vergleich der objektorientierten Programmiersprachen Java und C# (Java vs. CSharp, compared)
Have fun reading/citing/ignoring/whatever them.