Show HN: Those Who Die as Cattle

eswart.itch.io

4 points by elliotswart 9 hours ago

What if a game gave you the backstory of everyone you killed or got killed? I feel like I've heard this question asked before, but I've never seen it done. For Ludum Dare 56 (a game jam), I spent 48 hours building a prototype called Those Who Die As Cattle, a WW1 trench warfare simulation game.

I used ChatGPT 4o-mini to generate details for the 12,000 soldiers involved in the game. Notably, I had to supply names because it couldn't introduce sufficient variety. I also had to add randomly generated adjectives for the soldiers; otherwise, the prompts were too similar, even with different seeds and temperatures. Initially, I used Claude (which I usually prefer), but it made every soldier a former carpenter’s apprentice. Since this is a game and your actions should matter, instead of generating one block of text, I had it generate JSON by providing a template with cues for different things that might happen to the soldier. I used these to dynamically assemble a story for each casualty. For example:

{ "briefBio": "Tell me a little bit about the solider", // Putting this first is critical to introduce variety … "lastThoughtsArtilleryDead": "What are his last thoughts as he dies from an artillery strike" , … "effectOnOthersShotInjured": "What are the long term impacts on the people who care about him when he is seriously injured by a bullet wound", }

The prompt template can be found here: https://gist.github.com/ElliotSwart/f7b5754f3b02e6c99791e365...

The underlying simulation was programmed using Unity ECS (Entity Component System) and simulated, to some degree, each soldier and artillery piece. Casualties were taken in entity order, so there's some predictability regarding when each name gets added to the list, though it isn't completely deterministic. The area where I skimped the most was the UI, but the game is in a playable state if you're willing to look at the center column and figure out what the numbers mean. A final notable learning is that Unity UI toolkit (their modern, web dev like solution) performs significantly better on the web than in the native linux build, at least on the 2022 LTS version of Unity. This suggests that they may be leveraging the rendering efficiencies built into browsers.

sinaptia_dev 9 hours ago

We're launching the second issue of This Week in #devs, a section of our blog that highlights discussions and articles from the #devs Slack channel. https://lnkd.in/gvmvKA49 We hope you find it useful!