Hexkit

Hexkit is short for “hexagon game construction kit” – a construction kit for turn-based strategy games played on maps that are divided into squares or hexagons. Hexkit is © 2000–2012 by Christoph Nahr but available for free download under the MIT license.

The graphics tiles in the standard package are © 2000 by DeBray Bailey (used by permission). The original BMP files are available for download at Lost Dragon’s Den.

Overview

Hexkit is a complete framework to design and play turn-based strategy games on hexagon maps. Starting with version 3.5.0, maps of squares are supported as well. While many commercial games come with scenario editors, Hexkit offers far greater flexibility because scenario designers may customize not only the map layout and the participating factions and units, but also the map graphics and even the actual game rules.

Moreover, programmers may be interested in Hexkit because the MIT license allows for commercial and non-commercial code reuse. But even if your own project will not share any code with Hexkit, you might appreciate it as a testing framework for new game mechanics.

Please refer to the downloadable User’s Guide for a detailed feature list and other information.

Project Status

Hexkit is no longer under active development. The current version is reasonably solid and complete, so feel free to check it out anyway. However, I feel that putting further effort into this project is no longer worthwhile. First, consider the three broad genres of strategy games for which Hexkit might be suitable:

  1. Grand Strategy (4x) Games, exemplified by the “Roman Empire” demo scenario – Two words: Civilization IV (and now its sequel, Civilization V). An almost perfect grand strategy game, with brilliant game design, reasonably strong AI, tremendous production values – and moddable to boot. Attempting to compete with this juggernaut is hopeless, not to mention many other popular commercial products in this genre (Europa Universalis, Total War, Galactic Civilizations, Rise of Nations, etc.).
  2. Historical Tactical Warfare, exemplified by the Crécy and Poitiers demo scenarios – There is little competition in the field of pre-modern combat simulations, but sadly also little use for maps divided into hexagons (or squares). Ideally, we should precisely simulate the physical interaction of individual soldiers and formations, which is just not possible on a coarse grid. That leaves World War 2 and later, but those eras are so extensively covered by commercial wargames that I would rather avoid them.
  3. Original Strategy Games, very poorly exemplified by the “Troll Chess” demo scenario – Please download Hexkit and make one! Sadly, I’m not the creative game designer type of guy so I must leave this option to someone else…

There is another reason why Hexkit became a dead end: You must be a C# programmer to create anything worthwhile with Hexkit. As it turns out, most people who are into scenario design are not programmers, and you really cannot do very much with Hexkit unless you can write C# code on a fairly professional level.

I had originally intended to move all game rules from C# script files to the GUI editor, but now I doubt this is even possible for a truly universal game engine. At least, it would require far too much additional effort to stake on a vague hope. Hexkit also lacks certain desirable features such as mini-maps or unit actions other than attack/move, and while the implementation should be straightforward it still requires fluency in C# and WPF.

Aside from being a programmer, you also need to be an artist if your scenario requires any units or terrains that aren’t covered by the provided tile set – another big obstacle for hobbyists. Throughout the development of Hexkit, I was unable to find any tile sets that covered settings other than medieval fantasy dungeons (i. e. Roguelikes) with sufficient quality and without copyright restrictions. In retrospect, using bitmap art rather than abstract symbols was a mistake. The tile set allowed reasonably pretty demo scenarios but drastically limited the scope of possible scenario settings – a poor trade-off for a flexible game engine.

Meanwhile, I intend to pursue the study of historical tactical warfare with an entirely different game engine that allows an exact simulation of individual soldiers and entire formations, with real-world positioning and continuous movement. This is going to require lots of groundwork in computational geometry which will appear in ongoing Tektosyne releases.

System Requirements

Hexkit requires a Microsoft Windows system capable of running the Microsoft .NET Framework 4.0 Client Profile. This includes Windows XP SP3, Windows Vista SP1 or later, Windows 7, Windows Server 2003 SP2, and Windows Server 2008 & R2 with Internet Explorer 5.01 or later.

Further Information

Consult the following links for more information on Hexkit. Copies of the ReadMe and WhatsNew files are included with both download packages.

  • The ReadMe file contains the copyright notice, setup instructions, and technical details on the project.
  • The WhatsNew file contains the annotated version history of the project.
  • The Hexkit Images page shows a few sample screenshots of Hexkit Game and Hexkit Editor.

Download Files

The current Hexkit version is 4.3.1, released on 18 April 2012. Users should download the Binary Package. Developers may want to download the Source Package and Class Reference as well.

Both users and developers should download the User’s Guide and Scenario Manuals. These PDF documents are updated separately.

Binary Package

The current binary package is HexkitSetup.exe (2.40 MB). This is a self-installing archive created with Inno Setup. Simply execute it when the download is finished and select an empty installation directory, or the directory of a previous Hexkit version.

Starting the Programs. If you chose not to create any shortcuts during installation, double-click on Hexkit.Game.exe in the installation directory to start the game, and double-click on Hexkit.Editor.exe to start the scenario editor. Otherwise, just use the provided Start Menu and/or desktop shortcuts.

Note: You should first uninstall your current Hexkit version in the following cases, so that you won’t end up with orphaned files.

  • You are running a 64-bit version of Windows, and your current Hexkit version is older than 3.6.1a. The default installation folder was moved from “Program Files (x86)” to “Program Files” in that release. This does not apply to Itanium systems (if you don’t know what that is, you don’t have one).
  • Your current Hexkit version is older than 3.5.0. Several file names have changed in that release.

User’s Guide and Scenario Manuals

The current User’s Guide is HexkitGuide.pdf (1.82 MB). This guide describes fundamental concepts, gameplay procedures, scenario design issues, computer player algorithms, and so on. The current version is 2.8, released on 24 October 2010.

The only available scenario manual is CrecyGuide.pdf (534 KB) for the “Battle of Crécy” and “Battle of Poitiers” demo scenarios. Its current version is 2.0, released on 27 September 2009.

You need the free Adobe Reader to view or print these PDF documents.

Source Package

The current source package is HexkitSource.zip (3.25 MB). This is a standard ZIP archive containing subdirectories and long file names. Extract the contents to any directory of your liking.

You need Microsoft Visual Studio 2010 to load the included solution and project files, although you can also use the free Microsoft Windows SDK 7.1 for Windows 7 and .NET 4.0 to rebuild Hexkit. Both have the same system requirements as the .NET Framework 4.0 itself, but the Windows SDK also requires that you first install the full .NET Framework 4.0 – not just the Client Profile.

The current version of Hexkit includes version 5.6.2 of my Tektosyne library. The current Tektosyne version is also available as a separate download, but this is not required to run or compile Hexkit.

Class Reference

The current class reference is HexkitClasses.chm (15.7 MB). This file was created from XML source code comments using the free Sandcastle Help File Builder. To view the class reference, you need Microsoft’s HTML Help Viewer (which should be present on most systems).