PDA

View Full Version : TroopMon V 0.7 Mission debugger



charonos
Jan 28 2007, 01:41
Hi,
i have written a little tool to debug my missions,
as there is always some units just lying around or
are in the wrong place and i wanted to share that
early version with the community as there is
currently/yet no similar tool available.
It is very easy to use, a simple object addon placed
in your map adds the player-action to run the tool.
The UI is kinda like Xcam,
but more combat-data-related. Things like :
Who is the checkunit targetting?
Who is he firing at?
And in turn, who is targetting/firing upon him?
are always visible as well as a troop count display
that shows the number of alive/dead units of all sides.
The most useful function is the ability to switch the view
to the enemy unit that is targetting the checkunit and back
More features are dynamic group creation functions which
can be given a basic waypoint.

http://i170.photobucket.com/albums/u249/phaetonos/TroopMon_Sample1.jpg


There is 4 camera views. One is like the 3rd person view from behind the unit,
the second one allows a freely adjustable camera position. The 3rd one is a view
through the ironsight of the units weapon (also for vehicles) and the 4th is a normal POV
of the checkunit.

http://i170.photobucket.com/albums/u249/phaetonos/TroopMon_Sample3.jpg

Also camera positions can be saved/loaded.

http://i170.photobucket.com/albums/u249/phaetonos/TroopMon_Sample2.jpg

Generally the tool is working nicely so far, a few little bugs still remain and some of the waypoint creation stuff
needs to be improved and it can really help mission makers to optimize their unit
placement and combat settings. Feel free to let me know what you would like to
see improved/considered for an update.
I hope you have fun with it and can use it for your missions!
Charon

Download links:
Armaholic mirror : TroopMon V0.7 beta (http://www.armaholic.com/page.php?id=727)

freedatahost: TroopMon V0.7 beta (http://freedatahost.com/434677)

mickuzy
Jan 28 2007, 05:51
looks interesting. more tactical awareness. i like it. looks like this has alot of potential.well done charonos

R0adki11
Jan 28 2007, 17:35
wow that looks impressive http://forums.bistudio.com/oldsmileys/smile_o.gif

SNKMAN
Jan 29 2007, 01:02
Jup pretty good stuff http://forums.bistudio.com/oldsmileys/thumbs-up.gif

If i get it right you can see what's wrong and what's working good...?

I really don't understant "Debug"...

Well if you found something wrong you can change it with this tool too or is it only for looking for wrong thing's?

There's another thing like that: Debug Console (http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?act=ST;f=70;t=56294)

Damn what the helll is this for? http://forums.bistudio.com/oldsmileys/crazy_o.gif

charonos
Jan 29 2007, 08:04
@<hidden> SNKMAN,
well that&#39;s exactly the point, you don&#39;t always see what all
of your placed/spawned units are exactly doing and people
tend to overspawn scenarios to have objectives accomplished.
Already in OFP that was giving me such a headache to be aware
of having 20 living russian attackers somewhere on my map
that would not do anything because they were constantly
in "COVER" mode, lying on the ground or were issued other strange
orders. Remember the OFP/ArmA AI is not working perfectly,
so it&#39;s all about checking what the AI is really doing out of what
you intended it to do. To code a good AI and still keep the FPS
high, is a task that is very hard to achieve for every game company.
Still the most annoying thing about the AI is that units
open fire at target distances of 50m+ easily, but sometimes would stand
around carelessly right next to each other at 10m- at not open fire even
with perfect combat settings, that must be possible to fix, again was like that in
OFP already.
Gaia&#39;s console is a time-saving tool for people that want to check variable
values and not put "hint" or "chat"-"format" lines in their code, but be able to decide
while the mission is running which variables to check.

I am working on a little update for TroopMon, it will have
a very accurate (to the bullet) ammo count statistic for all sides,
which is a tactical feature to evaluate firepower/efficiency.

Snake Man
Jan 29 2007, 08:49
I quickly checked out this addon, my first impression is that why does it need the OBJECT placed on mission editor to activate it, why not use same method as the other debug console ESC -> Enter, or any other method of transparent activation so mission.sqm is not effected?

In my view it defeats the purpose of this debugger, I stopped using mission debug radio triggers/stuff long time ago as they are ALWAYS left into the released mission by mistake. Always.

charonos
Jan 29 2007, 09:43
Snakeman,
i primarily did not want to interfere other debuggers.
Most of all i did not want people to have to insert a description.ext
into their mission folder.
Your point about the OBJECT remaining in the final mission
is valueable, i honestly did not anticipate people might forget
to remove it. http://forums.bistudio.com/oldsmileys/smile_o.gif
I will look into alternative easy ways of starting the tool without
affecting the mission.sqm.
Thanks for the input.

Snake Man
Jan 29 2007, 21:35
Considering the other debugger is in czech and quite small/featureless (or perhaps I just dont understand the cz language?) there is no fear of interfering with that. Just use the ESC -> Enter method, its excellent. Just drop the addon into addons dir and then dont worry about nothing, use it if you like, no problems with mission.sqm infestation etc.

I tried the debugger bit more now, definitely looks worth using. But I plea to you to change the way it operates, not to mess with mission.sqm, please http://forums.bistudio.com/oldsmileys/smile_o.gif

charonos
Jan 30 2007, 12:11
I have finally found a very >>clean<< solution, where other debuggers can be started as usual and TroopMon can be
started by pressing a button right under the ABORT button.
And if future tool hackers will conform to clean methods of implementing their stuff into the main config.bin then
there should be no conflicts at all between all the scripts started with the Esc-Menu-method.
I will release an update later this week, which will have the new
start option and accurate ammo count/efficiency statistics
as well as an additional detail display of the checkunit&#39;s config attributes.

Sickboy
Jan 30 2007, 12:20
Awesome project&#33; Haven&#39;t even used it yet but i&#39;m sure I like it&#33; Gonna help a million with the mission editing and especially debugging AI-Enhancement scripts http://forums.bistudio.com/oldsmileys/smile_o.gif

Moricky
Jan 30 2007, 13:30
Considering the other debugger is in czech and quite small/featureless
My console is made for people who want to use and check only what they want, without dozens of informations around. It&#39;s made to be simple and clear, but it also requires some scripting knowledge.
You console is full of features and user friendlier (especially for newcomers), but it&#39;s not suitable for quick check of values and parameters during mission. And I could not live without command line http://forums.bistudio.com/oldsmileys/smile_o.gif (or is there some? I didn&#39;t find any).

Just two comments:
1) Text is barely readable when using 800x600 resolution.
2) On 16:10 screen it looks weird (especially the buttons on right): http://str.rival.cz/items/troopmon.jpg

