Level Re-work  

It's been some time since the last update - I've been completely swamped with RL work and had to put Dragon Age stuff on hold. Hey, need that money to finance these hobbies! Still, I managed to finish the required work on Thursday itself so the past two days have been spent on DA - minus the time spent researching and buying stuff on Black Friday. I ended up buying some games that I will probably won't play for another 3-4 months (Alpha Protocol, Resonance of Fate) and even got myself WoW to try out for a month and some other stuff I didn't think I needed till I saw the price :)

With the aim of getting an alpha out, I started playing through Evermist which was the level I submitted for the Community Contest a while ago and which is a crucial area in BaL. When I was playing through it, I realized something was off. First, it was too big for what it's purpose was and when I say this, I mean way too big. The idea behind this area was a small farming village between Denerim and West Hill but that feeling of being in a village wasn't there. The roads were too wide, the houses spaced too far apart and while I really liked the different mounds from a level-building perspective, they were a little too high and too numerous.

After trying to patch the level for a few hours, I decided to bite the bullet and start reworking it. I redesigned the level on paper - first, removing superfluous stuff like the roads circling the village. This was a very bad design decision in hindsight - these roads provided numerous paths and almost all of them have no scope for interaction with the villagers or the environment. It's just a cliff face/forest/fence on one side and a smaller cliff face on the other side. As I said, a bad design decision.

Still a WIP but this should give a sense of scale (the height is 288 vs 256, btw)

Then, came the real re-work of re-arranging the houses and getting the houses closer together without feeling congested. One of the goals of this rework was also to reduce the level size. The previous one had a playable (green boundary) area of 5 x 7 which is way too huge. The reworked one will have a 4 x 4 playable area which is more than a 50% reduction in size. The main reason for this downsizing is the removal of those 'ring' roads. Without those roads, I can leave the structures outside the playable area.

One advantage of having a level as a basis for this new one is the ability to export and import selection groups. Since I had been fairly meticulous in organizing my structures (save for the last minute addition of numerous props), it was easy to copy a lot of the stuff over. I hope to finish this tomorrow and have a play through and finalize things.
Till later...


Slow Week  

This is just a short post to let everyone know that work is keeping me extremely busy. We had a go-live on Saturday that was aborted at the last minute due to data issues and that cost me precious time in rolling back changes and re-testing stuff. The kicker is - I will have to do all those changes again this week (yeah! during the Thanksgiving Holidays which I was counting on to make some serious headway with BaL). I also have one more go-live in progress currently that's expected to be done by tomorrow.
All in all, a totally shitty week and BaL will have to stay in the freezer till my time is freed up.

Till later...


Busy, busy, busy  

Things just got a little more exciting and a little more hectic! I've taken over a new role at work, managing the projects we are working on and with it comes a ton of admin activities. Being an individual contributor till now, I've never really appreciated the amount of work that actually goes into managing a large scale project such as ours and this was sort of a rude awakening. Still, I've jumped in with both feet and I've got to make this work!

On the BaL front, things are progressing slowly but steadily. The important cutscene Dahlia is working on is expected to be completed this week and I am recruiting a VO artist for the lines required for this cutscene. This will help in the visualization, I am told ( I tell you, I am a noob at cinematics!) and it will also give me a chance to get the whole voice-over related activities into my build workflow.

Are you the one I am looking for?

Currently, I am working on populating the different areas with ambient NPCs. Leeward, in particular, has this big campsite party that will have quite a few ambient NPCs and I am trying to find varied animations for them so they don't all appear as clones. This does involve creating new ambient patterns and I am trawling through the ANIM_base worksheet to see what I can cook up. After that, I have a couple more cutscenes to create (nothing complex but since I will be doing them, anything can happen!).

Then, comes the big activity - packaging and play-testing the alpha. I plan to do this on another computer to simulate a user playing it so that it's easier to identify missing resources, etc. This will also free up my desktop to tweak and run the lightmapping on the levels that need it - parallelism all the way! Now, if only I had 48 hours a day...


Getting back into the groove  

Of course, I wasn't away from the Toolset for that long that I need a break-in time to get back into the groove. In fact, I didn't even manage to keep my word that I'll not touch the Toolset till Thursday! We identified the pesky bug at work and while fixing it will take some time, we at least have the damn thing in our sights.

I spent a day brain-storming the talents and talent trees for one of the new classes for the companions. While the basic idea behind this class was established a long time back, it was time to go into the details -> finalize the ability names, what each ability will do, the various other information associated with abilities and most important, the specializations. I am extremely happy with the way the specializations have turned out - rooted in lore and distinct from what is currently offered in DA.
I am planning on having a separate page soon with all the new classes, abilities and trees so folks reading this blog can have a sneak peek at what's in store for them come February :)

WIP Shot
I've also started collaborating with DahilaLynn on cutscenes and we've been having a lot of discussions over IM on this one important cutscene (for now!) that she's directing for me. I must say, those chats have been extremely useful - showed me I still needed to go a-ways in the cutscene department (for example, she was talking about adjusting dof and I had to google it!). For those who haven't, check out her Alistair's Royal Wedding over on DragonAge Nexus - that should give an indication of her directing expertise.
...which reminds me, I need to do some lighting and stage work in the area where the cutscene is taking place and send it to her.

Till later...


What Bioware cannot do and I can...  

Write a better story? Check.
Create better levels with realistic lighting? Check.
Create more complex characters each with their own lives/opinions/agendas? Check.
Tie all these together into a module better than the official campaigns? Check.
Well, maybe :)
What Bioware cannot do and I can is take a break!

The past two days have been extremely hectic at work, so much so that work has spilled over into the evenings at home. I've ran into a bug that's driving me nuts and is likely to be a show-stopper for the project go-live if I don't get it resolved soon.

Added to that, I've been experiencing writer's block - totally! I guess it's because by the time I fire up the toolset, I'm mentally drained from work (don't you dare tell me otherwise! :P). The inspiration just doesn't want to come. So, I've decided to take it easy for a couple of days. No Dragon Age stuff - I am going to spend whatever free time I have in the evenings to catch up on all the books I've downloaded to my Kindle!

The way I figure - better a couple of days off and come back with a fresh mind rather than trying to plug away at the Toolset and develop stuff I will have to rewrite/redesign later. I wonder what David Gaider does when he gets writer's block? Or Laidlaw runs into a wall with a design idea? Definitely not take a couple of days' break, I bet!


Another Exterior Level Done!  

The weekend started off pretty quietly - for the whole of Saturday, I was not able to work on BaL though I wanted to.  Sunday looked to be turning that way - we had the daylight savings kick in and I realized I actually hadn't gotten up early :)

Still, I managed to finish the level I was working on - it is a fairly small level and will be used in one of the area transition encounters. It resembles a small clearing in a forest with a path winding through it - the sort of area where you'd stop to camp. It's so hard to create the illusion of a forest though, especially one around the rim of the clearing. For one, there is no terrain darkening tool and I wasn't able to find a suitable texture to substitute for that. Second, there is, as far as I was able to determine, no way to remove light from a particular area. This is very significant for forests as trees in Dragon Age do not cast shadows.

The view from near the entrance to the area
For now, the level has been marked complete which means it is 90% done. I will probably do the shadows later when I have time. I also tried using negative lights for this purpose but apparently, they have some other purpose.

I also managed to finish (read: 90%) an important cutscene that sets the stage for the plot beyond the first couple of areas. It is still a little rough around the edges at certain points but it's functionally complete and that's all that matters for now.

Till later...


Tutorial - Recoloring Trees  

One of the level prototypes that I did this month was for a forest area. This is a crucial point in the story and I wanted this area to be distinct from the forests you see in the OC or other mods. So, I thought, let's make it an autumn forest. With all the fall color variations, one can go really wild and the effect should be a totally different visual experience!

I love autumn!
So, I started exploring the SpeedTreeCAD.exe which the Toolset wiki claims can be used to customize the huge number of parameters a tree has, which it can do. Unfortunately, in the limited time I've spent fiddling with it, replacing textures seems a tad difficult. You can select your own diffuse map but for some reason, the individual leaf/frond textures don't update. So, I went about it in another way and the result is another tutorial - Recoloring Trees!

Tools you will need
  • SpeedTreeCAD.exe (strictly not necessary - XVI should suffice)
  • A hex-editor (I use XVI32)
  • An image-editing program (Gimp or Photoshop)
Before we go on, there are a few important points to note about the SpeedTree files. A tree is made up of different components - a bark texture, one or more leaf textures, one or more frond textures and an overall diffuse map containing the leaf and frond textures. In the below workflow, we will be modifying only the leaf and frond textures and frankly, that should be enough to present a different type of tree. Anyway, on to the workflow!

## Export from speedtreetools.erf

Open up speedtreetools.erf present in the packages/core/data_tools folder under the Dragon Age installation directory and extract all the resources to a folder of your choice. We will be using this as a reference.
Copy the .spt and .dds file for the tree you need to modify.
Examples for this workflow - a bush (bsh_c_boxwd) and a tree (tre_f_oaksmall)
You can copy the .tga files and edit them individually too - entirely up to your preferences. I will be generating them from the .dds file.

## Image Editing
  1. Open up the diffuse map in the image editing program. I will use Gimp as a reference for this tutorial. When asked to load mipmaps, select Yes.
  2. A simple way to adjust color is to go to Colors -> Components -> Channel Mixer and play around with the settings. Once you've settled on your choice of color, save the file to a different folder. The name should follow the following convention:
  3. [3-character tree type]_[1 character]_[anything]_diffuse.DDS Make sure the character length is constant Example: bsh_t_boxwd_diffuse.DDS or tre_t_oaksmall_diffuse.DDS

After editing the colors in Gimp - the left 2 are leaves and the one in the right bottom is the frond
  1. The next step is to generate the TGAs. We will resize the canvas to the appropriate TGA dimensions and save them.
  2. Bush DDS files are 512 x 512 and TGAs are 256 x 256 Tree DDS files are 1024 x 1024 and TGAs are 512 x 512
  1. Go to Image -> Canvas Size and change the size to either 256x256 or 512x512 depending on which tree type you are editing.
  2. Adjust the canvas setting - in Gimp this can be done by simply moving the image around so that the desired area is within the bold box in the Preview Pane. The objective is to do 3 exports - 2 for the individual leaves and 1 for the frond.
  3. Export these as TGAs and save them in the same folder as the modified DDS. File name doesn't matter for now.
## Open the .spt file in XVI32
  1. Search for diffuse (case-insensitive - some files have caps). There will typically be 2 entries for the diffuse DDS map. Change the file name referenced to the name you've saved your DDS file as.
  2. Search for tga (case-insensitive). There will be at least 3 references:
  3. BK_ - leave this as it is (unless you've modified the bark texture too) LV_ - note down the file name(s) FR_ - note down the file name(s)
  1. Go to your modified TGAs and name them in a similar format but change something to identify it as yours.
  2. Example: Boxwood bush: LV_t_boxwood1.tga, LV_t_boxwood2.tga, FR_t_boxwood.tga Oaksmall tree: lv_t_oak_1.tga, lv_t_oak_2.tga, fr_t_oak.tga As you can see, there is no naming convention for these. So, you have to open the .spt in a hex-editor to find out these names. An alternative is to open the .spt in SpeedTreeCAD.exe and note down the names from Global (Diffuse name), Leaf (leaf names) and Frond (frond names) tabs. 
  1. Go back to the hex-editor and replace the names present with your names (make sure length is constant!)
  2. Once the changes are done, save the .spt with another name. This should follow the same conventions as the diffuse DDS file
  3. [3-character tree type]_[1 character]_[anything].spt The name length doesn't matter here

## DA Toolset
Copy the modified TGA, DDS and SPT files to the core/override folder you use - I do level-building from the Single Player module so these have to go under packages/core/override while building. Once the level layouts are done and moved to your module's core/override folder, you can move these files there.
Open up DA Toolset and insert a new Tree Controller. If you've done everything correctly, you should be able to see and place the new trees in your level.
Toolset shot
Do the regular export process and you should be able to see it in-game without issues -
In-game shot
If you see blocky leaves in-game, then, it is possible that you've messed up the TGA editing.
One obvious thing to note here is that you do not want to replace the textures in the existing speedtree files -> not unless you want those modified trees in all your levels where that tree is placed.

Well, that was a long one to write and format. If you have any questions, post them here or better, in the BSN Custom Content Forum thread


Conversation Choices + The DT:CoM release  

One of the biggest time sinks in module-making in Dragon Age after level building is writing dialogue. Even when you start with a concrete story and well-defined NPCs and companions, writing dialogue is not so easy. The most basic issue, at least for me, is trying to keep in mind that I am not writing a story but an interactive adventure.

What does this mean? Let's take an example - I was writing a conversation today and at one point a companion says the following line: "I don't want to talk to you. Ask him what he wants". Now, this interjection is not completely necessary to the conversation but it helps the flow and builds on an already established relationship between the companion and the conversation owner. Only when I was reviewing the conversation did I notice the "him". A few copy-paste as links and plot flags later, the conversation was complete.
Now, the above is fairly simple but this is one area I wish the DA conversation system was a little more flexible and allowed us to use tags to reference race/gender/class/background/specialization/etc. It seems almost unintuitive to write multiple lines just to change one word.

The bigger problem (and unrelated to the conversation system) is trying to come up with dialogue options - the backbone of an interactive conversation. Now, in some cases, these options just flow organically. I was writing a conversation for a minor NPC and multiple choices at each node was so easy. Then, I started writing another piece for a companion and ended up being stumped. Offering choices while maintaining the flow of dialogue is extremely important - irrelevant options can easily destroy that flow and tone set previously.

I take pride in my writing skills in English even though it is not my native tongue. However, I've lost track of the number of times I've referred to an online dictionary/thesaurus to make sure I am using a particular phrase or idiom in the correct way. And I don't even want to talk about writing emotional scenes - I just plain suck at those, a fact I've come to accept. I spent over half an hour today writing eight lines, eight lines with no options at all and it's still not final. Anyway, the journey continues and hopefully, these efforts help to bring the story together in a cohesive manner in the end.

Lastly, good news for the DA community - the first installment in the Dark Times: Confederacy of Malkuth saga has been released. Check out the details in the official announcement thread. I haven't had a chance to play it yet (have set aside time during the weekend for it) but it appears to be fairly long and involved and most important, it is, as far as I know, the first significant addition to the Official Campaign...and this is just the first part! For those ruing the fact that Bioware won't be releasing DLCs for DA:O anymore or that they can't continue their Warden's story (seriously, what's with this Warden fixation? If you don't believe me, go check out how many threads in the DA2 forums refer to this), head over to the DT:CoM thread and fill that void up!



Some of you might have noticed that the header image on this blog has changed ;)

It's an extension of the project image I posted over at BSN a few days back. Basically, I wanted to extend the width of the blog layout since even on my 14" inch work laptop, there were gaps on either side. When I did that, the previous header image didn't fit and I thought it is high time I change that image from a more generic DA one to something more specific to what I am working on currently.

It's a blend of three images I found over on http://abstract.desktopnexus.com/cat/fantasy/

On to more interesting stuff!

My 2D Art progress has been at 0% for a few months now - not something I was proud of, I can assure you ;)
Yic17, after seeing my October Monthly Report post, kindly offered to help me in this area. This was yesterday and I promptly added him to the developer group I created for BaL (for some inexplicable reason, BSN still shows discussions in private groups in the public profile feed - though as it turned out today, that is not always a bad thing - more on this later!) and created some threads to explain what I wanted.

One of the things that had always been at the back of my mind was to lend some distinction to the Dalish clans in my module of which there are 2 primary ones. One way I thought of doing this is to have customized clothing for each of them with their own logos/emblems/heraldry - similar to how you can see the Chantry sun in the standard Chantry robe in vanilla DA:O. In BaL, the player is a member of The Silver Claw clan and I wanted something along a claw-gauntlet hybrid for this purpose. Yic17 came up with some stunning designs in a very short time (less than an hour!). Here's a sample -

I was simply floored! Of course, a couple of them are too abstract for Dragon Age but the work is just fantastic! Now, I am confident that at least one area will show progress in the next monthly report :)

There's also been a slight change of plans in what I planned to do this month. Now, I have to do some research and finalize the workflow to get these images into the game's clothing and armor. I can't ask for help and refuse to do my part of the job, can I? Hopefully, it shouldn't be too difficult to do that.


Blood and Lyrium - Monthly Report - October  

The past week has been extremely hectic - with the Scripting contest coming to a close today and my projects at work throwing up nasty bugs, I haven't had time to work on BaL as much as I wanted to. I have a couple of go-lives this month too - one on 15th and another on 29th so this is going to be another busy month! I have decided one thing though - no more Community Contest stuff till BaL is done. Well, unless it is an exterior level contest, in which case I can submit one of the levels I am currently working on.

I did manage to finish up my entry for the Scripting contest - The Cranky Harem and you can download it from DANexus or BSN.

A 7x7 game board with highlighting turned on when you place game pieces

With that out of the way, on to the Monthly Report.
In the October monthly report, I had mentioned how I need about 6 small exterior levels to serve as entry points into other areas. I am happy to say these are done! They are primarily reworked OC levels but it did take a fair amount of time to edit those levels and get the lighting right.

I am also close to completion on the first custom class for BaL. This will be the class the player will play. I know I have mentioned previously that the player will be allowed a choice of 2 custom classes but I've restricted it to one now. Why? The whole module now integrates the background of this class as an over-arching story within and will continue to do so in the next iteration of this module. The second custom class will now be restricted to a particular party member.

The prototypes for 2 other external areas are also complete and I will start building the levels this month. It's going to be a fairly intensive process, as level building always is but it should go much faster now that I am comfortable with this aspect of the toolset. Also, all the interior levels for the alpha release are done! I made an excel workbook to keep track of areas, creatures, conversations, etc and realized BaL will have 57 areas! I can tell you, it took some time to digest that as I had never quantified that - in my mind, it was always the the function of that area that was predominant.

On to the percentages then!

Story - 100%
Quest Design - 90%
Companion design - 40% (no change!)
Custom Classes and Abiltities - 50%
2D Art - 0% (again, no change!)
Level/Area Design - 90% (just one more level to go!)
Level/Area Implementation - 40%
Conversations - 30%
Scripting - 20%
Cutscenes - 10% (no change!)
Monster/Encounter Design - 0% (I should really start on this)
Custom Systems - 40%

Overall, the module is around 30% complete. I was hoping to make big gains in October but sadly, that didn't materialize.  Here's to hoping November is better!

Plan for November:
  • Finish up the alpha release for testing - target: Nov 15th
  • Finish the 2 prototypes exterior levels
I am going to keep it simple this time so I can report more-than-expected results next month! The things one has to do...

Till later!