Module:Downtown: Air War Over Hanoi, 1965 - 1972

From Vassal
Publisher GMT Games Era Modern Warfare
Year 2004 Topic Vietnam War
Players 1 to 2 Scale Operational
Length Long


Filename Filetype Size Date Compatibility
downtown-3-14.vmod Module 5.19 MB 2011-03-06 3.14
downtown-3-13.vmod Module 5.18 MB unknown 3.13
downtown-3-12.vmod Module 5.17 MB unknown 3.12
downtown_3_07.vmod Module 4.66 MB unknown 3.07
2.99 Downtown v2.99l 3.44 MB unknown unknown
Downtown-2-99l.vmod Downtown v2.99l 3.52 MB unknown unknown
downtown-tutorial.vlog Tutorial 11 KB unknown unknown
E3.00 beta 1
Downtown_ve300(beta1)(an alternative module).zip Alternative Module (Broken) 7.67 MB unknown unknown

Module Information

Maintainer TeTeT
Contributors E


The module, based on Antonio Pinar's release 1.11 from Airbattles, is currently finished.

The latest stable Downtown module is 3.1.14. The only difference to 3.1.13 is that waypoints are completely invisible again. For VASSAL 2 you find older version of the module as well. For VASSAL 2 additional Java code was developed to improve solitaire playability. This was dropped with the 3 series of Downtown.

Please check below for details and for the latest version. You can also use the wiki to follow the development of the modules and place suggestions and wishes.


  • Flights contain altitude information
    • Either abbreviated (D,L,M,H) or written out.
    • Use Climb and Descend to change it or ctrl-e and ctrl-d
  • Movement Trails
    • DRV and US Flights may use movement trails, great for monitoring flight
    • By default disabled, use ctrl-t
  • Hidden Combat Markers
    • Use the hide command to make the combat markers transparent
  • Percentage Die
    • Rolls now a value from 0 to 99
  • Initiative Die
    • Same functionality as draw from stack, but easier to use
  • Combined Flights
    • A single counter can now be used as generic marker as well
    • Use Generic or ctrl-g to switch besides generic and visually identified sides
  • Target marking
    • Mark targets on SAMs and Acquisition markers
  • Flight Logs
    • Flight logs now hold a line for kills and one for mission type (US)


