GitHub | Documentation | Become a Patron

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



  • Hi everyone!

    The promised is a debt!
    https://github.com/damian-pastorini/dwdgame

    Before anything 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 work 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 loved to get this as starting point.

    Best,
    Damian