A simple CLI-based minigames engine with a growing collection of games. It works for multiple players on the same computer using hot seat mode. This project was created as a fun Java learning project for the students of my programming class at the Institute for Digital Humanities (University of Cologne).
You have three options:
- Download the (possibly outdated, probably up to date) current release and run it with
java -jar HotSeatGames.jar
, or - Open the project in your favorite Java IDE and run it from there (for development), or
- Build an executable yourself by using your IDE (or your hacker skills and
javac
) from the current project source, then run it withjava -jar HotSeatGames.jar
!
At this point, the following games are included in Hot Seat Games (in order of contribution):
- Hyper Typer (by bkis)
- Black Jack (by cthilo)
- Rock-Paper-Scissors (by esmith2smail)
- Binory (by bkis)
- One Plus One (by chrkell)
- Hangry Llama (by MarcHorvath2001)
- Where Is The Letter? (by MilchStrassenBoi)
- Roulette (by L. Markic)
If you want to add new games, just follow these steps:
- Create a package with your game's name under
idh.hotseatgames.games
(e.g.idh.hotseatgames.games.mygame
). - Create a game class (preferably matching your packages name, e.g.
MyGame
) inside the package you just created. This game class must implement theIGame
interface correctly to work with Hot Seat Games. Please read the documentation of theIGame
interface's methods and stick to the conventions explained there! Furthermore, you are free to use the very helpful utility classes inidh.hotseatgames.utils
. Try to take inspiration from the existing games' implementations! Everything else is up to you. - Add your game classes package path to the static array
GAMES_SUB_PATHS
in theGameManager
class to "register" your game with the Hot Seat Games engine. (It's not the most elegant way of doing this, but this project tries to avoid any external dependencies for reflection etc.) - If you think your game should be a part of the collection coming with this project, feel free to contribute it!
You are very welcome to contribute your games to this repository! If you don't know how to do that, you may read this to learn how to set up Git and to understand the basics, then read this to learn about the ideal workflow for contributing to existing projects on GitHub.