Ignite MMORPG — Devlog #1

  • Nodejs for Backend stuff
  • Redis as a message queue system (more on that later)
  • Game Maker Studio 2 for the client

Client: Networking and Animation

The client of the game already has connection to the World, Rest and Auth servers. This enables the features shown on the video above:

  • Login and Connecting screen (OK with some bugs)
  • Positioning update via socket connection to world server
  • Return of User and Character informations via REST and socket connection
  • Animation for Running and Walking cycles
  • Addition of animation for spawning player
  • Stamina and HP Frames + sync with the server
  • Fix some network corner cases errors.
  • Seliel is a great pixel artist who posted some really interesting assets of base characters and animations. I’m using them :D
  • Untied Games has a very unique pixel effects animation in 60fps that I’ll use in the future.

Servers: Performance and connectivity

As I’ve mentioned, the game has three separate servers:

  • One handles the REST requests about static data (like user and character info)
  • One authenticates and authorizes various user inputs
  • One handles the world state and socket connections

auth-server

The server handles the authentication and generation of session tokens for logged users. The idea is that on the future this server could be used to run some smart contracts for the blockchain aspect of the game.

rest-server

This server handles the retrieval of the user and character information. In the future, it will handle the creation of characters and user accounts.

world-server

This server is the core of the game. It will run a message queue system using Redis to queue up the socket commands being emitted by the clients connected. The idea is to tick the processing of this commands and update the world state based on what the players have done. Now, the server handles the positioning of the players on the map, and updates the database on the moment the job (command of the player) is processed.

State of Mind

I’m a little tired about my triple journey (job, freelancing and game dev). Aside that I’m really pumped about making this game. It was always my dream to know how MMORPGs works, and making one (even if its clunky and by my own) is the first step into honing my developer hard skills.

Motivation

It revolves around 8/10. Its not 100% because of how tired I’m becoming in the end of the day (freelancing is my major enemy). I’m looking foward to every day, allocate at least 2 or 3 hours of the day to touch the game. In the present state, I’m feeling excited when I got out of the job to code the game, and I hope it stays that way.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
João Lucas

João Lucas

Game/Backend/Javascript/Curious developer