PBBG is a web application I'm developing out of nostalgia for the early 2000s persistent browser-based role-playing games (PBBRPGs) I used to play.

Through PBBG, I practice my architecture skills. How the different components of a game interact (inventory system, player class), as well as how different structural layers interact (data layer, business layer, view layer).

The server provides a RESTful JSON API for game functionality, while the frontend consumes the API with React (current version) or plain ES6 JavaScript (legacy version).

The current frontend is my first React application that goes beyond a single-page single-purpose app where I learn to organize dozens of components and API calls.

In the legacy frontend, I tried out the new Web Components standards, namely the custom elements and shadow DOM technologies.

The plan is to eventually make a mobile version and even a CLI version for the fun of it, which would allow me to test if I properly decoupled layers.

Current version

Heads up: Expect ~10 seconds of initial delay for the frontend server to start up, followed by a similar delay for the backend server

Try it Source Code (frontend) Source Code (backend)

Legacy web version

Heads up: Expect ~10 seconds of initial delay for the server to start up

Try it (legacy) Source Code (legacy)