LordGolias / antistasi

Antistasi improved, a mod for the game Arma 3.
BSD 3-Clause "New" or "Revised" License
31 stars 18 forks source link

UPSMON related questions #24

Open SomethingSimpl opened 7 years ago

SomethingSimpl commented 7 years ago

Hey,

I was looking at the UPSMON related files and have a couple of questions:

Does it handle spawning, caching and high level commands? Or just a part of these? How difficult would and what could the impact be upon removing it and replacing it with a proprietary solution we could have more control over?

LordGolias commented 6 years ago

I understand what you mean. Do you have any specific SQF package in mind to replace UPSMON?

UPSMON is very high quality and works for most cases. I added a comment on this post to see if the maintainer is willing to put it on github so everyone can contribute to it. I am waiting for an answer. In the worse case, I add it myself to github and we work it out from there.

StefArma commented 6 years ago

UPS is very old and replacing it isn't that difficult (for an expert obviously, which i'm not) consider that vanilla AI, after 64 bit, are way better at fighting so they don't need anymore (in my opinion) micromanaging.

What Antistasi require is a script that can take generic decisions like

Everything else could be adjusted with Arma3 Waypoints and some check/refreshes in certain conditions.

LordGolias commented 6 years ago

The main uses of UPSMON atm in antistasi are:

  1. general patrol within markers
  2. usage of static weapons(?)
  3. usage of artillery support (e.g. mortars, I think it only works with mortars on the same machine)
  4. CCB (e.g. buildings)
  5. usage of smoke
  6. general communication between groups (local I believe)

This comes at a cost of being 80% of all the code in the mission. Like I mentioned, I agree with you that 80% for this is not ideal, but without a solution, we cannot advance further.

Most of the things you mentioned are not antistasi specific, and thus should be dealt in a separate mod/independent package.

I agree with you StefArma. Do you have anything in mind that could replace UPSMON? Or are you thinking in terms of developing something from scratch?

StefArma commented 6 years ago

Barbolani roadmap was about writing a code from scratch. But he told this some time ago and now he's very busy... If i get any idea about this i'll indeed share it

LordGolias commented 6 years ago

A good starting point would be to check what exists out there, and what each one does. This give us a hint of whether it makes sense to where to start from. E.g. woudln't VTOL be sufficient? Why?

Transflux24 commented 6 years ago

There are quite a few that can do these features you've said UPSMON is in charge of like ALiVE and other AI mods that are more up to date. Perhaps moving the base AI systems to ALiVE would also help reduce how much code is used and allow for easier management as well as open compatability up greatly as ALiVE can read a faction so long as it's set up like BIS factions and can even create your own with its tools included.

There are other mods too, but I'm pretty sure ALiVE would be the best alternative to most of these functions. ALiVE and VCOM together are surprisingly good and complement each other well to accomplish both squad/individual soldier orders to high command control over the entire faction and will virtualize units not currently being used to reduce performance impact.

Just a thought, as I'm a huge fan of this project and woiuld love to see it improved upon even more.

jlillis commented 6 years ago

I managed to replace most of UPSMON's functionality with CBA AI functions. A lot of the parameters still need to be adjusted, but as of now the mission is playable. Looking forward I want to simplify the AI related scripts in the mission to reduce micromanagement. Vanilla behavior is pretty good in most cases, and server owners can chose to "enhance" it by running an AI mod (ASR_AI3, VCOM) on their server.

This does make CBA_A3 a required mod to play the mission - but I don't think anyone will care.