Here you will find the first steps in a re-write of the PlomRogue engine, plus the RogueChat example application. PlomRogue is an attempt at yet another roguelike engine. One of its core principles is itsserver-client-architecture: the game happens on a server that speaks the PlomRogue protocol, and can be connected to with whatever client you come up with. RogueChat is an attempt at a multiplayer roguelike environment. Its most obvious deviations from the roguelike standard are: - practically non-turn-based (there actually is an internal turn system, but it should in practice be invisible to players) - so far a complete lack of combat, survival challenges, or any pre-defined lore - far-reaching ability to change the environment Python dependencies for the server and client are listed in ./requirements_server.txt and ./requirements_client.txt respectively. To run the RogueChat engine as TCP server on port 5000: $ ./rogue_chat.py SAVEFILE --server-type tcp --port 5000 To /additionally/ run at is WebSocket server on port 8000: $ ./rogue_chat.py SAVEFILE --server-type tcp ws --port 5000 --port 8000 SAVEFILE in the command line above will store commands to reconstruct the game world from its last state after the server process was killed. You can manipulate these commands to manipulate the game world. To connect the example curses server to the TCP port of the server: $ ./rogue_chat_curses.py 'localhost:5000' To connect the example curses server to the WebSocket port of the server: $ ./rogue_chat_curses.py 'ws://localhost:8000/' The following automatically install the curses client's dependencies in a Python virtual environment and runs the client against 'wss://plomlompom.com/rogue_chat/', where an example RogueChat server runs. The same is targeted by ./rogue_chat.html, an example web browser client that emulates the curses client via HTML and JavaScript.