Dark Omen Developer Blog

Beating the Dread King

2009 – A retrospect

December 31st, 2009 by Ghabry

Well, 2009 is coming to an end… Another succesful year full of Dark Omen Fun!

Time for an overview what we achieved this year in modding Dark Omen and understanding more of the file formats:

At first I have to say that this year nothing interesting happened up to November. We worked a bit on the CTL-Script format but well, progress at all was zero.
But then starting from November lots of interesting things started to happen:

1. Heads.db

This file contains the configuration of all animated heads that you can see in the game. It’s quite unexpected that this is not hardcoded into the engrel.exe. At the moment no new heads are released but you can now use every NPC-Head (e.g. Karl Franz and Witchhunter) on the battlefield, even female ones (with male voices :D ). And this is perfect for new custom campaigns that will come next year.

2. Selfmade Campaigns

Ok new campaigns are nothing new and there were already lots of them in DOC111. Flak released in the first half of 2009 two campaigns, the Goblin Campaign and then the Dwarf Campaign. Both of them featured “only” modified armies but also a great story (in a seperate file).
But the really special campaign this year was Rise of the Dead by Malus. It featured complete new missions (on old maps) thx to modified BTB-Files and adding other CTL-AI-Files to the maps and this in a time where we were not able to modify CTL files. I hope Chapter 3 will come soon.
Not really related to campaigns but all maps support now up to 15 regiments per side thanks to the latest version of the map patch.

3. CTL Script Files

The most unexpected news for me! As an early christmas present Rob told us that he managed to understand the most important parts of the script-files. We are currently on understanding the files completly and then providing you with a good tool for editing. Stay tuned!
With CTL Files we have the complete power over the Maps.
Please note that CTL is completly unrelated to the Conversation Script used between the battles that is hardcoded in Engrel.exe :/

4. New Sprites

Many users worked on drawing new sprites for the game. Grend is still working on his project Dark Omen Expanded but a preview file with some nice sprites has already been released. Itlerion (lordbraprus) created some sprites, too: Dark Elves and a Hydra.

5. Tools

Besides a new version of Mikas Map Viewer I can’t remember any released tools. All other ones like Necronomicon by Darkmancer and a new Wh32Edit version are still in development…

6. What will come 2010?

Of course a new Wh32Edit version and (maybe) Necronomicon by Darkmancer. A CTL-Script-Editor should be possible too, but decrypting the files still takes some months. Some tool to calculate the highmap of Blender-generated new Maps would be nice too to feature complete new Multiplayer levels!
And my hugest dream, which will not come true before 2011 imo, is a complete new campaign for Dark Omen with unique Maps, a new story and new, recorded Voicefiles!

Happy New Year! We will meet again in 2010! :)

How I create my Dark Omen Vids

August 17th, 2009 by Ghabry

Because there were requests for a new explanation:

At first make sure you have the following two programs:
Fraps 2.8.6 or higher (commercial) and avidemux 2.5.1 or higher.
(the newest version supports fraps videos, so no virtualdub anymore)

Start Fraps and go to the “Movies”-Page.
Set the options to the same settings I have (except the Save Folder; the Vista Stream is only available under Vista of course). If you want you can increase the framerate to 25 or higher. I couldn’t see any difference between 20 and 25 (only in filesize).

Fraps
Now after recording the ingame video start avidemux2_qt4.exe or avidemux2_gtk.exe (I like qt so I choose this one).

Open your recorded video with File->Open…

Settings for Normal version:

Note: If you want you can directly scroll down to the youtube version, the normal version is only useful if you don’t want to upload the video to youtube and small filesize

Set Video to “MPEG-4 AVC (x264)” and Audio to any codec you want. I use “MP3 (lame)”. The container format is also not important. I use avi.

Video->Configure:
Set the Encoding Mode to Average Bitrate 2-pass and 2000 kbit/s or higher. All other options are unimportant but you could try getting better results by changing them.

Avidemux Video Encoding Settings

How to create the Youtube-Version:

Set Video to “MPEG-4 ASP (Xvid)” and Audio to any codec you want. I use “MP3 (lame)”. The container format is also not important. I use avi.

Video->Configure:
Set the Encoding Mode to Average Bitrate 2-pass and 2000 kbit/s or higher. If you don’t have access to a fast internet connection uploading will take hours so you should maybe select a lower bitrate.


Now open the Motion-Tab and set it to the same options as in the picture:

Video->Filters:
Not needed anymore in the version of the Guide!

More settings for both versions:

Audio->Configure: For mp3 use a bitrate of 128kbit or higher

