Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

[WIP] Thirst, a Dragon Age mod focused on C&C

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
What's so janky about quest variables in Dragon Age? It sounds drastically different from NWN, where you were just setting arbitrary integers on any object. I never had the experience of variables randomly setting themselves in all my time modding that game, anyway.

(Unless by "randomly setting themselves" you mean you accidentally scripted them somewhere and forgot about it, but the way you describe it doesn't sound like a mea culpa type situation.)
Warning, long post.

Basically it comes down to a few things:
  1. String IDs. Anything like a line of text, value/variable on an object, etc. that is pre-defined is stored as a string with a unique ID. The main campaign has about 10 million reserved string IDs. Mods can pre-define their string IDs from a different range and the editor will randomly pick a "safe" range for a project. However, if a string ID ends up being the same between core files and a mod for any reason, there will be a conflict and something will get overwritten.
  2. 2DAs and M2DAs. These are basically spreadsheets that are imported by the engine and contain game data. 2DAs are "main" core files like the core rules for enemy stats. M2DAs are expanded spreadsheets that are added to the original spreadsheet afterwards by the engine. For example, if my main spreadsheet has 20 IDs from 0-19, and my add-on has 5 more numbered 20-24, that's fine. But if I number mine from 0-4, those IDs will overwrite the original sheet and break things. This is compounded by the fact that the engine arbitrarily has low limits for certain types of spreadsheets; if you end up going over that limit your data will simply be discarded or will break something else. If you have another mod that edits things and uses the same IDs as your own mod, then you get a conflict.
  3. Plot files. Plot files are resources which contain quest stages, generic quest variables (like if a plot is a codex entry, a main quest, a quest category, etc.), and are assigned a unique ID at random. However, despite n combinations produced by the random generator, it's possible to end up with duplicate IDs, which leads to conflicts. This can even cause conflicts with core plot files if you are exceptionally unlucky, or other mods that use plot files. There is also a bug where if you duplicate a plot file for convenience, a new UID is not generated and you end up with two files using the same UID, which caused me a ton of headaches.
  4. Core scripts. Almost all the gameplay logic is controlled by core scripts which can be edited, overwritten, added to, etc. You can also have things processed first by special scripts and then anything afterwards passed to the core script. For example, if you are making a quest, your quest script will have some special code in it which is executed when an event happens, before the event is passed to the core script for processing that kind of event for all the "normal" processing like making sure the journal updates. However, unless you are a pretty good programmer or scripter, and spend a lot of time studying how this operates, chances are you will end up just using the templates provided (i.e. "here's a basic plot script, put your stuff in here"). This can lead to situations where due to some weird bug or special clause in how something operates in a core script, your special script doesn't work. One example I faced was when trying to set up a party member hiring script that removed the auto-level mechanism. It turns out that despite explicitly telling the game to auto-level on hiring in one script, another script overrode this behaviour, so eventually I had to re-write/copy the entire party hiring script but remove the auto-level feature and other stuff I didn't want/need.
That's more or less why mod conflicts are so rife in this game, as well as weird engine bugs. There are even obscure bugs in the existing game code and scripts which you will only trigger by doing something differently. Some of it is just design oversights that were hard-coded in or scripted a certain way because there was never a need to do things differently (pretty sure health regeneration during exploration is one such feature that can't be removed in scripting for instance, even though I would have loved to do so).

I think ultimately Dragon Age's mod-ability was an afterthought. BioWare gave it a good try but it's clear the game was never designed with modders in the first place and most of its convenient features for modding are legacies of the old Aurora engine, instead of down to design decisions to make things work well for modders (or even the people making the game). I also think BioWare never anticipated some idiot like me going and making a full-size game in their engine that was never made to accommodate mods of that size.

Going back to the issue with the Arceris Crypt, I investigated that nearly a year ago. Eventually I discovered that for some reason that variable was being erroneously set at some point previously, which later on caused a game-breaking issue when the script was supposed to fire but couldn't since it was already "done." There was nothing in my scripts which would have triggered this; I searched all of my scripts for any references to that quest where there shouldn't have been, and there were none. I re-wrote the quest scripts from scratch, but there was nothing wrong with them.

Another fun bug I found was when the user enters the Arceris Crypt, auto-leveling on followers got turned back on and then could not be disabled by the player. How? No idea. Why? No idea. There was nothing in my code triggering it. But like clockwork, it always happened. Eventually I just added a script to force auto-leveling off when the player visited the area and said fuck it.

Do you have a download mirror for that? Other than Nexus
Sorry, no.
 
Last edited:

Kaucukovnik

Cipher
Joined
Mar 26, 2009
Messages
488
Ugh, why do people create the framework for a game in such an awkward way? Is there some technical justification for the engine choosing at random and not checking for avaliability of IDs? It must have been almost as bad to work with for the original devs as it is for modders...
 

Sergiu64

Arcane
Glory to Ukraine
Joined
Jun 8, 2010
Messages
2,637
Location
Sic semper tyrannis.
I have patch 8-2. I've got Dragon Age Rules fixpack installed, but I've tried removing all of it's files and approaching the spirits and the same thing happened.

