Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration with Game Engines #7

Open
Zenahr opened this issue Dec 26, 2020 · 2 comments
Open

Integration with Game Engines #7

Zenahr opened this issue Dec 26, 2020 · 2 comments

Comments

@Zenahr
Copy link

Zenahr commented Dec 26, 2020

Can this be used as a backbone for an MMO built using Unity3D or Unreal Engine?

@sbischoff-ai
Copy link
Owner

sbischoff-ai commented Mar 25, 2021

Better late than never:
It can be, in principle, but it would require a client implementation of the pygase protocol for C# (Unity3D) or C++ (Unreal 4). This repository only contains the client implementation for Python. I had the intention of developing a JavaScript, C# and C++ client for pygase at some point but didn't have the time yet.

As it is, given the content of this repository, pygase is a Python-to-Python technology.

Concerning the MMO part: The core requirement for an MMO would be optimizations that allow for horizontal scaling, so you would want to have several GameStateMachines that simulate different "zones" or independent sub-states of the overall game state in parallel. You would also want to divide players/clients into groups that can be served and simulated independently. This is some higher level architecture I have not yet incorporated into pygase, although I do have some ideas for it. Basically, I have the idea to provide a logical structure for zoning and a template for containerized pygase backend components (where servers and game state machines are separate kinds of docker containers and the game state store runs on redis) that can be used with orchestration technologies, such as Kubernetes.

The background behind this project is exactly that I wanted a viable networking technology for backends of MMO-like games in Python. I'm working full-time on non-game related stuff though, which leads to this project lying dormant for countless months for example.

TL;DR: Only with a lot of work. Feel free to fork though.

@Zenahr
Copy link
Author

Zenahr commented Apr 29, 2021

Noted! The "zoning" logic might even be an implementation detail on the game side of things by the sound if it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants