A few people asked about this, and I'm allowing an OPTIONAL endgame in the jam.
I have now clarified the previously ambiguous rules to state that it is optionally permitted with some constraints (see rules for more information).
You should only create an endgame if you are very confident with Adventuron, and if your game really needs an endgame beyond an ending message (if you want the game to end with a specific player action for example).
To create an endgame check out the bespoke treasure hunt section in the tutorial.
The following code is for demonstrative purposes only and is a product of my lack of imagination. It's simply here to demonstrate the bespoke treasure hunt mode and how to decouple the win game condition from the last treasure being dropped in the treasure room (if you want such behaviour):
start_at = beach start_theme = two treasure_room = styx redescribe = auto_beta game_settings { treasure_hunt_mode = bespoke } locations { beach : location "Beach"; tomb : location "Tomb"; styx : location "River Styx" ; } connections { from, direction, to = [ beach, east, tomb, tomb, down, styx, ] } objects { coin_1 : object "a <red coin<10>>" at = "tomb" treasure = "true"; coin_2 : object "a <blue coin<13>>" at = "beach" treasure = "true"; ferryman : scenery "the ferryman" msg = "TWO COINS" at = "styx"; } vocabulary { : verb / aliases = [examine, talk] } booleans { has_found_all_treasures_before : boolean; has_found_all_treasures : dynamic_boolean {( treasure_deposited() == treasure_total() )} } on_command { : match "pay ferryman; pay man" { : if (is_at "styx") { : if (has_found_all_treasures) { : print "YOU WIN THE GAME!" ; : win_game ; } : else { : print "NEED TWO COINS" ; } } } } on_describe { : if (is_at "styx") { : if (has_found_all_treasures) { : print "\"PAY FERRYMAN\"" ; } : else { : print "DROP TWO COINS HERE." ; } } } on_tick { : if (is_at "styx" && has_found_all_treasures) { // We use the second boolean to only show this message once // We use manual redescribe to force on_describe{} message to show : if (has_found_all_treasures_before == false) { : success ; : print "ALL COINS FOUND." ; : set_true "has_found_all_treasures_before" ; : press_any_key ; : redescribe; } } }