Sign in to follow this  
Damian Pastorini

Base MMORPG - Node, MySQL, Colyseus, Parcel and Phaser 3

Recommended Posts

Hi everyone!

Before anything I wasn't sure if this was the correct place to post this, please moderators move it as you consider if this should go to some other place like Projects and Demos.

https://github.com/damian-pastorini/dwdgame

Also, please consider that this is my first implementation ever!
I've never used neither Node.js, even less Parcel, Colyseus or Phaser, my world before this first incursion in game development was all about PHP and Magento, so that should give you an idea from where I'm coming.
This quite awful but working example took me 75hs, including the time I've used for research and for decide which platform use for the server and the client.
After all the research, Node + Colyseus and Phaser 3 looked as the better start point since I was familiar with JS and HTML of course but had zero knowledge about Unity (the other option I would like to use), but I've prefered make the learn curve not so slow.

So....

This is a really simple base MMORPG game created based on the Colyseus samples:
https://github.com/gamestdio/colyseus-examples

And on the Phaser 3 implementation from Jacky Rusly:
https://github.com/jackyrusly/jrgame

As you will see I've considerable modified how the jrgame was interacting with Socket.io in order to make it works as how the Colyseus example was working, I've thought that was the better way to do it (follow up on server ready samples and break apart the client :P sorry Jacky!)

The game basics are login through DB, loader, scene change, players sync, but nothing like chat, items, or attacks was implemented here (so far).

Here's the link to the repo:
https://github.com/damian-pastorini/dwdgame

Please feel free to create any tickets or pull requests for questions, fixes or improvements, I would love to get good feedback!

I don't have a public link to show it yet but I'm planning to create a dev server soon (for now you will need to install it and run it to see it), at the end it will look like:
https://jrgame.herokuapp.com
But you will see the login screen first which in the server side will connect to the DB and all the players sync was done with Colyseus.

I saw comments from people looking for Colyseus integrated with a DB engine (in this case I've chosen MySQL), so at least that part should be useful.

I really hope this help more than one person, maybe someone like me who would love to get this as starting point.

Best,
Damian

Share this post


Link to post
Share on other sites

Hi @Wavertron, almost all the other implementations I saw were made with plain Socket.io / WebSockets, and all the sessions handlers and states sync were done "manually", which I was preferring to avoid.

Another options I saw were:

- Pomelo, but last update was 2 years ago... https://github.com/NetEase/pomelo

- ActionHero: https://github.com/actionhero/actionhero 

But Colyseus looked easier and cleanest.

Do you recommend any other?

Best,

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.