# Krampus Hack 2020: Secret Santa Game for SiegeLord

## SiegeLord's Wishes

1. Some sort of real time, or turn-based strategy game. You should be able to train units, construct buildings and collect resources.
2. Have a 3rd dimension. This need not be full 3D, could be isometric.
3. Have a replay/demo record functionality. Maybe reuse it for some sort of time rewind feature?

## Initial Game Idea

### Implemented

- turn-based strategy game similar to chess, but with combat
- played on a sperical surface composed of hexagons and pentagons

### Future Work

- replay/demo record functionality also usable for network play
- some simple computer ai to play against
- hexagonal tiles are for regular for motion, but pentagonal tiles are somehow special
	- e.g., your fixed base/king or collectable items: armor/shield, health refill, revive, swap, change figure, stronger attack, two turns
	- this implements training units and collecting resources
- make gameplay more interesting
- make game more complete and polished with menu, music, sounds, animations, better graphics etc.
- there are probably many bugs waiting to be fixed
- code refactoring

## Playing the Game

Each player has six different pieces placed on the sphere, these are one mage (small sphere), two archers (cones) and three knights (boxes).

The pieces have individual characteristics:
	* mage: short range movement, but high range attacks
	* archers: mid range movement and attacks
	* knights: high range movement, but short range attacks

Players take turns for their actions, which is either movement or attack, blue starts. Selecting a piece by mouse indicates it has been selected and shows their movement range in green and attack range in red. Yellow means this tile can be both attacked or moved to. The goal is defeat the opponent by knocking out his pieces. Each pieces current health status is shown as percentage. Pieces on pentagon take less damage than on hexagons.

### Greetings

Greetings to everyone who participated in Krampus Hack 2020 and to the Allegro community. Big thanks to amarillion for organizing this event. And last but not least: Happy New Year SiegeLord, enjoy your gift and Happy New Year Krampus Hackers!

## Running and Building

Should run with Java 8 and OpenGL 2+ GPU using:
java -jar game.jar

Should compile and run under Linux with OpenJDK 8 using:
./gradlew desktop:run

And for packaging call (fat jar in desktop/build/libs):
./gradlew desktop:dist

## Known Bugs

- resizing windows causes displacement in text output
