Delta Engine Blog

All about multiplatform and game development

Lost Squadron, Day 5: Exciting stuff soon ^^


Day 5:
A boring ground texture. You might guess there is still a lot missing and yeah, you are right! At least a lot of things are happening in the background: 6 different high-detail ground textures with normal map support are implemented into the engine right now, all the map, menu and game base classes are working now. Let's see what will be finished tomorrow. The shaders and the light effects are not implemented yet, so everything is at 100% brightness and normal mapping isn't working yet (but it will soon ^^).
Yep, thats right, I started implementing shader support and programming a normal mapping shader for the ground textures. You might ask, why the hell do you do this for a 14-day project? Well, I'm crazy, that's why :-) I finished up testing some shader effects and writing a fx file with normal maps and multiple lights, but I didn't manage to get that into the engine today. Tomorrow I will try to import some objects, test out all that normal mapping and will play around with lights and light effects (dunno if a night mission with a lot of lights isn't total overkill and if I should stick with a simple directional light and maybe 1-2 point lights for the tanks).

There was also a noticeable delay when loading all ground textures (6 512x512 textures with 6 512x512 normal map textures and some other smaller textures), and thats not nice when debugging and testing out everything every few seconds. So I converted all textures from .jpg, .png, etc. to .dds format and used compressed formats like dxt1 and dxt5. Now the loading is lighting fast and I guess when not using the retail DX9 runtime the delay will not even be noticeable (remember, over 10mb of pixel data are loaded here).

For models I will see how long I can stick with .X files. Usually a format like this will make me angry after using it a couple of days because it does not support some little things and is most likely not extensible and I end up writing my own format (which can't obviously not happen in the short timeframe of this project).

It is also important to use the proper tools for DDS files, normal map generation and writing fx shaders (or other formats, but I like fx), which are:

  • FxComposer by NVIDIA too for testing out .fx effect files and writing your own
  • RenderMonkey by ATI is a really cool tool to try out shaders and test stuff, making shaders is not a piece of cake, even with all this tools around there is a lot of testing and modifying going on even if you got some nice shaders working.
  • NVIDIA_Photoshop_Plugins for saving DDS files and making normal maps from heightmaps or textures
  • DDSViewer by NVIDIA for viewing DDS as thumbnails, but thats not really helping that much (because windows thumbnails just suck). The DXViewer or so by the DXSDK is also really useless because its so user unfriendly. Also ACDSEE, IrfanView and Google Image viewer (Picasa Photo Organizer) and any other Pic-View program I tried do not support DDS files and don't even have plugins for that. But I found another viewer, which pretty much can't do anything but converting and displaying every format ever invented called: Konvertor. This thing is really crazy, don't ever try to read the full list of supported file formats (its 840 or so). Well, navigating suxx with this tool, but at least you can quickly display DDS files and zoom around. Konvertor has also another really nice feature: When you right-click on a file you will see a small preview, thats really one of the coolest thing I ever saw in a popup-menu :-) Sad thing is: For DDS files this does not work, only .bmp, .jpg, etc. files previews are generated, grr!
  • There are also a lot of other tools involved when saving stuff in 3D Studio Max, Maya, etc., but I won't get into that. Has nothing to do with programming ^^

I also underestimated all the classes I had to create for just rendering the landscape, there are of course still a lot of things missing as you can see on the screenshot. The basic layout for all the menu and game classes is now more or less complete and I'm pretty happy with it. Everything is still very easy to maintain and I got a good overview of the classes. The game has to be filled up with a lot of objects, roads, enemies, etc. in the next days. Hopefully all of this and the basic game engine and gameplay will be finished by the end of this week, so we have next week to test and balance the game, make some cool missions and bugfix the hell out of it (well, the engine is only a couple of days old now and only tested by me and my unit testing stuff).

Btw: VS2005 will get REALLY slow when you have a lot of files opened and try to compile or work on some older file. I think some part of the auto-recovery of files when crashing is not really optimzied. Anyways, when you close all documents and open only a couple (lets say no more than 10-20), VS will responde quickly again. Little annoying, but I'm now much better of knowing that ^^

I also registered the domain www.LostSquadronGame.com, which will be the official site for Lost Squadron. But when its up and running it will just link to this site until we got some finished page (which is not planed before chrismas, but as I know our graphic guy Leif, he can't help himself and will make a page design when I'm not looking).