!ChessehC! (sounds fun if pronounced chess-itch) is an (unfinished) chess spin-off where all the pieces move simultaneously in real-time. It's created from scratch with its own 3D graphics engine.
The game was originally my solution to exercise 04 for the 2017 course Object-Oriented Programming (TDT4100) at NTNU, with extensions to the functionality in exercise 07 and 10. The exercises are reproduced and translated from Norwegian below:
Choose and complete at least one of the following tasks:
- Tic-tac-toe (Easiest)
- Battleship (Easy/Medium)
- Sudoku (Medium)
- Sokoban (Hard)
- Own choice: Choose you own grid based game with similar complexity to the games above
I chose the last one 🙂
Extend your game with the following new functionality:
- Undo and redo actions
- Save and load game state
- Display using JavaFX (Optional)
I didn't complete this exercise, though I implemented a lot of other stuff 😛
Implement the observer pattern in your game:
- Make the GUI listen to changes in the game
- Let your game implement the
GenericGridGame
interface, so that prewritten GUIs may employ your game classI kept this in the experimental branch
expt/observer-pattern
, because I like the idea of each object rendering themselves more.
Requires having installed JDK 8+.
Also requires graphics drivers supporting OpenGL 3.3.
> gradlew run
> ./gradlew run
Hit Enter
to make the other chess pieces start moving.
Esc
to pause/unpause.
WASD
for movementF
/G
to turn left/rightSpace
to attack
PL;'
on English/American keyboards,PLØÆ
on Norwegian keyboards, for movement4
/5
on keypad to turn left/right- Right
Ctrl
to attack