#server #gamedev #game

bin+lib epicinium_server

An asynchronous multiplayer server for the strategy game Epicinium

1 stable release

1.0.12 Aug 23, 2021

#693 in Game dev

AGPL-3.0-or-later

340KB
12K SLoC

Epicinium Server

An asynchronous multiplayer server for Epicinium.

Epicinium is a multiplayer strategy game with simultaneous turns, released on October 12th, 2020 and open-sourced on the same day. It is available as a free game on Steam and itch.io.

Epicinium is being developed by A Bunch of Hacks, a worker cooperative for video game and software development from the Netherlands. Contact us at info@epicinium.nl.

Support

Epicinium is and will remain free software. If you wish to support Epicinium and A Bunch of Hacks, you have the option to name-your-own-price or buy the game's soundtrack.

Contents

  • src/bin/server.rs is the entry point for the server executable
  • src/server contains code for handling incoming connections and starting games
  • src/server/client contains subtasks that handle communications to and from a single connected game client
  • src/common contains constants and utility functions
  • src/logic contains idiomatic access to the raw bindings provided by epicinium_lib
  • logs is where all log files are stored
  • recordings is where recordings of games in progress are stored

License

The Epicinium server was created by A Bunch of Hacks. It is made available to you under the AGPL-3.0 License, as specified in LICENSE.txt.

The Epicinium server is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License (AGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

The Epicinium server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

  • epicinium_lib, Rust bindings for the C++ library that implements Epicinium gameplay logic
  • Epicinium, the full source code for Epicinium
  • Epicinium documentation, which includes a wiki and a tutorial for Epicinium
  • Epicinium-NeuralNewt, a libtorch framework for training (partially) convolutional neural networks to play Epicinium via NeuralNewt, a parameterized decision tree AI, with evolutionary training techniques

Dependencies

~17–26MB
~538K SLoC