It’s time to save the video: File->Save->Save Video… (Get a coffee now)

That’s all. After two or three encodings you will not need this guide anymore.

Things are moving steadily

December 9th, 2008 by Mikademus

Just in case you though nothing is happening with the community Dark Omen projects, fear not! We’re still going strong and cool things are happening, and work is progressing toward the first public release version codename “Wasa Knäckebröd” of WARTBED alpha v0.0.1.

Meanwhile, things have certainly moved ahead at a breakneck pace in modding Dark Omen Classic: Ghabry managed to crack the final requirements for enabling single-player maps to be used as multi-player arenas and several have already been released in out first Dark Omen Classic map patch. More maps are coming!

They will require some editing to make them balanced and as fun as possible, but that’s just a matter of tweaking and fully within our current capabilities.We have already had out November Tournament on two new MP maps, and the December Tournament will feature yet more to choose from!

Further, Olly is working on our very first map more-or-less from scratch! \o/ It is early going but he has imported new 3D models into the map, edited existing models from the original game and reused scenery from other maps, using Rob’s Blender 3D Exporter. He’s well on his way to realise his dream of a castle-oriented siege map! m(_ _)m

Stay with us for more exiting breakthroughs!

BTB-File Multiplayer Patch

October 7th, 2008 by Ghabry

As you know we made huge progress in understanding the Dark Omen binary file formats in the last months.

In the previous days I found a way to enable multiplayer mode on all maps and also uploaded a video demonstration (Watch the Videos). Because of some bugs in this patch I’ll not release it at the moment.

Today I want to explain how this Multiplayer Patch works:
At first you should download Rob’s BTB-Editor to make understanding things easier.

A BTB-File consists of many different “Chunks”. The first important one the second chunk:

    <CHUNK type="2">
         <TUP3 type="3"> (26, 0, 0) </TUP3>
         <TUP3 type="3"> (1, 86, 4) </TUP3>
         <TUP3 type="3"> (3, 1, 0) </TUP3>
         <TUP3 type="3"> (4, 1, 0) </TUP3>
         <TUP3 type="3"> (7, 64, 256) </TUP3>
         <TUP3 type="3"> (10, 128, 0) </TUP3>
     </CHUNK>

(3, 1, 0) defines the lose condition (the other “tuples” are unknown). ID 1 is the Unit ID of the regiment which is not allowed to die (in singleplayer mode ID 1 is Bernhardt). Delete (with e.g. a hex editor because Robs viewer can’t delete/add entries) this entry to disable the “Bernhardt Bug” (quite useful for creating “protect regiment” missions btw). You can see the Unique Unit ID by using Wh2Edit (called “Earliest Apperance”) or with the help of a hex editor (byte 5 and 6 in the regiment block). Note: Wh2Edit has a “bug” (because it is 10 years ago nobody had known that the Unit ID is a 16bit variable). This causes a problem when displaying the ID of some enemies (because they often have IDs greater then 255).

Ok, back to topic: The next important Chunk is the last one: It defines among other things which regiments are allowed to by deployed (and where). This is also used to disable Cannon and Mortar in the Drakenhof Castle mission.
Example for such a regiment block:

    <SUBRECORD type="503">
        <INT type="5"> 16387 </INT>
        <INT type="1"> 264 </INT>
        <INT type="2"> 271 </INT>
        <INT type="6"> 48 </INT>
        <INT type="7"> 0 </INT>
        <INT type="11"> 0 </INT>
        <INT type="12"> 1 </INT>
        <INT type="13"> 100 </INT>
    </SUBRECORD>

The important ones are the entries with the IDs 1, 2 and 12 (rest is mostly unknown). 1 and 2 are the X and Y coordinates were the regiment is deployed by using the “Auto deploy” button (or setting their Active-Status to “Key Regiment / Auto Deploy”). As long as you don’t want to autodeploy something these IDs are unimportant. Watch Out: When a regiment-coordinate overlaps with something else on the map the game will crash. You can fix this by using high coordinates like 3000/1000, 3000/1100 and so on. I will also use such coordinates in my Trading Post patch.
The entry with ID 12 is the Unit ID (which you can view with Wh2Edit as said above). In multiplayer mode the IDs are autopatched with p1kf and p2kf.arm (change B101mrc and B101nme in the BTB-Header to p1kf and p2kf). So you have to open these 2 arm-files to get the IDs (the IDs are 1-15 and 101-115).
By adding a new entry like…

    <SUBRECORD type="503">
        <INT type="5"> 16387 </INT>
        <INT type="1"> 3000 </INT>
        <INT type="2"> 1500 </INT>
        <INT type="6"> 48 </INT>
        <INT type="7"> 0 </INT>
        <INT type="11"> 0 </INT>
        <INT type="12"> 105 </INT>
        <INT type="13"> 100 </INT>
    </SUBRECORD>