BTW: My console is in czech only if you have czech version (language="Czech"; in arma.cfg)

Snake Man
Jan 31 2007, 02:29
I have finally found a very >>clean<< solution, where other debuggers can be started as usual and TroopMon can be
started by pressing a button right under the ABORT button.
Just awesome, cant wait to try the new version. Also I&#39;ll report any bugs or issues I find when testing it. This will be great piece of addon with the transparent activation. Good job, much appreciated.


Quote[/b] ]My console is made for people who want to use and check only what they want, without dozens of informations around.
Yeah I guess its like in OFP the vektorbosons console and xcam comparison. Both have their uses.


Quote[/b] ]My console is in czech only if you have czech version (language="Czech"; in arma.cfg)
Naturally I have the czech version patched with 6th sense english patcher.

Sickboy
Jan 31 2007, 09:40
Naturally I have the czech version patched with 6th sense english patcher.
Hehe http://forums.bistudio.com/oldsmileys/smile_o.gif Great http://forums.bistudio.com/oldsmileys/wink_o.gif



Tip for the TroopMon... Some of the scripts are called multiple times over and over and over again. Especially in this case it would be recommended to read the scripts into variables and spawn them, so they aren&#39;t read from disc over and over:

at the init of TroopMon:<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> CHN_TroopMon_CamScript1=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CamScript1.sqf&#34;&#41;;
CHN_TroopMon_DiaReg=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;DiaReg.sqf&#34;&#41;;
CHN_TroopMon_DisplayGroup=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;DisplayGroup.sqf&#34;&#41;;
CHN_TroopMon_DisplayGroup2=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;DisplayGroup2.sqf&#34;&#41;;
CHN_TroopMon_FavList=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;FavList.sqf&#34;&#41;;
CHN_TroopMon_GroupsLBFill=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;GroupsLBFill.sqf&#34;&#41;;
CHN_TroopMon_LBAlt=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;LBAlt.sqf&#34;&#41;;
CHN_TroopMon_InitDisplay=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;InitDisplay.sqf&#34;&#41;;
CHN_TroopMon_MonInit=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;MonInit.sqf&#34;&#41;;
CHN_TroopMon_MonExit=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;MonExit.sqf&#34;&#41;;
CHN_TroopMon_RefreshUnits=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;RefreshUnits.sqf&#34;&#41;;
CHN_TroopMon_RefreshGroups=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;RefreshGroups.sqf&#34;&#41;;
CHN_TroopMon_RefreshLBs=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;RefreshLBs.sqf&#34;&#41;;
CHN_TroopMon_Switchback=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;Switchback.sqf&#34;&#41;;
CHN_TroopMon_Switchto=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;Switchto.sqf&#34;&#41;;
CHN_TroopMon_TroopExit=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;TroopExit.sqf&#34;&#41;;
CHN_TroopMon_TroopMap=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;TroopMap.sqf&#34;&#41;;
CHN_TroopMon_TroopMon=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;TroopMon.sqf&#34;&#41;;
CHN_TroopMon_UnitsLBFill=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;UnitsLBFill.sqf&#34;&#41;;
CHN_TroopMon_VToggle=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;VToggle.sqf&#34;&#41;;
CHN_TroopMon_VToggle2=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;VToggle2.sqf&#34;&#41;;

CHN_TroopMon_CreateAir=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateAir.sqf&#34;&#41;;
CHN_TroopMon_CreateCar=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateCar.sqf&#34;&#41;;
CHN_TroopMon_CreateCenter=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateCenter.sqf&#34;&#41;;
CHN_TroopMon_CreateMan=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateMan.sqf&#34;&#41;;
CHN_TroopMon_CreateStat=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateStat.sqf&#34;&#41;;
CHN_TroopMon_CreateShip=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateShip.sqf&#34;&#41;;
CHN_TroopMon_CreateTank=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;CreateTank.sqf&#34;&#41;;

CHN_TroopMon_FiredEH=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;FiredEH.sqf&#34;&#41;;
CHN_TroopMon_HitEH=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;HitEH.sqf&#34;&#41;;
CHN_TroopMon_IncomingEH=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;IncomingEH.sqf&#34;&#41;;
CHN_TroopMon_KilledEH=compile preprocessfile &#40;CHN_TMPATH + &#34;scripts&#92;KilledEH.sqf&#34;&#41;;[/QUOTE]
Then when you need them in the dialogs or other scripts, use for instance:
<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">d=&#91;298&#93; spawn CHN_TroopMon_Vtoggle[/QUOTE]

I have a version 0.7 rewritten with these spawns etc, I know ur working on a new version, but if you wish I can send you the updated v0.7 with all sqf execVM&#39;s replaced and all _filename# removed http://forums.bistudio.com/oldsmileys/smile_o.gif

Not that it matters that much, but I came across createcenter.sqf where there are a lot of ifs instead of Switch - Cases http://forums.bistudio.com/oldsmileys/wink_o.gif

charonos
Jan 31 2007, 10:33
Thanks for the tip, i very much appreciate it&#33;
I will look into that matter.
Currently i am doing a full waypoint implementation,
which makes you feel like playing chess against yourself. http://forums.bistudio.com/oldsmileys/smile_o.gif
You can have created and existing groups board choppers, move the choppers to waypoints, unload the group etc. Also there is a join option now,
so one group can join the other.
I am still having problems making a quick check which side resistance is friendly to, for 3 side battle scenarios.

Sickboy
Jan 31 2007, 11:33
Thanks for the tip, i very much appreciate it&#33;
I will look into that matter.
Currently i am doing a full waypoint implementation,
which makes you feel like playing chess against yourself. http://forums.bistudio.com/oldsmileys/smile_o.gif
You can have created and existing groups board choppers, move the choppers to waypoints, unload the group etc. Also there is a join option now,
so one group can join the other.
I am still having problems making a quick check which side resistance is friendly to, for 3 side battle scenarios.
Ok, you received a PM with updated TroopMon...
Changelog:
- All ExecVM&#39;s replaced for spawns
- All _filename variables removed and moved&replaced by CHN_TroopMon_xxxx  global variables in TMStart.SQF
- CreateCenter.SQF if&#39;s replaced for switch with cases.
- All static script paths replaced by (CHN_TMPATH + "scripts&#92;scriptname.sqf")


Looking very much forward to your updated version http://forums.bistudio.com/oldsmileys/smile_o.gif
About the resistance side, I am unsure how to test this aswell... you could leave it up to the mission maker to create a variable: CHN_ResSide which you either number or use strings with http://forums.bistudio.com/oldsmileys/smile_o.gif

KeyCat
Feb 13 2007, 10:03
Hi charonos&#33;

Just slowly getting back into editing/scripting in ArmA I was missing Silolas XCam from OFP but your TroopMon is a VERY good alternative even if still in beta version.

Thanks for sharing and hope you will continue to work on it since tools like this are invaluable when debugging scripts or larger missions. Should be the first thing in every missionmaker/scripters "toolbox"&#33;

Thanks again&#33;

/KC

Sickboy
Feb 13 2007, 11:00
You should see his next version... jummi jummi http://forums.bistudio.com/oldsmileys/smile_o.gif

Nice to read ur getting back into the World of Editing m8 http://forums.bistudio.com/oldsmileys/smile_o.gif

charonos
Feb 13 2007, 20:47
Here is a demonstration video on youTube that shows the new waypoint functionality of TroopMon V0.8.
This update will be released in 1 or 2 days.
http://www.youtube.com/watch?v=W90OtXPSiJU

charonos
Feb 15 2007, 04:16
Here another video demonstrating the new viewport unit selection and camera mouse control features:
http://www.youtube.com/watch?v=MdbM30XyVFE

Snake Man
Feb 15 2007, 15:11
Any chance you could add like "Action Camera" which would try to follow the combat around all the units?

This is a mission debugger as topic says, but many times when debugging a mission its just to sit back and watch what happens, so why not add a special camera for such enjoyment which you don&#39;t have to manually control all the time. Many times I just sit back and watch some cutscene movie with looping script around all units, I love to observe what the AI is up to.

Just a thought.

PS, less videos more releases http://forums.bistudio.com/oldsmileys/biggrin_o.gif