Jump to content
zapat

GetTactical - a tactical-RTS interface

Recommended Posts

Although a kind of a stacking feature would be good...

Like selectable position patterns for a sub group: line up, or 360 defense, or something like this would make commanding even more comfy. You lazy guys, you! :)

Now a LONG time ago an unknown author did actually make something like this. I can't find the YT video of it, but it was amazing. Unfortunately he never released anything to the community :(

However I could see GT actually doing this VERY well indeed.

Keep up the good work mate.... like tpw_mods, this gets better every day !

Share this post


Link to post
Share on other sites

What mission do you use it in? How is the framerate? Is many things going on?

This was something I am afraid from the beginning. In my mission I can hold it under control, but not with other missions. This can happen if script executin is delayed too much.

Mission was "Whole Lota Altis". It is script-heavy and very much WIP so probably not optimized.

I will do more testing in other missions later to see if it is a more general problem or just with script heavy missions like WLA.

FPS was in the 20's, usually mid-20's.

And many things are definitely going on as war and battles are simulated all over the island all the time.

I'll look into this, thanks. This shouldn't happen even if the scheduled environment is overloaded. Can the camera moved or is it stuck? Is the unit count okay? (Isn't a new unit added?)

When this happens, the camera is stuck. I've a couple of times even seen the game freeze up, but this was seldom.

The number of units is 5 to 8. Never above 10. I specifically made sure of that because of the limitation.

Can you give me specific examples? I designed the interface NOT TO conflict. SO this is a bug. If you give an order the vanilla way, the units should be "called off" (this shows in the Gettactical view) and execute vanilla orders, while their gettactical plan is paused.

So yes, it should be solvable for most commands. I tested it for all types of move commands (for follow leader as well) and it worked last time. Which doesn't mean something hasn't got broken since then. :)

It is difficult to give a specific example as it is not clear cut what is happening... I will do some more testing on this and find specific situations. (I sometimes wonder if there even is a conflict... Or rather if the conflict is me :D ).

Formations are missing yes: it would be too much work for too little gain IMHO. And there is not much space for formations either. But I may be lazy with this: I never use formations. When there is a situation, I micro manage all the units.

:) I understand. I do use formations often though, so might be an idea for a todo ;-) (pretty please). :D

Cheers

Share this post


Link to post
Share on other sites
can you give the option to start in plan mode or tactical mode?

It's already in the settings panel...

Mission was "Whole Lota Altis".

Oh, well yes. That is another scripted mission, so it may be the cause.

I understand. I do use formations often though, so might be an idea for a todo ;-) (pretty please).

Help me with the design (how to give such orders, how to indicate it,...) and I will give it a thought.

Problem is that player's team units refuse to follow another unit, so formation is now manual for sub-groups. Making this work for all formations will be a big work.

Share this post


Link to post
Share on other sites

I've done some tests.

Scenario:

Map: Stratis

Mods: CBA_A3, GetTactical

Forces: Single 8-man weapon squad at HQ on hill south-west of Agia Marina. Player is squad leader. // 46 CSAT units in sentries, patrols and squads spread around in Agia Marina.

FPS: 30+/avg: ~33.

Issue 1:

Tabbing the GetTactical key to get into the Tactical view.

Screen blinks. I got into Quick planing but not Tactical view.

Changed some game settings. FPS now at 47+/avg: ~51.

Now it works. I could not force the problem even though I tried. :)

Issue 2:

Compatibility between GT style of unit commanding and vanilla unit commanding.

First I attacked the gas station below HQ using GT and only GT.

When I got to the gas station, I switched to using only vanilla way leaving whatever was done in GT as they were.

Everything went fine the GT way (except perhaps I think the units seemed a little too static, but will have to do further tests to see if that is a A3 AI stupidity problem or something else).

Then I ordered the units to form staggered column, copy my stance (stand up) and return to formation.

The only unit that did that, was my second in command (unit 2). Third in command was just standing there inactive and the rest walking back and forth behind him. And none of the units stood up. They all crouched, which was the stance I gave them using GT.

The reason why unit 3 wouldn't move and do anything, is due to a game bug where if they are hurt, but the medic can't heal them, they lock up... until you shoot them in the leg a couple of times and then have the medic heal them.

What happens normally when I do "Copy my stance" is the units go into a stance they think is appropriate to the situation, but normally, when area is clear, that means standing up. They never did after having used GT. Only when I used GT to make them stand up, did they do so. Then when I entered combat mode, normally what happens is, they seek cover and take a stance that is appropriate for the cover. They mostly was standing up, only changing stance when things got rough. At this point I'm using only vanilla style of commanding.

Then I redid the entire mission purely vanilla style with no mods loaded at all. While micro managing was harder (that's a definite plus with GT), they acted like I would expect them to when ordering "Copy my stance" etc.

Also I did not see the wounding/healing bug this time.

Also the units was moving around much more dynamically in combat mode only using vanilla style, than using GT style. GT style they would basically remain where I had ordered them to stay, even if it meant dying. Vanilla style they did seek cover, even if I had ordered them to a specific position.

I will later try to test this with AI enhancements like bCombat both with and without GT.

Cheers :)

Edited by stlassen

Share this post


Link to post
Share on other sites

stlassen: thanks for the great bug report!

issue1 must be due to script lag, I'll see what can I do. That part was written a long time ago.

issue2: I gues I identified the cause. Were your reluctant units in a sub-group?

Currently sub-group units follow their sub leader, and it may cause this issue. I'll make them return on 1-1 (follow leader) command.

"GT style they would basically remain where I had ordered them to stay"

Yep, this would be the point of this interface. :)

However once they are commanded by vanilla orders, they should get back to their vanilla behaviour. Try it without making sub-groups or double-clicking the un-group icon before leaving GT.

I'll fix this probably next week. These are enough for a new build. Nad I have a good idea for formation, packing around cover: it just requires some time, so be patient. :)

Share this post


Link to post
Share on other sites

"GT style they would basically remain where I had ordered them to stay"

Yep, this would be the point of this interface. :)

All cool then ;)

stlassen: thanks for the great bug report!

You are most welcome. :)

issue1 must be due to script lag, I'll see what can I do. That part was written a long time ago.

Sounds reasonable. :) I've noticed a few times, even with high FPS, that tabbing would not work the first time, but then it would. Also a couple of times the interface froze up and I had to reload.

issue2: I gues I identified the cause. Were your reluctant units in a sub-group?

Currently sub-group units follow their sub leader, and it may cause this issue. I'll make them return on 1-1 (follow leader) command.

Actually I didn't use sub-group, but maybe it is related. :) Sometimes it seem like the units were reacting as if I had put them in a sub-group, but I hadn't. That would explain why all those at lower rank (so to speak) wouldn't move if the one higher up the chain wouldn't.

Nad I have a good idea for formation, packing around cover: it just requires some time, so be patient. :)

Cool! I have a lot of patience. :) It is a great mod, so take your time. :)

Cheers. :)

Share this post


Link to post
Share on other sites

Sounds reasonable. :) I've noticed a few times, even with high FPS, that tabbing would not work the first time, but then it would. Also a couple of times the interface froze up and I had to reload.

Yes, this was the cause. Sorted. (Now it checks for frame numbers as well between keypress and release), so it will be included in next version.

And tell me something, I am most curious: how did GT affected FPS/performance with the performancehog WLA? Is it noticeable when you go into RealTime mode? How farther can I go with onEachFrame checks? :)

I can't really run these kinda tests on my crappy old Core2Duo. (and don't have the time either) :)

Share this post


Link to post
Share on other sites
Yes, this was the cause. Sorted. (Now it checks for frame numbers as well between keypress and release), so it will be included in next version.

Cool! Looking forward to that. :D

And tell me something, I am most curious: how did GT affected FPS/performance with the performancehog WLA? Is it noticeable when you go into RealTime mode? How farther can I go with onEachFrame checks? :)

I can't really run these kinda tests on my crappy old Core2Duo. (and don't have the time either) :)

It seemed to not have much of an impact at all, but let me do some further tests on that before giving you a more definite answer. :)

Share this post


Link to post
Share on other sites

v1.2 is uploaded

I won't frontpage (thus mirror) it until you guys can confirm that the issues are addressed properly.

I mainly think of stlassen's reports (1. and 2. in the changelog), the others seem okay.

Changelog:

V1_2 09.03. 2014

FIX: top-down view will open even with low framerate / high CPU loadFile

FIX: units should go back to full vanilla behaviour when "Return to formation" (1-1) commanded. Or if htey moved by the vanilla interface.