Use this instead of the original Downtown module from [1] to improve solitaire playing suitability. If you have problems using or find bugs please send mail to downtown AT NOSPAM

    • Map
      • Added hotkey CTRL-SHFT-R for LOS tool
      • Added hotkey CTRL-SHFT-H for hide pieces on map
      • Added map snapshot with hotkey CTRL-SHFT-P
      • Changed Mouse-over Stack Viewer on Map to show pieces in all layers and zoom by 30%
    • Changed Fingers hotkey for hiding to CTRL-H
    • Changed order in markers menu
    • Changed graphic for Damaged Marker for SAM and Fire Can
    • Splitted damaged counter to SAM and Fire Can
    • New menu Markers->Electronic Warfare, populated with counters from Air Combat
    • Renamed Altitude counters
    • Renamed Clouds counters
    • Added turn label to Game Turn
    • Changed Layers to Ground, Air, and Marker
    • Changed single plane flights to show marker in Generic mode
    • Changed CTRL-E for Edit Label back to CTRL-L
    • Changed 2d10 to report 10 instead of 0
  • Downtown v2-99i
    • Changes to Turn Trackers
      • Changed hotkeys for pre raid and during raid phases to ctrl-f1 and ctrl-f2
      • Renamed 'During Raid' to 'Raid'
    • Added Last Move Highlighter to Map
    • Added Hotkeys for range (shift-ctrl-r) and hide (shift-ctrl-h) on map
    • Removed Trigger in control and delete prototype
    • Changed Generic ID and Generic Layer order
    • Removed depreceated 'Hide' button
  • Downtown v2-99h
      • Changed hotkey for zoom on map to ctrl-shift-[Z/X]
      • Fixed items broken by 2.99g
    • Downtown v2-99g
      • Changed hotkey for zoom on map to ctrl-shift-[-=]
      • Changed hotkey for climb back to ctrl-e
      • Changed hotkey for clone and delete back to ctrl-c and ctrl-x
      • Changed hotkey for Flight Logs to ctrl-p
      • Changed hotkey for label to ctrl-l in flights and fire can
      • Added label for SAMs (ctrl-l)
      • Added ctrl-shift-[a|s] to sideway turn menu
      • Added shift-[a|s] to hexside turn menu
      • Changed reports for climbing and turning
      • Converted Inventories for US and DRV
          • Added marker side
          • Added generic to marker type
          • Changed order from State/Type to Type/State
          • Added plane to markers
          • TODO still need to convert type to plane for US flights
          • TODO add service (USN|USAF|Generic) as type
      • Added Targets as inventory
      • Fixed broken US generic counters
      • Added altitude to marker reports (as suffix for the layer)
      • Changed filenames
  • Downtown v2-99f
      • Added oh-so-missing DRV logsheet.
      • Minor alignment tweaks to US logsheets.
  • Downtown v2-99e
    • Menu Commands standardized & (hopefully) made more logical.
    • Hexside turns added.
    • USAF & USN logsheets upgraded to allow erasing/resetting all fields at once.
    • Automatic DRV Check when moving added for Solo player.
    • Massive underlaying re-organization to primarily allow #1 above, causing a high (typo-induced) bug or omission potential. So much so, I'd almost call this a wide beta.
    • Built-in help added. It's minimal but is highly recommended reading! It points out some of the non-obvious commands, as well as highlights at least one feature that Solitaire players may've overlooked and/or not understood.
    • Visual dice & visual initiative chit pulls added to toolbar.
    • There will be at _least_ one more version.
    • New icons for menus
    • Consistent hotkeys
    • Flight Log Sheets as in the boardgame are available (user [enter] to edit)
      • Be aware that these sheets are not connected to the counters flight log!
    • PDF Charts are available in game
    • Added Inventory trait
      • Overview of available flights are displayed as tree
      • Centers on selected flight
      • Multiple selected flights fly straight on apply
      • Tree layout is customizable
    • Support for turning on hexsides
      • shift-s and shift-a move the flight sideways
  • Downtown v2.7
    • Corrected permissions for deleting and cloning DRV defenses
    • Added turn tracker for pre raid and raid phases
    • Added damaged and crippled rows to property sheets for flights
    • Added Inventory trait for US and DRV
    • Added type marker for all combat counters
    • Added dynamic properties (ctrl-v)
      • Mission for US flights
      • Dummy or Real for DRV flights and SAMs
    • Changed invisibility to sides
      • Removed Hide invisibility custom code
  • Downtown v2.6.1
    • Changed label color for air combat markers to black
    • Moved marked moved trait to top so it turns when turning the flight
  • Downtown v2.6
    • Removed does not stack trait for Attacks and Damaged marker
      • Some Attack Success markers tended to disappear, hopefully fixed by this
    • Removed label on Game Turn marker (ctrl-s)
      • This fixes the null pointer exception
    • Electronic Warfare flights have trait to mask their silhouette (ctrl-u)
      • Needed to make the single airplane counters compatible with generic counters (ctrl-g)
    • SAMs
      • SAMs and SAM Warning markers now use prototypes
      • Launch markers can be deleted again
      • SAMs report on launch in the message window
      • New colour for SAM target label
      • SAMs and Acquistion marker now hold the target as well as their own id
          • 'Change target' or (ctrl-t) can be used to store the current target
    • MiG-21 layers have been corrected (were all Van Cuong)
    • Correction to flights
      • Changed order of traits in all US flights to give 'flip' command to DRV player
      • Fixed layer ordering with US flights
      • Corrected US EW flights
      • Changed and corrected US CSAR flights to use CSAR prototype
      • Corrected DRV flights to work when using generic and flipping sides
    • Removed Restricted Access
      • Both players may see and move their opponents flights. Use the Honour System or keep information in private windows
    • Removed stacking system
      • US Flights got stuck on DRV ground defense units in log replays and online games
  • Downtown v2.5
    • Game turn marker now holds a property sheet with scenario information
      • ctrl-s on game turn markers shows it
    • Acquisition and Standoff markers may now move and turn
    • Change of Acquisition markers
      • ctrl-s adds a small image of the counter
      • this image is visible when the counter is stacked below a flight
      • Acquisition markers can now be 'transported' by flights
    • ECM Flights may now place jam markers
      • ctrl-j places standoff marker for ECM flights
      • ctrl-j on standoff markers toggles between spot and standoff jam
    • Stacking changes
      • Added three stack levels to map: Ground, Air and DRV Air
      • DRV ground defense are on the ground
      • US Flights, Jamming and Acquisition markers are in the air
      • DRV Flights are in DRV air, so don't stack with US Flights
      • DRV ground defense may stack
      • Fire Can counter is smaller than AAA now
    • Cleanup
      • Deleted no longer needed prototypes
    • Flight Pool
      • Removed extra set of markers from the flight pool
      • Use the pieces box and clone if necessary
    • Area of Effects
      • DRV ground uses now the map shading trait for displaying the range
      • 1 for AAA, 2 for Fire Can, 5 for SAM
  • Downtown v2.3
    • 'Hot Areas' button to see ranges of AAA and FireCans
    • Waypoints
      • embedded information (numbering and altitude)
      • color code for mission (none, strike, recon, other)
    • Hide Pieces button for map
    • Move Fixed Distance trait for flights don't have to be dragged around
    • Replace Initiative Chit with Symbolic Die
    • Add Open Airfield marker
    • New US Force Planning board with areas for pre, main and post raid forces
  • Downtown v2.2.3
    • Bug fix for counters made generic - the mask trait removed the gamepiece in multiplayer games
    • Bug fix for US movement trails - there were none
  • Downtown v2.2.2
    • Bug fix for US initiative pool (only Initiative 1 chits)
    • Update for Downtown v2.2 to v2.2.2
      • Install with java -jar updateDowntownVASSALModule_v2.2_to_v2.2.2.jar in the same directory as your downtown module
    • Update for Downtown v2.2.1 to v2.2.2
      • Install with java -jar updateDowntownVASSALModule_v2.2.1_to_v2.2.2.jar in the same directory as your downtown module
  • Downtown v2.2.1
    • Bug fix for Deck altitude prototype for non generic flights
    • Update for Downtown v2.2 to v2.2.1
      • Install with java -jar updateDowntownVASSALModule_v2.2_to_v2.2.1.jar in the same directory as your downtown module
  • Downtown v2.2
    • Initiative counters are now drawn hidden and need to be flipped
    • Flights can be made generic
      • only the detection marker (questionmarker or spade, diamonds and hearts) and height stays visible
      • use the Text Label to hold the generic markers id (100, 101, etc)
    • Changes to SAMs
      • can be set up hidden
      • SAM Warning counters can now be flipped to SAM (ctrl-f)
    • Stacked counters are now viewed when the mouse stays over them for some 0.7 seconds
  • Downtown v2.1
    • Adds movement trails
    • Adds transparent combat marker
    • Bug fixes, only generic US counters could do DRV detection
  • Downtown v2.0
    • Adds hidden DRV
    • Adds altitude information on flight counter

Examples and Reports


    • A game summary including player comments on YOU KEEP ME HANGIN ON using a development version of 2.6.

V2.6 Example:

V2.1 Examples:

V2.0 Example:


The custom buttons and traits source code. It largely follows the programming tutorial and hints and tipps from Rodney and Brent on the mailing list.

The code is published under the GNU Lesser General Public License.

How to use

The idea is to save several possible DRV ground defenses for a scenario to have a collection. To play the scenario simply select one randomly and enjoy the uncertainty where the AAA really is... Please check the included help file for more information.


  1. Add loaded status to US flights
  2. Remove unneeded graphics from module
  3. Code a DRV flight autopilot :)


  • The range isn't properly calculated when the flight sits on some hex edges
  • Fixed in Vassal 2.6: Empty property sheet tickers are restored to full when loading a saved game or log file
    • Use the notes windows to remember it's empty or set the tick max value to 0
  • Fixed in Vassal 2.6: Scenario Settings on the game turn marker don't work with a label
  • Fixed in Vassal 2.6: Marked moved status is lost when using the moved fixed distance trait and logging

Game Summary for Downtown Scenario D3: YOU KEEP ME HANGIN ON

In January Sébastien contacted me (Torsten) as he found some errors in the modified Downtown module. He was courageous and agreed on testing the new module version 2.6 in a PBEM game. We decided to go for the D3 scenario and set up a game with me as DRV and Sébastien took the US side.

Prior to the Raid


The scenario specific rules ask for a decision to have a SAM or MiG day and only either system may be used. So I decide to spread out the ground defenses to protect all possible targets. The SAMs are setup in the area between Hanoi and Haiphong. The forward target at Co Trai is protected by AAA and Fire Cans. The picture SAM Defense shows the effective range of the SAM batteries with 5 red colored hexes around each:

As I only get minimal warning of the incoming raid I decide to go for a SAM day and keep the MiGs in the hangars.


As it was both my first full-scale raid scenario and first Downtown PBEM game, I decided to have an easily-manageable raid force. My target was randomly determined to be the Bac Giang POL storage site which gives me the choice of either an USAF or USN raid, so I pick an USN mission for USS Oriskany. The raid force consists entirely in F-8 (CAP, Armed Escort and Recon) and A-4 (SEAD, Bombing) flights plus two EA-1F with a single EF-10 USMC reinforcement as my Jamming mission. The route was plotted on the map with Torsten's special planning counters (great tool!) that are, of course, invisible to the DRV player, just like his hidden SAMs/AAA are to me. I chose blue arrow 7 as my ingress/egress hex, from there the plotted flightpath went halfway between Haiphong and Hanoi to stay as far away as possible from expected SAM concentrations. The Jamming flights will enter the map (as opposed to jamming from off-board), there is little choice with those early ECM aircraft since their jamming power is weak and you really have to get them close to the threats to be effective. As the Electric Spads fly very slowly, they were given a good head start, entry of the pre-raid and main raid forces is spread out from turn 1 to turn 4, and the two RF-8 will enter on turn 9, exactly 5 minutes after the last bombing flight which is the minimal delay to recon a target after it's been struck (time for the smoke and dust to dissipate). At this point, I was thinking Torsten would pick a MiG Day, to get more interaction. OTOH, given the sheer number of SAM sites allocated by the scenario, SAM/AAA-only is also a tempting option.

During the Raid

We finished the game in 20 turns and in six weeks of real time we exchanged more than fifty logfiles.


After the first US flights enter undetected my radars have a busy time. The US approaches Haiphong over land but close to the coastline. As Haiphong is well defended by SAMs, Fire Cans and AAA I feel confident. Once the first flights enter the extreme range of my forward SAM batteries missiles are launched. Some US planes had to evade, but the first real damage was dealt ouy by AAA when a jamming flight came entered a barrage area. By this time it is clear that this is a raid by the Navy. After some time the bombing flights form and take a route more in land. This leaves me boggling which target they want to strike, it probably will not be Haiphong. After some advance towards Haiphong they head towards Hanoi and I decide to empty the SAM batteries missile depots around Haiphong on the departing Iron Hand and Jamming flights. Eventually it becomes clear that the Bac Giang POL storage might be the target. See the image that shows the situation at turn 10. Iron Hand flights are busy attacking the SAM batteries at Kep and Bac Ninh while the bombers fly in a long line.

The remaining SAMs at Hanoi and in land from Haiphong launch missile after missile at the flights and force some strike flights to jettison their bomb load. However one flight makes it safely to the target and scores a direct hit. After their bomb run the Skyhawks turn towards Hanoi and the Iron Hand flights cover their departure by attacking air defense close to the city. See the next image that shows the situation around the target at turn 14.

In the battle between SAMs and Iron Hands two batteries are destroyed and no damage is done to US flights. After a short while the recon flight arrives and is forced to evade just before Bac Giang. Turning towards Kep it gets under fire from the airfields FlaK but in the end it completes its photo run.


I got a good result on the Early Warning roll, so it took time for the DRV defenses to wake up. MiGs scrambled and SAM lit up, I waited a few turns to make sure it's a SAM day, then aborted all my CAP assets. I played with the idea of leaving a couple of CAP flights on the map loitering at the extreme range of SAM batteries to draw off some fire while the bombers fly by, then I decided it wasn't worth the risk, so all the CAP F-8s quickly exit (it maynot have been entirely historically accurate to have CAP depart before the raid is over, so let's assume they're orbiting right off the map edge :). One of the EA-1s was damaged by a lucky AAA hit and aborted - a bad start! Many SAM launches from Haiphong were observed, most of them at the Iron Hand aircraft, forcing several avoidance and jettison results. One of the Armed Escort F-8 flights (loaded with CBU) aborted, fortunately the A-4s could retaintheir Shrike loadout even after jettisonning. I didn't expect much from the Shrike (especially as most of my launches were lofted, further reducing hit probability) but actually it did its job, with Torsten shutting up one or more SAMs every time I launched. As the bombing flights approached their target, they spread out and the lead flight accelerated to suppress AAA in the target area with CBUs. I managed to score a suppression 3 on the printed AAA in Bac Giang. It should have been a milk run for the bombers! Unfortunately, I did my suppression attack a minute too early and the DRV gunners rallied almost instantly, as the bombing A-4s were approaching their IP... The remaining Armed Escort F-8 flight, which had already turned south towards Hanoi to cover the egress, was called back to the rescue and made a follow-on CBU pass on Bac Giang, suppressing AAA at level 1. Out of 3 bombing flights, only one managed to strike the target as Torsten's sustained SAM launches and AAA barrage forced the other to evade. Fortunately, it was an Attack Success 4 for the successful run, and no one had been shot down yet, although a single Iron Hand A-4 was crippled by AAA while attacking one the SAM batteries west of Hanoi, one of which is destroyed by a CBU attack. As the bombers started turning south on their egress path, Sheepdog (the two Armed Escort Crusaders, now out of ordnance) decided to make an impromptu strafing pass at the Bac Ninh SAM site. Dodging AAA shells, the two F-8s destroyed the SA-2 with cannon fire, looking good doing it - they didn't even deplete their guns! The Last of the Gunfighters earned its title again, this time in the air-to-ground field :). Nevertheless, SAMs kept on launching until the end of the raid, even denying the two RF-8 a first BDA run. The recon aircraft evaded, turned around and came back at the target on the return leg, undisturbed this time as most sites were depleted. Shortly after successful BDA we called it a game, as theegressing flights still on the map were already out of SAM range and above AAA reach.


The game ended in an inconclusive operation with the following victory points:

  1. DRV gets 2 VP for an A-4 that failed to recover
  2. USA gets 4 VP for two destroyed SAMs
  3. USA gets 5 VP for heavily damaged target


A very interesting and good game! I fired over 30 missiles and only got SAM avoidance through. Which was good enough to strip most of the strike flights bombs. The AAA did physical damage to some flights and gets credit for the lost US plane. With only one damage marker on the target the result could have swayed even more in favor for the DRV.


It turned out that the crippled Iron Hand A-4 didn't make it back to Yankee Station, but with two destroyed SAM sites and maximum attack success, I was pretty confident that victory was mine. With a 4 attack success it's hard to roll anything but a Destroyed result... Unless you're like me, out of luck after evading dozens of SAMs and AAA shots : I managed to roll a Heavy Damage only, resulting in an inconclusive operation. Well, that's what the Brass in Washington say, as a USN mission commander I'm pretty satisfied of my raid :) An exciting game overall, even without MiGs, and it played exceptionnally fast as compared to my previous air power boardgames PBEM experiences. Torsten and I have already agreed on a follow-on game, this I'm playing the DRV, that means there will be MiGs, and hopefully Phantoms falling out of the skies :)

Thanks to Torsten for the Enhanced Downtown module, to Antonio for the original module, and to Lee for the original game.

Screen Shots


  • czmielon
  • TeTeT
  • xconifer
  • Alberto
  • stevecq
  • Tarsyk
  • Toadkillerdog
  • sprydle
  • ahickey
  • E
  • pmiranda
  • ricmadeira
  • Gus
  • DRZ
  • jjtaylor37
  • sedecula
  • Toadkillerdog
  • LukeSineath
  • akuusi
  • asdnart
  • LordJesse
  • Volko
  • jonbryon
  • MiracleMike
  • CBRMichael
  • pupikiza
  • netWilk
  • BugDany
  • Gevalle
  • pupikiza
  • lchmelsky
  • dbeaver
  • esparver73
  • daxelos
  • dbeaver
  • Panther11