Hi all! I've been developing this game together with my friend SLiV for the last months. I'm excited to share occasional updates and insight into the development process with you. Epicinium is currently in open beta; download links can be found here on IndieDB or on itch.io.
The game currently features online multiplayer 1v1 and 3- or 4-player free-for-all games, as well as AI opponents and an in-game tutorial. We're actively developing this game, so we try to put out a new version every week or so. Every Saturday we hold an online playtest session starting at 20:00 GMT, which you are of course very welcome to join. We also livestream this event on SLiV's Twitch channel.
Epicinium is a multiplayer strategy game where the players' impact on the environment matters. Combat destroys grass and crops, and trees are trampled as tanks drive towards your opponent to level their cities. Industry accelerates global warming to ludicrous levels, causing more destruction the longer the game goes on. At the end of the game, the winner is scored for how many grass and forest tiles still remain on the map.
How to play
Epicinium is a multiplayer strategy game with simultaneous turns. Each turn consists of a planning phase, where all players decide which orders they want to give their units that turn, followed by an action phase, where players watch as the the orders play out
Units will automatically attack enemy units they encounter; they will also fire back when attacked and attack any unit that moves away from them. Some units have abilities that allow them to bombard tiles, randomly dealing damage to whomever and whatever is present at that time. Anticipating your opponent's orders is key.
Between rounds, the season changes which might bring about new weather effects such as snow, drought or firestorm. At night, buildings can gain power and generate income. Cities only gain power if surrounded by enough grass, forest, water and crops, whereas barracks and industry grow larger when additional cities are placed nearby.
To defeat your opponent, capture or destroy all of their City tiles.
For an idea of what a game of Epicinium looks like, watch the introduction video where SLiV commentates a match of himself taking on the HungryHippo AI:
SLiV and I started development on Epicinium last May. After studying at the University of Amsterdam and working as software developers for a while, we found we both aspired to be full-time video game developers, wanting to combine the logical challenges of coding with our creative impulses. We had several ideas for games, but had to abandon some of them because they proved too ambitious for us at the time (but I'd love to return to them in the future!).
Eventually, we settled on our current idea: a multiplayer turn-based strategy game, inspired by Advance Wars, but with a twist: the war between players impacts the environment. As a consequence, players have to strike a balance between maximum firepower and not destroying the world we live in. After all, is it worth winning a war when you end up conquering nothing but dirt and ash? This inspired our working title, Aftermath.
We built the game in C++ on top of SDL. After working on the engine, game logic and combat system for a few months, SLiV made the initial sprites and I the initial netcode so we had a playable prototype. We held a few alpha playtests with a bunch of friends in the same room, which proved to be very fun (though bug-ridden). In November, we decided to rent a server and start an open beta. This is a multiplayer game after all!
Since then, our development has focused on making the game more accessible, understandable and attractive. Recent additions are an in-game tutorial, gameplay sound, a simplified weather system, 3- and 4-player maps, and loads of bugfixes and balance improvements. At the moment we are working on:
- Increasing our exposure and playerbase.
- Resolving a persistent networking issue where TCP connections are occasionally half-dropped without apparent reason.
- An HD version of the planet logo.
- Finding inspiration for the title screen music.
- A dynamic gameplay music system that reacts to what's happening on-screen.
Some points that I think are unique about Epicinium or interesting to fellow developers:
- Built by two people in C++ on top of SDL with our own custom game engine.
- Developed in Linux, compiled for Linux, Windows and Mac OS X.
- A simultaneous turn system, where players issue their orders at the same time in the Planning phase, and then watch them play out in the Action phase.
- Combat system in which the units don't have "hit points" in the traditional sense. Instead, a unit consists of figures which each take a certain amount of hits to kill, without memory. This way, a player can see a unit's health and strength at a glance by counting its figures. See the wiki for an in-depth explanation.
- The game logic is separated from the visualization. The server communicates with the client via a JSON API, only sending the information the client should have access to. No fog of war cheating here!
- It is easy to do a quick simulation of a game because of the board game-like logic. Simulating multiple complete games per second is very interesting for developing AI opponents, for example using neural networks.
- Inspired by old 8-bit games, the visuals use indexed sprites, where the color palette is sent to the GPU separately. This way, we can transition smoothly between colors by simply updating the palette. We use this during the day/night, snow and window light transitions, for instance (not properly captured by gifs).
We will regularly post updates here. We're curious what you think! Comments and feedback are very welcome and we will happily answer your questions and go into detail.
- Mailing list (stay informed about the latest Epicinium events and updates)
- GitHub (binaries, release notes, documentation and game rules wiki)
- Discord (find opponents and have a chat with the developers)
- Twitch (SLiV streams the weekly playtests and occasionally development; watch past streams)
We hold weekly online Epicinium playtests on Saturday from 20:00 to 00:00 GMT. The next one will start in 6 hours from posting. It's always a blast, and we're looking for more participants, so I really hope you'll join!
This week, we tried to figure out what's causing the infrequent dropped TCP connections. After a lot of fiddling around with Wireshark and tcpdump, I concluded that the problem lies in the transport layer or deeper. I've contacted our server host to get to the bottom of this. Luckily, the problem doesn't occur that often, but it's annoying when it does, of course.
Meanwhile, work continues on music. I've drafted some compositions for the title screen, but I haven't yet completely captured the right vibe for the game. I hope to have something ready for you to listen to soon.
Following our previous introduction video, we recorded a new gameplay video, where SLiV9 and I try out different strategies against each other. Let us know what you think!