Dragon Age: Origins - Creating Your Own Adventures

The time has finally come. You’ve beaten Dragon Age: Origins. You’ve played every race and experienced every origin story. You’ve devoured every ounce of downloadable content from the BioWare...
The time has finally come. You’ve beaten Dragon Age: Origins. You’ve played every race and experienced every origin story. You’ve devoured every ounce of downloadable content from the BioWare development team. Or maybe you’re just impatient and want to start creating your own adventures now.

No matter what the case, the Dragon Age: Origins Toolset is an unbelievably powerful piece of software. Don’t be surprised if you see your local community college offering classes on its use in the near future. It’s that deep and then some. Luckily, that means there are more than enough goodies to keep you and your imagination (not to mention that of the ever-growing DA:O community) active for years to come.

To start your career as a future toolset master, I’m going to walk you through how to create a small creation of your very own. We’ll cover using multiple areas, transitioning between them, adding creatures, and putting it all together in the form of a module. Because what good is creating any of this stuff if you can’t actually play in it, right?


The first thing you need to do after downloading and installing the toolset) is to create a new module. Rather than going under the “New” menu under file like you will for everything else we cover today, you’re actually going to go further down the File list until you get to Manage Modules.

When you create a new module, it’s going to request a name. You’ll need to enter a name in the Resource Name section and the UID. To keep things simple, just name the two the same for now. When naming any resource in the DA:O toolset, never use a space. If you need a space to keep tings readable, simply use the underscore (“_”). For our exercise today, name your module Ten_Ton_Hammer. Hit OK, and you’ll see it in the list of available modules. Open it up and we’re ready to go.

Congratulations! You just created your first module! Sure, there’s nothing in it, but you did it. Enough horsing around though. Let’s get down to business, shall we?

Whenever you’re working in the toolset, there are a couple of things you always want to be able to view in order to make your life much easier. The first is an extra window called the Object Inspector. To get this to pop up, just click on View > Other Windows > Object Inspector.  This window lets you see all the properties for whatever it is you’re currently working on.

The other thing you want to have set to view are the Path Finding Points. These designate where a character can and cannot be. Just remember – green dots are good, red dots are not. To get the system to show you these mysterious dots, go to View > Environment > Path Finding Points. It might seem a bit silly, but trust me. Making them viewable now is going to save you some agonizing troubleshooting later on.

The first thing we’re going to do is open an area so we can use it to work with. To do so, go to File > New > Area. This will bring up a black screen, since it doesn’t know what it is we want to put in there. The DA:O toolset has quite a few areas to choose from. This is a small home that isn’t overwhelming to start with. To do this, click on the Area Layout spot listed in the Object Inspector window and click on the three dots that pop up. When you do, a window will open up listing all the areas you can use in the game. For our first area, select den207d.

Once you open den207d, you’re going to give it a name and a tag. This is why the Object Inspector window comes in handy. It makes changing the properties of anything a piece of cake. The name is what a player will see when they enter the area. The tag is going to be what the game uses to pull it up. It’s also going to be what you enter when you need anything else to access it as well. We’ll cover this aspect in greater detail when we get to transitioning between areas later on. For now, just name the area Peaceful Home and give it a tag of peaceful_home.

Once you open this up and get it properly tagged and named, you should be looking at a small overview map of a comfortable house. You *could* do your work from here, but there’s no point in having a fully 3D tool if you’re not going to use it. Here’s a quick chart on camera movement:

  • Left click – Create highlight box
  • Right click – Brings up a menu with the following options:
  • Insert audio volume – Not used in this tutorial
  • Insert music volume – Not used in this tutorial
  • Insert reverb volume – Not used in this tutorial
  • Insert waypoint – We’ll be covering this next
  • Properties – Covered by the Object Inspector window
  • Left click + drag – Moves map forward, back, side to side
  • Right click + drag – Rotate and pivot camera
  • Mouse wheel – Zoom in and out of map

The first thing we’re going to do in here is pick a spot near the bed to place a waypoint. This is going to be where your character starts off their adventure when the module loads. To place a waypoint, right click anywhere on the green dots and select “Insert Waypoint”. This is going to place a blue flag on the ground.

If you want to rotate the direction the flag (and thus your character) is facing, click on the 3D axis rotation button (see image) to spin them in the direction you want. You can also tilt the flag as well, but doing so can cause funky things to occur when dealing with characters. If you accidentally tilt your waypoint instead of spin it, just hit Control+Z to undo it.

