Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Page 1 of 3 1 2 3
Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
So, after having spoken with a Larian programmer, I absolutely have to rant because I feel cheated.

The following things are, at present, hardcoded and not mod friendly.

- talents (which means undead will always be stuck with that moronic racial talent)
- if I wanted to add a new attribute (say, Charisma) below wits, I wouldn't be able to do so
- if I wanted to add a new combat or civic skill to level up, that wouldn't be possible either
- GUI (flash without missing support)
- elemental types and resistances (because God forbid I feel limited enough with the 4 elements and poison, and only two types of physical damage)

There are probably a lot more, but these ones I got confirmation of.

I feel cheated. This is the same mistake done for Skyrim by Bethesda. I wish Larian had been more open about this rather than vaguely promising "a toolset". I regret backing the game on the promise of good mod support.

Last edited by Dark_Ansem; 21/09/17 11:37 AM.
Joined: Sep 2017
X
journeyman
Offline
journeyman
X
Joined: Sep 2017
Which undead talent is moronic?

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
The only one currently existing.

Joined: Sep 2017
X
journeyman
Offline
journeyman
X
Joined: Sep 2017
Well it is easy enough to remove it from them. I agree it would be nice if the talents themselves were more moddable though.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Stabbey had good ideas.

Joined: Sep 2017
Location: Finland
journeyman
Offline
journeyman
Joined: Sep 2017
Location: Finland
This is all what I've been feeling since day one. Level designers have it lot easier it seems. All the world building tools are right there.

It's when you start wanting to do things to the data(skills, characters, attributes, etc), like you mentioned, that you start to hit massive walls and you have to Sherlock Holmes the files.


Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Which makes me really upset. What's the point? This is the stupidity of Skyrim actor values all over again.

I mean, Beamdog managed to open up the damn INFINITY engine. Larian raised 2 million bucks, I can't possibly believe they didn't have the resources to do so.

Joined: Aug 2017
B
stranger
Offline
stranger
B
Joined: Aug 2017
Larian has a level of dedication to their products that I've not seen for a long time. If the demand is great enough, you might have some luck.

I am however quite surprised at how few people are discussing the serious limitations of the toolset, I was expecting a much bigger fanbase to jump out of the woodwork.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
They aren't immediately obvious. I actually had to ask after trying and failing.

Joined: Aug 2016
apprentice
Offline
apprentice
Joined: Aug 2016
Originally Posted by Dark_Ansem
They aren't immediately obvious. I actually had to ask after trying and failing.


Maybe users who hit a roadblock could make a thread in which everything that is not possible is listed? I think that could be really valuable to users who want to know what can be accomplished and what not, as well as show larian again that there is interest for these features.

Regarding the GUI: we can unpack the files with JPEXS [0] (I tried it). Maybe there is a way for us to change and compile them so the game accepts them like the people did with Skyrim. Although that would probably only allow slight modifications but not completly new GUI elements as they would probably need to call into the engine.

[0] https://www.free-decompiler.com/flash/features/

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by JimPanzee
Originally Posted by Dark_Ansem
They aren't immediately obvious. I actually had to ask after trying and failing.


Maybe users who hit a roadblock could make a thread in which everything that is not possible is listed? I think that could be really valuable to users who want to know what can be accomplished and what not, as well as show larian again that there is interest for these features.

Regarding the GUI: we can unpack the files with JPEXS [0] (I tried it). Maybe there is a way for us to change and compile them so the game accepts them like the people did with Skyrim. Although that would probably only allow slight modifications but not completly new GUI elements as they would probably need to call into the engine.

[0] https://www.free-decompiler.com/flash/features/


I did think about the Skyrim workaround, but I am not proficient enough.

Joined: Sep 2017
C
stranger
Offline
stranger
C
Joined: Sep 2017
I have to agree here, some of the limitations seem just so very random. I mean resistance types are basically a single line entry with: Damage Type X decreased by Resistance type Y. And even some kind of damage type/armor type system is just a 2D table.

And the civic/magic/combat skill schools could be handled like one of the many other tree views (story editor for example). Were one entry is one school with a field for modifiers like increase duration of all entities with tag Summon by 10%.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by cedi
I have to agree here, some of the limitations seem just so very random. I mean resistance types are basically a single line entry with: Damage Type X decreased by Resistance type Y. And even some kind of damage type/armor type system is just a 2D table.

And the civic/magic/combat skill schools could be handled like one of the many other tree views (story editor for example). Were one entry is one school with a field for modifiers like increase duration of all entities with tag Summon by 10%.


And yet they are hardcoded. It's maddening.

Joined: Sep 2017
K
stranger
Offline
stranger
K
Joined: Sep 2017
Yeah, I honestly have trouble figuring out what isn't possible because of lack of documentation on some of the story functions and core elements of the game.

For example, I was looking at _crime, but I could not find how the story knew something was stolen. It just had a function call named CharacterCrimeSensibleActionNotifier or something and I see no mention of how it knows to send an event update.

I even searched if anyone looked at this in the first game, but nope. I could not find one discussion about how crime really works at the core.

Yes, I know it can be disabled.

Joined: Jun 2013
old hand
Offline
old hand
Joined: Jun 2013
I really don't know where people got the idea you'd be able to modify non-script based mechanics to the extent people complain they can't.

Originally Posted by Kyrone

I even searched if anyone looked at this in the first game, but nope. I could not find one discussion about how crime really works at the core.


That's because we were too busy trying to figure out how the stuff we could actually figure out worked horsey

I took one look at all the scripts involved in thievery in D:OS 1 and said, nah, not worth it. D:OS 2 thievery system is even more complicated.

Joined: Jun 2013
addict
Offline
addict
Joined: Jun 2013
You guys should try the ORK plugin for Unity.


Un chemin de 1000 lieues commence par un premier pas.

Project:
Steam workshop Frontiere
Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Crimes are handled in the story goal _CRIME_CrimeTriggers in combination with the character scripts CRIME_HumanReactions.charScript and CRIME_AnimalReactions.charScript.

Crimes are created by calling either CrimeRegisterCrime() or CrimeRegisterCrimeWithPosition(). For stealing specifically, this is done by calling CrimeRegisterCrime() with "Steal" or "EmptyPocketNoticed" as crime type.

The reactions to crimes are data-driven, but unfortunately there is no integrated editor for the data yet. It is done via Public/Shared/Stats/Generated/Data/Crimes.txt. We have quite a bit of documentation about the crime system on the internal wiki, but it still needs to be converted/transferred to docs.larian.com

Here's a summary I wrote about it a while ago on the internal chat, which explains the basic way it works:

Quote

1) you perform a "hostile" action (attack, kill, steal, pickpocked, use owned item, move owned item). This is the crime type: Assault, Murder, Theft, ... (names custom-defined by script/data; nothing is hard-coded regarding this)
2) the action is against someone that is (generally) not hostile to you (i.e., not in combat with you). This is the victim.
3) It is Osiris scripting that decides which actions under which circumstances are crimes, and then it just calls RegisterCrime() reporting the crime type (as a string), the perpetrator, the victim, evidence if any, optionally a specific position. E.g. (simplified) CharacterKilledByCharacter() -> register Murder crime
4) Others may see you perform this action (CanSee). Those are witnesses that may react to the crime. They are collected by code.
5) Others may hear you perform this action (distance check). They may start investigations. They are collected by code.
6) Some actions create leave behind evidence, such as murder (the body) or stealing (the missing item). If an NPC later on sees the crime scene, they may start an investigation at that point

Who can react to a crime?
* This is tag-based with priorities (defined in data, looked up using the crime type string that was specified when script registered the crime). MAGISTER and GUARD characters will generally get priority over anyone else. If no-one with a listed tag is found, no one will react (except for the victim itself).
* Different reactions can be specified depending on whether someone is a victim or a witness. E.g. attacking a BADASSCIVILIAN will immediately lead to combat, but attacking someone else with a BADASSCIVILIAN nearby, will make him try to arrest the perpetrator.
* Code will select who reacts to a crime (usually a witness or the victim), although script can transfer the investigation/reaction to another character (e.g. if the reaction of the victim is to call for help)How will they react?
* again tag-based. Some will flee (e.g. animals), while others may attack or arrest you.
* if they discovered a crime scene after the fact, or only heard the crime, they will start "investigating" to find the culprit. This boils down to interrogating all players they encounter in the neighbourhood. They will magically (and correctly) know whether you're guilty or not. Depending on tags and victim/non-victim status, they will then possibly allow you to bribe them, attack you, send you to prison, warn you, ...
* if they saw you performing the crime, they will directly go to one of the above behaviours without interrogating anyone (but it can be a different one compared to the one after an investigation)

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Kyrone
Yeah, I honestly have trouble figuring out what isn't possible because of lack of documentation on some of the story functions and core elements of the game.

For example, I was looking at _crime, but I could not find how the story knew something was stolen. It just had a function call named CharacterCrimeSensibleActionNotifier or something and I see no mention of how it knows to send an event update.

I even searched if anyone looked at this in the first game, but nope. I could not find one discussion about how crime really works at the core.

Yes, I know it can be disabled.


Quite simply, I asked. I literally begged the developers to ensure as little as possible was hardcoded way before the start of EA, but nope, voice in the desert.

Joined: Sep 2017
C
stranger
Offline
stranger
C
Joined: Sep 2017
For me the problem with the scripting is that it is so heavily distributed and the links between the different files/places are tenuous. Like there is one Osiris rule that creates a single database tag and the tag then triggers like 10 other rules. Some of these rules are iterators and others check a query which in reality is six OR statements distributed over three places and two of them have actions themselves. And that doesn't even consider scriptfiles which are hidden in the pak nor that some of the rules and queries might be inactive at a certain time.

Getting a comprehensive overview of that just seems so difficult without documentation for the native functions, the overloaded queries and the progs.

@Cromcrom The reason why I like to mod games is because they already have the art assets. They have been the bottleneck for all my projects with unity. ORK doesn't help with that.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Correct. I am not a full time developer. Which means unity is useless to me.

Joined: Sep 2017
R
apprentice
Offline
apprentice
R
Joined: Sep 2017
I also would absolutely desire more opening up of the skills trees and traits. It can't be that hard for them to open up the last remaining sections of the game considering it's 70% open already. The issue is, the remaining 30% are some of the MOST important sections of the game. Skill trees, traits etc etc

Anyone at @Larian able to comment? If you open up those few remaining sections in the near future you'll vastly expand the lifespan and marketability of the game.

Last edited by Ranik; 22/09/17 02:58 AM.
Joined: Sep 2017
Q
stranger
Offline
stranger
Q
Joined: Sep 2017
I too feel limited when it comes to modding. Specifically, abilities and talents are the areas that I want more freedom. It's like there's this itch on your shoulders, but your arms have been cut off.

Joined: Aug 2014
old hand
Offline
old hand
Joined: Aug 2014
We may see a few script parameters that will allow for a workaround to adding new talents, abilities and attributes, though it won't use the existing UI. No idea about any timeframe for this, but it's a possibility that would be a fairly simple solution to what would otherwise require a whole lot of reworking of the game's internals.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Baardvark
We may see a few script parameters that will allow for a workaround to adding new talents, abilities and attributes, though it won't use the existing UI. No idea about any timeframe for this, but it's a possibility that would be a fairly simple solution to what would otherwise require a whole lot of reworking of the game's internals.


I did wonder about asking You, specialised in saving the day. Still, the developers have the resources and skills to do this via later patches. No one is asking for this to happen NOW. But eventually, yes.

Joined: Sep 2017
Location: Finland
journeyman
Offline
journeyman
Joined: Sep 2017
Location: Finland
Unless I'm wrong, one big thing is that it's all possible to add entries to the skill editor via the StatsObjectDefinitions. But if you want to add ones that aren't defined there, you can't because you don't know the internal id.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Rasikko
Unless I'm wrong, one big thing is that it's all possible to add entries to the skill editor via the StatsObjectDefinitions. But if you want to add ones that aren't defined there, you can't because you don't know the internal id.


I'm sorry, would you please elaborate?

Joined: May 2017
enthusiast
Offline
enthusiast
Joined: May 2017
It's possible to add new dropdown values as well by editing "Data\Editor\Config\Stats\Enumerations.xml". I did this for my custom WeaponType. The problem is this won't necessarily work for everything, because quite a few things are hardcoded in of course.

In my case, a new WeaponType seemed to work for deltamods, but I couldn't find where you specify "this WeaponType = this animation set" for unsheathed animations, as they seem to ignore the AnimType field for those.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Oh, I see what you mean now.

Joined: Sep 2017
Location: Finland
journeyman
Offline
journeyman
Joined: Sep 2017
Location: Finland
Yeah that. You can add whatever you want or edit or even extend some limits through the xml files, and for what he did was ok because there was no need for any internal ids, but as you can see he's hit his own roadblock with that.

I suppose though if you truly want to know the extent of what can and can't be edited, look in the xml files.

Last edited by Rasikko; 23/09/17 07:43 AM.
Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Rasikko
Yeah that. You can add whatever you want or edit or even extend some limits through the xml files, and for what he did was ok because there was no need for any internal ids, but as you can see he's hit his own roadblock with that.

The file I speak of though is not an xml file but an sod file, but still you can add stuff there, if you know the internal ids.

I suppose though if you truly want to know the extent of what can and can't be edited, look in the xml files.


I only found .txt files, where would this XML files be?

Joined: Sep 2017
Location: Finland
journeyman
Offline
journeyman
Joined: Sep 2017
Location: Finland
Data\Editor\Config\Stats\

Enumerations, Filters, StatObjectDefinitions.

Corrected my above post. All are xml files. They are basically what you see in the text files, but, in the case of that last one, which is what injects things into the editor, some things in the text files are left out thus making them inaccessible in the editor(really wish I was good at explaining things). Example: some statuses aren't defined there, hence you don't see them in the status data of the editor :P

Last edited by Rasikko; 23/09/17 07:42 AM.
Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Rasikko
Data\Editor\Config\Stats\

Enumerations, Filters, StatObjectDefinitions.

Corrected my above post. All are xml files. They are basically what you see in the text files, but, in the case of that last one, which is what injects things into the editor, some things in the text files are left out thus making them inaccessible in the editor(really wish I was good at explaining things). Example: some statuses aren't defined there, hence you don't see them in the status data of the editor :P


Thanks, it's clear what you said, don't worry.
But would this actually lead to same edits to appear both in the editor and in-game?

Last edited by Dark_Ansem; 23/09/17 07:53 AM.
Joined: Sep 2017
Location: Finland
journeyman
Offline
journeyman
Joined: Sep 2017
Location: Finland
OK I'm a complete idiot and BLIND AS A BAT. All the statuses are indeed in the Stats Editor. I was reading things wrong(I'm working on a particular skill I think people will like and I needed access to a status I thought wasn't defined in the editor).

Basically if you want to add something new or change something specific you can edit either of the files(xml or the text file). Given that LaughingLeader would able to add a new WeaponType, it's apparent it certainly will lead to appearing in the editor, and you can add new values to Penalty and PrecisionQualitifiers(for example, and I've done the latter) and it will be selectable in the editor.

All got clever crafty changes you wanna do gotta be done outside the editor though, but hey that's what we have to work with for now.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Rasikko
OK I'm a complete idiot and BLIND AS A BAT. All the statuses are indeed in the Stats Editor. I was reading things wrong(I'm working on a particular skill I think people will like and I needed access to a status I thought wasn't defined in the editor).

Basically if you want to add something new or change something specific you can edit either of the files(xml or the text file). Given that LaughingLeader would able to add a new WeaponType, it's apparent it certainly will lead to appearing in the editor, and you can add new values to Penalty and PrecisionQualitifiers(for example, and I've done the latter) and it will be selectable in the editor.

All got clever crafty changes you wanna do gotta be done outside the editor though, but hey that's what we have to work with for now.


Reassuring, to an extent.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Has anyone located armor-related data? or that is hardcoded too?

Joined: Oct 2015
journeyman
Offline
journeyman
Joined: Oct 2015
It's very frustrating not being able to create new magic schools nor talents ...

Simply creating new magics looks like a pain. The editor seems, just like its ancestor, to be very very hard to use.

God why can't they create something as easy to use as warcraft 3 editor ? This one was so easy to use. In DOS editor you have to search for everything by yourself digging in the files and among countless entries hidden here and there in the editor.

Really sad about it. It is not user-friendly at all, it will probably end up like the previous one : abandonned with no one using it because impossible to understand the way it works for most people who dont work in dev industry.

Last edited by Volsungh; 24/09/17 11:33 AM.
Joined: Jun 2017
Location: Idaho
S
enthusiast
Offline
enthusiast
S
Joined: Jun 2017
Location: Idaho
I'm the opposite. I personally feel like I've been given way more to play with than I expected and it's much easier than I anticipated. Want to add a new character to play as in arena mode? A simple check box click in it's properties is all that's needed for crying out loud! Same with making a monster playable in GM mode. I definitely didn't expect to be given access to every area and NPC from the campaign mode so easily either, yet they've outdone themselves and impressed me greatly with the mod support.


GMAddon1: Adds almost every single monster and NPC from the main campaign into GM mode, plus a few large custom maps to use in GM mode.
Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Shapeshifter777
I'm the opposite. I personally feel like I've been given way more to play with than I expected and it's much easier than I anticipated. Want to add a new character to play as in arena mode? A simple check box click in it's properties is all that's needed for crying out loud! Same with making a monster playable in GM mode. I definitely didn't expect to be given access to every area and NPC from the campaign mode so easily either, yet they've outdone themselves and impressed me greatly with the mod support.


You're a level builder. I'm more of a mechanics and audio modder.

Joined: Sep 2017
C
stranger
Offline
stranger
C
Joined: Sep 2017
Yea the editor is create if you want to do D:OS2 stuff. But the usability drops of very strongly once you don't just want to add some scenery, a quest that adheres to the line of the standard quests or add a new character from the game's resources.

Currently the editor just feels like a slightly more powerful GameMaster.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by cedi
Yea the editor is create if you want to do D:OS2 stuff. But the usability drops of very strongly once you don't just want to add some scenery, a quest that adheres to the line of the standard quests or add a new character from the game's resources.

Currently the editor just feels like a slightly more powerful GameMaster.


In short, it's the same mistake done by the Aurora/Electron toolsets &, to an extent, Skyrim.

Joined: Aug 2014
old hand
Offline
old hand
Joined: Aug 2014
Did you see this thread Dark_Ansem? I basically figured out a workaround for adding new talents, attributes, abilities. It got buried real fast tho :P

http://larian.com/forums/ubbthreads.php?ubb=showflat&Number=620903#Post620903

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014
Originally Posted by Baardvark
Did you see this thread Dark_Ansem? I basically figured out a workaround for adding new talents, attributes, abilities. It got buried real fast tho :P

http://larian.com/forums/ubbthreads.php?ubb=showflat&Number=620903#Post620903


I actually did not. Very interesting read.
While I was certain that you'd save the day, I would still like Larian to do whatever they can in these fields.

Joined: Jun 2014
veteran
OP Offline
veteran
Joined: Jun 2014

Page 1 of 3 1 2 3

Moderated by  Larian_KVN 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5