Not going back to basics, going back to fundamentals
AcidWire
Member Posts: 4
Hi there,
Well, I'm going to be the complete total noob here and ask the dumb questions, but I wanted to know where I could find information about the fundamentals of Baldur's Gate modding.
Here's the premise :
So far, I have used the EE Keeper tool to create "illegal" characters with abilities not meant to be possible in the game. I've been successful to some extent through reading indications provided in the software, and through trial and error. However I quickly realized how limited I was with this method. One example is no matter how I type in Google's search engine the words "Effects, Indicators, Triggers", I can never find info on these parameters in EE Keeper when adding special abilities or effects on my character. Another example : I've wanted to create an item with "on hit" properties like the Studded Leather of Thorns of Throne of Bhaal (this item can be found on Sendai after defeating her), but I haven't been successful. Although EE Keeper makes it easy to locate the .ITM file, I haven't been able to read lines of code or interpreted lines of code to see how such a property could be created on an item by guessing and infering how the code works. I'm sure it can be done though, I'm not sure EE Keeper can do it, but I know that back in the earlier days of Baldur's Gate II, such feats could be accomplished with tools developed over there :
http://www.teambg.org/e107_plugins/newsfeed/newsfeed.php?show.1
Sadly, I think Baldur's Gate II EE has new folder paths and all the tools I tried from that source crashed. Although I'm familiar with coding and have general knowledge in maths (through my education and university), I'm not a programmer, and not an expert at any of this, so I'm kind of clueless at how to even do something as simple as fixing the paths to the game's source folders probably required for the tools to function. Moreover even if I did figure out how to fix the folder paths and could create my custom item, I still feel I'd have used tools with everything conveniently worked out for me and only needing to click on buttons on a graphical interface (which is really cool, no complaints here !), but I wouldn't really have understood what went on and have behaved like a script monkey.
And I keep reading about file formats that seem to only exist in the logic of Baldur's Gate's code : .ITM files for items, .CHR files for characters, obviously all of these are formats built by the game's programmers and do not have any meaning in the wide world of computers anywhere else than in Baldur's Gate. However to my knowledge, in the world of computers, there are certain "classical" languages and tools that everyone uses : C, C++, Java, Python, Assembly... depending on what one would want to code. And I'm sure these are the fundamentals lying underneath all these rather mystical other formats.
So, after all my blabbing here is what I would like : I wish to go beyond using tools developped by other people and going with trial and error on how to use them. I greatly appreciate the efforts that were made to produce them, but no matter how useful they are, I still would like to look at the fundamental code hiding underneath. Since Baldur's Gate has such longevity, is such a big and complex game, I'm sure it was developed in a classical computer language environment, and that it's structure is very articulated, tidy, and that someone new could - provided with enough time and basic knowledge - by working from the bottom to the top understand it.
And here's my question : where can I start ? Where can I find info like this ? What code is Baldur's Gate engine written in ? Is there a well documented data-base of how it was written ? How is it built from the ground up ?
I already expect bemused/amused replies at my questions : I suppose the intricate workings of the game could be a well-kept secret by Beamdog to preserve control over the game, I also suppose I'm a too ambitious to want to start from such low levels of fundamentals and should maybe more gradually peel down the layers... but I'd really appreciate a nice answer and a bunch of links, as I've already spent 5 hours today looking for info on this !
Thank you ! (:
Well, I'm going to be the complete total noob here and ask the dumb questions, but I wanted to know where I could find information about the fundamentals of Baldur's Gate modding.
Here's the premise :
So far, I have used the EE Keeper tool to create "illegal" characters with abilities not meant to be possible in the game. I've been successful to some extent through reading indications provided in the software, and through trial and error. However I quickly realized how limited I was with this method. One example is no matter how I type in Google's search engine the words "Effects, Indicators, Triggers", I can never find info on these parameters in EE Keeper when adding special abilities or effects on my character. Another example : I've wanted to create an item with "on hit" properties like the Studded Leather of Thorns of Throne of Bhaal (this item can be found on Sendai after defeating her), but I haven't been successful. Although EE Keeper makes it easy to locate the .ITM file, I haven't been able to read lines of code or interpreted lines of code to see how such a property could be created on an item by guessing and infering how the code works. I'm sure it can be done though, I'm not sure EE Keeper can do it, but I know that back in the earlier days of Baldur's Gate II, such feats could be accomplished with tools developed over there :
http://www.teambg.org/e107_plugins/newsfeed/newsfeed.php?show.1
Sadly, I think Baldur's Gate II EE has new folder paths and all the tools I tried from that source crashed. Although I'm familiar with coding and have general knowledge in maths (through my education and university), I'm not a programmer, and not an expert at any of this, so I'm kind of clueless at how to even do something as simple as fixing the paths to the game's source folders probably required for the tools to function. Moreover even if I did figure out how to fix the folder paths and could create my custom item, I still feel I'd have used tools with everything conveniently worked out for me and only needing to click on buttons on a graphical interface (which is really cool, no complaints here !), but I wouldn't really have understood what went on and have behaved like a script monkey.
And I keep reading about file formats that seem to only exist in the logic of Baldur's Gate's code : .ITM files for items, .CHR files for characters, obviously all of these are formats built by the game's programmers and do not have any meaning in the wide world of computers anywhere else than in Baldur's Gate. However to my knowledge, in the world of computers, there are certain "classical" languages and tools that everyone uses : C, C++, Java, Python, Assembly... depending on what one would want to code. And I'm sure these are the fundamentals lying underneath all these rather mystical other formats.
So, after all my blabbing here is what I would like : I wish to go beyond using tools developped by other people and going with trial and error on how to use them. I greatly appreciate the efforts that were made to produce them, but no matter how useful they are, I still would like to look at the fundamental code hiding underneath. Since Baldur's Gate has such longevity, is such a big and complex game, I'm sure it was developed in a classical computer language environment, and that it's structure is very articulated, tidy, and that someone new could - provided with enough time and basic knowledge - by working from the bottom to the top understand it.
And here's my question : where can I start ? Where can I find info like this ? What code is Baldur's Gate engine written in ? Is there a well documented data-base of how it was written ? How is it built from the ground up ?
I already expect bemused/amused replies at my questions : I suppose the intricate workings of the game could be a well-kept secret by Beamdog to preserve control over the game, I also suppose I'm a too ambitious to want to start from such low levels of fundamentals and should maybe more gradually peel down the layers... but I'd really appreciate a nice answer and a bunch of links, as I've already spent 5 hours today looking for info on this !
Thank you ! (:
0
Comments
I've started reading up on the infinity engine on wikipedia and on here :
http://www.gamebanshee.com/news/106895-the-infinity-engine-goes-open-source-and-cross-platform-sorta.html
http://www.gemrb.org/wiki/doku.php?id=start
But I'm quick surprised it was only first released in 2012 !
How did people develop mods back in 2004 ? And before that ?
Completely in the dark ? With no documented data-base ?
Anyway, does anyone else have other advice ? (:
http://forum.baldursgate.com/discussion/comment/635029/#Comment_635029
Steps to get the program setup.
1) Click on the link provided by Argent77 and then click "NearInfinity-20150428.zip" to download it.
2) Open up the program
3) When in program click "Game" at the top left and then click "Open Game"
4) Find your installation folder for the EE game in question. This will depend on how you bought the game (but its likely somewhere in program files)
5) Find the chitin.key file and double click it.
Once you've done that it should be working. You can search for an item that has the effects you are looking for and review them to get an idea of what is happening. Its one of those things that will probably require some experimentation on your part to see what means what, but the basic stuff is pretty intuitive. ITM files are item files, CRE files are creature files, area files are ARE files, in the majority of cases scripts are BCS files, spells (which includes innate abilities and many effects found on items) are SPL files.
But I still wanna explore the more fundamental aspects of Baldur's Gate !
I'll explore that GEmRB open source engine