![]() |
[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: |
@urfish: nice to see your initiative. do you know where the AI (scripts) are located?
|
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
|
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. |
Only SH5 gives you the ability to define the AI behavior using scripts. SH3/4 is hardcoded for the AI routines.
|
@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. |
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. |
Quote:
:) |
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? |
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
|
@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? |
@Anvart: My problem: Too few knowledge regarding "controllers".
|
Quote:
Quote:
|
Quote:
|
Quote:
|
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.