Skip to content

ocelot-wars/ocelot-wars

Repository files navigation

Ocelot Wars

This is a host for Ocelot Wars programming competitions. In the competition, programmers create bots that participate in Ocelot Wars games via a language agnostic Websocket-based API.

An Ocelot Wars game consists of a two dimensional map containing resources, player units and player bases. The objective of the game is to gather as many resources as possible. When the map's resources are depleted, the player with the most gathered resources wins.

A spectator client visualizes the score, currently running games and replays of past games. This allows the audience and the programming participants to get a feeling for the progress of the competition.

The general idea of the programming competition is based on Mäxchen.

Vision

Later iterations of the game will potentially

  • differentiate the API into
    • a simple API for quick programming competitions (multi-hour)
    • a more advanced API for fine-grained control and longer competitions (multi-day)
  • potentially play in space or on earth
  • have a different game goal, e.g. player that survives wins (implies some way of eliminating the other players)
  • have various unit types
  • have units that need resources to be constructed
  • have resource types
  • have technology tree(s)

Building ocelot-wars

Build Status codecov

We use Gradle as the build system with the Gradle Wrapper. To build the project either use

./gradlew

on Linux/Mac or

gradlew.bat

on Windows appending the desired command like test to the call.

Code conventions and formatting

We use EditorConfig for the basic formatting settings. There are plugins available for most IDEs and editors.

(Eclipse) configuration ocelot-wars-code-conventions.xml. (Others) todo

Git conventions

Prefer rebasing over merging

IDE hints

(Eclipse) add to favorites:

  • java.util.Collections.*
  • java.util.stream.Collectors.*
  • org.hamcrest.Matchers.*
  • org.junit.Assert.*
  • org.mockito.Mockito.* (Others) todo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages