Page Image AGMA SCHWA

Hunger Games Simulator


Last Updated: 24 January 2025
Error
Warning

Your progress will be lost. Are you sure you want to abort the game?

Error
Select an image

You can input a local file or a public url.
The image can be in any format your browser supports.

Error
Load Game Setup

Click below to upload a save.
This will override the current setup. Unsaved changes will be lost!

Error
Upload Images

Click below to select multiple files to add them as tributes.

Settings

Hover over the names of settings (e.g. ‘Deaths per Round’) for a more detailed description.

Warning

<No description provided>

Error
Error
Upload Events

Choose a File

Event Settings
Error
Message Syntax

For an event that involves n players, %0 is the name of the 1st (!) player, %1 that of the second, and so on. Each player has a set of pronouns. Currently, a player is considered to be plural (i.e. plural inflexions are used), if their pronouns are set to the builtin 'they/...' option.

The ‘deaths’ and ‘killers’ are comma-separated lists of the numbers of the players who die in or participate in killing someone in an event.

There are several formatting codes to access tribute-dependent data: %Xn or %n. The n is the number of the player; the 1st player has the number 0. If there is no X, then you get the name of that player (e.g. %2 is the name of the 3rd player). Otherwise, X is one of the following:

  • N = nominative; e.g. %N2 = ‘he’ if the 3rd player’s pronouns are 'he/…'.
  • A = accusative; e.g. %A2 = ‘him’ if the 3rd player’s pronouns are 'he/…'.
  • G = genitive; e.g. %G2 = ‘his’ if the 3rd player’s pronouns are 'he/…'.
  • R = reflexive; e.g. %R2 = ‘himself’ if the 3rd player’s pronouns are 'he/…'.
  • e = 3rd person sg. ‘-es’; e.g. bash%e2 = ‘bash’ if the 3rd player is plural, and ‘bashes’ otherwise.
  • s = 3rd person sg. ‘-s’; e.g. drink%s2 = ‘drink’ if the 3rd player is plural, and ‘drinks’ otherwise.
  • y = ‘-y/-ies’; e.g. fl%y2 = ‘fly’ if the 3rd player is plural, and ‘flies’ otherwise.
  • i = ‘is/are’; e.g. %i2 = ‘are’ if the 3rd player is plural, and ‘is’ otherwise.
  • h = ‘has/have’; e.g. %h2 = ‘have’ if the 3rd player is plural, and ‘has’ otherwise.
  • ! = ‘isn't/aren't’; e.g. %!2 = ‘aren’t’ if the 3rd player is plural, and ‘isn’t’ otherwise.
  • w = ‘was/were’; e.g. %w2 = ‘were’ if the 3rd player is plural, and ‘was’ otherwise.
Add Event

Specify the data for an event below and then press 'Add' to add it;
to view the message syntax, click on 'View Message Syntax' below.

You can add, enable, disable, download, and upload events here; all events that are currently loaded are shown below. When events are uploaded, duplicate events are automatically filtered out; if you e.g. upload the same event list twice in a row, the second upload will do nothing.

MessagePlayersDeathsKillers
Bloodbath
%0 runs away from the Cornucopia.1
%0 grabs a shovel.1
%0 grabs a backpack and retreats.1
%0 and %1 fight for a bag. %0 gives up and retreats.2
%0 and %1 fight for a bag. %1 gives up and retreats.2
%0 finds a bow, some arrows, and a quiver.1
%0 runs into the cornucopia and hides.1
%0 finds a canteen full of water.1
%0 stays at the cornucopia for resources.1
%0 gathers as much food as %N0 can.1
%0 grabs a sword.1
%0 takes a spear from inside the cornucopia.1
%0 finds a bag full of explosives.1
%0 clutches a first aid kit and runs away.1
%0 takes a sickle from inside the cornucopia.1
%0, %1, and %2 work together to get as many supplies as possible.3
%0 runs away with a lighter and some rope.1
%0 snatches a bottle of alcohol and a rag.1
%0 finds a backpack full of camping equipment.1
%0 grabs a backpack, not realizing it is empty.1
%0 breaks %1's nose for a basket of bread.2
%0, %1, %2, and %3 share everything they gathered before running.4
%0 retrieves a trident from inside the cornucopia.1
%0 grabs a jar of fishing bait while %1 gets fishing gear.2
%0 scares %1 away from the cornucopia.2
%0 grabs a shield leaning on the cornucopia.1
%0 snatches a pair of sais.1
%0 steps off %G0 podium too soon and blows up.10
%0 snaps %1's neck.210
%0 finds %1 hiding in the cornucopia and kills %A1.210
%0 finds %1 hiding in the cornucopia, but %1 kills %A0.201
%0 and %1 fight for a bag. %0 strangles %1 with the straps and runs.210
%0 and %1 fight for a bag. %1 strangles %0 with the straps and runs.201
Day
%0 goes hunting.1
%0 injures %R0.1
%0 explores the arena.1
%0 scares %1 off.2
%0 diverts %1's attention and runs away.2
%0 stalks %1.2
%0 fishes.1
%0 camouflages %R0 in the bushes.1
%0 steals from %1 while %N1 %!1 looking.2
%0 makes a wooden spear.1
%0 discovers a cave.1
%0 attacks %1, but %N1 manage%s1 to escape.2
%0 chases %1.2
%0 runs away from %1.2
%0 collects fruit from a tree.1
%0 receives a hatchet from an unknown sponsor.1
%0 receives clean water from an unknown sponsor.1
%0 receives medical supplies from an unknown sponsor.1
%0 receives fresh food from an unknown sponsor.1
%0 searches for a water source.1
%0 defeats %1 in a fight, but spares %G1 life.2
%0 and %1 work together for the day.2
%0 begs for %1 to kill %A0. %N1 refuse%s1, keeping %0 alive.2
%0 tries to sleep through the entire day.1
%0, %1, %2, and %3 raid %4's camp while %N4 %i4 hunting.5
%0 constructs a shack.1
%0 overhears %1 and %2 talking in the distance.3
%0 practices %G0 archery.1
%0 thinks about home.1
%0 is pricked by thorns while picking berries.1
%0 tries to spear fish with a trident.1
%0 searches for firewood.1
%0 and %1 split up to search for resources.2
%0 picks flowers.1
%0 tends to %1's wounds.2
%0 sees smoke rising in the distance, but decides not to investigate.1
%0 sprains %G0 ankle while running away from %1.2
%0 makes a slingshot.1
%0 travels to higher ground.1
%0 discovers a river.1
%0 hunts for other tributes.1
%0 and %1 hunt for other tributes.2
%0, %1, and %2 hunt for other tributes.3
%0, %1, %2, and %3 hunt for other tributes.4
%0, %1, %2, %3, and %4 hunt for other tributes.5
%0 receives an explosive from an unknown sponsor.1
%0 questions %G0 sanity.1
%0 kills %1 while %N1 %i1 resting.210
%0 begs for %1 to kill %A0. %N1 reluctantly oblige%s1, killing %0.201
%0 bleeds out due to untreated injuries.10
%0 unknowingly eats toxic berries.10
%0 silently snaps %1's neck.210
%0 taints %1's food, killing %A1.210
%0 dies from an infection.10
%0's trap kills %1.210
%0 dies from hypothermia.10
%0 dies from hunger.10
%0 dies from thirst.10
%0 dies trying to escape the arena.10
%0 dies of dysentery.10
%0 accidentally detonates a land mine while trying to arm it.10
%0 ambushes %1 and kills %A1.210
%0, %1, and %2 successfully ambush and kill %3, %4, and %5.63,4,50,1,2
%0, %1, and %2 unsuccessfully ambush %3, %4, and %5, who kill them instead.60,1,23,4,5
%0 forces %1 to kill %2 or %3. %N1 decide%s1 to kill %2.421
%0 forces %1 to kill %2 or %3. %N1 decide%s1 to kill %3.431
%0 forces %1 to kill %2 or %3. %N1 refuse%s1 to kill, so %0 kills %A1 instead.410
%0 poisons %1's drink, but mistakes it for %G0 own and dies.20
%0 poisons %1's drink. %N1 drink%s1 it and die%s1.210
%0 attempts to climb a tree, but falls on %1, killing them both.20,1
%0, %1, %2, %3, and %4 track down and kill %5.650,1,2,3,4
%0, %1, %2, and %3 track down and kill %4.540,1,2,3
%0, %1, and %2 track down and kill %3.430,1,2
%0 and %1 track down and kill %2.320,1
%0 tracks down and kills %1.210
Night
%0 starts a fire.1
%0 sets up camp for the night.1
%0 loses sight of where %N0 %i0.1
%0 climbs a tree to rest.1
%0 goes to sleep.1
%0 and %1 tell stories about themselves to each other.2
%0, %1, %2, and %3 sleep in shifts.4
%0, %1, and %2 sleep in shifts.3
%0 and %1 sleep in shifts.2
%0 tends to %G0 wounds.1
%0 sees a fire, but stays hidden.1
%0 screams for help.1
%0 stays awake all night.1
%0 passes out from exhaustion.1
%0 cooks %G0 food before putting %G0 fire out.1
%0 and %1 run into each other and decide to truce for the night.2
%0 fends %1, %2, and %3 away from %G0 fire.4
%0, %1, and %2 discuss the games and what might happen in the morning.3
%0 cries %R0 to sleep.1
%0 tries to treat %G0 infection.1
%0 and %1 talk about the tributes still alive.2
%0 is awoken by nightmares.1
%0 and %1 huddle for warmth.2
%0 thinks about winning.1
%0, %1, %2, and %3 tell each other ghost stories to lighten the mood.4
%0 looks at the night sky.1
%0 defeats %1 in a fight, but spares %G1 life.2
%0 begs for %1 to kill %A0. %N1 refuse%s1, keeping %0 alive.2
%0 destroys %1's supplies while %N1 %i1 asleep.2
%0, %1, %2, %3, and %4 sleep in shifts.5
%0 lets %1 into %G0 shelter.2
%0 receives a hatchet from an unknown sponsor.1
%0 receives clean water from an unknown sponsor.1
%0 receives medical supplies from an unknown sponsor.1
%0 receives fresh food from an unknown sponsor.1
%0 tries to sing %R0 to sleep.1
%0 attempts to start a fire, but is unsuccessful.1
%0 thinks about home.1
%0 tends to %1's wounds.2
%0 quietly hums.1
%0, %1, and %2 cheerfully sing songs together.3
%0 is unable to start a fire and sleeps without warmth.1
%0 and %1 hold hands.2
%0 convinces %1 to snuggle with %A0.2
%0 receives an explosive from an unknown sponsor.1
%0 questions %G0 sanity.1
%0 kills %1 while %N1 %i1 sleeping.210
%0 begs for %1 to kill %A0. %N1 reluctantly oblige%s1, killing %0.201
%0 bleeds out due to untreated injuries.10
%0 unknowingly eats toxic berries.10
%0 silently snaps %1's neck.210
%0 taints %1's food, killing %A1.210
%0 dies from an infection.10
%0's trap kills %1.210
%0 dies from hypothermia.10
%0 dies from hunger.10
%0 dies from thirst.10
%0 dies trying to escape the arena.10
%0 dies of dysentery.10
%0 accidentally detonates a land mine while trying to arm it.10
%0 ambushes %1 and kills %A1.210
%0, %1, and %2 successfully ambush and kill %3, %4, and %5.63,4,50,1,2
%0, %1, and %2 unsuccessfully ambush %3, %4, and %5, who kill them instead.60,1,23,4,5
%0 forces %1 to kill %2 or %3. %N1 decide%s1 to kill %2.421
%0 forces %1 to kill %2 or %3. %N1 decide%s1 to kill %3.431
%0 forces %1 to kill %2 or %3. %N1 refuse%s1 to kill, so %0 kills %A1 instead.410
%0 poisons %1's drink, but mistakes it for %G0 own and dies.20
%0 poisons %1's drink. %N1 drink%s1 it and die%s1.210
%0 attempts to climb a tree, but falls on %1, killing them both.20,1
%0, %1, %2, %3, and %4 track down and kill %5.650,1,2,3,4
%0, %1, %2, and %3 track down and kill %4.540,1,2,3
%0, %1, and %2 track down and kill %3.430,1,2
%0 and %1 track down and kill %2.320,1
%0 tracks down and kills %1.210
Feast
%0 gathers as much food into a bag as %N0 can before fleeing.1
%0 sobs while gripping a photo of %G0 friends and family.1
%0 and %1 decide to work together to get more supplies.2
%0 and %1 get into a fight over raw meat, but %1 gives up and runs away.2
%0 and %1 get into a fight over raw meat, but %0 gives up and runs away.2
%0, %1, and %2 confront each other, but grab what they want slowly to avoid conflict.3
%0 destroys %1's memoirs out of spite.2
%0, %1, %2, and %3 team up to grab food, supplies, weapons, and memoirs.4
%0 steals %1's memoirs.2
%0 takes a staff leaning against the cornucopia.1
%0 stuffs a bundle of dry clothing into a backpack before sprinting away.1
%0 bleeds out due to untreated injuries.10
%0 snaps %1's neck.210
%0 dies from an infection.10
%0's trap kills %1.210
%0 ambushes %1 and kills %A1.210
%0, %1, and %2 successfully ambush and kill %3, %4, and %5.63,4,50,1,2
%0, %1, and %2 unsuccessfully ambush %3, %4, and %5, who kill them instead.60,1,23,4,5
%0, %1, %2, %3, and %4 track down and kill %5.650,1,2,3,4
%0, %1, %2, and %3 track down and kill %4.540,1,2,3
%0, %1, and %2 track down and kill %3.430,1,2
%0 and %1 track down and kill %2.320,1
%0 tracks down and kills %1.210
All
%0 throws a knife into %1's head.210
%0 accidentally steps on a landmine.10
%0 catches %1 off guard and kills %A1.210
%0 and %1 work together to drown %2.320,1
%0 strangles %1 after engaging in a fist fight.210
%0 shoots an arrow into %1's head.210
%0 cannot handle the circumstances and commits suicide.10
%0 bashes %1's head against a rock several times.210
%0 decapitates %1 with a sword.210
%0 spears %1 in the abdomen.210
%0 sets %1 on fire with a molotov.210
%0 falls into a pit and dies.10
%0 stabs %1 while %G1 back is turned.210
%0 severely injures %1, but puts %A1 out of %G1 misery.210
%0 severely injures %1 and leaves %A1 to die.210
%0 bashes %1's head in with a mace.210
%0 pushes %1 off a cliff during a knife fight.210
%0 throws a knife into %1's chest.210
%0 is unable to convince %1 to not kill %A0.201
%0 convinces %1 to not kill %A0, only to kill %A1 instead.210
%0 falls into a frozen lake and drowns.10
%0, %1, and %2 start fighting, but %1 runs away as %0 kills %2.320
%0 kills %1 with %G1 own weapon.210
%0 overpowers %1, killing %A1.210
%0 sets an explosive off, killing %1.210
%0 sets an explosive off, killing %1, and %2.31,20
%0 sets an explosive off, killing %1, %2, and %3.41,2,30
%0 sets an explosive off, killing %1, %2, %3 and %4.51,2,3,40
%0 kills %1 as %N1 tr%y1 to run.210
%0 and %1 threaten a double suicide. It fails and they die.20,1
%0, %1, %2, and %3 form a suicide pact, killing themselves.40,1,2,3
%0 kills %1 with a hatchet.210
%0 and %1 fight %2 and %3. %0 and %1 survive.42,30,1
%0 and %1 fight %2 and %3. %2 and %3 survive.40,12,3
%0 attacks %1, but %2 protects %A1, killing %0.302
%0 severely slices %1 with a sword.210
%0 strangles %1 with a rope.210
%0 kills %1 for %G1 supplies.210
%0 shoots an arrow at %1, but misses and kills %2 instead.320
%0 shoots a poisonous blow dart into %1's neck, slowly killing %A1.210
%0 stabs %1 with a tree branch.210
%0 stabs %1 in the back with a trident.210
%0, %1, and %2 get into a fight. %0 triumphantly kills them both.31,20
%0, %1, and %2 get into a fight. %1 triumphantly kills them both.30,21
%0, %1, and %2 get into a fight. %2 triumphantly kills them both.30,12
%0 kills %1 with a sickle.210
%0 repeatedly stabs %1 to death with sais.210
%0 incorporates %1 as a substrate.210
%0 hunts and eats a pidgin.1
%0 and %1 form a creole together.2
%0 harvests a wanderwort.1
%0 takes a calqueulated risk.1
%0 and %1 realise they're from the same language family and form an alliance.2
%0 betrays %1—%0 was a false friend!210
While discussing plans with an ally, %0 accidentally uses an exclusive ‘we’ instead of inclusive, sparking civil war.1
Trapped in %0’s snare, %1 has to remove one of %G1 cases to escape.2
%0 is feeling tense.1
%0 invents pictographic marking to note dangerous parts of the arena.1
%0 adapts %1’s symbols, and scrawls grave insults to agitate and distract the other competitors.2
%0 labours under the illusion %N0 %i0 ‘pure’ and goes on a rampage, killing %1 and %2 and forcing all others to flee.31,20
%0 manages to evolve /tʼ/ into poisonous spit and blinds %1.210
%0 loses some coda consonants in a scrap with %1 but manages to innovate some tones to maintain the distinctiveness between its phonemes.2
%0 undergoes flagrant mergers, resulting in widespread homophony. %N0 then make%s0 many puns, resulting in %1 and %2 ambushing and killing %A0.301,2
Following %0 and %1’s alliance, they grow closer and undergo ‘cultural synthesis’. They enjoy the experience, and though they then part ways, they leave an everlasting impression on one another.2
Fed up with %0 insisting %N0 %i0 the "mother of all languages," %1 and %2 brutally strangle %A0 and bond over the experience.301,2
%0 gets sick and can now only produce nasal vowels.1
Deaths per Round
Start Options
Greyscale Portraits
Error

Info

This Hunger Games Simulator exists because we were displeased with the other simulators out there; the one that we were using prior to the creation of this one (the one at brantsteele.net) made it very difficult to upload images and was utilising a needlessly convoluted server-driven system.

This simulator was created to address both of those shortcomings. With it, you can easily upload whatever images you want. You can also just give it a URL that points to a publicly accessible image, and it will work just fine—so long as your browser supports it, that is.

What's more, this simulator runs entirely in the browser, meaning that you could even download the page and use it offline if you so desired. This also means that it should be faster than the simulator we were using before, since it does not need to send data to a server and back every single time you press a button.

The events are mainly taken from the brantsteele.net simulator, though some members of our community have contributed to the event list as well. You can disable existing events or add custom events by clicking the ‘Settings’ button below and then ‘Edit Events’. You can also add new events, download all events, and upload your own.

Source Code, Bug Reports, Contributing, etc.

If you'd like to report a bug or suggest a feature, you can do so on the Agma Schwa Discord Server. Just ping Ætérnal in the #hunger-games-simulator channel.

Alternatively, you can also file an issue here. This requires you to have a free GitHub account.

The source code of nguh.org, including the Hunger Games Simulator, is hosted in this GitHub repository.

Support the game developer, Ætérnal, on Patreon.

Thanks also to GitHub user @spaulmark for implementing the bulk-upload feature.

Changelog

24 January 2025

  • Fixed a CSS bug that caused tribute images to not be cropped properly sometimes.
  • Added settings to control when greyscale portraits are used.
  • Settings (but not events) now persist across page reloads.

21 January 2025

  • Characters now persist across page reloads (they are stored locally in your browser).
  • All of nguh.org is now on Svelte 5.
  • Refactored the Hunger Games Simulator to actually leverage Svelte.
  • The ‘OK’ button of file dialogs is now disabled when no file is selected.
  • The ‘Clear’ and ‘Download’ buttons in the event list are now disabled when the list is empty.
  • Improved centering and alignment of the add character button.
  • Moved event message syntax into a separate dialog.
  • Added a setting to set the starting day/night of the game.

28 October 2024

  • Added a format specifier, %w, for ‘was/were’.

25 September 2024

  • Added a format specifier, %e, for verbs that have ‘-es’ in the 3rd person singular, e.g. ‘bash/bashes’, ‘catch/catches’.
  • Updated the description to reflect the fact that you can now add events directly from the events dialog without having to download and upload a JSON file.

18 April 2024

  • The entirety of nguh.org, including this simulator, is now open source on GitHub.

09 April 2024

  • Events involving fatalities are no longer grouped at the top when a fixed number or percentage of deaths per round is set. Instead, the events are now shuffled and distributed more evenly.

22 February 2024

  • Added a %h format specifier for ‘has/have’.

26 July 2023

  • Updated the page layout to be more similar to the rest of the website.
  • The source code available on the HGS repository may no longer up to date as it has been reintegrated into the rest of the page. We’re exploring separating it again in case people are interested it and will be posting an update here in the changelog as soon as that happens.

12 May 2023

  • Fixed a bug that made it impossible to re-enable disabled events in the events dialog.
  • This was also causing some weirdness when loading event lists with mostly disabled events, which should be fixed now.

28 February 2023

  • Linguistics-related events that might not be that easy to make sense of unless you’re familiar with linguistics are now disabled by default. You can still enable them in the settings if you want to.
  • Consequently, any events with the BIG LANG type will now be disabled when loaded. Most people’s configs and custom events should not be affected by this as that event type isn’t really supposed to be used for non-builtin events anyway.
  • Fixed a bug that would cause players to only be awarded 1 kill per event, even if an event has multiple fatalities.

22 February 2023

  • The Settings dialog now contains more settings. The events dialog can now be opened from the Settings dialog.
  • Added an option to the settings dialog to set a maximum number of players that may die each round. This setting is disabled by default.
  • Tributes and event text should now be centred properly in game.
  • When displaying events that involve a lot of tributes, the tributes now wrap properly and are centred and spaced properly.

