Outils pour utilisateurs

Outils du site


ancien:tek:organigrammeprog
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


ancien:tek:organigrammeprog [2024/02/09 16:39] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== organisation programmes ======
  
 +===== Premier jet =====
 +
 +De façon générale, des scripts python font le moteur du jeu.
 +  * des objets PD sont dynamiquement chargés, lieu, évènements etc
 +    * chaque patch sert un son en tant qu'objet parmi le tout
 +    * les objets ont une durée de vie, une priorité, ...
 +    * le moteur veille sur la file d'exécution
 +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
 +      * gère feuille de personnage
 +       * calcule des interactions en fonction de la file des actions et position
 +        * sons et commentaires
 +        * affichages , senseurs, modif événement en cours
 +      * trace un historique
 +
 +
 +==== 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'[[tek:evts|é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 =====
 +
 +Fichiers visibles sur le [[https://gitorious.org/la-maison-du-libre/les-espaces-enchevetres|gitorious]] des espaces enchevêtrés
 +
 +Reste à définir {{:tek:actions.txt|les actions}}...
ancien/tek/organigrammeprog.txt · Dernière modification : de 127.0.0.1