Skip to content

Backend to connect to UE5 Remote from Discord bot, used for AWS Game Builder Challenge Hackathon

License

Notifications You must be signed in to change notification settings

eerwitt/outbreak-protocol

Outbreak Protocol (WIP) AWS Hackathon

A zombie-inspired FPS where deadly bears meet emergent, AI-driven chaos.

Chaos "make way more bears in the meadow, like so many I can't see straight"

What makes this game unique? Using Claude Haiku an LLM takes control of managing events in game while taking input from friends on Discord.

Challenge

discord

Created for the AWS Game Builder Challenge '24. Please do not use any of this code in production, it was for a hackathon.

How It Works

Intensify Spawn

Behind the scenes, Outbreak Protocol is powered by these AWS services that bring the chaos to life:

  1. Amazon Bedrock
    • Powers the Retrieval-Augmented Generation (RAG) system that processes natural language discussions and converts them into actionable in-game events.
    • What this means: Your friends casually chat with the bot, whether conspiring to “make things harder” or “summon more bears”, and the bot will interpret these ideas to create dynamic and emergent gameplay scenarios.
  2. Amazon GameLift
    • Dedicated game servers to ensure smooth gameplay and persistent bear threats.
  3. Amazon EKS
    • Hosts the Discord bot in a dedicated Kubernetes cluster for optimal performance.
    • What this means: All interactions with the bot are processed in real time, enabling fast responses to player conversations.

Gameplay Features

Low Ammo

AI-Driven Chaos

LLM Output

There aren't scripted interactions, instead a set of actions are available to the LLM to choose how to script fun into the scene.

{"Name": "Wait", "Arg1": "Amount of time to wait in seconds", "Reason": "Reason why to do this action."}
{"Name": "Chat", "Arg1": "Very short (under 30 character), sarcastic message to send to the player, can rarely include emojis but keep trying different emojis", "Reason": "Reason why to do this action."}
{"Name": "Spawn", "Arg1": "Object friendly name (Bear, GasCan, Ammo, Grenade, Toilet)", "Arg2": "Location friendly name (Pond, Van, Meadow, Hill, River)", "Reason": "Reason why to do this action."}
{"Name": "MoveTo", "Arg1": "Object ID", "Arg2": "Location friendly name (Pond, Van, Meadow, Hill, River)", "Reason": "Reason why to do this."}
{"Name": "TeleportPlayer", "Arg1": "Player", "Arg2": "Location friendly name (Pond, Van, Meadow, Hill, River), do not use too often.", "Reason": "Reason why to do this."}

Emergent Behavior

Spawn

Thanks to the RAG-based bot (note: the hackathon doesn't use a RAG), the game evolves organically. Friends can collaborate with the bot to create chaos!

Technical Details

Added Urgency

The Outbreak Protocol was built using the following AWS services:

  1. Amazon Bedrock: Enables natural language processing via RAG technology, converting conversations into emergent in-game behavior.
  2. Amazon GameLift: Dedicated game server support for reliable and scalable gameplay.
  3. Amazon EKS: Ensures high availability and performance for the Discord bot.

Fantastic UE5 Samples Used

How to Play

Spawn in the toilet and enter the chaotic meadow filled with deadly zombie bears.

Add the custom Discord bot to your Discord server. Let your friends chat naturally with it to create chaos.

Avoid bears, dodge explosions, and watch as your friends’ conversations lead to unexpected gameplay twists.

What Makes This Unique?

  • Emergent Gameplay: No two playthroughs are the same. The AI adapts to player interactions, creating unpredictable and memorable moments.
  • Cutting-Edge Technology: Powered by Amazon Bedrock’s RAG capabilities, the bot pushes the boundaries of traditional game mechanics by enabling AI-driven chaos.
  • Natural Language Interaction: The bot interprets your friends’ casual conversations to create dynamic in-game events, from summoning new threats to modifying bear behavior.

Explore Outbreak Protocol and see how AWS services power the perfect blend of survival horror and AI-driven chaos.

About

Backend to connect to UE5 Remote from Discord bot, used for AWS Game Builder Challenge Hackathon

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks