Skip to content

luizantoniona/idle-mmorpg

Repository files navigation

🛡️🧙 iMMO — Idle-MMORPG

iMMO Logo

💡 Motivation

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.

👥 People

This project was envisioned, created, and is maintained by:

🎯 Project Goals

  • ⚔️ Create a accessible idle MMORPG experience
  • 🌐 Build a scalable multiplayer backend in C++
  • 💬 Offer real-time interaction via WebSocket and web interface

📦 Project Organization:

  • 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.

📖 Documentation:

API – API requests documentation.
WebSocket – WebSocket messages documentation.
Character Event Bus – internal character event schema and payloads.

⚙️ Database

  • For now, you need to run the schema manually.
  • Once all tables are defined and only minor changes are needed, we will create the migration steps.
  • 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.

🖼️ Images:

Login Page:

Login

Account Page:

Account

Game Page:

Game

Combat:

Game

  • Data Editor
    • TODO

🚀 Running

These instructions will help you set up the project locally for development and testing.

📋 Prerequisites

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 and build editor)

🔧 Dependency management:

  • The server uses vcpkg for C++ dependencies
  • The client and editor uses package.json (via npm)
  • The editor project uses vcpkg and a Qt6

📁 Clone the Repository

git clone https://github.com/luizantoniona/idle-mmorpg.git
cd idle-mmorpg

🖥️ Running the Server (C++)

1 - Navigate to the server directory:

cd ./idle-mmorpg-server

TODO: Add server building process

💡 Running the Editor

1 - Navigate to the editor folder:

cd ./idle-mmorpg-editor

TODO: Add editor building process

🌐 Running the Client (Web)

1 - Navigate to the client folder:

cd ./idle-mmorpg-client

2 - Install dependencies:

npm install

3 - Start the development server:

npm start

About

A web-based idle MMORPG with real-time multiplayer, built with a C++ server and a web client. Features include stage objectives, character progression, skills, inventory, equipment and trading system. Designed for fun, accessibility, and long-term progression, without paywalls or intrusive ads.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors