Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/trismegiste/eclipse-wiki

A website based on data provided by a MediaWiki API. Built on Symfony 6 and MongoDb 6. Intended to run on local server
https://github.com/trismegiste/eclipse-wiki

alpinejs babylon-js frankenphp mercure mongodb ollama parsoid purecss symfony

Last synced: 7 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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](https://github.com/Trismegiste/eclipse-wiki/blob/master/doc/stack.svg)
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 :
```bash
$ 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](/doc/capture-0.jpg)
## Listing
The search bar has an autocomplete for quick search. Fully responsive
![dashboard](/doc/capture-1.jpg)
## Creation of NPC
All profiles (backgrounds, factions and morphs) are downloaded from the mediawiki fandom
![dashboard](/doc/capture-2.jpg)
## NPC sheet
You can roll dice for each Trait. Each roll uses https://www.random.org/ for true quantum randomness
![dashboard](/doc/capture-3.jpg)
## Picture profile of NPC
Use of cropper. If you don't have pictures, you can select a random generated avatar
![dashboard](/doc/capture-4.jpg)
## 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](/doc/capture-11.jpg)
## 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](/doc/capture-5.jpg)
## 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](/doc/capture-6.jpg)
## Procedural battlemap
Based on cellular growth algorithms (voronoi). You can choose colors and how to populate each colors with NPC
![dashboard](/doc/capture-9.jpg)
## Procedural battlemap
You can add various shape to design your map
![dashboard](/doc/capture-10.jpg)
## 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](/doc/capture-7.jpg)
## Easy connection
Each player connected on the same LAN can QR-code to the app for viewing pictures and 3D views
![dashboard](/doc/capture-12.jpg)
## 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](/doc/capture-8.jpg)