Once you’ve placed your waypoint, you’ve got to give it tag. Or our module, we’re going to give it a tag of mod_start_area. Get used to doing this with almost everything in the toolset. There are times when the toolset will ask you to name something, and then just make that a tag. This is why I mentioned earlier that it’s always a good idea to get used to using an underscore every time you need a space. The only time you don’t need to is when you’re filling in the Name field in the Object Inspector.

Rotating your waypoint

Adding a waypoint so our character has a place to start is a great first step, but how does the game know that’s the waypoint we want to start at? I’m glad you asked. When the game starts up a module, it also loads a starting script. Go to File > Manage Modules, select Ten_Ton_Hammer and click on Properties. Here, we’re going to change the Starting Area to peaceful_home and enter the Starting Waypoint of mod_start_area. This tells the game that when we load this module, we’re going to start in our little home, standing by the bed, and facing whatever direction we previously rotated our waypoint flag to.

You’ve now created a nice little place to call home. That’s great and all, but personally, I didn’t go through the work of learning how to create a module to just sit at home. Since I don’t want anyone (or anything) busting up the joint, let’s create another area to do some fighting in.

We’re going to take the same steps we did before, so I’m going to give the quick version here. If you get confused, just scroll to the beginning of the article and go through the same steps, just replacing the names and area with the ones listed here. So in a nutshell, go File > New > Area. Give it a resource name of ready_to_rumble and hit ok.

This will open a pretty cool arena to set some creatures in and of course, that’s what we’re going to do right now. There are a ton (pun intended) of things you can do with creatures. You can create your own, alter existing ones, and play with more property settings to alter behavior and loot than you can shake a stick at. For our module example today, we’re going to stick with a standard beast to terrorize our character later on.

Select the creature button on the toolset pallet in the upper right of the screen. From the list, go to Core Creatures > Beasts > spider- giant. Personally, I hate spiders more than any animal known to man, so of course, we’re going to put one or two in here to take out our frustrations on.

To place one of our spiders on the map, highlight the spider-giant you found above and click anywhere on the map. Remember to place it within the green dots. You can change the direction the spider is facing the same way you did earlier with the waypoint. Place as many as you like in here, but keep in mind that for this module, we’re starting off with a brand new character, so be reasonable.

Just like we did earlier in our new house, we have to place a waypoint to let the game know where to place us when we enter the arena. To place a waypoint here, we’re going to do the exact same thing we did before. Right click on the green dots, select Insert Waypoint, and left click to place. I’d suggest making this pint as far away from the spider/s as possible.

All right. We’ve got two areas to play in, monsters in one of them, and a starting point in each. Now it’s time to connect the two.

To do this, we’re going to make a couple of doors. They’re not going to be normal doors, but area transition doors. This will allow them to link to other areas. The first thing we need to do then is go to File > New > Placeables. Resource name for this is going to be arena_entrance and hit OK. This will bring up a massive door with the properties beside it. No, the game isn’t telepathic and knows you want a door; it’s just defaulted to start there. This also isn’t the door you want anyway. This is a placeable door that you can open or close, but it’s not going to let you go to a new area map. You need an area transition door for that, so let’s grab one.

Area transition settings

Scroll up near the top of the list or just hit “a” if you want to jump near the top of the pack. The door we’re going to pick for our arena is Area Transition – Dwarf Noble, Double, Reinforced. Name it Arena Entrance, and hit OK.

To place the door, click on the ready_to_rumble tab to get back to the arena map. The same spot we went to get to the creatures is going to be where we go to find our new door as well. If you click on the placeables button (the little table), you should see the arena_entrance.

Click on it and then place the door on the arena map. Adjust the camera however you want. Set the door down near the waypoint we created earlier. The door can be moved around and rotated just like everything else we’ve placed on our maps. In some areas, BioWare has been kind enough to create a snap-in system. If you click on the little blue ball you’ll see on the edge of your door and drag it to a corresponding red ball in an entryway, the door will snap into place when you release it.

For our exercise, and to highlight potential issues you’ll face in the future, neither the home nor arena map I chose for this have those snap-in balls available. This is to stress the importance of door placement. If you get booted back to the Dragon Age: Origins main menu when trying to use an area transition door and get a message that says “Unable to load area”, it’s normally because of door placement. The most common occurrence of this issue is if the door is on some red dots or if it has sunk into the floor. Play around with the door placement, but be sure to leave just a little space under it.

