Home

Awesome

The Depths

Casual, single-player strategy game written in Elm.

screenshot

User Guide

Goal: destroy all the opponent's habitats.

Gameplay: Combat only happens at habitats. Units not in combat are invisible to the opponent.

Combat happens in four stages:

  1. Attackers with sensors try to detect defending combatants (fighting buildings and units).

  2. Of those detected, attackers with firepower attempt to destroy them.

  3. Defenders with sensors try to detect attacking units.

  4. Of those detected, defenders with firepower attempt to destory them.

1 and 2 happen at the same time as 3 and 4, so a defender whose destroyed still gets to contribute its sensors and firepower before it's removed from the board.

sensors and firepower are chances out of 6, so a unit with sensors 2 and firepower 3 has a 1/3 change of detecting an opponent, and a 1/2 change of destroying a detected opponent. Units can destory opponents that were detected by other units.

stealth gives a chance to canel any detection on that unit this turn. Like other stats it's a chance out of 6.

If there are no defending units or buildings with either sensors or firepower, then a "bombardment" occurs where the remaining buildings are automatically detected.

Install

elm-make src/Main.elm --output=./site/main.js --warn --yes
firefox site/index.html

Or for live reload and debugging:

make dev

Philosophy

One way to make games is to design for elegance. Elegant games have a few well though-out rules that give rise to complex strategies (Agar.io is a good example of this). This approach is especially well suited for challenging or competitive games.

The philosophy of The Depths is the opposite.

Sometimes you just want a lot of cool options for stuff to build. That's what we'll try to provide.

License

© Ian Jeffries 2018.

Everything original is released under the 3-Clause BSD License. It's also released under CC0.

Please fork and modify at will!

Special thanks

Vendored

./vendored/HexGrid.elm and ./vendored/PairingHeap.elm are from my fork of elm-hex-grid commit # 3d834bc98ce4338c8ed6b4413d102abcb2eec75e.