Tried doing the two sarcophagus's in the opposite order, didn't help.

What are the spirits supposed to do at that point? Open the door somehow?
 
Last edited:

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
I have patch 8-2. I've got Dragon Age Rules fixpack installed, but I've tried removing all of it's files and approaching the spirits and the same thing happened.

What are the spirits supposed to do at that point? Open the door somehow?
I think the fixpack can cause that kind of problem. I recommend uninstalling all mods. There are known conflicts with several and the likelihood of one causing issues, due to my mod's sheer scope, is very high. Most issues I've found that aren't explicit bugs are down to mod conflicts.

The spirits are supposed to walk towards the door and stand next to the statues. The door opens when they reach it. I just tested it and it works well enough for me. However, since you just want it to work and all I've made a new script here you can try out.

https://dl.dropboxusercontent.com/u/10680698/Thirst_patch_8-5_experimenetal.7z

Put that in My Documents\BioWare\Dragon Age\addins\Thirst\module\override\toolsetexport. However, I didn't test it, so you will want to back up the original files it replaces. The door should open immediately after you talk to the spirits and they should disappear, instead of walking to it.

If you know C syntax you can open the .nss file in Notepad and take a look at what I changed, if you really want to.
 

Sergiu64

Arcane
Glory to Ukraine
Joined
Jun 8, 2010
Messages
2,637
Location
Sic semper tyrannis.
Thanks! That fix worked. By the way, the two files you gave me didn't exist under toolsetexport until I put the new ones in. Not sure if the overriding you're talking about deleted the original copies or something is up with the the files on Nexus.

By the way, since the spirits were supposed to move to a certain place, this reminds me of a bizzarre bug in the Warden's Keep DLC where Avernus wouldn't walk to certain spots to start closing a rift in the fade. For whatever reason the official workaround is to put the game into Windowed mode. That work around actually worked for me when I encountered that problem. Anyway, there's definitely something stinky with the way this game processes scripts if they can be broken or fixed with the game being in Full Screen as opposed to Windowed mode.
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Thanks! That fix worked. By the way, the two files you gave me didn't exist under toolsetexport until I put the new ones in. Not sure if the overriding you're talking about deleted the original copies or something is up with the the files on Nexus.
Nice to hear it works. The override folder is used for patches right now and just overrides (duh) the files contained in the main package; you aren't missing anything. At some point I will probably go and assemble the remaining patches into a "final release" version but I'm kinda lazy, so eh.

Be advised I can't guarantee things will work correctly down the road considering you have mod(s) installed, but I'm not sure if uninstalling them now won't just break more stuff.
 
Last edited:

Zeriel

Arcane
Joined
Jun 17, 2012
Messages
13,458
Somehow I'm not surprised at Dragon Age being such a pile of garbage when it comes to modding, but makes me doubly glad I never got into it. I suppose in retrospect a lot of things that seem standard and not special about NWN (strings being modular and not having to be a part of the core .TLK file, scripting being able to set variables on any object in the module without conflicting with anything, etc) probably took concerted effort on their part.

The "here's some template scripts, go ahead and use them and have things easy!" trap was definitely part of NWN, though. Lots of template scripts that people used to do things that were setup by Bioware, that I intentionally steered clear of because I like to know exactly what my scripting is doing, and being able to tear it apart with personal knowledge if something goes wrong. If the engine didn't allow you to script everything manually, that'd be a huge pain in the ass.
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Finished the mod yesterday, no more problems encountered. Thanks for making this Sea!
Thanks. Glad someone else played through. Would appreciate more detailed feedback if you're willing to give it, for my future endeavours. Don't be afraid to say X or Y is shit if it is, I can take it. :)
 

Sergiu64

Arcane
Glory to Ukraine
Joined
Jun 8, 2010
Messages
2,637
Location
Sic semper tyrannis.
Thanks. Glad someone else played through. Would appreciate more detailed feedback if you're willing to give it, for my future endeavours. Don't be afraid to say X or Y is shit if it is, I can take it. :)

Well, the difficulty was a bit harsh in the beginning of a game before I was able to get my guys right kind of gear/abilities. But that's probably more a Dragon Age combat engine problem... still you could probably tweak it to be a little easier, I had to skip some optional fights I couldn't come back to (Screaming Prophet for example). And the spider fight in the sewers forced me to do DA2 tactic of spawn first wave, retreat and kill them where the second wave doesn't notice. Crazed Homeless dude in the sewers was a nasty surprise as well. The extra difficulty becomes nice once my character builds started working together though.

What else... I think the last optional quest (4 spirits from the Undertaker dwarf) is strangely placed, for half the game I was wondering if I missed a spirit somewhere, then finally found it in one of the last dungeons of the game and... never actually completed it as there was no obvious reason for me to back track to the city to turn the quest in. So maybe place the last spirit somewhere else?

Not quite sure of the point of the talking Ogre. Seemed like I had to do a fairly tough fight to get him to help me and then he only ends up being help for 1 fight after that. Plus it sounded like the only reason I had that fight anyway was because he was with me.

It might be a good idea to pause companion conversations during the "Follow the council member" quest if that's possible from a technical standpoint, it was a little jarring to be quietly trying to follow a council member and then suddenly have Erroll and Virgil's giant faces pop up to talk about how Virgil is super mysterious.

Lastly, I'm not quite sure what the Approval meters were for. Didn't see the companions get any kind of bonuses for getting high approval, so I don't know if there was some kind of mechanic that I just didn't see because everyone ended up liking me at least a little.

Now on to the good:

New origins are nice and it was nice to see them referenced (though I only saw it referenced once with the Scoundrel origin).

The switch from less but tougher fights is a GIGANTIC upgrade over DA OC and most of their DLCs. I also liked how you rewarded quest completions with very nice chunks of XP. That and a city full of optional quests kinda gave me that old Baldur's Gate II feel.

The use of skills in conversations is always nice.

The overall plot was engaging and there was a sense of mystery as to what was going on and who the main big enemy was. I think the pace of the plot reveals was good and I never felt like I knew what was coming.

The writing in general was quite good. Majority of the characters had believable goals and motivations. The codex entries that I found were fun to read. The resolution of the last encounter was Planescape: Torment like.

C&C is obviously nice, think one of the cooler implementations I saw was when the scribe didn't want to help me because she already gave me a favor as a help with an earlier quest. Overall the C&C was always consistent, which is pretty hard to do.

So... it feels like I complained more then I gave credit, but at the end of the day your mod got 2 main things right: you had a good engaging story that gave the player incentive to keep playing, and you had good encounter design that kept the player challenged and never devolved into Deep Roads type of generic grind. And when you get both story and combat right... well you're going to have a lot of happy RPG fans.
 
Last edited:

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Thanks so much for your detailed feedback! Really appreciate it, and it's nice to get a different perspective - one I have not really seen from others yet. I'll respond in an entirely-too-detailed way, if you don't mind.

Well, the difficulty was a bit harsh in the beginning of a game before I was able to get my guys right kind of gear/abilities. But that's probably more a Dragon Age combat engine problem... still you could probably tweak it to be a little easier, I had to skip some optional fights I couldn't come back to (Screaming Prophet for example). And the spider fight in the sewers forced me to do DA2 tactic of spawn first wave, retreat and kill them where the second wave doesn't notice. Crazed Homeless dude in the sewers was a nasty surprise as well. The extra difficulty becomes nice once my character builds started working together though.
It is kind of designed around the fact that you know how to play the game, and some encounters are designed to be hard (optional). Most fights that are not required have ways around them but usually some sort of trade-off, whether a skill check or less reward. Screaming Prophet is an easy example; the spiders shortly after can be completely avoided if you want, or you can come back later. The Sentinel fight later on is another (it can be avoided if you kill Runt, or alternately you can have Runt help you in the Sentinel fight, which is one of the hardest in the campaign). But that said, especially if you are a bit rusty, I can understand if it's a bit much.

What else... I think the last optional quest (4 spirits from the Undertaker dwarf) is strangely placed, for half the game I was wondering if I missed a spirit somewhere, then finally found it in one of the last dungeons of the game and... never actually completed it as there was no obvious reason for me to back track to the city to turn the quest in. So maybe place the last spirit somewhere else?
Yeah, fair enough. Honestly I just started to have difficulty finding places to put side-quests, too much content, haha.

Not quite sure of the point of the talking Ogre. Seemed like I had to do a fairly tough fight to get him to help me and then he only ends up being help for 1 fight after that. Plus it sounded like the only reason I had that fight anyway was because he was with me.
Your options are to either kill him to prove your allegiance to the Sentinel, aid him in killing the Sylvans and get his help for the Sentinel fight, or ignore him and fight the Sentinel yourself (again, very hard, but you can do it if you want). It was kind of inspired by some of the better stuff in NWN2 if you ever played that.

It might be a good idea to pause companion conversations during the "Follow the council member" quest if that's possible from a technical standpoint, it was a little jarring to be quietly trying to follow a council member and then suddenly have Erroll and Virgil's giant faces pop up to talk about how Virgil is super mysterious.
Fair complaint, I'll have to remember that for the future.

Lastly, I'm not quite sure what the Approval meters were for. Didn't see the companions get any kind of bonuses for getting high approval, so I don't know if there was some kind of mechanic that I just didn't see because everyone ended up liking me at least a little.
They influence the companions' endings and certain reactions in their dialogue. For instance, Aneza might not tell you something significant about her involvement in the plot if she has a low opinion of you, and Virgil may or may not also do something significant near the end as well depending on how much he likes you (or not).

New origins are nice and it was nice to see them referenced (though I only saw it referenced once with the Scoundrel origin).
Yeah, something I could have done better, but the impact might be bigger than you realize. Backgrounds do influence stats to start off, as well as your equipment in your chest at the beginning of the game, but they also influence checks in an invisible way. For example, several speech checks related to underhanded business can be passed more easily or automatically if you picked scoundrel, but the game doesn't tell you this. Others, like survivalist will let you find hidden caches in many maps depending on your survival skill + background.

