You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
||4 years ago|
|archive||4 years ago|
|.gitignore||4 years ago|
|Pipfile||4 years ago|
|Pipfile.lock||4 years ago|
|README-20190826.md||4 years ago|
|README.md||4 years ago|
|challenge.py||4 years ago|
|challenges.py||4 years ago|
|challenges_ipv6.py||4 years ago|
|db.py||4 years ago|
|server.py||4 years ago|
Welcome to the ungleich-game, a geek game engine!
ungleich-game is supposed to be an easy-to-use, easy-to-play and easy-to-extend game framework for geeks.
It features registration, challenges with dependencies and an easy point system.
The project name is ungleich-game, as it has its roots at ungleich - the project name might change later.
How to play (in general)
- Select a game server
- List challenges - have fun!
How to play (for instance on Nico's notebook)
- Register: send a POST request with your username
curl -d user=nico http://nico.ungleich.cloud:5002/register
- Get challenges
- Get a challenge description
- Solve a challenge
curl -d user=nico -d 2a0a:e5c0:101::/64 http://nico.ungleich.cloud:5002/challenge/RegisterNet
- Get high score
Overview - Game flow
- Users register at a game server
- Users play by getting challenges from the game server
- Users can see their or all high scores on the main page
Overview - Development Flow
[not yet fully implemented]
The idea is that there are challenges and each challenge offers:
- A description
- Some dependencies (on something another challenge can provide)
- A score ("how difficult it is")
How to add challenges
- Create challenges-.py and add challenges in there
- Do some magic so all challenges are imported by server
How to run your own game server
Overview - Security
None at the moment.
The base for building games is:
- Python3 - The programmming language
- Flask - web frontend
- etcd - storing data, games, etcd.
Things to solve
- Enhance the Challenge class - maybe make it easier for challenges to abort
- Enhance the Challenge class - abstract away writing information?
- Implement dependencies / providers for challenges
- Add an easy to use CLI (Steven might like click)
- Write nice code to easily retrieve points per user
- Sort high score
- Maybe store all user information in one JSON object?