Casual, single-player strategy game written in Elm.
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:
-
Attackers with
sensors
try to detect defending combatants (fighting buildings and units). -
Of those detected, attackers with
firepower
attempt to destroy them. -
Defenders with
sensors
try to detect attacking units. -
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.
elm-make src/Main.elm --output=./site/main.js --warn --yes
firefox site/index.html
Or for live reload and debugging:
- install elm-live
- run the dev script in the root directory:
make dev
- open
localhost:8000
in your browser
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.
© 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!
- To @danneu for his elm-hex-grid library. The Depths started as a fork of that project's examples. Some of this game's hex board invoking code and CSS is still unchanged from there.
./vendored/HexGrid.elm
and ./vendored/PairingHeap.elm
are from my fork of elm-hex-grid commit # 3d834bc98ce4338c8ed6b4413d102abcb2eec75e
.