This is a digital port of a classic abstract board game known by various names, here called Elements. Two users take turns drawing and placing stones, and moving their pawns around the board. Different colors of stones have unique effects. When your opponent's pawn is surrounded, you win!
I've designed this with sort of a muted earth-tone palette to represent the elements abstractly, rather than trying to make stones that really look like water, fire, etc, as in the cardboard version. You can drag-and-drop the stones or have them slide across, and toggle on or off animation.
To clone and run this servce, you'll need Git installed on your computer, and a modern browser. From the command line:
# Clone this repo
$ git clone https://github.com/dtklumpp/elements
# Go into the repository
$ cd elements
# Run the app
$ open -a "Google Chrome" index.html
- Draw stones from the "bag" with the orange Draw buttons
- Each extra stone is one less move for your pawn
- Take turns placing your stones and moving your pawn until you're out of moves
- Now it is your opponent's turn to play
- Each time a stone is placed, its "Elemental Powers" are activated (see below)
- When one pawn is surrounded with no moves to take, that player forfeits the match
- Reset the match with the "New Game" button
These powers are applied when placing a stone of one of the four "element" types: air, earth, fire, and water.
- Fire: The fire spreads across the board: you may place an additional adjacent fire stone from the bag.
- Water: The river of water flows: you may "flow" the river 7 spaces around the board.
- Earth: The earth forms an impassible mountain; a pawn may not move between two diagonal earth stones.
- Air: A pawn may "float" or jump across any number of adjacent air stones.
- allow pawn movement through drag-and-drop
- flesh out pawn animation
- allow variable board size
- incorporate advanced rules for water and fire
- highlight legal moves in real-time
- add 3D appearance to stones
- add figurine images for pawns
- translate rulebook from Italian
- fix wall-of-water bug
- allow asyncronous play
- incorporate account metrics / leaderboard
Help me improve the game!
To help with a bug or add functionality, do this:
- Fork this repo
- Make a branch (
git checkout -b new-feature
) - Make modifications where necessary
- Add comments corresponding to your changes
- Commit (
git commit -m 'explanation'
) - Push up (
git push origin new-feature
) - Make a Pull Request
MIT ©
This is one of my first digital board game ports. I'd encourage you to check out a fine wood-and-cardboard version of this old classic from Dashing Games viewable at BGG here. Note some slight rule differences.