Welcome

Highfleet cogitator, created by jodavaho and Altho, is a free tool hosted on htop.jodavaho.io for the game Highfleet. Highfleet (koshutin.com) is a game by Konstantin Koshutin, of Hammerflight fame, and he owns the trademark and copyrights. It is also available on Steam.

This site allows you to:

  • Upload ship files for sharing via a permanent link. Please add these links to your r/highfleet posts! (See Shipyard)
  • Organize your uploaded ships into collections that can also be shared (also in Shipyard)
  • Optimize loadouts for ships in Highfleet (See Optimizer)

Setup

First, you’ll need to create an account. This is free, and only requires an email and password. We do not use your email for anything except resetting passwords, and do not share it with anyone. It is not mandatory that you use a "real" email - you might be interested in firefox relay.

Shipyard

Once you've created an account, you can upload ship .seria files on the left.

  • Click on Upload to open the file browser.
  • Select the file you want to upload.
  • After a short delay, the ship will be available for sharing in Shipyard.
  • However over any ship to expose the public link.

During the short delay, we parse the .seria file to make sure it is loadable in Highfleet. If your ship does not appear after a few minutes, it may be corrupted. You can try again, or feel free to reach out if something isn't working.

Collection

You can make collections of ships in the shipyard as well.

  • Click on Add Collection to create a new collection.
  • Click on the ship and then the collection to add it.
  • Click again on ship to "de-select" it. To share a collection, set it to public via the toggle. The collection link is the (?)

Optimizer

The optimizer or Cogitator will "fill in" an incomplete list of modules that will match your desired in-game stats, while minimizing cost. A few examples of how I use it:

  • I have a number of weapons and sensor that I’d like to include, but don’t know the best set of engines and support modules to optimally include them. I would select those weapons and sensors, then choose the desired mininum range, speed, and so on. The optimizer will select everything that is missing
  • I have a scout ship in mind, one that can go a certain speed and travel a certain range with a few sensors. I would select those sensors, then choose the desired mininum range, speed, and so on. The optimizer will select everything that is missing but will minimize the overall cost
  • I would like to know what the cheapest ship is that can accomodate a given weapon or sensor, given a speed, weight, range, or other constraint. I would select the weapon or sensor, then choose the desired mininum range, speed, and so on.

Once you press Optimize your list is sent to the optimizer, and it will chew on it for up to 30 seconds before returning the list, or reproting failure. It can fail if you request an infeasible loadout (too much range, speed, or gear to be accomodated), or for other reasons.

Support

Our goal is to be an insanely useful site. Please feel free to reach out with questions, suggestions, or bugs. Try hfopt-support@jodavaho.io or r/Highfleet

Highfleet ship design from koshutin.com

Future

We hope to add several features to the site, including:

  • A ship viewer, to view ships and stats
  • A global ship registry, where you can search by stats, role, and so on
  • A .seria file viewer, to view the contents of a ship file
  • A .seria file exporter, to create ship files from the site

but for now, we’re just happy to share this with the community.

How does it work

This codebase selects modules from the game Highfleet, such that desired in-game statistics are satisfied. It does so optimally and fast, using state-of-the-art solver library SCIP. The optimizer is written in C and runs on AWS. The optimization problem is formulated as a Mixed Integer Convex Program, which seeks to select the optimal number of each module, subject to satisfying the statistics bounds you input, subject to satisfying the module requirements, and seeking to minimze cost.

As always, please feel free to file issues here with questions, suggestions, or bugs.

I especially need help verifying the stats of the output modules, once combined. The math behind the game is notoriously opaque, and all the stats used were compiled from reddit.com/r/highfleet, esp /u/d0d0b1rd and /u/twiglard.