home · contact · privacy
Refactor parser code.
[plomrogue2] / README.txt
1 Here you will find the first steps in a re-write of the PlomRogue
2 engine, plus the RogueChat example application.
3
4 PlomRogue is an attempt at yet another roguelike engine.  One of its
5 core principles is itsserver-client-architecture: the game happens on
6 a server that speaks the PlomRogue protocol, and can be connected to
7 with whatever client you come up with.
8
9 RogueChat is an attempt at a multiplayer roguelike environment.  Its most
10 obvious deviations from the roguelike standard are:
11 - practically non-turn-based (there actually is an internal turn system,
12   but it should in practice be invisible to players)
13 - so far a complete lack of combat, survival challenges, or any
14   pre-defined lore
15 - far-reaching ability to change the environment
16
17 Python dependencies for the server and client are listed in
18 ./requirements_server.txt and ./requirements_client.txt respectively.
19 To install them:
20 $ pip3 install -r requirements_server.txt
21 $ pip3 install -r requirements_client.txt
22
23 To run the RogueChat engine as TCP server on port 5000:
24 $ ./rogue_chat.py SAVEFILE --server-type tcp --port 5000
25
26 To /additionally/ run at is WebSocket server on port 8000:
27 $ ./rogue_chat.py SAVEFILE --server-type tcp ws --port 5000 --port 8000
28
29 SAVEFILE in the command line above will store commands to reconstruct
30 the game world from its last state after the server process was
31 killed.  You can manipulate these commands to manipulate the game
32 world.
33
34 To connect the example curses server to the TCP port of the server:
35 $ ./rogue_chat_curses.py 'localhost:5000'
36
37 To connect the example curses client to the WebSocket port of the server:
38 $ ./rogue_chat_curses.py 'ws://localhost:8000/'
39
40 The following automatically install the curses client's dependencies in a
41 Python virtual environment and runs the client against
42 'wss://rc3.plomlompom.com/rogue_chat/', where an example RogueChat server
43 runs:
44
45 $ ./rogue_chat_curses.sh
46
47 The same is targeted by ./rogue_chat.html, an example web browser client
48 that emulates the curses client via HTML and JavaScript.