SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   SHIII Mods Workshop (https://www.subsim.com/radioroom/forumdisplay.php?f=195)
-   -   [TEC] AI actions and variables (https://www.subsim.com/radioroom/showthread.php?t=184712)

urfisch 06-19-11 08:28 AM

[TEC] AI actions and variables
 
I cant get rid of the idea of "wolfpacks" and interaction with them. So what do experienced modders say, what we would need for this to achieve? I thought of the triggered actions ai surface-boats are fullfilling, to take it as a kind of matrix. using it lets us make the ai u-boats "sending" special variables, which let the radio message system of the game sending you a radiomessage.

;)

Thought: lets take the ai attack script as an example for interacting ai-uboats. If the ai surface boat sights a uboat, it is attacking, so a routine is called through the ai script. maybe it is possible to add another action into this script, same way as you can add controllers via s3d to different files. if we discover, what variables are used to get radio messages received (the function of the "radio message system"), we should be able to get the ai script sending messages, right? or not right?

:hmmm:

I thought, if we are able to let our ai-uboats sending a radio message when encountering a convoi (containing the coordinates), the game would be a lot more realistic!

But first we need fully functional ai-uboats. As privateer said, they had some problems, as they are just cloned "surface units".

Any ideas and thoughts on that are very welcome!!!

:up:

h.sie 06-19-11 08:55 AM

@urfish: nice to see your initiative. do you know where the AI (scripts) are located?

urfisch 06-19-11 09:01 AM

i think the *.sim and the *.val files are what is used for the ai-behavior. but i am not sure. this thread is dealing with ai scripts in sh5: http://www.subsim.com/radioroom/showthread.php?t=171973

h.sie 06-19-11 09:33 AM

aircraft hasn't got *.val files, so the AI won't be in *.val.

and in the *.sim files I only find a reference name like cmdr_AIAirplane but no script or a statesmachine description.

Digging through the *.act files using OllyDbg, I found cmdr_AIAirplane in Sh3Sim.act, so I fear it's hardcoded.

TheDarkWraith 06-19-11 11:25 AM

Only SH5 gives you the ability to define the AI behavior using scripts. SH3/4 is hardcoded for the AI routines.

h.sie 06-19-11 12:50 PM

@TDW: Thanks for approving my suspicion.

I see two possible ways to get halfway working wolfpacks:

1) Hitmans idea: Somehow modify the airbases to allow them to spawn AI Uboats, which would mean wolfpack support based on your contact report. Start from the AI/code of the airplane (Maybe clone the AI in the memory and duplicate it but modified??) and invert the heights to negative values, so that altitude is changed for depth. With some studying, we could probably make the "inverted airplanes" come at high speed to the convoy and submerge (Instead of making an air dive) to shoot, then surface (instead of climb) to head away at high speed.

2) LGN1's idea: Teleport an convoy consisting of 3-4 Sergbutos AI-Subs to the area where you sent the contact report. This could be done with an Assembler hack. Maybe possible.

urfisch 06-19-11 03:32 PM

interesting ideas. even the ai thing seems to be hardcoded. but hardcode must not be a limit any more...or am i wrong?

;)

just provocating..i know its a hard thing.

if i can help, let me know.

urfisch 06-19-11 03:34 PM

Quote:

Originally Posted by TheDarkWraith (Post 1687005)
Only SH5 gives you the ability to define the AI behavior using scripts. SH3/4 is hardcoded for the AI routines.

i know this is a fact. but is it a handicap for us to get wolfpacks acting? maybe you can help with your knowledge, tdw. i am sure, you can!

:)

Madox58 06-19-11 07:48 PM

It is totally possible to 'strip' some things from other versions .act files
and plant them in SH3.

I tested doing this by 'stripping' the Air_Torpedos from SH4.
And adding a new .act file in the SH3 folder.
Added the needed controller from SH4 and it worked somewhat.
I never finished working the bugs out of the whole process because that was not what I was after and it proved what I wanted to know at that time.

What I wanted to know was simple.
It is possible to create new controllers for SH3?
The answer is Yes to an extent that I don't know.
The Air_Torpedos are not coded into the SH3 exe so why did they work?
Because the exe does not control everything.
It calls the .act files for things like that.
.act files are only .dll files with a fancy extension!
.dll files can be stripped down or built from scratch.
Write an AI_Sub.dll, rename it AI_Sub.act and create the needed controller for the .sim?

Anvart 06-20-11 12:55 AM

I think, at first, you must creat AI_sub class for AI_sub unit (and your *.exe must "understand" this unit)... and then cmdr_AISub (as a combination of existing old controllers and new controller)... lol :D

h.sie 06-20-11 01:40 AM

@privateer:

Thanks. I was aware that *.act are simply .dll files, since I already changed Sh3Sim.act and EnvSim.act to change e.g. torpedo reload and weather. These files also have an regular ModuleEntryPoint (DLLMain) that is called by the system loader at game load time, what is a nice place to add some executable code.:)

I also programed a separate hsie.act which was loaded successfully in order to overwrite some executable code of sh3.exe (Dll code injetion).

My problem is to completely understand and re-engineer how the AI works that is coded (probably) in Sh3Sim.act. I can find there the Strings cmdr_AIship & cmdr_AIAirplane, which could indicate that the AI is stored there. I also found huge jump-tables which could contain the addresses for the appropriate AI-routines. It will take long time to understand how they work and to change them to have something like cmdr_AISubmarine.

Importing from SH4 is a good point. Does SH4 have AI-Submarines?

h.sie 06-20-11 02:05 AM

@Anvart: My problem: Too few knowledge regarding "controllers".

Anvart 06-20-11 03:14 AM

Quote:

Originally Posted by h.sie (Post 1687361)
...
Does SH4 have AI-Submarines?

No.
Quote:

Originally Posted by h.sie (Post 1687370)
@Anvart: My problem: Too few knowledge regarding "controllers".

What do you mean?

h.sie 06-20-11 02:02 PM

Quote:

Originally Posted by Anvart (Post 1687390)
What do you mean?

I meant: I have too few overall knowledge about all necessary sh3 modding diciplines (controlllers, dat files, statesmachines) what caused me to hesitate to start working on wolfpacks. That cannot be done with a simple binary hack consisting of 3-4 lines of assembler. This needs concentrated knowledge of more than one person - teamwork. I don't like teamwork.

TheDarkWraith 06-20-11 02:10 PM

Quote:

Originally Posted by h.sie (Post 1687683)
I don't like teamwork.

There are others like me :D I prefer to work alone also. Always have and always will :up:


All times are GMT -5. The time now is 06:14 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.