A downloadable game

Made for the 48 hour Open Source AI Game Jam hosted by Hugging Face - The theme was EXPANDING.

It was once a peacefull village untill one day a portal appeared out of the blue. The portal in the center of the village leads to an everchanging dungeon. Not much is known. it is speculated that in order to save the town, someone has to climb all the way up the to the last level of the portals. The portals bring fortune but also a lot of misery.Hence greedy adventurers often come to try and conquer them. Will someone ever be able to end all of this?

As a courageous young adventurer, you're the hope of saving the village. Before starting your adventure, arm yourself and ask the locals any questions you can think of. Who knows?  They may be able to guide you in your quest. Beware, the world beyond the portal will never be the same. 

Kill your enemies to collect points and find your way to the end.

In this game nearly everything than can be generated from LLM is made as such. This will offer a great sense of freedom to the player.

For this Game Jam I kept thinks simple with only a few tiles available. But the story is dynamically generated from those tiles thanks to GPT-4-0613 function calls.

The current scope of possible stories, Objectives, objects is relatively limites now by lack of time but the framework can be "Expanded" to have an unlimited number of stories.(code : Here )

How to play :

Download and unzip And then run the file called "Everchanging_quest"

(Controls) : 

  • Use WASD or dirrectionnal arrow keys to control the player.
  • SPACEBAR to Dash in the selected direction.
  • E to attack.
  • A to use Magic.
  • TAB to switch Magic between Flame and Heal.
  • M to open the menu.
  • ENTER to interract with NPC , Portals and Treasure chests.
  • Y to validate choices when interracting with portals.
  • ESCAPE to close the Menus

How to go further with this concept:

  • DEBUG the game to allow more levels and functionalities.
  • Modify NPC that are currently only GPT-4 request to Transformers agents. Thoose agents would have acces to custom Tool to modify the story, create Items, Generate Quests. 
  • Then the stories, the quest and other would be stored in an document store acccesible to the agents. This would allow for more flexibility and common knowledge Inbetween agents ( If the blasmith lost it's hammer in the portals, a chest can generate this object since their both share acces to a same storyline). This document store would allow to have more complex stories without increasing the context indefinitly.
  • When generating an item, instead of comparing by zero shot to find best pre-defined sprite definition to fit the object. We could implement an agent that would segment ( with ClipSeg) the best fitting sprite out of a big image containing a wide variety of sprites. Or even generate it from a Diffuser.
  • Implement Quests that the NPC can give.
  • Give the NPC the ability to generate items, like the treasures chest.
  • Implement shops for the NPC.
  • Have wider variety of Item Types.

Known bugs:

  • A lot, this is a POC
  • GOING LVL2 makes the game crash( Hotfix made 7min before)
  • The user has to press Y and not ENTER to enter the portal
  • The BSP algorithm might sometime provide incorect ouputs making the game crash
  • The user can's use it's point to increase it's stats.
  • The sounds is not stopped on game quit showing an error message
  • There is no notifications for obtained items.

Credits:

And probably many more that I forgot

Thanks for playing!

Please vote and leave a comment if you enjoyed!

Download

Download
Everchanging Quest.rar 167 MB

Install instructions

Unzip the folder and double click on everchanginq_quest.

Since this is pygame, there might be an alert from your system, but this is not virus.

Comments

Log in with itch.io to leave a comment.

The game runs fine for me, but it seems that the steps involving the LLM don't work any more, including entering the dungeon (it freezes at "Create level Objective from LLM").

(1 edit)

oh yeah, the api key has been revoked since then. I'll build a new one version and comment back here when that's done ( in the week )

Thanks for the update, I'll stay tuned :)

(1 edit) (+1)

alright, sorry for the delay. I reuploaded a new version, I had to switch the voices, hence it might break again.

I'll be working on a version as an hugging face space now

I watched your profile, it seems you are interested in the dungeon generation part, this is honestly, the part that work the least in my project. 

I wanted to function calls for object placement, but it raised a lot of errors and manual guardrails. As it was made for a game jam, once I did commit with this idea, I had to stick to it.

(+1)

Thanks for the update!

No worries, the dungeons were just a small part of it, I came across your game when reading about LLM-powered games and just wanted to check it out in general.

It's a cool project already, the basic loop with fire/heal spells and dungeon crawling with a boss and an exit is a nice starting setup for the randomized story quests. It could use some UI improvements (e.g. show the position of the player on the minimap, and maybe the boss/exit too). Also, the controls are a bit weird and inconsistent, and I noticed that it conversations it didn't always register some letters I had typed and I had to re-type them.

I wasn't expecting voice synthesis, that was hilarious and caught me totally off-guard. The NPC's seem to stick to the game world, but you can get them to say stuff that doesn't happen in-game (I got the blacksmith to "forge" me a sword, which didn't spawn as an item obviously).

I beat the game once and then it crashed :) I can send you a log if you want, but I don't think it's a bit deal when it's a short jam project anyway.

Yes I'll be working on a full fledged version of that game in Godot4, hence hopefully the points you raised will be fixed 

Creative use of AI! I love the vintage vibe of the game. Nice job!