…you can enable the 5th regiment of the second player. Add these entries for all regiments and you are done theoretically. For some reasons these changes crash on startup for some unknown reason (I can enable 15 player 1 and 6 player 2 regiments at the moment). As long as I can’t fix this I’ll not release my patch.
Update: I tested it on the black pyramide map and it didn’t crashed. So it must be a problem with the trading post map (end of update).

Note: Don’t forget to change the Integer at the beginning of the chunk to the new number of entries in the junk.

Last but not least it’s also a good idea to change the deployment zones to make a fair fight possible:
There are 2 region chunks available called “mercdeploy” and “enemydeploy”.
Example:

     <CHUNK type="4">
         <STR type="1006"> Mercdeploy </STR>
         <INT type="5"> 259 </INT>
         <TUP2 type="10"> (168, 48) </TUP2>
         <TUP4 type="502"> (168, 48, 592, 48) </TUP4>
         <TUP4 type="502"> (592, 48, 592, 248) </TUP4>
         <TUP4 type="502"> (592, 248, 448, 400) </TUP4>
         <TUP4 type="502"> (448, 400, 288, 496) </TUP4>
         <TUP4 type="502"> (288, 496, 136, 496) </TUP4>
         <TUP4 type="502"> (136, 496, 136, 104) </TUP4>
         <TUP4 type="502"> (136, 104, 168, 48) </TUP4>
     </CHUNK>

The entries with ID 502 define start and end position of the “deployment lines” (x1, y1, x2, y2). This should be quite self explanatory because of this I’ll not take any deeper look on it in this blog entry.

I hope this blog post made understanding the Trading Post Multiplayer Patch a bit easier (for modders ;) ).

More information about BTB files: BTB File Format in the Wiki

So what is it that we’re doing really?

September 2nd, 2008 by Mikademus

I was asked the other day what it really is that I (we) are doing, and then I realised that being in the middle of everything what seams relatively clear to me (and the core cadre hanging in the IRC channel every day) must be somewhat confusing to everyone else. So let me just tell you what projects are being worked on at the moment.

First, there is the ongoing effort to mod the existing Dark Omen game by editing existing maps, adding new multiplayer maps and new units. We can now edit any existing map in various ways (adding, editing and removing map objects, items, effects etc), but we still can’t create new maps. We are also still not able to convert existing single player maps to fully functioning multi-players maps. Olly, Ghabry and Bem are the main characters driving these efforts, though several more people are also in on it.

The there is the pure programming undertakings. You’ve probably heard the name “WARTBED” here and there, so let me tell you in no uncertain terms what WARTBED is :) The name is an abbreviation for “War And Regimental Tactical Battle Engine Deluxe”, and as may be surmised from it, it is a game engine. More specifically, it is an engine for tactically oriented regimentally based RTT games. Is it is more of an engine and a framework than a game in itself WARTBED by itself can’t be played. However, what it exiting about the WARTBED core is that it is intended to be used to traslate and implement other games, and all these games will be able to share their data. I wil return to this presently, below.

The next name you’ve heard flinged around is “Bright Portents”. This is the code name for a second project, namely remaking Dark Omen using the WARTBED framework. The Bright Portent project is separate and independent from WARTBED in though Bright Portents require WARTBED. WARTBED itself knows nothing about Bright Portents or any other application implemented on it. All actual games are plug-ins or add-ons (use whatever term you’re comfortable with). So Bright Portents is an implementation of Dark Omen on the platform being created, and will require an existing installation of Dark Omen on your system. No trademarks or intellectual property will be violated in any way.

Other games being planned for re-implementation on the WARTBED platform are Shadow of the Horned Rat, Myth (1 & 2) and an overlooked old sci-fi RTT called Startship Troopers: Terran Ascendancy. These projects will be known as Shade of the Rodents, Saga and Earth Rising (or something).

The next cool thing about the WARTBED framework is that any games implemented on it will principally work together in the sence that units and maps from different installed projects will be usable from inside other projects. Thus, when done, you will be able to battle Myth’s cocktail-flinging dwarves with your Dark Grail knights on a ST:TA Bug hiveworld. Now, if this doesn’t get your juices flowing I don’t know what will.

If you want to be part of this, don’t hesitate to get in touch with us!

Yours,

Mikademus

« Previous Entries