29 January 2023

  • Due to popular request, the ‘Save Characters’ button now saves uploaded images as well!
  • As a result, the downloaded config files will now be a lot larger if you’ve uploaded many large files; we’re looking into scaling down the images on save, but that may take a while to implement.
  • Old config files still work; it’s just that those files didn’t save uploaded images properly, so if you have an old config file, any uploaded images in those config files will still be broken.
  • If you have any old config files, we recommend updating them by uploading them (‘Load Characters’) and downloading them again (‘Save Characters’). However, old config files will still continue to work regardless and we plan to continue supporting them indefinitely.

6 July 2022

  • Previously, the simulator would display an exception + stacktrace when trying to upload a non-JSON file in a context where JSON was expected. The simulator now displays an error message that explains that the file is not valid JSON instead.
  • As you can see, the changelog has been moved to this dialog because it was getting too long.
  • Dialogs now appear properly centred when opened.
  • The simulator should now function correctly should you try and start a game with no events whatsoever. Of course, it will never get anywhere, but at least it won't crash horribly.

3 July 2022

  • The old dialog API has been replaced with a newer one.
  • Dialogs now use the HTML5 <dialog> element.
  • Dialogs are now draggable and scrollable.
  • Dialogs now stack properly.
  • The input box of single file dialogs now becomes locked after selecting a file from the file manager, signifying that a file has been chosen and uploaded.
  • Error dialogs that display exceptions now contain stack traces as well as instructions as to how to report a bug.

2 July 2022

  • The ‘Save Characters’/‘Load Characters’ buttons no longer save/load events, only characters. This also fixes a bug that would cause people to be unable to start a game after loading characters.

26 June 2022

  • The source code for the simulator has been moved to a separate GitLab repository that is now accessible to the public (see the ‘Source Code, ...’ section above).
  • Several buttons have been renamed: ‘Edit Events’ is now ‘Settings’; ‘Save Setup’ and ‘Load Setup’ are now ‘Save Characters’ and ‘Load Characters’.
  • The format for the config file that can be downloaded by clicking on Settings > Download has changed. You can still upload your old config files; however, when you download it again afterwards, the format will have changed.
  • The event message formatter has been updated to give more helpful error messages if the message format is invalid.

13 June 2022

  • The ‘Add’ and ‘Load’ buttons in the events dialog have been renamed to ‘Upload and Add’ and ‘Upload and Replace’, respectively.
  • We've added a UI that should make adding events easier. You can access it by clicking on the new ‘Add’ button in the events dialog.
  • The names of all stages should now be capitalised properly.

Choose your characters

Current Players: 0


For more information, see the YouTube channel Agma Schwa