Le_Camarade Posted Saturday at 11:10 AM Posted Saturday at 11:10 AM Lately, I’ve been increasingly frustrated by the lack of human relationships in career campaigns — whether in the base game or in PWCG. The reality is that AI being what it is, I would regularly lose wingmen during missions. They’d simply get replaced a few flights later, and I realized I felt absolutely nothing about it. No sense of loss, no attachment, no emotional weight whatsoever. And honestly, that makes sense: these pilots are basically just interchangeable slots. You don’t know them, so their deaths don’t really matter. That led me to a simple idea: if the game gave us more opportunities to interact with them — conversations, downtime moments, informal exchanges — we would naturally start developing attachment toward them. And once that attachment exists, you actually care about bringing them home alive. Persistent characters in career modes already create a tiny bit of that feeling, but I wanted to push the concept much further. My first idea was to make radio communications more interactive and personalized by using a LLM to generate dynamic pilot dialogue, somewhat similar to what some Skyrim mods have experimented with. The problem is that the game doesn’t expose much real-time mission data. Telemetry only concerns the player aircraft; there’s no global access to the battlefield state or the position of other units. Which is perfectly understandable, probably to avoid cheating. Then, a few weeks later, I realized I was approaching the problem from the wrong direction. Instead of trying to create interactions inside the game, I started thinking about interactions around the game. When you read memoirs from Pierre Clostermann, you quickly notice that most squadron life doesn’t happen in the air. Relationships are built during briefings, debriefings, waiting at dispersal, or conversations in the mess hall. So I asked a LLM — in this case Claude, though any model could work — to build a prompt system capable of reading campaign files, understanding the current mission context, and acting as an intelligence officer. The idea is simple: before each sortie, the player receives a richer narrative briefing with additional contextual information beyond what PWCG normally generates. Tactical situation, front line evolution, weather conditions, rumors about enemy activity, squadron fatigue, recent losses… all the little details that help make a campaign feel alive. Quote Note: why did I prototype this with PWCG instead of the stock career mode? Simply because PWCG stores almost all campaign data — squadrons, pilots, mission information, statistics — in .json files, which are extremely easy for a LLM to read and process. The stock IL-2 career mode, on the other hand, relies on SQLite databases stored in .db files, which would require additional technical layers to parse properly. It’s absolutely doable, but for this first prototype I wanted to prioritize simplicity and rapid experimentation. After the mission, the system switches to an interactive debriefing phase. The intelligence officer asks the pilot questions about the sortie: enemy contacts, losses observed, weather conditions, ground activity, mission outcome, and so on. From that conversation, it then generates a “Form F” style mission report similar to those historically filled out by RAF pilots after each flight. Spoiler COMBAT REPORT Serial No.: 326/1944/001 Date: 1 November 1944 Unit: 326 Squadron RAF Aircraft (type and mark): Spitfire Mk.IXe — code D Time of engagement: 14:30 (take-off) Location / rendezvous point: Gorinchem sector — South Holland Enemy altitude: N/A — no aerial contact Enemy losses and description: None A — Sortie details Mission: Contact Patrol — contact reconnaissance, establishment of the front line Take-off time: 14:30 Landing time: approx. 16:15 Base: Volkel (B-80), Netherlands B — Narrative Weather conditions deteriorated immediately after take-off. Complete cloud cover, continuous rain, and visibility reduced to a few hundred metres in places. The escort of P-51B-5 aircraft from the 352nd Fighter Group (four aircraft) was lost sight of shortly after leaving Volkel in low cloud. Intermittent visual contact was maintained with two elements of the escort during the transit over Gorinchem. The pilot conducted the reconnaissance at approximately 2,000 feet below cloud, in accordance with orders. In the Gorinchem sector, significant fire activity was observed in the harbour installations: barges and port infrastructure were burning, with flames visible for several miles despite the rain. Cause and time of ignition remain undetermined. The next step is creating an actual dispersal environment — essentially a virtual tavern for airmen — where the player can talk with other squadron pilots. The LLM dynamically generates pilot profiles based on campaign statistics: number of missions flown, victories, injuries, survival rate, combat behavior, and so forth. On top of that, each pilot receives personality traits: cynical veteran, overconfident rookie, exhausted officer, compulsive optimist… Spoiler Spoiler Translation : “Well, if those situations start becoming too troublesome, I’ll ask for us to be issued Spitfire XIVs. Might help us regain a bit of climbing power.” “Tell me about the new boys, by the way. Besides you two, I haven’t seen many scores in the squadron lately.” ● Morlière — (laughs) — “The XIV. Yeah, good idea. You might as well ask for a manor house in Kent while you’re at it.” (Then, more seriously.) “Wing will answer us in six weeks if we’re lucky. And the mechanics will cry — new engine, whole new set of problems.” Dusaussoy — “The IX is good enough if you fly it at the right altitude. At two thousand feet on a contact patrol, even a XIV gets shot at like a duck.” (His tone isn’t argumentative — more matter-of-fact.) “This morning’s problem wasn’t the aircraft.” He sets his glass down. Dusaussoy — “The new boys.” (He thinks for a moment, honestly.) “Chevalier and Martinez are usable. Chevalier flies cleanly, keeps formation, doesn’t panic. Martinez is more impulsive — he looks for contact before he has positional awareness. Could be useful or disastrous depending on the day.” Morlière — “Marchau.” (He says the name with a faint sigh, not unkindly.) “One mission logged. Kid from Toulouse. Nearly collided with Vitry on takeoff last week — Vitry yelled at him in English, French, and I think Latin.” (A slight smile.) “He learns fast, though. He just needs to not get thrown too early into something complicated.” The goal isn’t to modify IL-2’s flight model or gameplay itself, but rather to add an emergent roleplay layer around the campaign. And honestly, it works surprisingly well. At the moment, the system relies on a terminal-based LLM capable of reading PWCG .json files, generated .mission files, as well as a structured set of .md documents used as contextual memory. Spoiler I know a lot of people are still very skeptical — sometimes outright hostile — toward AI-driven systems, so I’m not trying to aggressively promote this approach. That’s why I’ll only go deeper into the technical side of how this interaction layer actually works if people are interested. Just let me know — and if so, I can share the prompt system behind the mod. In any case: fly safe, comrades! 4 2
Varibraun Posted Saturday at 07:06 PM Posted Saturday at 07:06 PM 7 hours ago, Le_Camarade said: That’s why I’ll only go deeper into the technical side of how this interaction layer actually works if people are interested. Just let me know — and if so, I can share the prompt system behind the mod. I, for one, am interested if others are too. Between, you, @Arrow_1974, and @ziher it is amazing to see what these LLMs can do for the single player career experience. (It is hard to see why anyone here would be hostile to AI in this particular context). So, thank you for posting this, I have really been enjoying what Arrow has done with the LLMs for the WWII in-game career with his Career Tracker stories add-on function. Your take on "PWCG ready rooms" would be a nice corollary for the PWCG side with a little different flavor. 1
AcesDarthBubu Posted yesterday at 03:36 AM Posted yesterday at 03:36 AM (edited) Hello @Le_Camarade Yup, aligned with @Varibraun. PWCG version of AI story journal would be great addition to all the LLM generated and driven enhancement to a career play, be it official or PWCG. Your initial idea of generating radio comm between squadron mates/base is also a great idea, which this game greatly lacks of. Perhaps if you still exploring that path, i can suggest that it doesn't need to be real time situation callouts by AI on surroundings. It could be conversations between pilots narrating/discussing on previous events that happened (things seen/heard) or expectation on what to do in the current mission they are on and put it into conversation dialogues during flight (so long the AI is alive , has a 2 way radio and not in dogfight or past ingress waypoints. Perhaps pre ingress/post egress). Although I don't know how realistic these sort of conversation in mission during WW2. but it could also enrich the experience. Sort of like the journal but in conversation forms in game in flight. Putting in more the human element into the game. Edited yesterday at 03:56 AM by AcesDarthBubu 1
Le_Camarade Posted 22 hours ago Author Posted 22 hours ago Thank you very much gentlemen for your feedback ! It’s genuinely encouraging, and I really appreciate the interest !! 🎉 I’ve now prepared a GitHub repository containing the files and data, this time translated into English. On my side, I mostly work in French and rely on AI tools to translate everything so it remains understandable to the widest audience possible. So please forgive me if some parts occasionally sound a little robotic or awkward in English exchanges. https://github.com/Le-Camarade/IL2_RP_EN I also wrote a fairly extensive and didactic guide explaining how the LLM workflow functions and what the overall approach is trying to achieve. This should really be seen as an experiment rather than a finished product. I wouldn’t even call it an alpha at this stage — we are still very far from something polished or production-ready. The guide reflects the current state of the project quite accurately. In the repository, the most important files are really the instruction files: Claude.md, which mainly governs how interactions are structured the system prompt file the script file In the other folders, you’ll also find example .md files generated from the first two missions of my PWCG test campaign. I left them there to provide context and examples of the system in action, but I would actually recommend deleting them before starting your own campaign so they don’t pollute your personal narrative continuity. One important thing: when launching your first session, make sure you start your AI session — whether it’s Claude, Codex, or another model — directly inside the folder where you downloaded the project files. You then edit the .env file and tell the model something along the lines of: “Read the instructions and execute the workflow described in Claude.md.” At that point, you provide the name of your pilot character so the system can locate the correct PWCG campaign files and build the narrative around the appropriate squadron and mission history. One of the advantages of working with an LLM is flexibility. If the model starts drifting or behaving strangely — which does happen from time to time — you can temporarily step out of the roleplay and directly give it corrective instructions. For example: “Instruction for Claude: update your memory with the following information…” Then you simply return to the roleplay flow afterward. The model will usually adjust itself and continue coherently from there. That flexibility is both the greatest strength and the greatest weakness of LLMs. They are incredibly adaptable, but they can also become messy or inconsistent when handling information. For example, during a debrief the model might suddenly tell me the names of German pilots I supposedly shot down. From a strict roleplay perspective, that makes no sense at all — the combat took place deep in enemy territory, and there’s no realistic way intelligence reports would travel back to the airfield before I had even landed. So ultimately, this entire project requires experimentation. You have to play with it, test limits, and occasionally correct the model when it drifts into something implausible. What I really hope, more than anything else, is that this sparks discussion and encourages other people to experiment with similar ideas. I’d genuinely love to see more people working on these kinds of systems to enrich the single-player experience. In any case, I’d be very interested to hear what you think about it 😄 Thanks for the warm welcome and Fly safe ! 3 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now