FIX: visible distant targets are handled better (if you can target them, they can be shot)

ADJUST: context sensitive icons trigger distance now uses a distance dependant approach

ADD: for mission makers: the GTI can now be allowed/disallowed by BR_TACV_allowed = false; variable

FIX: colorCorrections of Plan mode are now stacked with low priority, meaning they won't hurt other effects.

Share this post


Link to post
Share on other sites
v1.2 is uploaded

I won't frontpage (thus mirror) it until you guys can confirm that the issues are addressed properly.

I mainly think of stlassen's reports (1. and 2. in the changelog), the others seem okay.

Changelog:

V1_2 09.03. 2014

FIX: top-down view will open even with low framerate / high CPU loadFile

FIX: units should go back to full vanilla behaviour when "Return to formation" (1-1) commanded. Or if htey moved by the vanilla interface.

FIX: visible distant targets are handled better (if you can target them, they can be shot)

ADJUST: context sensitive icons trigger distance now uses a distance dependant approach

ADD: for mission makers: the GTI can now be allowed/disallowed by BR_TACV_allowed = false; variable

FIX: colorCorrections of Plan mode are now stacked with low priority, meaning they won't hurt other effects.

Cool! Looking forward to testing this.

I will get back to you later, probably tomorrow. :)

Share this post


Link to post
Share on other sites

Will give it a go later on mate. Thanks for continuing to work on this amazing tech !

Share this post


Link to post
Share on other sites

Hi,

A quick test playing WLA.

FPS: around 40-45 in this test

Not much going on at this point in the mission.

When I go into planing mode, the names of the units don't show.

Only "any" as name above the heads of the 3D units or "Name" in the nameplates at the lower left corner.

But otherwise seemed to work well.

After about 15-20 minutes and one reload of the mission, something broke completely. Hitting the key to get into GTI did show the nameplates, but I was still in the mission, so to speak, like I was in quick planing mode... Except quick planing didn't work.

From this point it didn't work at all again until reload of game and mission.

Will do further tests, but am tired now, so tomorrow.

Cheers. :)

---------- Post added at 20:41 ---------- Previous post was at 20:06 ----------

Addition to above.

After having loaded a saved mission, that is when it breaks.

I do use moduload to reinitialize most mods, including GTI before any will react after loading a saved game.

Also I have noticed a few times the screen turning black when going into tactical view planing mode, especially if I jump between normal mode and planing mode several times in a row.

I did do some destructive testing here, like I'm used to as a programmer. ;-) Will do more of that soon. :)

Sleep time :)

cheers :)

Share this post


Link to post
Share on other sites

When I go into planing mode, the names of the units don't show.

Fck! I should have made a quick test, but I exported from the mission, where something fundamental was changed.

My bad, and this can cause serious issues. Sorry, don't use this version, making the new one!!

---------- Post added 09-04-2014 at 12:21 AM ---------- Previous post was 09-03-2014 at 11:12 PM ----------

V1_3 is up.

Not frontpaged.

Missing names are fixed.

stlassen: can't make the screen turn black unless I move the cam away from my units. In that case it is the FogOfWar darkness.

What is moduload? And how does it reinits the mod?

Is the reload error with WLA also? (As far as I know it uses a sophisticated load thingy, is it possible that that is causing errors?)

Edit: I've found moduload. This can break the mod, allright.

I was lazy and I added an infinite loop which waits until main display is gone and adds the keyeventhandler again if main display is back. This is not the cleanest solution, but it worked/works. It would take numeros restarts of the game to be able to test some better approach, (I couldn't find anyone to teach me the basics of how an addon inits/works), and I haven't yet felt like it.

If you use moduload it may re-run the init script, thus have two instances of main key eventhandlers, thus have any unforseable bad results... (like loading up and then exiting on the same keypress)

Edited by zapat

Share this post


Link to post
Share on other sites

Downloading and wil test soon.

stlassen: can't make the screen turn black unless I move the cam away from my units. In that case it is the FogOfWar darkness.

It is wierd. It looks like FOW darkness for sure, because I can move the camera, but it's all black.

Oh well, it is easy to get out of by just tabbing out of GTI and back in again.

What is moduload? And how does it reinits the mod?

Edit: I've found moduload. This can break the mod, allright.

I was lazy and I added an infinite loop which waits until main display is gone and adds the keyeventhandler again if main display is back. This is not the cleanest solution, but it worked/works. It would take numeros restarts of the game to be able to test some better approach, (I couldn't find anyone to teach me the basics of how an addon inits/works), and I haven't yet felt like it.

If you use moduload it may re-run the init script, thus have two instances of main key eventhandlers, thus have any unforseable bad results... (like loading up and then exiting on the same keypress)

[/i][/size]

It's hard to not get around moduload as it is need for so many mods out there.

I think outlawled (author of moduload) or the CBA team may be able to say something about initialization. :)

Moduload — Save-Game Mod Initializer

If you don't want moduload to reinitialize GTI, I think you can avoid it by following the example shown at the link above.

Cheers

Share this post


Link to post
Share on other sites

Okay, I'll do this:it's pretty simple. GTI doesn't need reinit, since it only has its functions loaded into global vars, and everything gets reinited when you close and re-open it. But I guess you already know this. :)

In the meantime you can do this in your own copy:

1. open the PBO

2. open the config.cpp file

3. change

class Extended_PreInit_EventHandlers

{

BR_TACV_init = "call compile preprocessFileLineNumbers 'TACV\BR_TACV_ADDON.sqf';";

}

to

class Extended_PreInit_EventHandlers

{

BR_TACV_init = "call compile preprocessFileLineNumbers 'TACV\BR_TACV_ADDON.sqf';";

disableModuload = true;

}

Share this post


Link to post
Share on other sites

It's hard to not get around moduload as it is need for so many mods out there.

Wich is a problem : mods shouldn't need to be re-initialized.

Either there's a problem in the way they were designed, or some features are not compatible with SP saves (it is the case for a bunch of scripting commands).

For the lattest, the author of the addon should find a work-around himself (several solutions exist to overcome SP save problems),

rather than relying on Moduload, wich will most likely break stuff (as the author mentionned on his thread).

Share this post


Link to post
Share on other sites
Wich is a problem : mods shouldn't need to be re-initialized.

Either there's a problem in the way they were designed, or some features are not compatible with SP saves (it is the case for a bunch of scripting commands).

For the lattest, the author of the addon should find a work-around himself (several solutions exist to overcome SP save problems),

rather than relying on Moduload, wich will most likely break stuff (as the author mentionned on his thread).

I agree 100%.

Moduload should be unnecessary, but at present state of things, it is unfortunately so, necessary.

Until all modders have made sure their mods doesn't require reinitialization, then those willing to go that extra length, must take moduload into consideration.

The unfortunate thing is, now that moduload is here, modders might not want to "fix" their mods.

---------- Post added at 11:01 ---------- Previous post was at 10:59 ----------

Okay, I'll do this:it's pretty simple. GTI doesn't need reinit, since it only has its functions loaded into global vars, and everything gets reinited when you close and re-open it. But I guess you already know this. :)

In the meantime you can do this in your own copy:

1. open the PBO

2. open the config.cpp file

3. change

class Extended_PreInit_EventHandlers

{

BR_TACV_init = "call compile preprocessFileLineNumbers 'TACV\BR_TACV_ADDON.sqf';";

}

to

class Extended_PreInit_EventHandlers

{

BR_TACV_init = "call compile preprocessFileLineNumbers 'TACV\BR_TACV_ADDON.sqf';";

disableModuload = true;

}

Done! :)

So far everything works as expected. :)

It's even been tested at FPS 10-15 and it hasn't broken yet. :) Nor has it broken after reload of mission.

Cheers!

Share this post


Link to post
Share on other sites

Good. I won't make a new version only for the sake of this, but naturally it will be included in the next one.

And I'd rather won't say a word about the reinit topic, it'd lead too far. :)

But luckily it is extremely easy to make your addon moduload compatible.

Share this post


Link to post
Share on other sites
Good. I won't make a new version only for the sake of this, but naturally it will be included in the next one.

And I'd rather won't say a word about the reinit topic, it'd lead too far. :)

But luckily it is extremely easy to make your addon moduload compatible.

:) Understandable. :) And it is was it is.

Some testresult:

I did an assault on an opfor basecamp using the GTI.

I switch back and forth between normal play with my main player unit and giving orders to the team using GTI.

I noticed that they wouldn't change stance using GTI. They simply just stayed in standing stance and attack like that.

Only when I started ordering stance change vanilla way, did they change.

I'm unaware at this time if it's a bug in GTI or a conflict with something or due to lag. I will do further tests on that later.

Share this post


Link to post
Share on other sites

Well, this is as simple as it gets: eg. upon a buttonclick the setunitPos "" command is executed on the selected/all units.

So unless the mission tinkers with it somehow, the units should do what they are told. At least they do it on my test mission.

Share this post


Link to post
Share on other sites

I'm wondering, how do you accomplish the tactical view?

I'm asking because when using an other mod (TPW_MOD, TPW Fall module) in conjunction with this one, I get a loud free fall wind noise as if free falling through air (like in parachuting). "TPW FALL triggers free fall sounds when the player is airborne and more than 10m off the ground." (TPW)

Share this post


Link to post
Share on other sites

Nothing fancy.

I create a cam, which can be moved.

For the top-down-views, I also create a plus (virtual: hidden) unit to the group, and make it player, then attach it to the original player. He is always where there orig unit is, never 10m off...

The plus unit may conflict with someone's logics though (eg: foreach units group player; {alive _x} count units group player will count an extra unit), but there is no other way to control all units.

Share this post


Link to post
Share on other sites
I create a cam, which can be moved.

Creating the cam... Isn't that done by adding some unit or gamelogic and then use a scriptcommand to turn it into a cam, or is that mostly for getting some cam positions in game?

Is that what you are doing, creating a unit and then turning it into a camera? And after being turned into a cam, I wonder if it still register as a unit?

I may check this out sometime.

It is only something that happens with tpw_fall active and I've checked his code. It only does it if the unit isn't touching ground and 10m ASL.

Hmm... I'm having a thought. Please feel free to chime in. I'm trying to understand this. ;)

tpw_fall uses getPosASL. I wonder if that is why.

If creating a cam is done as I think, then if you position it just 1m ATL and we are on a hill, we are very likely to be more than 10m ASL.

EDIT: ---------------------

Guess it is not creating a unit, it would seem. ;)

Edited by stlassen

Share this post


Link to post
Share on other sites

No, simple cam create.

If you could send me the actual condition...

_unit = _this select 0;
   _camPos = [(getPosASL _unit) select 0, (getPosASL _unit) select 1, ((eyePos _unit) select 2) + 0.4];
   BR_TACV_cam = "camera" camCreate _camPos;
   BR_TACV_cam setPosASL _camPos;
   BR_TACV_cam setDir (getDir _unit);

   BR_TACV_cam attachTo [_unit,[0,0,0],"Camera"];
   detach BR_TACV_cam; 

   BR_TACV_camATL = getPosATL BR_TACV_cam select 2;
   //player switchCamera "VIEW";
   BR_TACV_cam cameraEffect ["INTERNAL","BACK"];
   showCinemaBorder false; 
   BR_TACV_cam camSetFocus [50, 0];
   cameraEffectEnableHUD true;
   BR_TACV_cam camSetFov 0.8;
   BR_TACV_cam camCommit 0;

and this is the virtual team leader:

_origPlayer = if (alive BR_player) then {BR_player} else {((units BR_Grp) select 0)};
   if (isNull BR_TACV_CamUnit) then 
   {
       _tempGrp =  createGroup (side BR_Grp);
       BR_TACV_camUnit = _tempGrp createUnit ["b_survivor_F", getPosATL _origPlayer, [], 0, "NONE"];
       BR_TACV_camUnit joinAsSilent [bR_Grp, 11]; 
       deleteGroup _tempGrp;    
       BR_TACV_camUnit setCaptive true;
       BR_TACV_camUnit allowDamage false;
       hideObject BR_TACV_camUnit;
       BR_TACV_camUnit setVariable ["BR_LSH_lifeState",1];
       BR_TACV_camUnit linkItem "ItemRadio";
       BR_TACV_camUnit setName ["GTI","Get","Tactical"];    
       BR_TACV_camUnit disableAI "MOVE";
       BR_TACV_camUnit disableAI "ANIM";
       BR_TACV_camUnit disableAI "AUTOTARGET";
       BR_TACV_camUnit disableAI "TARGET";
       BR_TACV_camUnit disableAI "FSM";
   };
   BR_TACV_camUnit attachTo [_origPlayer,[0,-1,0]];
   selectplayer BR_TACV_camUnit;
   BR_grp selectLeader BR_TACV_camUnit; 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×