French Ship Madame De Pompadour
Python

French Ship Madame De Pompadour

Soziale Simulation und Geschichtengenerator, der Sci-Fi-Erzählungen basierend auf Star Trek erstellt. OOP Python/Flask mit einigen Datenstrukturen, Gemini API, React/Vite/Tailwind-Frontend.

GitHub|

Raumschiff-Simulator mit KI und zufälligen Aktionen, inspiriert von Star Trek.


FS Madame de Pompadour ist ein textbasierter narrativer Simulator, der dynamische und unvorhersehbare Geschichten in einem Science-Fiction-Universum erzeugt. Durch Klicken auf „Weiter“ treiben Sie die Simulation Runde für Runde voran und beobachten, wie eine Gruppe von Charakteren auf der Grundlage einer Kombination aus vordefinierten Verhaltensweisen und generativer KI miteinander interagiert.

Bild

Das Ziel ist es, ein „digitales Terrarium“ zu schaffen, in dem komplexe soziale Dynamiken und unerwartete Ereignisse aus einfachen Regeln und der kreativen Kraft der KI entstehen.


Willkommen auf der FS Madame de Pompadour.

Kapitän Pepillo wandte sich an Besatzungsmitglied Harold und bellte: „Berichten Sie über die gegen Von ergriffenen Disziplinarmaßnahmen.“

Kapitän Pepillo wandte sich der Kommunikationsstation zu und forderte: „Verbinden Sie mich sofort mit Leutnant Dubois.“

Tedrick beugte sich zu Matrose Waylon hinüber und flüsterte: „Hast du gesehen, was Von gemacht hat? Scheint so, als wäre Kapitän Pepillo heute in schlechter Laune“, während er unauffällig an seiner Uniform zupfte, um präsentabel zu wirken.

Konstantin wirft einen kurzen Blick auf Besatzungsmitglied Harold und murmelt dann leise zu Besatzungsmitglied Mohammed: „Ich frage mich, was Von diesmal angestellt hat, um sich den Kapitän zum Feind zu machen“, während er diskret einen Abschnitt des nahegelegenen Geländers poliert.

Matrose Von zieht nervös seine Uniform glatt, trifft dann den Blick von Matrose Ezechiel und murmelt leise: „Das wird ein langer Tag“, in der Hoffnung, dass Ezechiel etwas erwidert.

Matrose Mohammed bemerkt Konstantins unauffälliges Polieren, wirft einen Blick auf das Geländer und sagt: „Sieht aus, als müsste es mal gründlich geschrubbt werden, oder? Vielleicht sollten wir diesen Abschnitt gemeinsam erledigen, Konstantin?“

Besatzungsmitglied Harold, der die angespannte Atmosphäre und die Befehle des Kapitäns bemerkt, zupft lässig an seiner eigenen Uniform herum und murmelt zu Besatzungsmitglied Sebastien: „Sieht so aus, als stünde Von auf dem heißen Stuhl, oder? Meinst du, wir sollten uns einen Kaffee holen, um die Stimmung aufzulockern, bevor die Aufgaben noch unangenehmer werden?“

Als er die Anspannung bemerkt, wendet sich Besatzungsmitglied Westley an Besatzungsmitglied Flin und fragt: „Hast du gehört, was mit Von passiert ist? Der Kapitän scheint schlecht gelaunt zu sein, vielleicht sollten wir sicherstellen, dass unsere Posten blitzblank sind.“

Kapitän Pepillo bittet Besatzungsmitglied Harold um seine fachliche Meinung.

Kapitän Pepillo wendet sich an Besatzungsmitglied Von und fordert: „Von, berichten Sie mir sofort über den aktuellen Status Ihres Postens und der Systeme.“

Crewmitglied Westley bemerkt den strengen Befehl des Kapitäns an Von, wendet sich schnell an Crewmitglied Flin und sagt leise: „Flin, lass uns die Vorratsschränke überprüfen. Ich glaube, der Kapitän möchte vielleicht, dass die Notrationen inventarisiert werden“, in der Hoffnung, beschäftigt zu wirken und unerwünschte Aufmerksamkeit zu vermeiden.

Besatzungsmitglied Mohammed, der die angespannte Stimmung um Kapitän Pepillo wahrnimmt, nähert sich leise Besatzungsmitglied Ezechiel und flüstert: „Meinst du, wir sollten ein paar Reinigungsutensilien bereithalten, nur für den Fall, dass der Kapitän schnell etwas erledigt haben möchte?“
BildBild

In diesem Demonstrations-Schnappschuss aus der FS-Simulation „Madame de Pompadour“ beobachten wir ein komplexes und dynamisches soziales Ökosystem in Bewegung. Das System demonstriert seine Fähigkeit, emergente Erzählungen zu erzeugen – nicht durch vorab festgelegte Ereignisse, sondern indem es unabhängigen Akteuren die Interaktion ermöglicht und so ein facettenreiches und glaubwürdiges Lebensbild auf den unteren Decks schafft.

Die Simulation wird durch einen eindeutigen Auslöser in Gang gesetzt: eine hochrangige Autoritätsperson, Kapitän Pepillo, der durch direkte Befehle sofortige, hochbrisante Spannungen erzeugt. Diese „Befehlskaskade“ wird zum zentralen Anziehungspunkt für das gesamte soziale Ökosystem. Beachten Sie, wie seine Forderungen nicht nur individuelle Charakterabläufe auslösen, sondern stattdessen ein einheitliches, unter hohem Druck stehendes Ereignis in Gang setzen. Dies verdeutlicht den neuen Fokus des Systems auf hierarchische Strukturen, in denen die Handlungen eines einzelnen Akteurs den Schwerpunkt, die Stimmung und das strategische Ziel für jeden anderen Charakter in der gemeinsamen Umgebung bestimmen können.

Während sich die Befehle des Kapitäns in der Besatzung ausbreiten, beobachten wir die Entstehung ausgefeilter, reaktiver sozialer Strategien. Die Besatzungsmitglieder gehen nicht einfach weiter ihren Routineaufgaben nach, sondern beginnen sofort, die neue Realität zu verarbeiten. Beobachten Sie, wie Charaktere wie Tedrick und Konstantin vorübergehend Gesprächsgruppen bilden, um zu tratschen und die Situation zu analysieren, während sie versuchen, die neue Machtdynamik zu verstehen. Noch beeindruckender ist, dass Crewmitglied Westley ein höheres Maß an emergenter Logik an den Tag legt, indem er aktiv eine Überlebensstrategie entwickelt – er schlägt vor, dass er und ein Crewmitglied so tun, als wären sie mit offiziellen Aufgaben beschäftigt, um den Zorn des Kapitäns zu vermeiden. Dies ist kein vorab festgelegtes Verhalten, sondern eine logische soziale Schlussfolgerung, die von der KI als Reaktion auf eine wahrgenommene Bedrohung generiert wird und eine robuste Fähigkeit zur Risikoeinschätzung demonstriert.

Dieses kurze Zeitfenster offenbart eine leistungsstarke Engine für emergentes Storytelling, die berufliche Rollen nahtlos mit persönlicher Angst verbindet. Wir sehen, wie Besatzungsmitglied Harold gezwungen ist, von einem lockeren, gedämpften Gespräch zu einer formellen, professionellen Stellungnahme auf die Forderung des Kapitäns überzugehen, was die Fähigkeit des Systems verdeutlicht, widersprüchliche soziale Kontexte zu bewältigen. Die gesamte Simulation dreht sich um den zentralen Konflikt mit Von und schafft so einen einheitlichen narrativen Druckkessel anstelle einer Ansammlung separater, stiller Dramen. Die Engine ist über die Erzeugung eines einfachen Lebensbildes hinausgereift und demonstriert nun die Fähigkeit, ein komplexes Geflecht aus sozialem Kalkül, strategischen Allianzen und emergentem Gruppendenken unter Druck zu simulieren.

FS Madame de Pompadour basiert auf einer modernen, entkoppelten Webarchitektur, die die Backend-Simulations-Engine von der Frontend-Benutzeroberfläche trennt, um Modularität und Leistung zu gewährleisten.

Bild wird hochgeladen.png…

Backend: Python, Flask und Gemini

Der gesamte Simulationskern und die Logik befinden sich im Python-Backend.

  • Python: Die naheliegende Wahl aufgrund seiner leistungsstarken Datenverarbeitung und seines robusten KI-/ML-Ökosystems. Der objektorientierte Ansatz ermöglicht modulare Crewman- und ActorManager-Klassen, die sich leicht erweitern lassen.
  • Flask: Ein leichtgewichtiges und flexibles Web-Framework, das zur Erstellung der API verwendet wird, mit der das Frontend kommuniziert. Seine einzige Aufgabe besteht darin, eine Anfrage für den nächsten Zug entgegenzunehmen, die Simulationslogik auszulösen und das Ergebnis zurückzugeben.
  • Google Gemini: Der „Geist in der Maschine“. Das Projekt ist in die Gemini-API integriert, um sein intelligentes Aktionssystem anzutreiben. Wenn ein Charakter beschließt, „intelligent“ zu handeln, sendet das Backend eine Eingabeaufforderung – die den Kontext des Schiffes, die Rolle des Charakters und den aktuellen Aktionsverlauf enthält – an das Gemini-Modell, das daraufhin eine kreative, kontextbezogene Aktion zurückgibt.

Frontend: React, Vite und Tailwind CSS

Die Benutzeroberfläche ist eine schnelle, moderne Single-Page-Anwendung (SPA).

  • React: Eine leistungsstarke JavaScript-Bibliothek zum Erstellen dynamischer und komponentenbasierter Benutzeroberflächen. Das gesamte Ereignisprotokoll ist eine React-Komponente, die effizient aktualisiert wird, sobald neue Aktionen vom Backend empfangen werden.
  • Vite: Ein Frontend-Build-Tool der nächsten Generation, das einen extrem schnellen Entwicklungsserver und optimierte Produktions-Builds bereitstellt.
  • TypeScript: Wird verwendet, um den JavaScript-Code statisch zu typisieren, was die Entwicklererfahrung verbessert und Fehler reduziert.
  • Tailwind CSS: Ein „Utility-First“-CSS-Framework, das eine schnelle und konsistente Gestaltung direkt im HTML-Code ermöglicht, wie an den Klassennamen der Komponenten zu erkennen ist.

Gesamtarchitektur

Der Ablauf einer einzelnen Runde ist einfach und effektiv:

  1. Der Benutzer klickt auf die Schaltfläche „Weiter“ in der React-basierten Benutzeroberfläche.
  2. Das Frontend sendet eine fetch-Anfrage an den /action-Endpunkt des Backends, der auf Flask läuft.
  3. Der Flask-Server ruft den Python-ActorManager auf, der eine einzelne Runde der Simulation ausführt und dabei möglicherweise die Gemini-API aufruft.
  4. Das Backend gibt die resultierende Aktionszeichenfolge als JSON-Objekt zurück.
  5. Das React-Frontend empfängt das JSON, aktualisiert seinen Zustand und rendert das neue Ereignis auf dem Bildschirm, wobei automatisch zum neuesten Eintrag gescrollt wird.