Forum Thread
  Posts  
Epicinium - environmental turn-based strategy [Beta] [DevLog] (Forums : Pimpage & Posing : Epicinium - environmental turn-based strategy [Beta] [DevLog]) Post Reply
Thread Options
Feb 2 2018 Anchor


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.


Description

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.

Introduction video

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:


Epicinium Introduction - SLiV vs HungryHippo (AI) - Indie DB

Development

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.

Interesting points

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.

Links

  • itch.io
  • Facebook
  • Twitter
  • 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!





Update:


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!


Epicinium v0.15.0 Gameplay - SLiV vs UnarmedLad - Match and Rematch - Indie DB

Edited by: UnarmedLad

Feb 13 2018 Anchor

In this DevLog, we will tell you about Epicinium version 0.16.0, and give a peek into a feature we're currently working on.

A new version

We released beta version 0.16.0 of Epicinium last week. It includes improvements to make the weather system more fair and fun. Since the previous update, we've simplified the weather system, so that the weather effects now depend on three factors:

  • The amount of Chaos, which is a global status affecting the whole map. The more polluting tiles are on the map (everything with a stone surface, but especially Industry), the higher this gets, and it accumulates over time.
  • The number of humidity counters on a particular tile. Every tile starts out with a number of humidity counters. This is usually 2, but Desert and surrounding tiles start out with lower humidity, while Water, Mountains and their surroundings begin with higher humidity. Over the course of the game, tiles can dry out due to gas, adjacent Industry and Aridification.
  • The current season.

All the weather effects encountered in the game depend on these three things. For instance, you will see the speed-reducing Snow on tiles with at least 1 humidity in winter, while tiles with 4 humidity have year-round Snow. Additionally, there's the HP-lowering Frostbite in winter starting at 20% Chaos, the damaging Firestorm in summer at 40% Chaos, the HP-lowering Bonedrought at 60% Chaos, and finally the all-destroying Death at maximum Chaos. Most of these weather effects also grow worse at higher levels of Chaos. Of course, we will keep tweaking and balancing the weather system as we go.

Other important changes include the prevention of a GPU memory leak (remember coding people, if you store sprites and palettes separately on the GPU be sure to also free the palette afterwards, hehe). Also, we added a player list to the UI so you can finally see who you're up against, or get a sneak peak into the players' wallets if you're observing. If you are curious what else is changed, we keep a list of release notes just for that.

We also started recording short featurette videos that each explain one aspect of Epicinium's gameplay. There are two videos as of now, one explaining the basics of the combat system, and the other showcasing Rifleman units.


Epicinium Explained: Basic Combat - Indie DB


Epicinium Explained: Rifleman Units - Indie DB

Peace

While we toil through bugs, crashes and disconnects (still in contact with the server hosting company, but it's taking some time to sort out), we are also working on some new gameplay features. One of them I want to talk about for a bit: peacemaking. "What!?", I hear you say, "Peace in a wargame!? Ridiculous!" But that's indeed what we're thinking of.

You see, right now there are two ways a game of Epicinium can end for you: either you lose because all your cities got destroyed or captured and you get a score of 0, or you win because you are the last player remaining and you get a score equal to 100% of the Grass / Forest tiles still left on the map. With the peacemaking feature, two remaining players can, under certain circumstances, negotiate about ending the war early while both get a percentage of the points remaining.

Of course, peace must be hard-fought, so as we have it in mind right now, a player will get the opportunity to make a peace offer when the other player captures one of their cities. (But not their last city, for then they would have lost.) The other player then has one turn to decide to accept or decline this offer. By linking peace offers to the capture of precious cities needed to survive, a power shift needs to occur before the possibility of peace. Hopefully, this will make the possibility of peacemaking exciting and fun, and also discourage match-fixing situations.

For an example of how this might work, imagine Anna playing against Bahram. They've been playing for a while, and Anna has a slight advantage and manages to capture one of Bahram's three cities. Bahram knows this is bad, but he figures he might be able to make a comeback if he started building tanks, since Anna is using mostly riflemen and relies on farms for income. However, he also knows that the battle would probably still take a very long time, his industry and tanks destroying most of what's left of the environment and thereby robbing him of a good score at the end of the game. Therefore, he decides to send a peace offer for 45% percent of the points. Anna is not so sure she can convert her advantage to a victory, so she accepts and the game ends there and then with 68 points left over on the map, of which Anna receives 37 and Bahram 31. If Bahram had decided to continue, there would have been a chance of winning, but with less points, seeing that the entire map would've become unlivable by the end of the war.

This feature will require a lot of testing to make sure it's fun and balanced, so this likely won't be in the next version, but stay tuned and let us know what you think! :-)

Peace.

Edited by: SLiV9

Feb 17 2018 Anchor

Hi folks! We just released version 0.16.1 today, featuring a settings menu and memory usage optimizations.

These past few weeks we've been hard at work to squelch some crashes and disconnects that seem to plague the game at the moment. We've talked with our webhosting provider, and they have moved us to a different setup that will hopefully get rid of the TCP disconnection issues. We've also reduced the RAM usage of the game by roughly 75%, so this should help prevent crashes related to high memory. If you are still crashes or disconnects in version 0.16.1, please let us know!

Lastly, there's another online playtest session later today (20:00 GMT). As our community continues to grow these sessions are getting more and more fun, so be sure to pop by!

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.