The switch from less but tougher fights is a GIGANTIC upgrade over DA OC and most of their DLCs. I also liked how you rewarded quest completions with very nice chunks of XP. That and a city full of optional quests kinda gave me that old Baldur's Gate II feel.
Awesome. I had a very strict "keep filler combat to a minimum" mandate, and although there is some mandatory filler in the dungeons, I still intended it to be challenging and engaging, with most fights being fairly unique. I set a goal to allow every major/significant fight to be bypassed too, and often not just a single skill check, but a combination of them + past actions in the story.

The overall plot was engaging and there was a sense of mystery as to what was going on and who the main big enemy was. I think the pace of the plot reveals was good and I never felt like I knew what was coming.

The writing in general was quite good. Majority of the characters had believable goals and motivations. The codex entries that I found were fun to read. The resolution of the last encounter was Planescape: Torment like.
Really glad for this. I guess I see all the holes myself because I wrote it, but I'm happy it worked out well. Overall I was definitely aiming for something Planescape-esque in how it unfolded, not so much in theme or setting but in overall "construction" and focus + integration of companions.

C&C is obviously nice, think one of the cooler implementations I saw was when the scribe didn't want to help me because she already gave me a favor as a help with an earlier quest. Overall the C&C was always consistent, which is pretty hard to do.
Thanks. :)

So... it feels like I complained more then I gave credit, but at the end of the day your mod got 2 main things right: you had a good engaging story that gave the player incentive to keep playing, and you had good encounter design that kept the player challenged and never devolved into Deep Roads type of generic grind. And when you get both story and combat right... well you're going to have a lot of happy RPG fans.
Seriously man, I appreciate it. Reading your post brought a smile to my face. I'm glad you enjoyed yourself, and it's both rewarding and relieving to know that it wasn't a waste of my time and effort after all. :P
 

Sergiu64

Arcane
Glory to Ukraine
Joined
Jun 8, 2010
Messages
2,637
Location
Sic semper tyrannis.
Np, it's the least thing one can do to thank someone who put in so much work for free to create something that everyone can enjoy. Thank you again for making this :)
 

Grunker

RPG Codex Ghost
Patron
Joined
Oct 19, 2009
Messages
27,418
Location
Copenhagen
Hey, sea. I gotta apologize for never returning here with detailed feedback. I want to save it for a review, but then life/exams happened and it didn't happen. However, I still owe you my notes at least. They're here:

1) You gain some info during start as pop-ups, these can disappear quickly as you open menus without seeing them.

2) First dialogue: a range of choices, but can only call the man friend. Generally dialogues are heavy on choices but full of forced characterization.

3) omg sea wolves so close to fire how unrealistic omg

4) The lack of spoken dialogue really, really shows how annoying it is reading text at the top of your screen. DA:O was not made for voiceless dialogue.

5) Attacked by wolves, helping bartender see out mercenaries... wait, I've been here before.

6) I get to intimidate some louts in a tavern. Intimidate is ruled by ST, and persiasion by cunning. Pretty decent bro!

7) After killing The Screaming Prophet, no option to tell the innkeeper. Seems weird. But cool optional difficulty test!

8) Combat feels out of place in the beginning. Like, why am I visiting this normal shit town and fighting hordes of wolves and spiders and shit? Encounter design = good, but context is off at first.

9) I meet an elven spirit in the sewers. Can't interact with it beyond it spewing a few lines. Feels very "moddy" (of course this makes sense later, but when you first meet it, you're like "dat mod")

10) Non-linear map-design: A+, sea! Amazing you got so much out of DA:O's engine in terms of a non-linear dungeon... seems you kindda forget this later in the game. What a pity.

11) Suddenly attacked by "insane vagrant" - what's up with the random combat? Context, MANG

12) Combat nicely challenging. Seriously. Encounter design shines. Thought has been put into that shit.

13) A nice piece of reactivity: I intimidated a ruffian in the slums, who then offered me work. That's pretty cool, him recognizing I might be good for the job because of intimidate.

14) Buuuuuut... meeting him he doesn't recognize the intimidate, and treats me like any other scum.

15) The choice of siding with thieves or the town guard... what a cliché, sea ;)

16) The attempt to make choices between items real instead of the banal tier-system from DA:O is VERY condonable but futile. The penalties are small, and what meaning does a choice involving "improves backstabbing" have when you have no way of knowing what "improves backstabbing" means.

17) No quest compas!!! OMG!! I had to like... read, and shit. Is cool.

18) The web is quite complex even in miniquests. For example, you get a job where you don't know details. Turns out you've been hired to doublecross. You can inti, persuade, do your job, doublecross either of the two, walk out of the thing entirely or demand higher pay to do your job. This is seriously pretty impressive sea. Nice fucking job.

19) You get the option of going into the fade or keeping noah's amulet. Then, once in the fade, there are even more choices, side with a demon, help someone get out, or take matters into your own hands. I keep being massively impressed here.

20) A ghastly murder before my eyes, chicken the only sign. A trapdoor leads to what may be an answer, but it's locked. Was I just locked out of a quest by virtue of my skill set? Cool, MANG

21) Gold randomly stolen in Slums, nice touch. Could it have been avoided with skills?

22) Thought my intimidate would get me out of trouble with mercenaries, but later when visiting headquarters they obstructed my efforts. One of my companions, whom I didn't know at the time, didn't like me fighting two of his mercenary brothers, meaning an action at that time resulted in disapproval from my companion later. You've got this shit down. Vault Dweller should offer you a job!

23) ...buuuuut pretty weak the mercenaries don't react to fighting in their headquarters. Again, the limitation of resources show. Ambition supercedes execution, though only in very few areas.

24) Urgh, sea. I cannot be sure, but it seems you transgress the worst of my pet peeves against these sorts of games. I went the diplomacy-route, and it seemed like it cost me A LOT of loot, and I got nothing in return. Basically combat is surperior for rewards, it looks like. I hate that.

25) JOURNAL IS EXCELLENT. VERY POLISH, MUCH PROFESSIONAL, SEA. Really important since you have no QC.

26) Well-written and polish enough that I wouldn't have batted an eye-lash seeing this content as part of the original campaign. No really. Much of this content is directly ready for game implementation. If this mod doesn't work as a resumé, I dunno what mod will.

27) SO MUCH LOOT LOST ARGH!!! REGRET DIPLOMACY

28) GUARDS VS THIEVES SO CLICHE WHHHYYYYY SEA WHYYYYYYYYYYY

29) With all this exciting shit going on it's a wonder why it's all within such a mundane framework. I mean, you have all this cool shit going on, all within such a cliched framework. It's a pity.

30) I intimidated a merchant to get the answers I needed. Suddenly, my prime merchant for selling and buying was closed off to me! This reactivity FUCKING ROCKS.

31) I like the fact that you weren't afraid to include random encounters. Your game doesn't become an adventure game. There is enough combat to keep the pacing good.

32) The map is beautiful.

33) Got a bed that removes all injuries by siding with the guards! What a cool reward!

34) Meaningful and short party banters and interjections that contribute to characterization. Cool.

35) Wizard not that well characterized. He switches personality a bit too often.

36) The Pit is fun and challenging, but feels completely out of place in the context of the mod. A pity. It has some of the best encounters I've ever had in DA:O's engine. If not THE best.

37) Sharing items with Errol was a disappointment - no reason that I can't control party member's road. Even if starting level is a challenge, maybe let me choose packages. As I recall though, you fixed this, right sea?

38) Game is littered with the same boring loot as DA:O - broken crates and piles of junk with completely useless items, or items mildly useful in crafting, are abound
39) The story relies heavily on "woops, dude kept a detailed journal, how fortunate!"

40) Game keeps telling us Arceris is this decadent, libertarian city, but we never see it. This is one of the mod's biggest flaws. You're told you're welcomed to this libertarian paradise, but there is no decadence, no revelry, no nothing. Besides beautiful architecture and solid map design (mostly), it's just Boring Dragon Age City X.

41) Mod is soooo polished - stuff like easy in, easy out when you return to the crypt is pretty baller and staple of sold games. This feels like official product!
42) Having to leave the crypt for a tough fight and return again later with more experience was nice.
43) Loot still boring as shit. Small ways to improve: plenty of rune-slots, but no rune-drops.

44) Disappointing that you get no reaction from destroying arrogant Bloodblade's statue.
45) Writing has some weird shit. Captain of the Guard is an honest guy with nothing to hide who says "I love this city, but I've never known a truly honest person in it." Wut?

46) Characterization might be lacking, but it's actually kind of neat how much gets done in so little time.

47) The fight with the sentinel actually forced me to zoom out, even on normal (though I was playing on a patch where you couldn't level up your followers as you wanted to, so I had two two-weapon fighters).

48) Companions are banal on the outside, but on the inside they are more than meets the eye. However, one can't help but wish that their strengths and weaknesses played a larger role.

49) Having the soldier-background gave me access to getting rid of injuries for free, a nice little perk. In this mod, injuries can actually become troublesome, as healing resources aren't always readily available.

50) Not all quests have much reason to be there, some felt a bit contrived.

51) I met a golem that I sadly couldn't interact much with, but on a later playthrough my mage could. Pretty cool!

52) I was able to squeeze most rewards out of the game on my first playthrough, and I couldn't buy much of anything. I didn't have any thievery though.

53) The ending was very disappointing - after so many choices, just two slides almost only saying "the end."

54) Game shines effort and polish for the most part.

Overall: Wow. What an effort. Easily one of the best, if not the best, user-created mod I've ever played. It felt original, it felt polished, it felt thourough. Though some choices were odd (banal framework, weirdly interesting but pooly executed setting), your mission statement, sea, was met with glory. Reactivity is awesome. You feel it everywhere, in every quest, and it's not stupid unintuitive shit most of the time. Your actions have consequences, and though you might not be able to guess the actual consequence, you can always guess from the action that it might have some negative/positive impact. There is real opportunity for roleplaying here. But not only that. You also show deep understanding of Dragon Age combat and character progression, and though itemization still sucks, you shame my fears that this would be an adventure game in the DA:O engine.

In conclusion, this is one heck of a fucking mod, and one I'd recommend to any and all Codexers.
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Hey, sea. I gotta apologize for never returning here with detailed feedback. I want to save it for a review, but then life/exams happened and it didn't happen. However, I still owe you my notes at least. They're here:
Holy shit man, thanks so much for that. Really happy that you did not completely eviscerate me. Glad you enjoyed it. :)

I guess I'll go through and respond to a few key things.

8) Combat feels out of place in the beginning. Like, why am I visiting this normal shit town and fighting hordes of wolves and spiders and shit? Encounter design = good, but context is off at first.
Honestly stuff like that was just pacing-related. I didn't want a bunch of long stretches with "nothing to do but run around".

10) Non-linear map-design: A+, sea! Amazing you got so much out of DA:O's engine in terms of a non-linear dungeon... seems you kindda forget this later in the game. What a pity.
Yeah some later dungeons could have used a bit more of this, like the tunnels near the end of the game. I feel that some of the others were done decently though, like the crypt, the archives, council building, etc.

21) Gold randomly stolen in Slums, nice touch. Could it have been avoided with skills?
Yes.
The one who steals it is the little boy with the desperate mother. The entire story she tells is a con game. If you talk to her he sneaks around behind you. If you don't have enough dexterity (and maybe something else, I forget) he takes the gold; if you do notice him you can either scold them and let them go or intimidate her and force her to give you all her money if successful.

24) Urgh, sea. I cannot be sure, but it seems you transgress the worst of my pet peeves against these sorts of games. I went the diplomacy-route, and it seemed like it cost me A LOT of loot, and I got nothing in return. Basically combat is surperior for rewards, it looks like. I hate that.
What do you want, "oh well I was going to kill you but now I won't, here's a sick-ass reward bro, enjoy!"? That's your trade-off for trying to use persuasion on everyone and skip out on fights.

28) GUARDS VS THIEVES SO CLICHE WHHHYYYYY SEA WHYYYYYYYYYYY
Honestly? Two things. One, Dragon Age setting = boring, but I wanted to have a stable "base" for my lore players were familiar with to not waste time on the basics of world-building. Two, the mod started development after I had got off a big Baldur's Gate II binge and was really inspired to make a big, sprawling open city. Of course, a fool's errand, though one which somehow worked out. And generally speaking I think you can make any setting interesting if you take the right approach to story, characters, etc.

32) The map is beautiful.
Thank felipepepe. ;)

35) Wizard not that well characterized. He switches personality a bit too often.
That is kind of central to his character.
He switches personality because he's always trying to manipulate you. Virgil is very much a person who puts on a public face, but in an unassuming sort of way. Though he does have some traits that stay the same, like his reverence for the arcane and respect for knowledge, ability and self-sufficiency . For instance, he often won't tell you stuff if he thinks your skills or attributes are too low, or if his approval is too low (like the golem in the Council Building; he outright lies to you and says he doesn't know how to activate it if he doesn't respect you enough).

37) Sharing items with Errol was a disappointment - no reason that I can't control party member's road. Even if starting level is a challenge, maybe let me choose packages. As I recall though, you fixed this, right sea?
Yes, in a later update all party members were fully reset when you hired them, due to me re-writing the follower hiring script from scratch.

48) Companions are banal on the outside, but on the inside they are more than meets the eye. However, one can't help but wish that their strengths and weaknesses played a larger role.
Depends how much you saw. I always could have done "more" (because that's how it is) but the companions are all central to the story in some way or other. Major character spoilers for anyone who is still playing:

Aneza is responsible for your caravan being targeted. She was part of a dalish clan that was pillaged by raiders. She was captured, abused and forced to work for them. The raid on the caravan was her "last job" but she only later realized that the raiders themselves were being employed by the Council. As a result she decided to follow you without telling you, in hope of finding some redemption. She even says after your quest is over, you can kill her freely and she would accept that fate... and yeah, you can totally say so and it'll be reflected in the ending slides.

Errol was part of the Crimson Talons, who were also being employed by the Council to raid caravans. I left it open to interpretation whether he was actually involved in yours, because the Council used magic to make those responsible forget their actions. He has the least direct influence on the story but his arc is still pretty deeply tied in if you side with the city guard.

Virgil is a mage who is basically mini-Kreia, a bundle of lies and manipulation. I purposely gave him a backstory and then called it into question by his very nature later on. He was using Mildrar to try to find access to the Council with the intent of joining them, picking up on the hints purposely spread by them to attract new members, but when he realized you were more capable he switched to following you instead. If he ends up liking and respecting you, ultimately he decides you are more deserving of him for the Council position and he says nothing of it; if not, he ends up exposing his motives and attacking you directly. There are a lot of hints to him being not what he seems, like the fact that if you ask Valerius why Virgil can't learn blood magic, he quickly covers it up by saying "oh, uh, no, you go ahead" because he already knows it, not to mention the fact that he can turn into a goddamn demon in the endgame.

53) The ending was very disappointing - after so many choices, just two slides almost only saying "the end."
This is totally a bug and I think was fixed in a patch already. One particular ending combination bugged out and didn't proceed properly. There are like 20-30 different ending slides and all have at least two possible things they can say. It's nearly as extensive as Fallout: New Vegas'. :M
 
Last edited:

Grunker

RPG Codex Ghost
Patron
Joined
Oct 19, 2009
Messages
27,418
Location
Copenhagen
Just a few notes:

What do you want, "oh well I was going to kill you but now I won't, here's a sick-ass reward bro, enjoy!"? That's your trade-off for trying to use persuasion on everyone and skip out on fights.

It is not a trade-off. There's is no penalty to combat. The two options are completely identical except one lasts longer and involves difficulty. The choice between combat and diplomacy is one of style. This makes diplomacy strictly worse if all it is a way to skip combat without getting loot. Hell, it even costs skill points to get less loot!

And no, I don't want what you're describing, I want something else. One way to do it is extra XP for diplomacy. Another is to implement credible ways to reward the player for diplomacy, like beneficial consequences down the line :)

That is kind of central to his character.

I'm not sure that point came across strong enough. Either way, it's a minute point.

As for companion involvement, what I meant wasn't that they didn't have a role to play, but that it felt like once their little mini-story had been told, they were pretty superflous, and they weren't involved in the end much at all IIRC.
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Actually diplomacy almost always gives you bonus XP over fighting, or at least near-identical. :M
 

Grunker

RPG Codex Ghost
Patron
Joined
Oct 19, 2009
Messages
27,418
Location
Copenhagen
Actually diplomacy almost always gives you bonus XP over fighting, or at least near-identical. :M

Like I said, I couldn't know. If you end up being significantly higher level by diplomacy, so it balances out, then I applaud the design. However playing the game, I felt like I was basically being punished for that investment of skill points.
 

Delterius

Arcane
Joined
Dec 12, 2012
Messages
15,956
Location
Entre a serra e o mar.
I'm not entirely joking. Like all of us I've spent more than enough time in combat fag RPGs wishing by God that there was some sort of morale check that would keep the shitty goblins from attacking me. I just happen to still love every single time I can tell people to fuck off.

Oh, by the way, sea. One thing I remembered from playing your mod is that the loading times got amazingly long at the latter stages of the game. This also happened (though not with the same intensity) in the latter stages of DA:O's main campaign. I also had no other mods installed. I'm curious if this is something that DA:O's engine does out of its own volition and if others also experienced it.
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Oh, by the way, sea. One thing I remembered from playing your mod is that the loading times got amazingly long at the latter stages of the game. This also happened (though not with the same intensity) in the latter stages of DA:O's main campaign. I also had no other mods installed. I'm curious if this is something that DA:O's engine does out of its own volition and if others also experienced it.
It's probably the size of the save file + scripts running and being checked against that save data when you enter an area. Though that said the engine also has a performance degradation issue introduced in version 1.3 or so which basically causes the game to run worse and load times to increase the longer you play it, and is fixed by restarting every hour or two. Could be a combination of both.
 

hiver

Guest
Ive tried it. Just went through the start. (got to the city, delivered three letters)

Im afraid i cant come up with anything positive to say about anything ive seen in that section. Ill try and force myself to go a bit forward, do some basic quests ... but i dont think i can make it far anyway.
Its writing and characterization related and it doesnt look like thats going to change, from what i saw.

Any review of that i could give would seem so antagonistic that its probably just going to be a waste of effort and everyone's time.
(its written as if... as if someone actually specifically tried to make every interaction as gamey, as fake, as cheap and as superficial as ------ ). ... err... yeah, as you see... this cannot end in any good way.

Was it maybe some intentionally ironic commentary on the state of game industry and writing in games, sea?


...no... i guess not...
Well... maybe i just had high expectations.

Why? why sea? Why did you do that to me!? i had such high hopes... now all dashed! ach... woe is me.


- on a semi unrelated note - fucking shit has that engine aged badly, man... like holy shit! I thought i got some bad version of the game.

And the fucking camera? for fuck sake... that should be against the law somewhere?! surely? there must be a precedent we can use!
 

J1M

Arcane
Joined
May 14, 2008
Messages
14,628
What's so janky about quest variables in Dragon Age? It sounds drastically different from NWN, where you were just setting arbitrary integers on any object. I never had the experience of variables randomly setting themselves in all my time modding that game, anyway.

(Unless by "randomly setting themselves" you mean you accidentally scripted them somewhere and forgot about it, but the way you describe it doesn't sound like a mea culpa type situation.)
Warning, long post.

Basically it comes down to a few things:
  1. String IDs. Anything like a line of text, value/variable on an object, etc. that is pre-defined is stored as a string with a unique ID. The main campaign has about 10 million reserved string IDs. Mods can pre-define their string IDs from a different range and the editor will randomly pick a "safe" range for a project. However, if a string ID ends up being the same between core files and a mod for any reason, there will be a conflict and something will get overwritten.
  2. 2DAs and M2DAs. These are basically spreadsheets that are imported by the engine and contain game data. 2DAs are "main" core files like the core rules for enemy stats. M2DAs are expanded spreadsheets that are added to the original spreadsheet afterwards by the engine. For example, if my main spreadsheet has 20 IDs from 0-19, and my add-on has 5 more numbered 20-24, that's fine. But if I number mine from 0-4, those IDs will overwrite the original sheet and break things. This is compounded by the fact that the engine arbitrarily has low limits for certain types of spreadsheets; if you end up going over that limit your data will simply be discarded or will break something else. If you have another mod that edits things and uses the same IDs as your own mod, then you get a conflict.
  3. Plot files. Plot files are resources which contain quest stages, generic quest variables (like if a plot is a codex entry, a main quest, a quest category, etc.), and are assigned a unique ID at random. However, despite n combinations produced by the random generator, it's possible to end up with duplicate IDs, which leads to conflicts. This can even cause conflicts with core plot files if you are exceptionally unlucky, or other mods that use plot files. There is also a bug where if you duplicate a plot file for convenience, a new UID is not generated and you end up with two files using the same UID, which caused me a ton of headaches.
  4. Core scripts. Almost all the gameplay logic is controlled by core scripts which can be edited, overwritten, added to, etc. You can also have things processed first by special scripts and then anything afterwards passed to the core script. For example, if you are making a quest, your quest script will have some special code in it which is executed when an event happens, before the event is passed to the core script for processing that kind of event for all the "normal" processing like making sure the journal updates. However, unless you are a pretty good programmer or scripter, and spend a lot of time studying how this operates, chances are you will end up just using the templates provided (i.e. "here's a basic plot script, put your stuff in here"). This can lead to situations where due to some weird bug or special clause in how something operates in a core script, your special script doesn't work. One example I faced was when trying to set up a party member hiring script that removed the auto-level mechanism. It turns out that despite explicitly telling the game to auto-level on hiring in one script, another script overrode this behaviour, so eventually I had to re-write/copy the entire party hiring script but remove the auto-level feature and other stuff I didn't want/need.
That's more or less why mod conflicts are so rife in this game, as well as weird engine bugs. There are even obscure bugs in the existing game code and scripts which you will only trigger by doing something differently. Some of it is just design oversights that were hard-coded in or scripted a certain way because there was never a need to do things differently (pretty sure health regeneration during exploration is one such feature that can't be removed in scripting for instance, even though I would have loved to do so).

I think ultimately Dragon Age's mod-ability was an afterthought. BioWare gave it a good try but it's clear the game was never designed with modders in the first place and most of its convenient features for modding are legacies of the old Aurora engine, instead of down to design decisions to make things work well for modders (or even the people making the game). I also think BioWare never anticipated some idiot like me going and making a full-size game in their engine that was never made to accommodate mods of that size.

Going back to the issue with the Arceris Crypt, I investigated that nearly a year ago. Eventually I discovered that for some reason that variable was being erroneously set at some point previously, which later on caused a game-breaking issue when the script was supposed to fire but couldn't since it was already "done." There was nothing in my scripts which would have triggered this; I searched all of my scripts for any references to that quest where there shouldn't have been, and there were none. I re-wrote the quest scripts from scratch, but there was nothing wrong with them.

Another fun bug I found was when the user enters the Arceris Crypt, auto-leveling on followers got turned back on and then could not be disabled by the player. How? No idea. Why? No idea. There was nothing in my code triggering it. But like clockwork, it always happened. Eventually I just added a script to force auto-leveling off when the player visited the area and said fuck it.

Do you have a download mirror for that? Other than Nexus
Sorry, no.
I enjoyed reading this. Bioware are such hacks.
 

Crooked Bee

(no longer) a wide-wandering bee
Patron
Joined
Jan 27, 2010
Messages
15,048
Location
In quarantine
Codex 2013 Codex 2014 PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire MCA Serpent in the Staglands Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 BattleTech Pillars of Eternity 2: Deadfire
Hey, sea, so I just got to the part where I
freed the two spirits in the crypt.
A cutscene follows in which they say "Now we will see to our final task". Then they move to the edge of the circle and just keep standing there - nothing happens and the door won't unlock. Is it a bug or am I missing something?
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
Hey, sea, so I just got to the part where I
freed the two spirits in the crypt.
A cutscene follows in which they say "Now we will see to our final task". Then they move to the edge of the circle and just keep standing there - nothing happens and the door won't unlock. Is it a bug or am I missing something?
Try using this "unofficial" fix:

https://dl.dropboxusercontent.com/u/10680698/Thirst_ghostfix_experimental.7z

You need to put it here: Documents\BioWare\Dragon Age\addins\Thirst\module\override\toolsetexport

It should make the doors open immediately after you speak to them , but you will need to reload a save from before you did.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom