[Release] Tyrant's Virtual Mission Tools (VMT)
-
Summary
Virtual Mission Tools (VMT) is a program for assisting mission planners and participants to better understand the situation, including views of friendly and enemy air forces and weather.
Screenshot
Motivation
I wrote VMT because I wanted a better way to view the overall situation in the missions I was flying. The Falcon 2D UI has a lot of great functionality, but I felt that having different visualizations of battlefield information could be helpful. I also wanted to be able to view information from my WeatherGen tool alongside things like flight paths and the disposition of enemy forces. Finally, I wanted to be able to share information about missions I was creating with other pilots in advance of the mission without having to distribute the mission itself, or have an instance of BMS running somewhere.
VMT is my ongoing effort to meet those needs. I and other members of the 1st VFW have been using it for several months in its earlier incarnations. It has now reached a point where I think it’s useful and stable enough to be distributed to the broader BMS community. I hope you find it useful.
Download and Installation
Current version: v058
The latest install can always be found here.
To install, simply download and unzip.
Status
VMT is something I use for every mission I create. I consider it stable and ready to go. That said, there are about a million features I’d like to add, and a few things that are obviously lacking. For instance, currently only airbases are displayed on the map. Display of ground forces is high on the list of things to be added in the near future.
Getting Started
VMT has a lot of features, so expect it to take a little while to figure them all out. Please ask questions here, but also note that VMT, like WeatherGen, has extensive in-app help. Clicking anything with a blue dotted underline or a blue question mark will pop up help for that feature.
To get going, download and unzip from the appropriate link above. Double-click VMT.exe, and when the app opens, click “Load Mission (.cam/.tac)” and select a mission from your Falcon install. Begin exploring!
All VMT Tutorial Videos
https://www.youtube.com/playlist?list=PL38Y5xS3fngEkAdUx5AZqU4ZfEWlploq_
FAQ
Q: Where should I ask questions?
A: Right here in this thread.Q: Does VMT support 4.34?
A: Not yet. Now that 4.34 is out, I will be working frantically to support it, and I hope to have it ready before too long, but there are lots of file format changes that I will need to address, and I have to fit it in around family/work/etc., so I expect it will take me a little while. Go play with all the awesome new stuff while you wait!Q: How does this relate to WeatherGen?
A: It replaces WeatherGen. It has all of the features of WeatherGen, and many more. It is not however, a web app. WeatherGen will continue to work, but no new features will be added to it.Q: Doesn’t this do the same thing as Mission Commander?
A: Definitely not. For one thing Mission Commander can edit missions - VMT (currently) cannot. Mission Commander is a great tool for mission planners, but I wanted something that both mission planners and mission participants could use visualize the virtual battlefield.* Change Log ** v058 [2018-09-18 Tue] - Fix typos in download page. - Build Linux version as well - Change logo to 440th VFW's - Fix various formatting problems - Fix incorrect label on annotations copy button - Improved map sizing and positioning: controls will never move below map. Instead, map gets smaller if necessary to accommodate controls when resizing window. - Titlebar of map is collapsible to increase usable space. - Tab names now remain visible even when scrolling content. - Fixed width of dropdowns in annotation controls. - Implemented "Save map image as PNG" - Fixed intermittent bug where things wouldn't render right sometimes - Flights can be opened in their own tabs - Fix (again) high CPU when app is idle - Flight colors and check state are now saved with briefing ** v057 [2018-02-01 Thu] - Add missing help text ** v056 [2018-01-28 Sun] - Annotations! - Add arrows, text, shapes, and lines to a map and save them with a briefing - Can now save modified briefing when viewing a briefing - Fix bug where dragging off the map makes things jump around - Reverse use of triangles/circles in waypoints to match BMS - Include download link in update notifications. ** v055 [2017-12-26 Tue] - Fix bug where sorting was broken on flights page. - Fix bug where flight color selection was not working. - Fix occasional runaway CPU utilization. ** v054 [2017-12-22 Fri] - Fix minor bug where "VMT Settings" text was showing when it shouldn't. ** v053 [2017-12-21 Thu] - Add ability to have VMT automatically check for updated versions of itself. - Fix problem where web links were opening in the app instead of in a browser. ** v052 [2017-12-18 Mon] - Major speedup in mission and briefing loading. - Add checkbox in map controls section allowing show/hide of borders of wind stability areas. - Wind stability areas and weather override regions are automatically placed in edit mode when created. - Fix bug introduced in v051 where squadrons weren't showing up for carriers and army bases. - Fix bug where weather override edit button wasn't displaying correctly when editing. ** v051 [2017-12-16 Sat] - Handle [[https://www.benchmarksims.org/forum/showthread.php?31611-Release-Tyrant-s-Virtual-Mission-Tools-(VMT)&p=449550&viewfull=1#post449550][weird Balkans bad index bug]]. - Report warning when squadrons have no airbase - Handle problem with improper handling of time in briefing files. ** v050 [2017-11-18 Sat] - Fix bug handling consecutive steerpoints with the same time - Fix bug where briefing wouldn't load due to nil time somewhere. ** v049 [2017-10-15 Sun] - Fix bug where install ID was saved incorrectly in briefing files. - Save version of VMT used to create briefing files; warn on load if a different version of VMT is being used. ** v048 [2017-09-30 Sat] - Briefing notes: a simple (for now) text box where mission designers can put notes to be displayed when the briefing file is opened. - Display version number in the title bar. - Improved loading progress display: organized hierarchically, supports displaying warnings. - Allow mission creator to choose BMS version when multiple versions are installed and pointing to the same directory. - Bugfix: warn, don't crash, when a theater is in the theater list but no .tdf can be found. - Bugfix: fix excessive CPU utilization when loading multiple missions ** v047 [2017-08-25 Fri] - Use correct flags for teams. - Fix errors loading related to objective names. - Error when reading the last string in the strings file. - Error when reading the objective name of a carrier objective. ** v045 - Initial public release
-
Dear Tyrant,
on my little own (I’m not an expert flyer, definitively) this last yours is stunning!
So thanks a lot for having released and shared it.With best compliments and regards,
-
Thank you Tyrant for your hard work and sharing it with the community. I’ll most certainly introduce our VFW to your creation!
All the best, Uwe
-
Awesome work! This will save a lot of time when preparing summaries of our BMS events. Thanks Tyrant!
-
Awesome work! This will save a lot of time when preparing summaries of our BMS events. Thanks Tyrant!
That’s definitely the intent. I still need to get some tutorials together, but the basic flow when flying with others is:
- Load the mission.
- Save the briefing file (<missionname>.vmtb)
- Distribute the briefing file to others.
They will be able to open it and see what you have allowed them to see, without having to connect to a running BMS.
It’s somewhat rudimentary at this point, but we have found it helpful at the 1st VFW, both for distributing information and for doing planning, as it makes it much easier (IMO) to see the disposition of enemy air forces, and therefore to adjust or edit the mission.</missionname>
-
…distributing information and for doing planning, as it makes it much easier (IMO) to see the disposition of enemy air forces, and therefore to adjust or edit the mission.
It will also be useful for our events on game day. Normally, we assign a package leader who is expected to review and summarize the mission intent, weather, threats, and flight timings. Your tool makes that job easier, especially the air bases summary.
I know you want to add ground targets (like SAMs and AAA). But this is already great in its current form. The flight summary page is nice and clean and the ability to select flights and to alter the flight path line thickness is very cool.
A few feature ideas to go with those already in your brain:
- Allow the user to make portions of the flight paths transparent. For example, you may want the return leg of the flights to be transparent to reduce clutter on the attack brief, but then make the ingress leg transparent and the return path visible to brief egress plans.
- Show the flight names on the flight paths.
- Create a FLOT overlay.
Again, great work!
-
Excellent: thanks for the feedback, especially the suggestions. Very useful to me know what people would like to see. I can’t promise any sort of timeline on feature requests (the backlog is already huge, and this is a spare time project that has already taken me hundreds of (mostly entertaining) hours) but it’s definitely more likely something will be included when I hear that someone wants to use it. The fact that you included how you’re using the tool in your group is especially helpful - the “why” is at least as useful as the “what”.
As an additional note, while we have been using VMT at the 1st, I expect that as more people use it we’ll run across bugs related to scenarios and theaters it’s never been used on. Please report them here - I put a high priority on fixing bugs. Hopefully we’ll quickly smash the common ones and get to an even more stable state shortly.
In other words: please be a little forgiving for the next little while.
-
First thanx… looks great though I didn’t actually got what is it for…
First try I get this:
✗Setting up to load missionHide error details
TypeError: Cannot read property ‘replace’ of null
at clojure.string.replace (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:3312:71)
at weathergen.filesystem.normalize (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:5979:177)
at Function.weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:5981:186)
at weathergen.filesystem.path_combine (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:5980:196)
at Function.weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6686:132)
at weathergen.falcon.files.mission.campaign_dir (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6684:319)
at weathergen.falcon.files.mission.read_mission (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6722:362)
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:9957:187
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:9957:243
at weathergen.ui.load_mission (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:9958:277)when I load a mission.
And this on a Korea mission:
✓Setting up to load mission
✓Reading mission files fromC:\Falcon BMS 4.33 U1\Data\Campaign\Save-BMS5-002 Long Travel.tac
✓Reading victory conditions
✓Reading campaign info
✓Reading objective deltas
✓Reading units
✓Reading teams
✓Reading events
✓Reading pilots
✓Reading persistent objects
✓Reading primary objectives
✓Reading version
✓Reading scenario file: te_new.tac
✓Reading victory conditions
✓Reading campaign info
✓Reading objectives
✓Reading objective deltas
✓Reading units
✓Reading teams
✓Reading events
✓Reading pilots
✓Reading persistent objects
✓Reading weather✓Reading version
✗Preparing viewsHide error detailsError: No item 3739 in vector of length 1666
at Object.cljs.core.vector_index_out_of_bounds (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:2248:58)
at Object.cljs.core.array_for (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:2249:279)
at cljs.core.PersistentVector.cljs$core$IIndexed$_nth$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:2262:154)
at Function.cljs.core.nth.cljs$core$IFn$_invoke$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1658:273)
at cljs.core.nth (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1657:154)
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6641:17
at weathergen.falcon.files.mission.objective_name (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6606:225)
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:10773:102
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1741:389
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1736:275 -
First thanx… looks great though I didn’t actually got what is it for…
Yeah, I haven’t done a good job of really explaining the point. Hoping to do more on that front soonish via tutorial videos. Seeing it in action I think will help. But in short, the idea is to provide better visualizations of the battlefield that what is available in the BMS 2D map. For instance, I find it somewhat tedious to click through the OOB to look up what squadrons are at what airbase - VMT is intended to make understanding the battlefield situation considerably easier. It’s definitely not all the way there, but based on the fact that a few of us already use it on every mission in preference (and in addition) to the 2D UI I think it’s a reasonable start. Your mileage may vary: interested in hearing what you think.
First try I get this:
✗Setting up to load missionHide error details
TypeError: Cannot read property ‘replace’ of null
at clojure.string.replace (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:3312:71)
at weathergen.filesystem.normalize (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:5979:177)
at Function.weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:5981:186)
at weathergen.filesystem.path_combine (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:5980:196)
at Function.weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6686:132)
at weathergen.falcon.files.mission.campaign_dir (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6684:319)
at weathergen.falcon.files.mission.read_mission (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6722:362)
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:9957:187
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:9957:243
at weathergen.ui.load_mission (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:9958:277)when I load a mission.
Hmm. That sucks. A few questions:
- Can you provide any information on what mission you’re trying to load? In particular, which theater?
- Is it a TE or a CAM?
- Is Falcon installed on the machine where you’re trying this?
- Does this happen with every mission you try?
- If possible, can you PM me the problematic mission so I can try to reproduce the problem here?
-
And this on a Korea mission:
✓Setting up to load mission
✓Reading mission files fromC:\Falcon BMS 4.33 U1\Data\Campaign\Save-BMS5-002 Long Travel.tac
✓Reading victory conditions
✓Reading campaign info
✓Reading objective deltas
✓Reading units
✓Reading teams
✓Reading events
✓Reading pilots
✓Reading persistent objects
✓Reading primary objectives
✓Reading version
✓Reading scenario file: te_new.tac
✓Reading victory conditions
✓Reading campaign info
✓Reading objectives
✓Reading objective deltas
✓Reading units
✓Reading teams
✓Reading events
✓Reading pilots
✓Reading persistent objects
✓Reading weather✓Reading version
✗Preparing viewsHide error detailsError: No item 3739 in vector of length 1666
at Object.cljs.core.vector_index_out_of_bounds (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:2248:58)
at Object.cljs.core.array_for (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:2249:279)
at cljs.core.PersistentVector.cljs$core$IIndexed$_nth$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:2262:154)
at Function.cljs.core.nth.cljs$core$IFn$_invoke$arity$2 (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1658:273)
at cljs.core.nth (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1657:154)
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6641:17
at weathergen.falcon.files.mission.objective_name (file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:6606:225)
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:10773:102
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1741:389
at file:///C:/VMT-win32-x64-v045/resources/app/mission.html.js:1736:275Just saw this update.
That one is a bug I just found and fixed - will be posting a fix for it before too long. Just need to test it a bit more. Has to do with some of the weirdness around carriers that I wasn’t taking into account.
-
Great program Tyrant!
We are flying human vs human in a regular basis, so we make a TE with all items, send it to each side with the enemy flights deleted, so each side can edit their own flights and then we mix it all again to have the final TE. Could you add to VMT the capability to see just one side ( red/blue) flights, blocking the enemy side? So that way we could send red side the same file, but with blue flights visibility blocked.
Daisan
-
Great program Tyrant!
We are flying human vs human in a regular basis, so we make a TE with all items, send it to each side with the enemy flights deleted, so each side can edit their own flights and then we mix it all again to have the final TE. Could you add to VMT the capability to see just one side ( red/blue) flights, blocking the enemy side? So that way we could send red side the same file, but with blue flights visibility blocked.
Daisan
That’s already implemented:
Whichever boxes you check will limit visibility of flights to only that team. Just save two briefing files and send those out.
Note that everyone can see squadron strength at all airbases, because that’s visible in the 2D UI, and so not a secret.
-
That’s already implemented:
Whichever boxes you check will limit visibility of flights to only that team. Just save two briefing files and send those out.
Note that everyone can see squadron strength at all airbases, because that’s visible in the 2D UI, and so not a secret.
Excellent! Great one!
Enviado desde mi GT-I9195I mediante Tapatalk
-
M8 if u add and web whiteboard this could become the ultimate briefing tool.
Then u should do and a debriefing one.Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
-
M8 if u add and web whiteboard this could become the ultimate briefing tool.
That is in the (very) long-term plan, yes. But as I’m sure you can imagine it is fairly complicated, so I don’t expect this to happen any time soon. Agree, though: would be very cool.
Then u should do and a debriefing one.
I doubt I can top what TacView has to offer here. Certainly, ACMI would have to be integral, and Vrytuoz has a really nice piece of kit for that. It’s a bit off-topic, but briefly, what features does it lack that you think another debriefing tool would bring to the table?
-
First off free of price.
Second BMS specific.Third possibility for closer BMS Dev team cooperation for the future, something I believe Virtuoz can never have cause his tool is payware.
Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
-
First off free of price.
Second BMS specific.Third possibility for closer BMS Dev team cooperation for the future, something I believe Virtuoz can never have cause his tool is payware.
Thanks: understand all. FYI I have no plans to develop a debriefing tool.
-
[emoji24]
Στάλθηκε από το MI 5 μου χρησιμοποιώντας Tapatalk
-
Your AWS bandwidth seems to have been throttled (don’t you love the cloud? :)), please let me know if I can help with mirroring / hosting VMT in any way.
All the best, Uwe
-
Your AWS bandwidth seems to have been throttled (don’t you love the cloud? :)), please let me know if I can help with mirroring / hosting VMT in any way.
All the best, Uwe
Thanks, but I’m not seeing that here. What makes you think it’s being throttled?
I’m actually located in Northern Virginia, likely only a few dozen miles from the AWS datacenter, and I’m not using CloudFront, so I imagine elsewhere in the world the transfer might be a bit slower, but it should still be very good.
I’d prefer to keep distribution in one place if possible, so let’s see if we can’t figure out what’s going on. If mirroring would help I’m open to that.