Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phrogz/laink
Game server handling remote AI clients playing turn-based games over TCP Sockets and JSON.
https://github.com/phrogz/laink
Last synced: 7 days ago
JSON representation
Game server handling remote AI clients playing turn-based games over TCP Sockets and JSON.
- Host: GitHub
- URL: https://github.com/phrogz/laink
- Owner: Phrogz
- Created: 2011-10-22T13:13:39.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2011-11-04T02:24:05.000Z (about 13 years ago)
- Last Synced: 2024-10-26T12:31:05.966Z (13 days ago)
- Language: Ruby
- Homepage:
- Size: 359 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Laink
Laink is a standalone game server designed to let game AIs written in any language to compete against each other. Communication takes place as length-prefixed JSON over TCP Sockets.
Laink also provides a reference implementation for generic player AIs and game engine implementation.
## TODO
1. Client's spewing unexpected nonsense get an asynchronous reader thread/message queue to let them know about the nonsense.
1. When a client's connection dies, ensure it's removed from the game and closed down as elegantly as the situation allows.
1. Separate game engines out of the server process, instead communicating over sockets.
* Allows game engines to be written in any language, too.
* _TBD: Should the server be a broker for messages, or just connect clients directly to the game engine after it's booted up? The former is more overhead, but allows the server to track all interactions and generate stats._
1. Asynchronous queue for 'high priority' player requests before their turn _(e.g. "What's the score?", "I Quit!", "Tell Harold he's going down!" )_
1. Research replacing all threads with actors