[ New messages · Members · Forum rules · Search · RSS ]
Forum moderator: Daddio, Cichor  
BTW AI Documentation?
PlastyGroveDate: Monday, 24/December/2012, 7:36 PM | Message # 1
Noblemen
Group: Checked
Messages: 12
Awards: 0
Reputation: 0
Status: Offline
I'm trying to build my own AI for the stock version of BTW. I got the source files from here: http://cossacksworld.ucoz.co.uk/load....1-0-112

After spending 2 days, I've got the build environment set up and have even figured out a bit of what the files are and what some of the functions do and what some of the names refer to (KAZ17 is 17C Barracks)

I tried searching online for documentation for the source code, but couldn't find anything. I'm making progress by trudging through the code, but it would be so much easier and faster if someone could point me to documentation for the same. Any leads?
 
ab_99Date: Sunday, 30/December/2012, 6:10 PM | Message # 2
Count
Group: Modders
Messages: 126
Awards: 1
Reputation: 1
Status: Offline
PlastyGrove

Such documentation does not exist,
 
PlastyGroveDate: Sunday, 30/December/2012, 8:57 PM | Message # 3
Noblemen
Group: Checked
Messages: 12
Awards: 0
Reputation: 0
Status: Offline
Well, that's unfortunate :(. Anyways, I'm preparing a document with whatever I can understand. I'll post the details here once I feel I've made some decent progress
 
EbelAngelDate: Tuesday, 01/January/2013, 7:17 AM | Message # 4
Site Administrator
Group: Administrators
Messages: 996
Awards: 7
Reputation: 12
Status: Offline
Indeed, dont think anyone ever wrote anything down on this subject.

Though generating the .dll 's seems rather straightforward and works without errors, I can see how some of the names used can be rather confusing if you are new to modding this game.

Most of it however can be found in either the NDS files, MD files and the MD list, which holds a translation of the units / buildings.

If specific information is needed on the functions itself, i suppose it could be looked up in the source itself of the engine, which regulates the AI exports.


 
PlastyGroveDate: Tuesday, 01/January/2013, 7:24 AM | Message # 5
Noblemen
Group: Checked
Messages: 12
Awards: 0
Reputation: 0
Status: Offline

Though generating the .dll 's seems rather straightforward and works without errors, I can see how some of the names used can be rather confusing if you are new to modding this game.

I'm having to test and figure out what each building or unit means one at a time by setting it up in the AI, and running the game. Needless to say, it's taking a looooong time!

Most of it however can be found in either the NDS files, MD files and the MD list, which holds a translation of the units / buildings.

Thanks for the tip, I'll take a look at those files. I remember seeing a tutorial on how to go through those files.

it could be looked up in the source itself of the engine, which regulates the AI exports.

Is the source of the game also available? Where can I get that? Based on my research, it appears to me that to that many aspects of the AI are also a part of the engine itself, like setDefense() for example.
 
EbelAngelDate: Tuesday, 01/January/2013, 7:26 AM | Message # 6
Site Administrator
Group: Administrators
Messages: 996
Awards: 7
Reputation: 12
Status: Offline
Make sure you first can generate the dll's without having changed anything. ( as it comes from that pack). After that , any error has to be made on your end.

(PlastyGrove)
Is the source of the game also available?


It is not publicly available, but if you have specific questions, i could look it up i suppose.


 
PlastyGroveDate: Tuesday, 01/January/2013, 7:34 AM | Message # 7
Noblemen
Group: Checked
Messages: 12
Awards: 0
Reputation: 0
Status: Offline
Make sure you first can generate the dll's without having changed anything. ( as it comes from that pack). After that , any error has to be made on your end.

Yup, took me some time to figure it out, but it's working great. I've also largely figured out the various files and their roles - AI.h, Scripts.h etc. I've made a bare bones AI which creates a huge army and blasts the other guy off the map (unless he has cannons!)

It is not publicly available, but if you have specific questions, i could look it up i suppose.

I'd like to change the way the AI bundles up military units. For example, I don't think formations of 36 units are of any use. I'd like to make them 196 units, include cannons and dragoons in large numbers. It'll be an AI force to reckon with. So far, I don't think that's doable using just the AI code. All I can do is setDefense(0) or setDefense(1) and let the system figure out how to partition them. Is there a way to have more fine-grained control over the units through the AI source?
 
EbelAngelDate: Tuesday, 01/January/2013, 2:32 PM | Message # 8
Site Administrator
Group: Administrators
Messages: 996
Awards: 7
Reputation: 12
Status: Offline
PlastyGrove, see to your pm.

 
ab_99Date: Tuesday, 01/January/2013, 4:06 PM | Message # 9
Count
Group: Modders
Messages: 126
Awards: 1
Reputation: 1
Status: Offline
(EbelAngel)
It is not publicly available, but if you have specific questions, i could look it up i suppose.

I'll help you decipher some of the words, for example:
SetUnit (& KUZNICA, 1); = "smithy"
SetUnit (& SKLAD, 1); = "warehouse"
SetUnit (& RINOK, 1); = "market"
SetUnit (& MELN, 1); = "mill"
etc ... cool
 
PlastyGroveDate: Tuesday, 01/January/2013, 6:37 PM | Message # 10
Noblemen
Group: Checked
Messages: 12
Awards: 0
Reputation: 0
Status: Offline
(EbelAngel)
PlastyGrove, see to your pm.

Thanks so much for that!

(ab_99)
I'll help you decipher some of the words, for example:
SetUnit (& KUZNICA, 1); = "smithy"
SetUnit (& SKLAD, 1); = "warehouse"
SetUnit (& RINOK, 1); = "market"
SetUnit (& MELN, 1); = "mill"
etc ... cool


Thanks! Here's what I've already got till now:
MELN – Mill
SKLAD – Storehouse
KAZ17 – 17th Century Barracks
KUZNICA – Blacksmith
RINOK – Market
INFANTRY – Pikemen, Officers, Drummers automatically created and start attacking
DIPCENTER – Diplomatic Center
OFFICER – 17C Barracks officer
STREL17 – 17C Musketeer
PUSHKA17 – Illegal Unit
MORTIRA17 – Illegal Unit


I've also written some notes about how to set up the dev environment and what some of the functions do, but not sure if it would be a good idea to share it right away, it's woefully inadequate. Maybe I'll create it as a work in progress document on github or somewhere.

UPDATE
Here's a link to the github repo where I'll be maintaining the documentation:

https://github.com/plastygrove/cossacksai


Message edited by PlastyGrove - Tuesday, 01/January/2013, 7:22 PM
 
Search: