Codemon
A JRPG battle game with a coding theme (our entry for the Boot.dev Hackathon 2025) - 2nd place winners!
Install / Use
/learn @mierdev/CodemonREADME
A JRPG battle game with a coding theme
Compete in pokémon inspired battles to find out which is the strongest programming language. Enter one of the competitions to earn a shiny coin.
PS if you hang around the Boot.dev Discord server, you might recognize a lot of the opponents 👀
The game is live hosted!
<a href="https://codemon-rho.vercel.app/" target="_blank">Play it in your browser</a>
Features
- Turn-based battles between programming languages
- 7 unique languages with distinct abilities and stats
- Tournament mode with 3, 5, or 7 match competitions
- Dynamic dialogue system with trainer personalities
- Animated fire effects and smooth transitions
- Audio system with background music and sound effects
- Database integration for persistent game data
- Responsive UI with modern game aesthetics
In-game sreenshots
<img height="300px" src="https://raw.githubusercontent.com/mierdev/codemon/refs/heads/main/public/assets/readme/screenshot_1.png" alt="screenshot 1"> <img height="300px" src="https://raw.githubusercontent.com/mierdev/codemon/refs/heads/main/public/assets/readme/screenshot_2.png" alt="screenshot 2">
</div>Build by
Prerequisites
Installation
- Clone the repo:
git clone git@github.com:mierdev/codemon.git
- Open the project folder:
cd codemon
- Install dependencies:
npm install
- Install MongoDB
On Mac
Using Homebrew:
brew tap mongodb/brew
brew install mongodb-community
Or download from the official website:
- Visit MongoDB Download Center
- Download the macOS version
- Follow the installation instructions
On WSL2/Ubuntu (Windows)
- Import the public key:
From a terminal, install
gnupgandcurlif they are not already available:
sudo apt-get install gnupg curl
To import the MongoDB public GPG key, run the following command:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
- Create the list file:
Create the list file
/etc/apt/sources.list.d/mongodb-org-8.0.listfor your version of Ubuntu (we are presuming you've installed it with Boot.dev's instructions and are using Ubuntu 22.04 Jammy, if not follow the Installation guide)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
- Reload the package database: Issue the following command to reload the local package database:
sudo apt-get update
- Install MongoDB Community Server:
sudo apt-get install -y mongodb-org
- Make a .env in the root folder and add the database keys
touch .env
code .env
For MongoDB Atlas (cloud)
MONGODB_URI=mongodb+srv://mongouser:yourpassword@yourcluster.xxxxx.mongodb.net/codemon?retryWrites=true&w=majority
MONGODB_DB=codemon
Usage
- Start MongoDB:
On Mac
Using Homebrew:
brew services start mongodb-community
Or manually:
mongod --config /usr/local/etc/mongod.conf
On WSL2/Ubuntu (Windows)
- Start MongoDB:
sudo systemctl start mongod
- If you receive an error similar to the following when starting mongod:
Failed to start mongod.service: Unit mongod.service not found.Run the following command first:
sudo systemctl daemon-reload
Then run the start command above again.
- Add data to the database:
npm run seed
- Start the server:
npm run devStart
Tech Stack
Frameworks
- Phaser.js
- Express.js
Database
- MongoDB
Programming languages
- JavaScript
- HTML/CSS
Architecture
<img src="https://raw.githubusercontent.com/mierdev/codemon/refs/heads/main/public/assets/readme/architecture.png" width="800px" alt="Codemon architecture">A Little Shop of Chaos Production
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
