Ground Control Viewer - Latest build and instructions.

Idle chat for all ACG and friends

Moderators: Board of Directors, Command

Post Reply
User avatar
Donkey
Pilot Officer
Pilot Officer
Adjutant
Staff
Posts: 2829
Joined: Thu Jul 03, 2014 9:21 am
Location: Luxembourg

Ground Control Viewer - Latest build and instructions.

Post by Donkey » Sat Jan 23, 2016 3:35 pm

Chaps,

Dues to the GCV file getting increasingly buried in the forum I have started some new threads that I will ask Kuntz or Thaine to sticky here. Ok, so first off, the latest GCV build can be found here:

https://www.dropbox.com/s/6cj9wwgs0of0u ... 5.exe?dl=0

This was last updated in September 2015.

I will update this link as and when I release new ones. To use GCV you need to download and install it, and you then need to download the files that make up each mission. Note that these will be released after AARs are in, so normally on the Saturday following the mission. This is because GCV is not to be used as a basis for making AAR claims.

Missions are in the following thread, which will again be added to as and when I release the tracks:
http://aircombatgroup.co.uk/forum/viewt ... =37&t=5497

Anyway, to view the files in GCV you need to download them and place them into the DataFiles subdirectory of the GCV app you just installed. Assuming that you installed to the default location, the path to DataFiles is:

C:\Program Files (x86)\GCV\DataFiles

Once you have done that you will be able to select this mission in the GCV and replay it from the persepctive of whichever pilot you choose.

Now, a bit of verbiage on GCV taken from earlier posts for those that didn't read them or are new:

GCV ("Ground Control Viewer") is a 3D viewer that allows you to play back historic missions in a "tabletop" 3D environment. Each mission is made up of 3 files, a "Type" file, and "ID" file and the actual XYZ data for each actor in the mission for every second they were in game. They are "human readable" (i.e. not binary) and you can view them in a text viewer if you are that way inclined.

GCV allows you to:

- Filter the mission data for a given player, chosen by you the operator, to grab traces for all player who came within 300 metres (so 1000 feet nigh on) of the given player. This is the default "capture range", but you can increase this by using the blue slider when you choose the player you want to follow. If you increase itr all the way to the right no filter will apply and you will be able to see everyone - but be warned this may make playback a little clunky on less powerful machines as at that point we are rendering *a lot* of objects on screen. Pressing the "filter data" button will allow you to choose another player and chnge the capture range. Doing so will set you back to time zero and focus on the new chosen player. Note that the timescale goes from the first occurrence of any players in the filter through to the last occurrence of any players in the filter. Note also that you "scroll" the filter list by pressing your mouse button on it and pushing up or down with the mouse. Much like you would on a touch interface with your finger. Note also that this list includes AI flights and is sorted alphabetically and filters out any players/aircraft that are in-game for less than 2 minutes.

- Allows you to view the action over either the LW or RAF map (this also change fonts / colours / clock face etc..). This also localises height and speed, but ultimately is just a skin change on the same data. And a big thanks to Bonkin for these maps. They look awesome, he did all the hard work.

- Allows you to filter who gets tags (the cycle is: ALL, JUST FRIENDS, JUST PILOT IN FOCUS, JUST PILOT AND ENEMIES, JUST ENEMIES and back). Note in "Plot Last Position" mode this is ALL/JUST FRIENDS/JUST ENEMIES. Note also that FRIENDS is based on if you are viewing the plots over the RAF or LW map.

- Allows you to toggle Tag Verbosity between (Pilot Name, Aircraft Type, Height, Speed) and (Pilot Name).

- Allows you to toggle the map grid refs on / off.

- Allows you to Pause / Play the mission (by pressing the button).

- Allows you to change the playback speed from 1X up to 4X

- Allows you to scrub forward and backwards through the mission with the bottom slider (note that changing time will update the clock to show the correct mission time).

- Allows you to step through the data on a per-second basis (and here you will see you only get updates once every 3 seconds - this is a CLOD limitation, nothing I can do about it) by pressing LEFT SHIFT and moving your mouse wheel. Note that this will automatically pause playback.

- Allows you to orbit around the player of choice by pressing the middle mouse button and moving the mouse.

- Allows you to zoom into the player by using your mouse wheel (and not pressing shift).

- Allows you to zoom the game world with the red slider.

- Allows you to double click on any other player to make him (or her, I suppose, let's not be sexist!) the focus player. Although note that this will not re-apply the data filter so once your original player dies, you will no longer see updates for this new player. To see their whole track you need to select them in the filter.

- Allows you to "Plot Last Position" of all players by choosing that option button at the top of the pilot filter list. This shows you the last plot I had for all players and gives you free-roam around the map. Free-roam allows you to click and pan the map with left click, orbit around points with your middle mouse button and zoom in / out with your mouse wheel. If you middle mouse on a plot you will orbit around that - otherwise you will orbit around the map point. Note I know there are some issues with camera control if you end up under the table. I will try and fix these at some point, but in the interim ... don't go under the table.

- Allows you to change the tail length with the green slider.

Now some quick notes on the filter:

- Choosing "ALL" means we are rendering upwards of 80 odd markers (more if a mission has AI), with 60 trailing cylinders each, with dynamic lighting etc... So it will chug. If you choose "fastest" on launch as opposed to fantastic it's not too bad (but high speed scrubbing will still be laggy).
- Trying to change this on the fly will have bugger-all impact. You need to choose a focus pilot for it to kick in. There is a good reason for this - each aircraft, assuming they are up for an hour, generates 3600 data points. If we have a full server (and no AI) then we are getting an average of 80 players on each campaign night. When I do a filter for a single pilot I actually have to march through a matrix which is 80 by 3600 checking each point to see if it falls within filter range of the focus pilot at that point in time. If it does it gets added to the list of aircraft I will render, if not, it does not. Once I have iterated this matrix I have a list of non-focus pilots that I will render in the scene. The rest are ignored. If I had to do this filter every time you moved the slider incrementally the lag would be horrible. Also, let's say I did find a way a way of doing this (perhaps by caching), I still would have to go back and add the historic 50 step trace to all aircraft that were not previously rendered. So it is easier to only trigger the filter when you choose a new focus pilot, sending you back to time 00:00:00. Now there is a way around this, but it will require a bit of a rewrite - namely I render everything every frame, but then switch off the rendering for those aircraft that are not part of the filter - and also reduce the number of distance filters I will accept (say limit it to discrete 300m, 500m, 1000m and ALL). However, to get acceptable response I would still need to pre-calculate and cache 4 (discrete distances) * 80 (aircraft) along the full time pipline in order to allow you to swap between different aircraft and have dynamic distancing - something that I suspect will again make the whole interface seem laggy. So for the moment, it's on new pilot filter only.
- The purpose and philosophy behind GCV is to check an individual pilot's track - not a squadron's... :)

Hope this all makes sense,

D
Image

Post Reply