Skip to content

MMO Framework - use only C++ without scripts. Entities Components Systems Handlers.

License

Notifications You must be signed in to change notification settings

RamilGauss/MMO-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stand With Ukraine

MMO-Framework

Boosty.donate


To launch Editor use Hub.

Disclaimer

Idea

You have to think in another dimension. In OOP, you have to think about how an object owns other objects.
You have to think about the hierarchy of ownership and class inheritance. How to pass data from one object to other objects.
In ECS, on the other hand, data is separate from logic. Logic has access to data anywhere and anytime. Everything is global. No need to think about hierarchy.
All data is separated into pieces that are independent of each other. All logic is isolated. Behavior can be configured more flexibly.
The only disadvantage of this approach is the impossibility to see in debugging what entities currently exist. But this problem is solved with the help of the wizard editor.
In the editor (as well as in Unity, for example) you can create scenes and prefabs. A scene or prefab can contain logic in the form of an object like a system.
Then run debugging in the editor. Press pause and see the state of the entities and the logic pipeline.

The idea of ECS breaks the mind, twists the brain inside out. It's a new programming experience.

Motivation

No claims to compete with engines such as Unity, UnrealEngine, Godot, etc.
I would like to try a bunch of C ++ with a code generator and see what happens.
Will the code generator and ECS add convenience and speed to development?
This is a research project.

Why?

  • Proof of Concept. Expanding the capabilities of ready-made MMO RPG games. You can add new functionality by writing your own server for an existing client.
    One of the possible options for such an implementation: a client patch that embeds the MMO transport from the MMO-Framework into the client (or intercepting and replacing packets).
    Further, the transfer of the commands used in the client to the server code. And writing server logic.
    Server implementation with MMO-Framework can include physics, network, logic and database.

  • Writing your own MMO RPG on PC in Windows/Linux. At the moment, the main target platform is PC.

Features

Only free and open source engines / libraries / frameworks!

GUI Graphic Physic Network Sound ORM DataBase
Implementaion Dear ImGui BigJack Bullet High: MMO Engine
Low: NetTransport
? ?

GUI

System viewer

Grid and layouts

Component viewer



ECS

Video

Engine features:

The ability to control the initial number of modules. The module is a graphical, physical, network, GUI, etc engines.        MMO (network) component can work with more than one million Clients. This is achieved by using the cluster organization within the Server.

For compiling requires: see file HowToCompile_Win.txt. To view the architectural decisions need Enterprise Architect 7.0+. Article on habrahabr.

Dependencies got via the conan.

About

MMO Framework - use only C++ without scripts. Entities Components Systems Handlers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages