Aller au contenu
DealTimeWorldsDealTimeWorlds
Nos jeux

Huit mondes, une obsession

Stratégie profonde et simulation maison. Chaque jeu est conçu pour des sessions longues et des parties qui se racontent.

Fantasy Sports Manager
Plateforme jeu

Fantasy Sports Manager

Plateforme fantasy multi-sport, démarrée par le hockey.

Application de gestion de ligue fantasy avec moteur de match déterministe, ligues privées, mode spectateur public, watch party temps réel et patinoire 3D animée. Le socle multi-sport est en place : chaque sport hérite de la même mécanique de ligue / équipe / joueur. Un seul sport est ouvert au jeu aujourd’hui : les quatre autres restent fermés tant que leur tenue ne sera pas à la hauteur.

Le Hockey est le sport ouvert (Beta 0.4) : saison pilotable de bout en bout. Les autres avancent à leur rythme derrière un statut « Work In Progress » et n’ouvriront que sur décision, pas sur un déploiement — Basketball (Pre-Alpha 0.4), qui a reçu une refonte complète de ses mécaniques : moteur de match calibré, plafond salarial et convention, repêchage, séries, classements, IA des équipes, trophées et statistiques ; Soccer (Pre-Alpha 0.3) ; Football américain (Pre-Alpha 0.2), moteur par séries et essais (course/passe, unités spéciales, horloge), saison de 17 semaines avec semaine de repos, séries éliminatoires à 14 équipes, direct par quarts et rejeu animé sur la vue terrain ; Baseball pas encore commencé. Moteur de simulation 100 % maison, déterministe, validé par golden-master tests — chaque match peut être rejoué et débogué bit à bit.

État

En développement actif — v0.1 : Hockey (Beta 0.4) ouvert au jeu ; Basketball, Soccer, Football et Baseball en Work In Progress

Caractéristiques

  • Hockey ouvert au jeu (Beta 0.4) — Basketball (Pre-Alpha 0.4), Soccer (Pre-Alpha 0.3), Football (Pre-Alpha 0.2) et Baseball sur le même socle, fermés tant qu’ils ne sont pas à la hauteur
  • Moteur de simulation déterministe (golden-master tests), calibré sport par sport sur des cibles réelles
  • Patinoire et terrains animés (R3F) + replay live avec annonceurs Piper FR/EN
  • Bot Discord intégré (DMs et channels par ligue : live, news, trades, blessures)
  • PWA installable + push notifications (VAPID)
  • Mode spectateur public sans compte
  • Conformité sécu (JWT, throttling DRF, captcha auto-hébergé, cookies Secure)

Stack

Django 6PostgreSQLDRFReact + TSTailwind v4shadcn/uiWhiteNoisePiper TTSDiscord botPWA + VAPIDCaddy HTTPS
Organized Crime — The American Dream
Jeu de stratégie

Organized Crime — The American Dream

Remake web fidèle de Gangsters: Organized Crime (1998). Remake personnel et non commercial : le projet n’est pas affilié aux ayants droit de l’original et n’en redistribue rien.

Stratégie tour-par-tour située pendant la Prohibition américaine. Refait à partir du manuel original 100 pages : 8 lieutenants, 11 compétences par truand, marché de l’alcool, comptable et avocat, élections de maire, FBI incorruptible.

Architecture : simulation autoritaire 100% côté Python (déterministe, RNG seedée), résultat rejoué et animé par le front 3D. Interface dominante = Le Carnet, journal sépia art déco à 8 onglets, plein écran ; bascule sur la ville 3D pour le replay de la semaine.

Le jeu est jouable de bout en bout, et le second client — Unity 6 en WebGL — est désormais porté en entier depuis le client web : mêmes écrans, même boucle d’ordres, même carnet, son compris, sur la même simulation Python côté serveur. L’audit de portage est clos (41 écarts relevés, 41 levés, 0 ouvert) et le cap est mis sur une version Steam.

Le développement neuf part maintenant côté Unity. Le backlog d’audit (fidélité au jeu de 1998 + qualité du code) est monté de 129 à 217 entrées, toutes fermées ; un audit UX dédié au client Unity, de 30 constats, pilote le polissage semaine après semaine.

État

Jouable et gagnable — client Unity WebGL porté à parité complète du client web ; cap sur une version Steam

Caractéristiques

  • Ville isométrique 3D (R3F) — 81 pâtés, 4 gangs, animations de pions BFS sur les rues
  • 3 voies de victoire : Domination / Légitime / Maire
  • Scénarios pré-bâtis (4 défis à graine fixe) + Temple de la renommée des parties gagnées
  • Économie complète : extorsion, bootleg, vol, export par docks/gare, presse à faux billets
  • Bot IA des gangs rivaux respectant la diplomatie (5 niveaux + flèches doubles)
  • Comptable + Avocat : évasion fiscale, pots-de-vin au procureur et au maire, témoins, procès, FBI
  • Système de turf, opinion publique par pâté, 4 journaux concurrents
  • Second client Unity 6 en WebGL, porté à parité complète (41 écarts levés, 0 ouvert) — même serveur, cap sur une version Steam
  • Backlog d’audit de 217 entrées, toutes fermées (fidélité 1998 + qualité du code)
  • Notes de version bilingues intégrées au jeu — le développement avance chaque semaine

Stack

Django + DRFSQLiteReact + TSViteTailwind v4shadcn/uithree.js + R3FUnity 6 (WebGL, URP)ZustandTanStack Query
Kingdoms of Kings
Idle 4X

Kingdoms of Kings

Idle 4X médiéval-fantastique : un royaume qui vit pendant que vous dormez.

Jeu idle 4X à la croisée de Melvor Idle (progression par métiers), d’Ultima Online (des compétences qui montent à l’usage), de Kenshi (une bande de héros à mener, pas un avatar unique) et du 4X classique : bâtir, explorer, commercer, faire la guerre.

Le moteur est déterministe et calculé à la lecture : pas de boucle de tick qui tourne dans le vide, l’état du royaume est recalculé au moment où vous revenez. La progression hors-ligne est donc exacte, pas estimée. Chaque habitant — paysan, artisan, héros — est un personnage simulé complet, et les royaumes rivaux tournent avec exactement les mêmes règles que le vôtre.

Le client web reste jouable, mais le développement neuf est passé à Unity 6, en vue d’une version Steam : les règles sont reportées en C# phase par phase, chacune verrouillée par un golden-test qui exige le même résultat que le moteur Python. Genèse du monde natal, brouillard de guerre, carte hexagonale, marqueurs de hameaux et cadre des missions sont portés ; reste la caméra pan/zoom pour clore la phase en cours.

État

En développement actif — jouable en pré-alpha ; portage Unity en cours pour la version Steam (phases P0 à P4 livrées)

Caractéristiques

  • Progression hors-ligne exacte : moteur déterministe recalculé à la lecture, sans boucle de tick
  • 49 compétences qui montent à l’usage (récolte, artisanat, terrain, gouvernance)
  • Chaque habitant est un personnage simulé complet — pas un simple compteur de villageois
  • Carte procédurale en hexagones : exploration, terrains, rumeurs et expéditions
  • Royaumes rivaux joués par la même simulation que le joueur (guerre, paix, alliance, commerce)
  • Arbre de recherche, chaînes de production, marché et édits (taxes, rations, doctrine)
  • Portage Unity 6 sous golden-tests : le moteur C# doit rendre le même résultat que le Python
  • Bilingue FR/EN, 3 118 tests automatisés sur le moteur

Stack

FastAPISQLiteReact 19 + TSViteTailwind v4Canvas 2DUnity 6 (URP, Steam)
Imperium Universe
MMO stratégieEn pause

Imperium Universe

MMO de stratégie spatiale grand-tableau (style EU3).

Remake d’un MMO navigateur où l’on étend son empire à travers 10 000 galaxies, chacune contenant 400 systèmes et jusqu’à 12 planètes. Le serveur Python est 100% autoritaire — moteur de temps réel avec accumulation lazy des ressources, jobs idempotents, WebSockets via Channels et Redis pour les notifs cross-process.

Univers gigantesque mais navigable : vue 3D R3F à trois niveaux (Univers → Galaxie → Système), brouillard de guerre seedé, scanning par sondes, espionnage à 5 niveaux d’info. Plan de 510 étapes sur 20 phases. Solo d’abord, MMO ensuite.

État

En pause — le studio se concentre sur le Fantasy Sports Manager

Caractéristiques

  • 10 000 galaxies × 400 systèmes × 12 planètes — vue 3D multi-niveaux (R3F)
  • Brouillard de guerre + rayon de comm + scanning par sondes
  • Moteur de temps lazy : ressources accumulées à la demande, jamais en boucle
  • Combat déterministe par rounds + débris recyclables
  • IA PNJ avec 5 profils (agressif / passif / marchand / pirate / neutre)
  • WebSockets via Channels + Redis PubSub (publish post-commit)
  • Quêtes, classements, marché de troc, défenses planétaires

Stack

Django 6DRFChannels (ASGI/daphne)Redis (PubSub)SQLite (WAL)React + TSViteTailwind v4shadcn (new-york)three.js + R3FJWT
Cartel: Plaza Wars
Gestion / stratégieEn pause

Cartel: Plaza Wars

Un cartel se bâtit, une enquête le démonte — un seul moteur, deux camps.

Jeu de gestion situé au Mexique, jouable des deux bords : l’organisation qui produit, achemine et blanchit, ou l’agence qui remonte l’organigramme un dossier à la fois. Les deux camps partagent le même moteur de règles ; c’est la vue qui est filtrée par faction, pas la simulation.

Une partie se joue sur les plazas — Tijuana, Ciudad Juárez, Culiacán, Matamoros et les autres — chacune avec sa population, sa richesse, ses emplacements de construction et sa propre chaleur policière, doublée d’une chaleur nationale. Autour : recrutement de lieutenants au mois, filière de production et d’acheminement, achat d’élus et de commandants, IA rivale, diplomatie et guerres de plaza, succession quand la tête tombe, identités générées pour qu’on ne recroise jamais le même lieutenant. Trois époques jouables — 1980, 1985, 1995 — et le jeu se joue en français comme en anglais.

État

En développement, ralenti — priorité au Fantasy Sports Manager ; les 27 étapes du plan sont fermées et le client Unity WebGL est jouable

Caractéristiques

  • Deux campagnes sur le même moteur : l’organisation ou l’agence qui l’enquête
  • Plazas réelles, chaleur locale et nationale, filière production → acheminement → marché
  • IA rivale (Utility AI), diplomatie, guerre de plaza, succession et fragmentation
  • Politique achetable : commandants, élus, effets chiffrés et coût mensuel
  • Client Unity 6 compilé en WebGL (IL2CPP), servi par le même hôte que l’API FastAPI
  • 775 tests EditMode côté Unity + 20 tests côté serveur

Stack

Unity 6C#UI ToolkitIL2CPP WebGLFastAPISQLitePython
Closed Circle
Enquête / narrationEn pause

Closed Circle

Un meurtre, un cercle de suspects, personne ne quitte l’île avant que le nom tombe.

Enquête à huis clos dans un hôtel-resort sur une île isolée. Le dossier — coupable, arme, lieu, mobile — est tiré au sort et vit uniquement sur le serveur : il n’est jamais envoyé au client, même sous une forme chiffrée. On interroge, on fouille, on accuse.

Les suspects sont incarnés par un modèle de langage, mais sous contrainte stricte : chaque personnage ne reçoit que SA fiche. Un innocent ne peut donc pas révéler le coupable, puisqu’il ne le connaît pas ; le coupable, lui, ment et n’avoue jamais. L’accusation, elle, n’est pas jugée par l’IA : elle est comparée au dossier de façon déterministe. L’île est canonique — mêmes lieux d’une partie à l’autre, une chambre par personne d’intérêt, et l’indice de chambre se trouve en fouillant comme n’importe quel autre. Le client est en 3D isométrique basse densité, caméra orthographique.

État

En développement, ralenti — priorité au Fantasy Sports Manager ; une partie se joue de bout en bout

Caractéristiques

  • Dossier de vérité côté serveur, jamais exposé au client
  • Suspects joués par IA, chacun cloisonné à sa propre fiche — le coupable ment, les innocents ne peuvent pas fuiter
  • Accusation jugée par comparaison déterministe, pas par l’IA
  • Île canonique : lieux fixes, une chambre par personne d’intérêt, indices trouvés à la fouille
  • Carnet d’enquête : indices reliables aux suspects, dossiers, notes libres, tout persisté
  • Rendu 3D isométrique basse densité, caméra orthographique

Stack

FastAPISQLiteReact 19 + TSViteTailwind v4three.js + R3FAPI Claude
SWAT 2 — remake web
Tactique temps réelEn pause

SWAT 2 — remake web

Tactique isométrique temps réel où la force employée compte autant que la mission.

Remake personnel et non commercial, dans le navigateur, d’un jeu de tactique policière isométrique de 1998. Le projet n’est pas affilié aux ayants droit de l’original et n’en redistribue rien : c’est un banc d’essai technique sur une mécanique qu’aucun jeu moderne n’a reprise.

La simulation de mission tourne à ~20 Hz en Python, côté serveur et autoritaire — le client ne fait que rendre et envoyer des ordres. Ce qui a été gardé de l’original, c’est ce qui le distinguait : la partie ne se gagne pas en tirant, elle se gagne en employant la force juste. Chaque tir est jugé (menaçant ou non, dans les règles ou non, évitable ou non) et se paie en suspensions, en médailles, en budget. Armes à létalité réduite, négociateurs, IA des suspects sur des traits flous plutôt que sur un script.

État

En développement, ralenti — priorité au Fantasy Sports Manager ; mission gagnable de bout en bout

Caractéristiques

  • Simulation serveur-autoritaire à ~20 Hz, client en rendu seul
  • Barème d’usage de la force : chaque tir jugé, conséquences en carrière et en budget
  • Létalité réduite et négociation avant l’assaut
  • Ligne de vue à 8 directions, brouillard et contacts fantômes
  • Éditeur de cartes et parties en réseau local
  • Audit de 171 points dérivé du manuel de 205 pages de l’original

Stack

DjangoDRFChannels (ASGI/daphne)RedisSQLiteReact + TSViteTailwind v4PixiJS
Pathfinder VTT
Table de jeu en ligneEn pause

Pathfinder VTT

Une table de jeu en ligne pour Pathfinder 1re édition, taillée pour une partie entre amis. Projet personnel et non commercial, non affilié à Paizo ; le contenu des règles n’est pas redistribué.

Table de jeu virtuelle pour du jeu de rôle sur table : un maître du jeu, jusqu’à cinq joueurs, une carte, une grille, des pions, du brouillard, des dés et les fiches. Volontairement dimensionnée pour une partie entre amis sur le réseau local, pas pour héberger des inconnus — un seul processus, pas de file de messages, pas de cache distribué.

Le serveur diffuse l’état complet de la table à chaque entrée et à chaque changement, ce qui évite toute la classe de bogues où deux écrans divergent sans que personne s’en aperçoive. La feuille de route va du strict assistant visuel — la carte, la grille, les pions, les règles restant dans la tête du MJ — vers l’automatisation progressive des règles. Le repli est assumé et écrit noir sur blanc : si l’automatisation complète n’arrive jamais, un outil existant fait déjà le travail.

État

En développement, ralenti — priorité au Fantasy Sports Manager ; 2 phases livrées sur 10

Caractéristiques

  • Un MJ et jusqu’à cinq joueurs par table, rejoignables par code
  • État complet diffusé par WebSocket à chaque entrée et à chaque changement
  • Vue carte en canvas : grille, déplacement, zoom à la molette
  • Réseau local uniquement, pare-feu fermé sur le sous-réseau
  • Trois paliers assumés : assistant visuel, puis règles assistées, puis automatisation

Stack

FastAPIWebSocketSQLiteReact + TSViteTailwind v4PixiJS

Envie d’essayer ?

Démos, alphas, partenariats — écris-nous.

Nous contacter