Build a Game for the largest game dev competition in the world
on April 27, 2025
The Game Development World Championship (GDWC) is a fantastic global competition for indie developers. This year, they introduced a special category: Best Discord Game, sponsored by Discord itself. The winner will receive $5,000 💰 and be featured on Discord's discovery surfaces — a huge boost for visibility!
In this blog post, I'm not offering a tutorial. Instead, I want to share my journey: learning how to integrate the Discord Embedded App SDK and building my very first Discord Activity. 💪
🛠️ Getting Started: Building a Discord Game
To participate in the Best Discord Game category, you need to integrate the Discord Embedded App SDK into your project. This allows you to leverage Discord's powerful social features — voice, chat, presence, matchmaking, and more.
If there's interest, I could later dive deeper into Development Patterns, How Activities Work, and Design Patterns.
📚 Build Your First Discord Activity
For a step-by-step guide, here's the official documentation.
🌟 Best Discord Game Award Entry
Our team, Darkwaar, submitted our game: Vite.
🛜 Setting Up the Environment: Decompiling Vite
First, I needed to set up Rust 🧙♂️. After installing it, remember to restart your shell to properly set up your environment variables.
rustc --version
# rustc 1.86.0 (05f9846f8 2025-03-31)
cargo run --help
Additionally, I explored running Windows XP in a Docker container to attempt decompiling my old TI-89 BASIC game "Vite." Here's the setup:
Example QEMU Command:
qemu-system-i386 -cpu pentium -m 4G -hda /isos/xp.vhd -cdrom /isos/en_winxp_pro_with_sp2.iso -boot d -nic user,model=e1000,hostfwd=tcp::8888-:80 -soundhw ac97
🎮 About Vite: The Game Concept
Vite is a pixel-style survival game where you help a character, Mathieu LEDRU, survive in a desert after being exiled from "PC City" for using a Mac 🖥️.
Gameplay Mechanics:
- 🛋️ Move Mathieu towards a target pixel.
- 💸 Earn credits and upgrade your abilities.
- ⏱️ Survive as long as possible before time runs out.
Variables and Game States:
- Credits, Time, Speed, Size, Level, State, X, Y, TargetX, TargetY, LevelupChoice.
- States: 'intro', 'play', 'levelup', 'end'.
Full logic is built around updating states based on user input and game timing.
🌐 Deep Dive: My Development Journey
In my video, I shared everything from initial setup to how I adapted my old TI-89 game for the GDWC 2025 Best Discord Game Award:
- Competition Overview: The GDWC offers 4 categories, including Best Discord Game with a $5,000 prize.
- Preparation: Learned the Discord Embedded App SDK by following the "Build Your First Activity" guide. No live coding — full preparation first! 📈
- Technical Stack:
- 📚 Frontend: Vanilla HTML + Node.js.
- 🚀 Server: Node.js backend with simple API authentication.
- ☁️ Tunnel: Used Cloudflare Tunnel to expose local servers.
- Challenges:
- 🔧 Attempted to decompile my TI-89 BASIC program.
- 🌐 Explored Docker virtualizations with Windows XP.
- 🎹 Used open-source tools like TIO2 (Rust decompiler) and TI simulators.
- Game Design Inspiration:
- 🎮 Based on my original TI-89 "Vite" game.
- 👉 Movement using keyboard arrows.
- 🏆 Level-up system offering speed, size, or time bonuses.
🚀 Final Outcome: Vite Activity
Once everything was connected and authenticated, I could run Vite as a live Discord Activity:
- 📅 Intro Scene: Displays credits, speed, size, time, and level.
- 🚶♂️ Play Scene: Move Mathieu to the target pixel.
- 📊 Level-up Scene: Choose upgrades.
- 🎉 End Scene: Displays congratulations message.
The entire flow is managed via a simple game loop running at 30 FPS. ⏳
📚 Resources I Used
- The game development world championship
- Darkwaar project
- Darkwood apps TI89
- Discord community resources
- @discord/embedded-app-sdk
- embedded-app-sdk-examples
- Cloudflared
- 📂 TiO2: TI-BASIC Interpreter/Compiler/Decompiler
- 👾 TI-89 Simulator
- TI-Basic 89 Programming/A Basic Program
- Pad/emu
- 🕹️ Javascript TI-89/TI-92+/TI-V200 Emulator
- Emmanuel ROY A.K.A Acksop
- TiO2 decompilator
- ti842py is a TI-BASIC to Python 3 transpiler
- 📊 Decompiler Explorer
- 👩💻 Rust Programming Language
- Rust in Visual Studio Code
- TI-89: any PC program editor for TI-Basic?
- Virtualbox
- Run Windows XP in a Docker Container!
- Run Windows 98 in a Docker Container!
- 🌐 Windows Docker Projects
- 💾 Windows 98 ISO
- Code Camp : Dungeon Crawler Old School Academy
- Background credit: 📸 Luiz Cent
If you're thinking of building a Discord game, I hope this gives you a clear idea of what the journey looks like! Feel free to ask if you want deeper tutorials or tips ✨ — and stay tuned for a future post on how I submitted my game officially to the GDWC! 🚀
🔗 Interested in Game Development Consulting?
Check out my consulting services for Jeux et Vidéo Ludique here