I got tired of playing idle MMORPGs that are abandoned by developers, filled with aggressive monetization, and lacking meaningful updates or player interaction.
iMMO was born from the desire to build something better: a idle-friendly game with constant progression, active features, and no paywalls — focused on fun, accessibility, and long-term evolution.
This project was envisioned, created, and is maintained by:
- ⚔️ Create a accessible idle MMORPG experience
- 🌐 Build a scalable multiplayer backend in C++
- 💬 Offer real-time interaction via WebSocket and web interface
- Data Project
- Tools and scripts to generate, validate, and maintain game content.
- Outputs JSON files that are consumed by the server.
- Easily expandable to support balancing, batch editing, or procedural generation.
Modular creature data.
This folder defines the structure and attributes of all creatures used by the game server.
Modular item data.
This folder defines the items structure used by the game server.
Modular map data.
This folder defines the world structure, continents, areas, enemies, NPCs, and navigation logic used by the game server.
Modular skills data.
This folder defines all the skills in game.
Modular spell data.
This folder defines all the magical spells available in the game.
Tools and scripts.
This folder has the tools and scripts to visualize and generate the data information.
TODO
- C++ Server
- Central game logic and state management.
- Manages user sessions, world state, entities, and events.
- Communicates with the client via API and WebSocket.
- Loads static game data (items, maps, skills) at runtime from JSON files.
API
– API requests documentation.
WebSocket
– WebSocket messages documentation.
- Web Client
- Responsible for rendering the game UI, receiving real-time updates via WebSocket, and sending player actions to the server.
- Built with Angular and Typescript.
TODO
Login Page:
Account Page:
Game Page:
Combat:
These instructions will help you set up the project locally for development and testing.
Each part of the project has its own dependencies. Make sure you have the following tools installed:
- CMake (version 3.16 or higher)
- C++ compiler compatible with C++20 (e.g. GCC, Clang, MSVC)
- Node.js (required for running the web client)
- Python 3.x (used for data generation and tooling)
- The server uses vcpkg for C++ dependencies
- The client uses package.json (via npm)
- The data project uses requirements.txt
git clone https://github.com/luizantoniona/idle-mmorpg.git
cd idle-mmorpg
1 - Navigate to the server directory:
cd ./idle-mmorpg-server
TODO: Add server building process
1 - Navigate to the client folder:
cd ./idle-mmorpg-client
2 - Install dependencies:
npm install
Start the development server:
ng serve
1 - Navigate to the data folder:
cd ./idle-mmorpg-data
2 - Install required Python packages:
pip install -r requirements.txt
3 - Run data scripts as needed. For example:
python3 ./utility/plot_map.py