Skip to content

A website based on data provided by a MediaWiki API. Built on Symfony 6 and MongoDb 6. Intended to run on local server

License

Notifications You must be signed in to change notification settings

Trismegiste/eclipse-wiki

Repository files navigation

Eclipse Phase TTRPG Live Gamemaster Wiki Manager

What

It's a webapp for building and running sessions for the tabletop-role-playing game Eclipse Phase. But for the record, this app use my conversion of the (far-too-complicated) original rules to the much-simplier Savage Worlds system. The detail of this conversion can be found on a Fandom french mediawiki, since Eclipse Phase is a Creative Common RPG.

Who

This app is intended for the GM. It helps you to create and build new scenario with a limited wikitext language and can stores your images. It also contains a 3D battlemaps manager and a Websocket broadcaster for players, who can watch pictures, first person views on battlemaps and game handouts on their smartphones (a QR code reader on the smartphone could be useful). It runs on local network from a complete privacy.

Why

Though I prefer playing around a table with friends, I miss some fancy features from VTTRPG websites (Roll20 for exemple). This app is intended to fill this gap : playing around a table and keeping the fancy features of computer. Why not using Roll20 ? Well, first all your players must have an account. Furthermore, Roll20 is slow, ugly, old and totally fails when it comes to improvisation. You cannot create on the fly new character, new battlemaps and so on, the UI is built for the long process of preparation before the session. During the session, it's impossible to be reactive around a table with friends.

This app comes with NPC name generator, avatar generator, 3D battlemaps generator, Handouts generator, Love letters manager, and most important : a NPC profile generator for the 7 in-game social networks. Since in game your PC can watch all those profiles in Augmented Reality, the GM have to generate a lot of these profiles anytime PCs encountered a new NPC or simply walk in a space station.

This app can also interface with the InvokeAI API and with PNG generated by Stable Diffusion. With a fancy search engine, you can search through the prompts of generated pictures stored in a local repository, therefore, you can create a profile on the fly during a session.

How

Stack Eclipse-Wiki is developed in PHP 8.3, served by FrankenPHP (for HTTP) and Mercure (for WebSocket), stored on MongoDb 6, it's built on Symfony 6.4, rendered with Parsoid by MediaWiki, 3D-rendered by BabylonJS, reactived with AlpineJS, designed with PureCSS and containerized with Docker.

Where

Run this app anywhere with :

$ docker compose build && docker compose up

Features

Here are some features of this app :

Dashboard

Big icons for tablet. Keyboard shortcuts (Fn) for laptop. Fully responsive dashboard

Listing

The search bar has an autocomplete for quick search. Fully responsive dashboard

Creation of NPC

All profiles (backgrounds, factions and morphs) are downloaded from the mediawiki fandom dashboard

NPC sheet

You can roll dice for each Trait. Each roll uses https://www.random.org/ for true quantum randomness dashboard

Picture profile of NPC

Use of cropper. If you don't have pictures, you can select a random generated avatar dashboard

Social network profile

The profile pic is used for generating NPC profile and for token on battlemap. By clicking on the profile, you send it to your player's smartphones through websocket. By clicking on other pictures (on local storage) send them to players too. dashboard

On-the-fly profile

For generic NPC, yu can generate a new profile on-the-fly (or create a new NPC) by selecting a random name and a random avatar dashboard

Random NPC names

A big selection a random names for your NPC. There are millions. This is a selection according to cultures in Eclipse Phase dashboard

Procedural battlemap

Based on cellular growth algorithms (voronoi). You can choose colors and how to populate each colors with NPC dashboard

Procedural battlemap

You can add various shape to design your map dashboard

GM view for procedural battlemaps

After the creation of a battlemap, you can fly through it. By selecting a tile and pressing spacebar you send the FPS view for players dashboard

Easy connection

Each player connected on the same LAN can QR-code to the app for viewing pictures and 3D views dashboard

The Player view

It's a first-person-shooter-like panorama (very light, no need for powerfull smartphone). The player can click on a tile to send a ping in the GM view through websocket. Fully responsive. dashboard

About

A website based on data provided by a MediaWiki API. Built on Symfony 6 and MongoDb 6. Intended to run on local server

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published