Now we’re going to do the same thing to create a door in our house. Click on the peaceful_home tab to get to the right map. Go to File > New > Placeable, then give it a resource name of peaceful_door. Click the peaceful_home tab again and place the new door near the doorway. Personally, I think there should be a ball here, but I couldn’t get one to show up, so play with the placement until it’s just right.

We’ve created a door here, but what if you want to come back into the house after you’re done in the arena? The only waypoint in here is the one we created as the module starting point, so let’s add one for when you come out of the arena. Just as we have a couple times already, right click on the green dots, select Insert Waypoint, and place. Rotate the flag so it’s facing opposite the doorway. In the Object Inspector window, set the tag to exited_arena.

We’re really starting to get somewhere now, but we still have some work to do before this is a playable module. Since we’ve created our areas, doors, and made our waypoints for each, it’s finally time to put them together so your character can go back and forth between them.

Let’s start by selecting the door we placed on the peaceful_home map. In the Object Inspector, go to the Variable line and click the three dots that will show up when you highlight it. This will open another properties window. The two properties we’re concerned with here are entitled PLC_AT_DEST_AREA_TAG and PLC_AT_DEST_TAG. The first one tells the game what area the character is trying to move to. The second one tells it which waypoint to use when the character appears. You’ll need to double click in each area to enter a value. So for the door we placed here, we’re going to enter ready_to_rumble for the PLC_AT_DEST_AREA_TAG and arena_spawn_point for the PLC_AT_DEST_TAG.

Setting a script 

Now let’s go to our arena map by clicking the ready_to_rumble tab and select the door we placed in there. Once it’s selected, we’re going to follow the same steps we just completed and enter peaceful_home for the PLC_AT_DEST_AREA_TAG and exited_arena for the PLC_AT_DEST_TAG.

Before we export everything for use, we have one last thing to complete that while optional, is highly recommended. If we hop in to play now, we’re going to start the module with a default character that has no stats, no skills, and is going to get slaughtered by the spider/s we placed in the arena when he walks out there. We need to create a script to have the module start off by opening the Dragon Age: Origins character creation generator before doing anything else.

To do this, go to File > New > Script (NOT Client Script). Enter a resource name of create_a_character and hit OK. This will bring up a window, all ready for you to enter a fresh script. There is more to scripting than fifty articles could convey, so just copy and paste the code below.

#include "events_h"
#include "global_objects_h"

void main()
{
 event ev = GetCurrentEvent();
 int Event_Type = GetEventType(ev);
 switch(Event_Type)
    {
     case EVENT_TYPE_MODULE_START:
         {
          PreloadCharGen();
          StartCharGen(GetHero(),0);
          break;
         }
    }
        {
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);
        }
}

To ensure you copied all of the script and everything is working as intended, click on the Compile Script button near the top of the window. This will either let you know it was successful, or will give you an error message. If it’s successful, you’re in business and ready to continue.

Just like our area transition doors, creating the script itself doesn’t let the game know how to use it. Since we want it to be the very first thing the game runs, we’re going to go to File > Manage Modules, select Ten_Ton_Hammer and click on properties like we did when setting the module’s starting waypoint earlier. This time, we’re going to alter the Script here and change it from module_core to create_a_character.

Almost there now, I promise!

... and presto!

There are three final steps we need to take before we can play in our new module. First, we need to extract everything we created. We’re going to do this by going to Tools > Export > Export with dependent resources. When you click on this, a string of resources is going to start scrolling at the bottom of your screen. This part can take some time and your system will freeze while it’s doing the post processing. It’ll give you a message letting you know this, but I want to stress it so you don’t freak out when you see the (Not Responding) that’s going to pop up in your window title bar.

After the extraction has completed, go to Tools > Generate Module XML. This will only take a few seconds. Lastly, go to Tools > Generate Manifest XML. This one also only takes a second and you should see a message in the bottom window telling you the file was saved.

Guess what? It’s finally time to play!

Now when you start up Dragon Age: Origins, you’ll see that Other Campaigns is clickable. Go in there and you should see the Ten_Ton_Hammer module we just created so hop in there and have some fun. There is so much more that can be done in the toolset, it’s unbelievable so if you want to see more of these, be sure to let us know on the Ten Ton Hammer forums!

Special thanks goes out to the Dragon Age: Origins community for all the great discussions and info that went into making this How-To guide!

All spiders must die!

Complete with Codex entries!



About the Author

Last Updated:

Around the Web