Loot System  

In the last post, I covered why I thought the loot system in the vanilla game was not really a good option (in my eyes!) for BaL. This has been at the back of my mind for a long time, ever since I started working on this mod.

The first idea I had was to generate random loot items with prefixes and suffixes based on enchantments picked from a pool defined in a 2DA. Not very original, I admit. I mean, it's not like this hasn't been done in every action-RPG out there. While I was very enthusiastic about the idea initially, that feeling quickly (and rightly!) ebbed away once I realized this will not suit the gameplay at all. Then, I came up with the idea of extremely limited world drops but the player will have the possibility to run some dungeons which will scale loot according to level. Way too much work!

So, what can be done to make loot interesting? The loot definitely has to be of some use to the player and at the same time, there should be a feeling of anticipation when clicking the loot bag. The system I settled on revolves around Crafting. I know Awakening has Rune-crafting as a skill but again, in my opinion, I felt it was not enough.

Old-time readers of this blog might remember me mentioning Phaenan's Crafting GUI Framework a long time back; the possibilities this opens up are endless. The vanilla crafting GUI, unfortunately, had hard-coded ability IDs for the craft-skills which severely limits what you can do to extend that interface. However, with this new interface, the restrictions are removed and more important, customization options are present that makes it much more modder-friendly. Phaenan has already implemented this in the latest version of her Winter Forge add-on and if you are a modder, you can read about the implementation details on the Flexible craft UI project.

Phaenan's Crafting GUI in The Winter Forge (c) Phaenan
So, how can crafting make the loot system better?
  • The player is always on the lookout for reagents and this can be used to generate loot tables that will be of interest to the player.
  • The above only works when there is sufficient diversity in the reagents required. As an example, requiring one to just harvest Elfroot while all other reagents can be bought makes the player go ho-hum when he encounters another Elfroot plant/drop.
  • The crafting itself can be designed to keep the player engaged in creating/modifying key aspects of the game. 
Now, I keep saying crafting but only because it is tied to the crafting GUI. As I said before, with Phaenan's modifications, the possibilities are endless. I am working on one such possibility right now and once it all comes together as intended, the player will be presented with a new avenue to strategically modify how the game is played. More later...


Time for an update?  

Work on the new interior level is progressing well. The basic structural pieces are in place now. The tricky part is in finding the right VFX for the level. At this point, I'm not there yet and quite likely, won't get to that part till later. Why? This level was conceptualized around a big boss battle and until I have the mechanics of the battle in place and tested, the level will remain in it's rudimentary form. This way, if at all a rework is required, I can re-do the level quickly and re-test. This will also be one of the final areas the player encounters so as such, there won't be any screenies coming out on this area till release.

In addition to the level building, I have been working on some of the systems within the game, most notably the loot system. I mean, it's high time some of these are done and integrated into the module for balance testing.
First off, the loot system designed for Dragon Age is a very versatile one; requiring one to just modify 2DAs or add additional ones if required. I consider this much more flexible than manually assigning loot for every container/mob and is also much easier to tweak and adjust. So, I won't be making many changes to this system in its basic form.

However, there are a couple of issues with the actual loot in Dragon Age.
One, loot distribution was bad. I am not talking about vendor trash here. Vendor trash is an essential component of any loot system - it is not possible to have every drop contain an item that will be an upgrade to the player. Besides, vendor trash helps generate gold which can be used to purchase other useful things.

This fish is not meant to be cooked!
The problem I see with DA loot is that the distribution of the items for the different treasure levels was bad. Towards the very end, you come upon a locked chest that requires level 4 lockpicking and possibly, extra cunning to break through. You eagerly open it...and find a Health Poultice inside. Oh, the disappointment! Or you find the rare Manuscript Copy. Most of the highest level chests/creatures either gave you potions or money or trash, with some giving runes - which can be more easily purchased.

Second, usefulness of the items. Either the items were inferior to what you already had (even in late-game loot since some of the best items can only be purchased) or you ended up with lots of salves and poisons. Now, if the game mechanics required you to use them, it wouldn't be so bad but I hardly recall using any salve or poison when playing in Hard difficulty. Maybe in Nightmare? Further, unless you are min-maxing and/or playing with a reduced party size, you don't need the best equipment to get through DA. Which results in a lot of gold lying around in the player's inventory. Admittedly, it is not possible to implement a good economy in a single-player game but nevertheless, I think some of these points can be addressed.

How? I cannot just cut down the loot drastically because players expect some reward for the fight they just won. In the same vein, I can't just give out rare and powerful items because that will trivialize the gameplay. There has to be a balance between the two and while there are multiple ways to go about it, I hope to deliver an enjoyable and useful system with BaL. I will cover the details in my next post.


What's going on?  

Eight days, no updates on this blog. For those of you wondering what's going on, between RL, work, WoW and modding, I haven't had much time to sit down and write a post.

My mother-in-law flew back to India this week. She had come down here to help take care of my daughter and the fly-back comes with the usual addendums of shopping for the folks back home. Then, comes packing the suitcases, weighing, rearranging stuff, weighing and so on till everything fits and is within the weight limit. Packing for long-term international travel is an art, I tell you. We also had to send our daughter back to day-care and that means evaluating options,  visiting the centre, talking to the people there, etc. All in all, a very hectic week.

This was one of the main reasons why I wanted to finish BaL before February because I knew time would become a little after the last week of January. Oh well. How can there be improvisation if everything fell in place as planned? On to BaL, I did a few more rounds of combat testing and found a few issues (most of which are fixed, I might add).

First, I needed to write my own spellpower and resistance check calculations since the vanilla spellpower calculations won't fly for my player custom class. Specifically, the Dreamweaver class will not be using Magic as a primary attribute at all. That was a fairly easy thing to do and test.
The next couple of issues were mostly with VFX. One of my passive on-hit abilities has a custom VFX that is not being triggered for some reason. Should be a fairly easy thing to fix since the relevant portion of the code is not being fired at all (tested with a PrintToLog statement). Quite likely, there is a mess up in the 2DA somewhere. Then, there are some problems with custom VFX not working at all when casting - that is a long road, I figure and will probably leave that for later.

The Nexus from WoW
I've also started prototyping a new interior level. It's a fairly small level but I hope the design will have a big impact. The concept behind that is inspired by The Nexus from WoW and this will be a good test to see how much I've matured as a level designer. Expect to see some new screenshots on this blog soon.

Speaking of blogs, I discovered this great one - The Rotted Rose - through Paul's blogger profile. The author, with a background in game development, is working on a module for Dragon Age and also writes about DA2 and general game-related topics. I enjoy reading it and hope you do too!
Till later...


Go Play Craggy Island!  

This post is a couple of days late in coming but hey, better late than never. Craggy Island was officially released late Sunday night and can be downloaded from DANexus. Paul has an extensive post about the journey from conception to release on his blog, make sure to check it out; it's a good read.

For me, Craggy Island was the first fruitful collaboration in the Dragon Age space. When Paul first posted the island's screenshots and posted for scripting help, I was a little wary about offering help since the other projects I had done that for had died away after a while. However, this one looked to be different since he continued to work on the other aspects and post progress updates. In the end, I caved in and decided to do the scripting portion - couldn't let a fine island like that go to waste!

It's been a bumpy ride at times when I've been tied up with RL or Blood and Lyrium or the Community Contest entries and couldn't devote the time required to complete the tasks assigned to me, which led to delays on the overall project release. It's been a learning experience too - the most important lesson being sometimes the game and Toolset behave like sentient entities. Serious! The only recourse in those times has been to take a deep breath, let the Toolset throw it's tantrum, do the same sequence of steps again and voila! it's working!

Anyway, enough on the journey. The destination has been reached and Craggy Island has been released. Now, the most nervous phase of a project starts - what will the reception be like? So, go play Craggy Island and make sure you post your feedback - good or bad - in the comments section; it will definitely help in us maturing as better game designers. Cheers!



Well, almost there. I'm talking about Craggy Island, of course.
The past week was a bit unsettling because of all the various ways the game decided to test our conviction that the module was ready for release. B2B area loads didn't work, quests working in one build didn't work on another, plot actions that had been working for a long time were suddenly breaking - it was like a pre-go-live crunch period, which in a way, it was, I guess.

After numerous exchanges of full and incremental B2Bs, we finally decided to take the big step of wiping out the database on Paul's side and loading everything from scratch from a B2B on my machine - which had a bigger percentage of the anomalies working correctly. Things finally started going in the right direction yesterday though Paul had to spend some hours renaming the VO files - I always import B2Bs with 'Create New Strings' checked.

Don't worry, son; you are almost there

Still, what's done is done. We are currently testing the B2P package on both our machines and while some snags are hit, they are being speedily resolved as we encounter them. So, Paul's stated release date of 16th looks like being the D-Day for sure!


The quest that won't complete  

Over the weekend, I had one minor issue to fix for Craggy Island - there is a quest which isn't getting updated after meeting the required conditions. Pretty trivial, eh? That's what I thought and I had put an estimate to get it completed (along with a few other minor things to implement) by Saturday evening.
You would have already guessed that this was not a trivial fix (or why else would I write a post about this?). I was testing it with some debug scripts so I didn't have to play through from the beginning and it worked fine. Then, I loaded the full B2B I got from Daeltaja a few days back and again, worked fine. The problem? It didn't work on his setup. 

The chest that won't co-operate...on a selective basis

 We went over the relevant pieces of code line by line to make sure we both had matching scripts - shouldn't be necessary since I had just loaded his B2B but sometimes the Toolset works in it's own strange ways. Recreated the offending resources, refreshed the objects in the area and in general, made sure everything matched up. I even did a full run-through to make sure it wasn't something happening earlier that was affecting it - worked fine.
We must have spent like 4 hours trying to nail the problem down without any success.

I am doing one of my periodic database refreshes on my office laptop and after that, will import the B2B again and if it works, send that to Daeltaja and hopefully, get this issue out of the way by today. Goes to show, even the littlest of things can screw up things in a big way.

Till later...


Looking back at the year gone by...  

It's close to 10 months since I started working on Blood and Lyrium. When I started out, the story was pretty simple and I had hoped to finish it by October. Then, as I got more familiar with the Toolset and started 'living' the story during development, it gradually blossomed into what is now a far better story. There are still a lot of things I want to add to it but pragmatism dictates that the line be drawn somewhere. I've also spent a fair amount of time working on Craggy Island and that has been a good experience on the collaboration front.

I also started this blog, my first ever. The sole inspiration behind doing this was Challseus' Rose of Eternity Daily Journal. There were times in the beginning when I would easily get frustrated with the Toolset and I would be reading his daily updates and would think - Man, how can this guy do so much in the toolset on a consistent basis?!! And that too with a 4-hour commute! Many a time when I've faltered, I used to read his journal and get motivated to have another go at the Toolset and that's when I thought - it would be good to have a blog to record what I am doing too. And it has helped immensely. When I check the stats on this blog and see the number of people coming to read it on a regular basis, that provides additional motivation - there are people who are definitely interested in BaL and want to play it when it's done.

I've also come to realize some of the limitations that cannot be gotten around within a short duration - cinematics being the prime example of this. Still, I've persevered where I can and while there have been delays, I am still extremely enthusiastic about sharing this story with others.

I've mentioned in many posts that I want to release this before DA2 comes out; more accurately, around the beginning of February. Well, that is not going to happen. So, when is the new targeted release date? At this point, I really don't want to set another release date only to revise it again. So, it's going to be done when it's done.

To that end, the plan going forward is going to be simple - get the alpha out first. Then, streamline the work to proceed with an area at a time. There are times when I have jumped around when I've had inspiration strike only to go back to a previous area later and struggle to get back into the right 'mood' for that area. A simple thing, maybe but when all you have is a few hours daily, it is an avoidable time-sink.

So, what have I been doing on the BaL front these past two weeks? Dialogue and combat-testing. I've been writing dialogue like a man possessed - vast sections of quest dialogue have been overhauled and the companion profiles are starting to come through in conversations better. I have only a few more to go before the alpha is cut and I have already enlisted MysteriXoX to proof-read what I've written. A good story and great combat mechanics will fall flat if the player is not engaged enough to play through the module and dialogue is one of the primary means of engaging them.

Combat testing! That warrants a whole separate post and will be made shortly, along with some additions to this blog. Till later...