Search the Community

Showing results for tags 'multiplayer'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser 3
    • Phaser 2
    • Pixi.js
    • Babylon.js
    • Panda 2
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 243 results

  1. Create Simple Multiplayer

    Hey I want to create a simple Tic Toe Multiplayer Mobile game using phaser 2. The game need to support the following modes: Multiplayer between 2 anonymous players Multiplayer between 2 google account players Multiplayer between 2 facebook account players I have the following questions: How can I implement this? using websockets or pooling? Do I have to use inroder to implement websocket communication between 2 mobile players? Which other libraries do I can use for creating moblie multiplayers between 2 players? Thanks in advance Barak Inbal
  2. space shooter

    It's our first HTML5 multiplayer game. "Zorelit" is a ukrainian word for star ship. It's an example, what's happening, when a developer with C++-damaged brain starts to work with web. We don't have development blog yet, but here is YouTube channel of my friend who did 3D modeling for this game:
  3. Using in phaser3

    Hi there! I'm relatively new...ok very new to coding with phaser and I'm having a tough time finding tutorials that can help guide me through a few of the basics for what I'm looking for. I've been trying to use this tutorial: How to make a multiplayer online game with Phaser, and Node.js And this one: How to create a multiplayer game with Phaser, Node, and Express. However, it seems that both tutorials were made using Phaser2 and there are a few fundamental differences that don't function well using the newer code. The biggest part I'm having trouble with is the differences between game states in the old Phaser and how they are different from the scenes the new version uses. game.state.add('Game',Game); game.state.start('Game'); These functions specifically seem to break my game every time I try and use them. Is the new phaser designed to be run entirely through the index.html file? Or is there a way to execute most of my game's code in a separate game.js file? Currently I have at least a functioning game where I can move around on a map, but the entire thing is contained inside a single index.html file. You can see my game's code here: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Top Down Multiplayer Test Game</title> <script src="//"></script> <script src="/node_modules/"></script> <style type="text/css"> body { margin: 0; } </style> </head> <body> <script type="text/javascript"> var config = { type: Phaser.Auto, width: 960, height: 960, physics: { default: 'arcade', arcade: { debug: false } }, scene: { preload: preload, create: create, update: update } }; var player; var blocked; var game = new Phaser.Game(config); function preload () { //assets to use in the loading screen this.load.image('preloadbar', 'assets/images/preloader-bar.png'); //load game assets this.load.image('level1', 'assets/tilemaps/level1.png'); this.load.image('gameTiles', 'assets/images/Outside_A2.png'); this.load.image('gameTiles', 'assets/images/Outside_B.png'); this.load.image('emptypot', 'assets/images/emptypot.png'); this.load.image('filledbucket', 'assets/images/filledbucket'); this.load.image('player', 'assets/images/player.png'); this.load.image('doorleft', 'assets/images/doorleft.png'); this.load.image('doorright', 'assets/images/doorright.png'); this.load.image('tent', 'assets/images/tent.png'); this.load.image('sign', 'assets/images/sign.png'); this.load.image('campfire', 'assets/images/campfire.png'); this.load.image('woodpile', 'assets/images/woodpile.png'); this.load.image('tree', 'assets/images/tree.png'); this.load.image('rock', 'assets/images/rock.png'); this.load.image('grapes', 'assets/images/grapes.png'); this.load.image('log', 'assets/images/log.png'); this.load.spritesheet('dude', 'assets/spritesheets/dude.png',{frameWidth: 32, frameHeight: 48}); } function create () { this.add.image(480, 480, 'level1'); blocked = this.physics.add.staticGroup(); blocked.create(456, 216, 'sign'); blocked.create(648, 168, 'woodpile'); blocked.create(648, 216, 'campfire'); blocked.create(744, 168, 'tent'); blocked.create(840, 216, 'filledbucket'); blocked.create(600, 400, 'rock'); blocked.create(648, 448, 'rock'); blocked.create(600, 448, 'grapes'); blocked.create(214, 720, 'tree'); blocked.create(214, 552, 'tree'); blocked.create(214, 384, 'tree'); blocked.create(214, 286, 'log'); blocked.create(214, 192, 'tree'); blocked.create(358, 192, 'tree'); player = this.physics.add.sprite(480, 480, 'dude'); player.setBounce(0.2); player.setCollideWorldBounds(true); cursors = this.input.keyboard.createCursorKeys(); this.physics.add.collider(player, blocked); this.anims.create({ key: 'left', frames: this.anims.generateFrameNumbers('dude', { start: 0, end: 3}), frameRate: 10, repeat: -1 }); this.anims.create({ key: 'turn', frames: [ { key: 'dude', frame: 4 } ], frameRate: 20 }) this.anims.create({ key: 'right', frames: this.anims.generateFrameNumbers('dude', { start: 5, end: 8 }), frameRate: 10, repeat: -1 }); } function update () { if (cursors.left.isDown) { player.setVelocityX(-160);'left', true); } else if (cursors.right.isDown) { player.setVelocityX(160);'right', true) } else if (cursors.up.isDown) { player.setVelocityY(-160);'right', true) } else if (cursors.down.isDown) { player.setVelocityY(160);'left', true) } else{ player.setVelocityX(0); player.setVelocityY(0);'turn'); } } </script> </body> </html> I'm also having a few issues adapting what I see in these tutorials around using a server to keep track of my player's position and report back locations. Some examples start with something as basic as referencing in my code as a source. In all the tutorials I can find they say to use this line of code in my index.html file: <script src="/"></script> However this doesn't work, as you can see at the top of my game file above, I had to reference the full file path, going in through the node_modules folder and finding the file. Am I doing something wrong? Or am I supposed to reference the full file path and the tutorial is not accurate? Finally when trying to implement some of the code in the tutorials into the game file itself to tell the game to ask the server when a new client is connected, I get an error saying the code is invalid. I'm not sure if this is because I am putting the code in the incorrect place, or if it's because the code doesn't work in Phaser3 the way it did in version 2. Client.askNewPlayer(); The tutorial says to put this "at the end of game.create()" however because I don't have game states, I have nothing I can find as the equivalent. Just for the sake of testing it out, I tried placing this code inside the "function create ()" of my game if only because of the word create, and then also in the "function update ()" of my game because I figured this is where the game is always looping and checking for updates. But both gave me errors saying that "client is not defined" Again I'm sure you can probably tell this is my first time doing this sort of thing with real code, I've been messing around with RPG maker before this, but I really think I can get the hang of it if I can just get a few pointers or tips to get me going in the right direction! Any help or advice would be greatly appreciated!
  4. Hey everyone! Sam from Bitfox Games here for our studios' first post (and definitely not last!). I'm here to introduce our inaugural game release (well, it's been out for a couple of months now ). ( AKA Battle Royale: Unsung Heroes is a multiplayer 2d battle royale shooter. It features over a dozen different weapons, a 2d pseudo-isometric perspective, and a massive map. Gameplay consist of, well, trying to be the last person standing! Scrounge for weapons, healing items, weapon attachments & scopes. If you die early in a match, you can spectate the remainder of the round as a ghost, or queue for another server immediately. In order to survive, you have to outsmart your opponents! Since launch we've seen millions of rounds of battle royale played, and many other fun stats viewable on our website. We used PIXI for our visuals, Nengi.js + Node for our networking layer (and some client-side niceties that the library, and developer @timetocode, provides - he's actually a part of our team and actively works on If anyone has any questions about the way we've implemented anything, please don't hesitate to ask! Additionally, we would love feedback from other HTML5 game developers. There are bugs; but if you find any, let me know! There's a chance it's not already in our bug tracker. Some features that are on our near-future roadmap are: - Teams Mode (squads & duos) - Grenades - Two weapon slots Always open to more suggestions as well
  5. Hi everyone! After one year and a half of hard work, I finally have the great pleasure of introducing my game, On the Way to Nemroth (OWN)! OWN is a deathmatch game in 1v1, 2v2 and 3v3 with fast-paced games under 3min. Gameplay-wise, it's a crossover between MOBAs (you control one hero with a limited skillset) and Brawlers (maps are small, action pretty intense). You can watch the trailer here : The competitive side has been polished, (league system, no random mechanics, depth of gameplay etc.), but you can also play casually in normal or private games. Because games are super short, you can use OWN to fill in idle times (like a League of Legends matchmaking, for example) or you can play more seriously and try to rank up the ladder. Money-wise OWN is 100% free-to-play, 0% pay-to-win and contains no ad. It's pay-to-customize. You will have all heroes for free, and you will win virtual currency and chests as you play. By the way, I've created a promo code which will unlock you 1000 gold coins at registration : PHASER ! And with registration also comes a free legendary chest! Regarding the technologies, OWN uses Phaser and Node for the pvp games, and React for the social part. But enough talking, here are the important links : The game HERE ! Testing the game without registering HERE ! Don't forget to follow us on social medias : Facebook Twitter Youtube Discord
  6. This is the last part of the multiplayer tutorial series. We're going to host our game in Heroku so that everyone else can access your game!
  7. Hello guys, in this tutorial we implement entering username for players by creating another login phaser state. Tutorial: Github:
  8. New game concept I worked on lately: (Designed for mobile/desktop web browsers) Users work cooperatively or against each other to raise the counter to the goal. The user who raises the counter to the goal wins $ (Real USD). Game is meant to be played once or several times per day. Will truly appreciate any feedback on the game/concept, -Thanks
  9. In this multiplayer game tutorial series with Node.js server and Phaser client, it goes over room logic, and implementing maximum number of players.
  10. Hey I've been working for quite a long time on this multiplayer HTML5 game about top-down tanks. Some people say it's .io type, I politely disagree since it's way more complex than an .io game, however I use the term as well for marketing. The game can host up to 40 CCU per room and features 2 types of vehicles for 2 types of gameplay: tanks and trucks. Tanks are good for combat, they blow stuff up and collect the salvage while trucks are great for avoiding combat. The latter can also pickup other resources found around the map. The main feature of the game is the AI. While you fight against real players there are also 3 spots (more to come) where you can encounter AI. On the top left corner guarding a lot of resources are indestructable turrets, in the middle of the map there's the indestructable train wrecking everybody in it's path and on the top right corner there's the tank boss which drops a lot of loot. People can't solo either of these (solo as in either survive to get the resources or destroy the AI) so they must team up, however these teams start to split once they're closer and closer to the loot and backstabs start happening. This is the link: although I could use votes here if you feel kind enough it's wider on my website though and has less ads (believe me ) My twitter is @JeFawkGames Server costs ~ 100euro a month, so sorry for banner ads. This is the normal PvP fight The ending of a boss fight: Train collision, obviously the player died If you're still around, thanks for reading and if you check the game, that's just awesome. I'm always opened to any sort of feedback and criticism, be that constructive or not. Thanks!
  11. Hosting multiplayer games?

    Hi. I'm currently developing a single player game in Phaser and occurred to me to make it online multiplayer instead but I would prefer not to run my own server and wondering what solutions are out there for hosting online multiplayer games? I searched the web and did come across 4 solutions. PlayerIO, AppWarp, Photon and using platforms like Heroku and Amazon.... At the moment I'm more likely go with PlayerIO because the pricing is better, the free package allow me to get started with no obligations and the paid packages also seems cheap compared to other hosts but I would like to get some feedback if it any good or not, should I consider using something else? I would be grateful for any opinion on this or even links to articles I could learn something from. Thank you.
  12. is a new multiplayer game where you must try to out hoop your opponent in 60 seconds! Simply swipe to throw the ball into the air. Get 5 in a row to unlock the multiplier bonus. Game uses React.js on the client side and Node.js on the server side. Play for free:
  13. Hi Everyone. Here is my Real Time Strategy Fighting game made with Unity Webgl. The game is still under development although its somewhat stable now. I would love to hear your suggestions and criticism.
  14. Hey, hi. I'm trying to develop a game similar to Mini Militia using I took help from a tanks multiplayer tutorial ( for the backend. However, I wanted to add the game room functionality in the game and hence made some changes accordingly. Also, I added a tilemap and gravity to the sprites, but the problem is, the player starts neglecting the collision between the ledges and the player and starts falling down till it collides with the world bounds in one window when no input is given. But it detects a collision in the active window. i.e. the window where the player was created. I hope I could explain the issue properly. Could someone look into the code and check what is wrong? And sorry if I am not following standard developer norms. I'm kinda new to posting threads on forums. Thanks in advance! server.js tanks.js index.html
  15. UPDATE: 24. Feb 2018 Patch 1.2.0 is live! Please click here to scroll down directly to the update comment. ORIGINAL: 30. Jan 2018 Play Link: Chase the Shadow A casual, lighthearted 1vs1 Arena Game. Play online in your browser against a friend or anyone waiting in the lobby! Play Link: Chase the Shadow Welcome to this unique little multiplayer game! Built with Phaser CE. You control a wizard with the purpose of defeating the enemy wizard (another player). You are both hiding in the shadows and can use powerful spells! Game Features: Play online 1vs1 against a friend or any person waiting in the lobby. Control a wizard & defeat the enemy wizard. You have 3 spells at your disposal: Fireball, Lightning & Blizzard. Gameplay: You can see the enemy's shadow. Predict his movement and hit him with your spells! Select the right spell for the situation. Move into the right position to aim your spells. Trick your enemy with unpredictable movements. Win by defeating the enemy before he kills you! Controls: Click your wizard to move. Click on the spell scrolls to activate a spell. Plan your next move during your enemy's turn & pay attention to his shadow! I know it can be hard to quickly jump into this game if there is nobody online to play - or no friend available to try it out. I still hope some of you can get to play a match and let me know what you think! Side Note: Why did I build this game? (Not sure if this paragraph is interesting for anyone) I've been doing a lot of client work lately and so much work had to be done on Node.JS. Yet, I always wanted to create a browser multiplayer game running on an Apache server with PHP! Thus, the motivation for "Chase the Shadow" was born. I definitely don't regret doing this in PHP but it does require a lot of thought and planning - something I could have done much better. Either way, the game is done now and I'm happy I did it! Will I do another game in PHP? Probably not for a while. I wanna stay away from multiplayer games in general for now. Credits: The game was developed solely by me. All assets in this game were either done by me or from the CCO assets linked below. These sources are also credited inside the game: UI background Author: Jetrel, Download Link: Map Tiles: Author: ansimuz, Download Link: Buttons: Author: Kenney, Download Link: Spreading the Word! If you would like to support this game, posting the link below on any of your Social Media accounts would be much much much appreciated! (If you would like to tweet it, you can mention me with @thejamespierce on Twitter.) Play Link: Chase the Shadow
  16. Tower Capture 2

    Play Here: Description: Tower Capture is back! The goal is simple: entrap your opponent in as few moves as possible. Each turn you may move and launch a maelstrom of arrows at your enemy. In campaign mode, battle through 10 boards to claim victory. How to Play: Click on the red player and choose a location to move to. With that same player, shoot a volley of arrows into another square. The arrows will block of the square for the rest of the game. When your enemy can no longer move, you win! Screenshots:
  17. Hey guys, As the title say, we're looking to buy .IO/multiplayer html5 games from game devs who abandoned their games or are looking to sell their game. Game must be good quality, bandwidth optimized, and we need to have access to Google analytics to see all the stats of the game before the purchase. We pay up to 5000$ depending on the quality of the game/stats. Please send us your games by PM / add us on Skype.
  18. I've been working on this game for a while, and I'm finally doing a "technical release" of it. Since it's still in alpha, you may loose your progress on the next update. It's a retro multiplayer racing game, inspired by Rock'n Roll Racing. I'm using colyseus in the back-end, and pixi.js in the front-end. Play it now: You'll be redirected automatically to a server on EU or US. Controls: Arrow keys for movement 1 - Missile 2 - Drop mine 3 - Turbo / Nitro Hope you enjoy playing, any feedback is very welcome! Cheers! Screenshots below:
  19. Hello, I am the creator of MoBubby. MoBubby is a new, free, multiplayer service. I created MoBubby so that indie developers and hobbyists can create online, multiplayer games. All for free, and without needing their own server. Adding multiplayer to a game using MoBubby takes mere minutes. Here's a simple tutorial on how to create a multiplayer, plane game using and MoBubby. To begin this tutorial, let's link to the and MoBubby files <link rel="stylesheet" href=""> <script src=""></script> <script src=""></script> Next, we'll create a simple button. When clicked, the user will be prompted to loggin to MoBubby <button id = "buttonLogin">Login</button> Naturally, we'll need a holder for the canvas <div id = 'phaser-div'></div> Now we can get into some Javascript. Let's create some global variables. var game = undefined; var player = undefined; var others = {}; var loaded = false; The game variable holds our engine. The player variable will hold the current player's plane. The others variable will hold the planes for all other players. Lastly, the loaded variable will hold true once the game is loaded. Next, we'll create our preload procedure. function preload() { game.load.image('background', 'images/background.png'); game.load.image('plane-blue', 'images/plane-blue.png'); game.load.image('plane-red', 'images/plane-red.png'); this.scale.scaleMode = Phaser.ScaleManager.RESIZE; this.scale.pageAlignVertically = true; } This is a standard procedure. It simply loads our graphical assets and sets-up some scaling options. Now we can code our create procedure. function create() { game.physics.startSystem(Phaser.Physics.ARCADE); tileSprite = game.add.tileSprite(0, 0, 1600, 1200, 'background'); player = game.add.sprite(128, 128, 'plane-red'); player.anchor.setTo(0.5, 0.5); // Enable Arcade Physics for the sprite game.physics.enable(player, Phaser.Physics.ARCADE); // Tell it we don't want physics to manage the rotation player.body.allowRotation = false; window.setInterval(function(){ moBubbySend({ "name": moBubbyUserName(), "action": "move", "x": player.x, "y": player.y, "angle": player.angle }); }, 100); loaded = true; } This procedure creates our background, player, and a timer that relays the current player's coordinates to all other players. This data is sent via JSON. Note the action field. Its value is set to "move". As you'll see in a bit, if the user is ever disconnected, we'll send a value of "exit". Now we'll create our update procedure. function update() { player.rotation = game.physics.arcade.moveToPointer(player, 60, game.input.activePointer, 500); } This procedure simply moves the plane toward the mouse (or finger on mobile devices). Simply because requires one, we'll create an empty render procedure. function render() { } The final segment of our code will handle the multiplayer. This includes calling moBubbyConnect and passing it 4 arguments: the maximum number of players the procedure to be executed once the current player is connected the procedure to be executed whenever the current player is disconnected the procedure to be executed whenever the current player receives data window.onload = function(){ document.getElementById("buttonLogin").onclick = function(){ moBubbyConnect( 5 ,function(event){ document.getElementById("buttonLogin").style.display = "none"; game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-div', { preload: preload, create: create, update: update, render: render }); } ,function(event){ moBubbySend({ "name": moBubbyUserName(), "action": "exit" }); } ,function(event){ var data = JSON.parse(; if(loaded == false) return; if(data.action == "move"){ if (!others.hasOwnProperty( others[] = game.add.sprite(128, 128, 'plane-blue'); others[].x = data.x; others[].y = data.y; others[].angle = data.angle; }else if(data.action == "exit"){ if (others.hasOwnProperty({ others[].destroy(); delete others[]; } } } ); }; }; As the first argument sent indicates, this demo allows up to 5 players. The next argument is the procedure that is executed once the current player connects. During which procedure we create our game using the previously coded preload, create, update, and render procedures. The third argument is the procedure that is executed once the current player is disconnected. In our case, a simple "exited", JSON message is sent to the other players. The fourth and final argument is the procedure executed whenever the current player receives data. In this procedure we do one of two things: in the instance the action value is "move", we update the specified player's plane in the instance the action value is "exit", we remove the specified player's plane Just like that, we have a simple, multiplayer demo. You can download a copy of this demo here. Please let me know (via this thread) if you have any questions, or encounter any issues.
  20. I want to design a multiplayer phaser game that has a lobby, you can review your information or talk with friends via chat while you are waiting until you are matched with another player (is a fight game, pokemon style). -How do I get this? should I develop everything like a normal project and then start the game when you find a match? -Should I start the game instance since the beginning, and the lobby would be a state, the fight another state and then back to the lobby? I'm very new to this but I'm excited to start developing, I'll appreciate any guidance, thanks
  21. Alpha is a multiplayer online HTML5 game. You must navigate a popsicle stick around the map to collect splinters, which will add more sticks to your player. You can kill other players by hitting the center of their stick with the tip of your own. This is the alpha release, so I know there are still a lot of issues. The purpose of posting this here is to ask you all for help finding some of the issues. Please let me know of any thoughts you have. The game was created with Javascript and NodeJS; I didn't use any game frameworks. You can view your score on the leaderboards at Play here: Gameplay video:
  22. Hi Guys! I haven't been active here for quite some time and haven't done anything with Babylon.JS for quite a long time. But after checking out the changelogs, I saw that we can now run Babylon.js Server Side, how awesome is that! So I had to squeeze in some time and implement a proof of concept multiplayer simulation with Client and Server side physics engine. It's quite basic. The Client can control a ball by spinning it forward or backward (with W and S). By changing the camera angle (with A and D) you can change the direction of the impulse. With Space you can jump around. To check out how it behaves with multiple players you can either ask someone to also visit the site at the same time or just open a new tab in your browser. Technical it is rather simple. Server and Client communicate via Websockets. The client applies impulses to it's ball, these parameters for these impulses are sent to the server. The server applies these also and keeps the state for the whole world up to date. Each render loop the server sends the current state to all the clients (ideally 60 Hz). The clients then correct the position, direction and velocity of all objects including their own ball if needed. I haven't tried it out with higher delays, but I would suspect the result will be quite "jumpy". Interpolation for correction and prediction of movement is not (yet) implemented. Added Server Update Rate and Ping to see lags and delay in perspective to these metrics. Here is the code: Here is the Demo: Here is a great article about Server-Client Game Networking techniques: which was somewhat the motivation to implement this proof of concept.
  23. Hello there, For the record: I am posting this in BabylonJS since this is the best HTML5 3D game engine for the web and I'm questioning some of its physics engines and their use on the server. I was wondering what the state is regarding (JavaScript) 3D physics engines and the possibility of running the physics on the server (to make the server authoritative). The current state of physics engines seems to lack either performance or functionality. I have tried running CannonJS using NodeJS, and while it was OK for 4-5 clients, it became quite poor afterwards (even though I used simple and few geometry). Oimo.js doesn't have any collision callbacks as far as I've read, and Energy.js's release seems to be quite far away. Another question: it seems that the popular webgames you see on the web are being ''hijacked''. By that I mean that the client code is stolen and are being run on a different server where they make profit. This for instance happened with To counter this, you should preferably run a few things on the client and the majority of the other stuff on the server. However, if a game has physics, I imagine this wouldn't work out so well since it may stutter or feel unresponsive. Does anyone have knowledge of this or can share his/her experience?

    Multiplayer online hexagonal minesweeper. Fight against other players, claim your area and steal theirs in a massive world. Reach the top of the leaderboard by having big score. Claim as much of the world as you can for yourself in this puzzle iogame. Play the game here: Developed entirely in Haxe, using pixi.js for rendering, nodeJS with uws for server. Feel free to ask me anything
  25. I am working on a multiplayer real-time strategy game. This game focuses on the core of real-time strategy, forgoing resource gathering, base building and unit types. The game client was originally implemented as windows application and is now being ported to HTML5 and JavaScript. You can play the HTML5 version on The current version contains an interactive tutorial and an option to play with bots. Note that the camera controls are not yet explained in the tutorial. Here is how to control the camera: Camera panning: Hold down right mouse button and drag to move the camera Camera Zoom: Use the mouse wheel to zoom.