New Dark Angels models!

I can't wait to get my hands on these models - especially the jetbike!


Grass - and not the kind you smoke!

I've just found a great post about rendering grass with shadows which pointed me to this - the notes from a Siggraph 2006 presentation. Should be something for every terrain engine!


I started playing Oblivion a couple of days ago and it's a really addictive game. The open natured experience combined with beautiful visuals makes it a good candidate for my top 10 rpg's ever list!


360 Controller Blues

I was really excited when I got to borrow a 360 for xmas - at last could I try some XNA coding with the controller - but helas. The official drivers wouldn't install and the unofficial drivers i found wouldn't recognize the device. It is a wireless controller with a USB cable connected and I expect this to be the problem with the unofficial drivers. The cable might only be to recharge the batteries/provide power - but it doesn't change the fact that the official drivers wouldn't install on neither my sister's nor my system!


Heroes of the world!

Henrik - a friend of mine - took some pictures at the superhero party. He didn't send me all but I'll post a couple of more when I get hold of them!


Simplex Noise

I just found a noise algorithm invented by Perlin to overcome the shortcomings of his Perlin Noise. It's called Simplex Noise and seems to be a great substitute!

Cleaning up before Xmas

As you might have noticed, the page has gotten a new design. This is of course just one of the presets since I don't have time to design something myself. I've also done a couple of other adjustments - upgraded to the new blogger which by the way is a great improvement, and added tags to the posts.

This is my last day at work before I'm heading home to my parens for the holidays. My sister's borrowed both a gamecube and a 360 so I'm looking forward to some mindless violence in gears of war and puzzle solving in zelda :D.

I'm also looking forward to some XNA coding... I haven't coded in quite some time so I'm starting to need a fix - BAD. Since I don't have alot to do at work today I'll try to find some relevant tutorials and articles - I should have brought my (sister's) laptop and just installed all the stuff needed for XNA coding ;)


XNA for Desk Clerks

Once more I'm working as a desk clerk.. It's an ok job and I really need the money for christmas presents ;). A fellow programmer and I have decided to try to cooperate on developing a game. I've previously made many attempts but I always end up with too many ideas and I scrap the project for something else. So this time we're planning it all in advance - milestones, coding practices etc. We've decided to test out XNA since it looks really promising and I expect it to take alot less time to develop a fully functional game in C# than in C++ (which is what I used for development a couple of years ago). I'll try to add the resources I use on this page to share with you all (not that anybody reads this blog anyway ;).


Basic Game Engine Structure

I just read an ok article concerning how to structure your game into a set of screens over at Cornflower Blue - I've already read a similar article in one of the Game Programming Gems books but can't remember which.


Long time no write...

I'm currently working on my masters thesis and it's taking up most of my time - so this is just a minor update. My sister and I are planning a combined birthday party December 16th and I thought I'd show the invitation.


Magic systems that are fun

After playing a lot of different RPGs I’m starting to get tired of all the boring magic systems. It seems that most magic users are only considered multi purpose assault rifles with different buttons for different effects – now where’s the creativity and magic in that?

In games like Diablo and Neverwinter Nights you get armour and weapons with different random effects which make content creation easier and it also makes it more fun to play since you don’t end up getting the same items over and over again. But this is not the case when using magic. I’m currently on the second chapter of Neverwinter Nights and I’m getting bored of the magic – so I started to wonder how much more work it would be to just add a bit more fun into the magic system? You could add a couple of variables that the magic user can change during battle to adjust strength, mana drain and effects. Another simple way to do it would be to create random spells just like any other random item or you could go hog wild and create an immersive magic system that makes it all seem a bit more like magic.

Read my post concerning this here.


Design rediscovered

When I was randomly googling yesterday I rediscovered SRG Design or Steven R Gilmore which is his real name. He's a really talented designer with alot of great designs under his belt including cover art for A Perfect Circle, Iggy Pop, Skinny Puppy and ohGh! Here are a couple of samples

©Steven R Gilmore

Sweet nebula

A fellow gamedev member recently posted this in the "image of the day" gallery:

Now that's some sweet looking nebula and an interesting use of strange attractors if you ask me! The nebula is going to be used for Infinity, a space-based MMOG in development.


Slight modifications

