/* TODO: Learn How to Create Multiplayer Online Games with Phaser, Node, Express, & Socket.IO */

This blog post is brought to you by the developer of BitBudget. BitBudget is an automated budgeting app for Android and iOS which syncs with your bank account and helps you avoid overspending. If you’d like to quit living paycheck-to-paycheck and get a better handle on your finances, download it today! https://bitbudget.io

This Saturday at work I happen to be taking on a new student at the school where I teach. He’s really advanced so I wasn’t sure exactly what to plan ahead of time for our lesson. But now I think I have a good idea. This Saturday we’re going to learn how to create online multiplayer games:

UPDATE (8/17/2019): A few notes on Unet Deprecation. My new student has told me a little bit about Unet in the past, but it looks like it’s being completely overhauled, so maybe it’s okay if we play around with some other options for the day.

UPDATE (8/17/2019): And a few more notes on the client-server model from the Unreal Engine documentation.

UPDATE (8/17/2019): // TODO NEXT WEEK:

  1. How To Install Express, a Node.js Framework, and Set Up Socket.io on a VPS

UPDATE (8/23/2019): Do not attempt to complete the above tutorials using repl.it. While repl.it does have a pretty nice Express/Node.js setup, I have had trouble trying to install socket.io using the package.json file. For tomorrow’s lesson, make sure to use a real server where we will be able to easily install socket.io using npm on the command line.

UNFORTUNATE DEVELOPMENT (8/23/2019): It looks like setting up an ExpressJS app to run on a live production server is painful. Most of the time I usually just roll with PHP which is extremely easy to get up and running in a production environment as the infrastructure-as-a-service providers such as DigitalOcean have pre-configured server images that you can use. But with other languages and web frameworks I’ve noticed you usually have to set everything up yourself. So my game plan for tomorrow’s lesson is going to be simply following along with the standard ExpressJS tutorials to get a development server setup on a local machine, in our case, a Mac Mini. Then we can use something like NGROK to expose our development server to the rest of the world wide web. However, I’m going to want to make sure I let my student know that we can get a live production server setup as well, but that it is going to take a bit more time as getting NGINX and all that stuff setup correctly will probably take a bit more research on my part.