organisation programmes
Premier jet
De façon générale, des scripts python font le moteur du jeu.
L'ensemble des sons est mixés à travers un serveur de son jackd
Phase d'initialisation du jeu
A la mise sous tension, la machine joueur
répertorie et initialise ses interfaces
se connecte au serveur de jeu et télécharge les données des fichiers base de jeu:
cartographie
scénario
objets de l'histoire
lance le moteur de jeu
fabrique le fichier d'évènements proches
Phase de jeu
programme général
lit dans un fichier d'évènements local, synchronise si connexion possible
scrute la position
ajoute/enlève des objets du fichier d'évènements proches en fonction de la position
tient a jour la file d'action en fonction de la position/sensibilité/état : zone d'action
lance l'exécution si besoin des scripts/objets autonomes actionnables
gère l'initiative cyborg/PNJs si existe
communique avec les scripts PNJ et le MJ pour exécuter des actions supplémentaires
tient à jour les paramètres venant des autres canaux de communications ,verbales,chat …
partie programme du Cyborg & PNJ(s), parties PNJ ordonnancé par la priorité, le temps, la charge machine
Base de donnée objets du jeu
Tous les objets du jeu sont stockés dans cette base, le scénario et le MJ en extraient ceux nécessaires pour les mettre dans le fichier des balises à l'initialisation.
Les fichiers balises, scripts, actions, sont des fichiers à plat. Le tout forme une arborescence dépendante du jeu, ce système de fichier donne l'état du jeu à un moment t.
On peut la copier, s'y synchroniser, l'archiver, la commenter pour en faire de nouveaux scénarios, de nouvelles histoires racontées.
L'ensemble est stocké sur un serveur de jeu, qui peut être local pour servir une zone de jeu WIFI par exemple.
Fichier fond de carte
Extrait du serveur de cartographie OSM, c'est la carte à plat (xml) qui sert aux moteurs de jeu en action.C'est un fond de carte d'objets usuels en principe statiques n'intervenant que comme décor.
Fichier cartographie
C'est un fichier fabriqué pour le suivi immédiat du jeu, Il contient toutes les balises connues à leur position du moment.
Fichier événement unique
Des exemples d'événements.
ID
Nom
Caractéristiques modifiables
Date de naissance
Durée de vie
Actif/Passif
Gestion de l'activation (1 fois, jour/nuit, tant que ressource disponible, …)
Zone d'action (en mètre, possibilité à 0)
Mode de déclenchement (création, contact, …)
Action générée (un script est appelé)
Type de ressource (Lumière, Terre, Feu, Eau, …)
Force de la ressource (1 à …)
Accélération de la ressource (= transférabilité, de -255 à +255 en passant par 0)
Archives : deux fichiers distincts
Fichier des balises (objets du jeu)
ID
label
coordonnées GPS + zone d'action (= distance de sensibilité)
description ( type,famille,nom )
volume normale
actif O/N
nom du fichier d'action à exécuter
type : PNJ,objet simple, objet complexe
Fichier des actions
ID
label
coordonnées (zone où agit l'action)
description
utilisateur (jeu,root,mj)
priorité
duré de vie
script
Les scripts peuvent être
du shell: administration de la machine
du python: phases, actions de jeu
puredata: pour l'interaction et l'évènementiel
Algorithmes