I've been working as a desk clerk for the last week. It's been tiresome and I'm not used to getting up at 6 o'clock so I haven't been coding that much lately. The only thing I've done with my current projects is adding a "recent files" feature to ChunkyHacker and that wasn't much work since I got most of the code from this place: Most Recently Used (MRU) Menu class for .NET 2.0 in C#.

I did a couple of modifications to the source though. I added support for xml saving/loading instead of using the registry. I also changed the code that shortened the filename because it acted a bit strange. The code I replaced it with was ripped from Coding Horror and it uses the PathCompactPathEx win32 API function.

I'm expecting to get som code snippets from my projects in this blog soon, but first I'll have to find a nice syntax highlighter that I can use with blogger - if you know of one that's good then please do post a comment!


ChunkyHacker 0.1 released!

Ok, so this is actually my first ever for releasing a program. I've made alot of tools for myself but never released anything.

What is ChunkyHacker?
ChunkyHacker is an advanced Chunky Viewer for Relic Chunky formats. Its interface is based on chunky viewer but I've added some needed functionality:
  • Byte offset - Keep track of where in the chunks data section you are.
  • Character view - Allows you to view the data as characters.
  • Byte interpretation - Interpret the bytes as most basic datatypes used in binary files.
The program can be dowloaded here!
Please mail me if you find any bugs or have any suggestions!

Textures in DOW

The Relic Developers Network (RDN) DOW WIKI states that apart from DDS files (Direct X texture files) there are three other texture formats used in DOW:
  • .RSH – Shader files (texture and material properties)
  • .DDS – Textures
  • .WTP – Team Pattern file (layers that are blended with user colors) for the army painter
  • .RTX – Preset team color for each player slot when a player turns off team coloring. Also used in campaigns through the Misc_PlayerTeamcolor() SCAR function to set the colours of the armies.
(copied from http://www.relic.com/rdn/wiki/DOWFileFormats)

After poking around in these files and posting a question on Relic's Adeptus Modificatus forum I think I've got the fundamentals on how these formats fit together.

The RSH files can be considered the main textures while the other files add "capabilities". RSH files contain the base texture and a SHDR (Shader) section which I haven't had time to look any closer at.

The WTP files contain information for the army painter. It's got one base texture and up to 6 different grescale layers that define different regions for the army painter. The regions I found are:

  • Primary
  • Secondary
  • Trim
  • Weapon
  • Eyes (Trim2)
  • Dirt
All these layers except dirt are available in the army painter so it's pretty obvious what they do. When it comes to the dirt layer I haven't checked it out yet but I guess it defines areas that should be covered with a dirt textrue - possibly from the base texture. I'll look more into this and report my findings.

The RTX files are preset team colors as the WIKI states. There are as many RTX file for each model as there are possible team numbers to select from and they're loaded when team colors are set to off.


DOW Model Viewer

I thought I might show off the model viewer I'm working on as well. It's not really supposed to be used for anything else than testing some of the other things I'm coding. I'm currently (and always) in the process of a major restructure of the base library I'm using for the DOW tools but the next step is to add textures.

The model is ©Relic Entertainment.

Current project

I'm currently working on a couple of MOD tools for Dawn of War - in my opinion one of the best RTS games ever! Since the different formats used in the game aren't all that well documented, I've decided to use this blog to write down my findings and even give you some source code.

For general information on DOW modding look at one of these places: RDN Wiki, Relic's DOW Forum, Hive World Terra Forum, Hive World Terra and Basic initiation Mod Tutorial for DOW.

For an overview on the different file formats used in DOW look at the Wiki page dedikated to just that. I'll refer to that page later on since it's a great resource although a bit short on information.

The first tool I made for this project is called ChunkyHacker and it's used to extract information from most of the formats used in DOW (Dawn of War uses a chunk based format which is really simple to hack). I expect to release this tool when it's ready - until then here's a screenshot.

I've coded the tool in C# using WinForms and Be.HexEditor 1.1.1 which is a great hex edit control by Bernhard Elbl.


So I'm finally here...

So I'm finally here - my first blog is set up and ready to go. I didn't really see any use for a blog until I wanted to share some of my code with other people. I know there are great online places like Codeproject and Sourceforge for code sharing, but I'm too lazy (and stressed out of my mind) to write complete tutorials or articles and I never seem to get my code in a state where I'm willing to publish it. After having some programming trouble where I found the solution in a blog (and after my sister started hers - wasp-in-a-jar) I realized that it's a great way to share information and general bullshit.