Javascript and PHP for real-time multiplayer? [closed]

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I'm wondering if combining Javascript clientside with PHP/mysql serverside is a good idea for HTML5 real-time multiplayer (small scale) browser games?

My technical knowledge is very limited, and even though I plan on learn node.js in the future, the learning curve is rather huge right now.

Since I'm already familiar with PHP I feel I would get it functioning much faster.

The scale I'm thinking is 2-8 players at the time. And trying to keep the client to server message count as low as possible.

The values I intend to store/handle are:

  • Player name and ID.
  • X and Y position.
  • Health.
  • Equipped items (maximum 8 slots, probably less).
  • Actions (walk, attack, use etc but only 1 action/player at a time).
  • Bullet X,Y coordinates and trajectory.
  • Guild/Clan name.
  • And some basic chat/mailing function.

My guess is even though it's not the best solution, but aslong as I keep the logic small, that this is completely doable. Am I right?

profilepic.png
manpreet 2 years ago

For a real-time game, you want to minimize latency. Here's two tips for achieving it, with notes about PHP and Node:

  1. Use WebSockets. They allow fast two-way communication between the server and the client. Using node.js here has the advantage that you can use the same JavaScript API on both ends of the pipe. There's also the wonderful socket.io module for node.js that provides fallback technologies to lesser browsers that don't support WebSockets. Googling a bit, it seems you can also use WebSockets from PHP if you really want to.
  2. Don't involve database in time critical data such as coordinates of fast moving objects. This means keeping them in memory, which is not particularly well suited for the traditional PHP use model of having it fire once for each request to apache (or whatever web server), but you can launch your PHP server app also as standalone. I'd guess Node, with its V8 core, is going to be faster than PHP though. Whether that's an issue depends on how demanding your game is and how powerful the server is.

I myself find node.js very easy to pick up and since you are going to need to code quite a bit of JavaScript anyway, I'd recommend you try it. At least take a quick look at the socket.io tutorials to see how trivial it is to set up a real-time communication channel.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.