Search the Community

Showing results for tags 'multiplayer'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HTML5 Game Coding
    • News
    • Game Showcase
    • Facebook Instant Games
    • Web Gaming Platform
    • 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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Twitter


Skype


Location


Interests

Found 273 results

  1. Hey guys. So me and my friend have been hitting the grind on network programming for the server side of our real-time multiplayer game. Our game involves handling collisions with synchronized enemies and projectile/melee-based weapons. We don't really care about player-player collisions, but it might be something we want. From what I've been understanding, for this game I'd want to have an authoritative server that essentially has a game loop running that simulates the game state. The clients will interject with their desired actions and use client-side predictions to render what they think should be happening, which will be corrected by the server on a tick-based system. Correct me if I'm wrong in thinking this is the best method to use. But assuming it's a good method, I'm unsure of how to simulate the gamestate on the server. Is it common to use a headless version of your client-side engine to simulate the state on the server? I've heard not fun things about using Phaser-headless on a server. Are we going to have to basically simulate a bare-bones version of our game in NodeJS using vanilla JavaScript? I'm skeptical of this because it feels like reinventing a fairly large wheel. Thanks.
  2. Hi everyone! Before anything I wasn't sure if this was the correct place to post this, please moderators move it as you consider if this should go to some other place like Projects and Demos. https://github.com/damian-pastorini/dwdgame Also, 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 works 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 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 love to get this as starting point. Best, Damian Reply
  3. OkijinGames

    pie.ai

    Hi Everyone, Pie.Ai (alpha) is my new HTML5 multiplayer game. Jump straight into the action and eat as much as you can of everything (even other players) but don't stand in the JAM! With simple one touch control to jump, eat, fly, open locks, break blocks or attack the game is designed to offer seamless experience across all devices (phones, tablets, PC). This alpha version was developed in one month (originally part of another project, more details below). Note that I have currently limited the number of players to 12 for the alpha so you may get the "Tables full" message if it gets busy at time (you can always spectate to get an idea). Click here to play Here is what to expect in the next few days: Lootable Armor (or temp invulnerability). Improved bot AI. More skins Multi-language support Gold shop to unlock starter packs and skins (gold farming allowed). Game Design: Propeller vs Jetpack for flying (currently both items behave the same, I am thinking of differentiating them) Smash items mechanism (jumping on some items to trigger some effects) Game modes (have a few ideas that need to be tried out). Initially that game was to be part of another upcoming project (mini game for Idle Brainz) but somehow I got stuck with the top-down graphics and changed to adopt an isometric view. Since the style ended up so different from Idle Brainz, I decided that a separate standalone release would probably be better. Feedback are welcome.
  4. I recently released my first multiplayer online game. It's called Crusader Party, and it was inspired by the game called Hidden In Plain Sight. Essentially it's a free-for-all of a few human players with a bunch of harmless bots, and everyone looks identical, so you can hide by pretending to be a bot, and sneak up behind people to assassinate them. In Hidden In Plain Sight, the incentive to blow your cover was a secondary victory condition of capturing some towers. In my game, you can only win by being the last one standing so the incentive to blow your cover and start killing people is that whoever gets first blood of the day (there is a 45-second day/night cycle) transforms into a more powerful character at night, who can actually survive a single blow and has greater range and area of effect. I uploaded it on multiple portals but the most accessible is probably Kongregate, here is the link: Crusader Party Since it's new there may be not enough players online to begin a match, but you can get around that by opening the link in multiple browser windows or tabs. The server was written in NodeJS using SocketIO.
  5. Ninja.io is a fast paced, 2D multiplayer shooter inspired by games like Soldat, Unreal Tournament and N-game. Currently implemented game modes include Capture the Flag and Deathmatch. It uses the Box2D physics engine to enable convincing rigid body simulation. Players can make various moves including backflips, rolls, proning, running, flying and crouching. The game is still under active development and I'm willing to devote a great deal of time to finishing this project. I've made a test server available and you can join it by following these steps: - Go to ninja.io - Play as Guest - Enter a username - Join CTF or Deathmatch. - Select primary and/or secondary weapon Press H to display table of controls. Decrease the size of the browser window in case it runs slow. I've noticed that some laptops and older systems have trouble maintaining adequate fps. It is currently not possible to register a username, but I've been making progress on an account and highscore system. The game server is currently located in Europe. I plan on running additional servers on other continents and for the site to serve as a gateway to the nearest game server when players join in order to minimize latency. 2 European and 3 North American servers are available. Any thoughts, feedback or suggestions would be much appreciated! Thanks. Edit - 15-12-2017: New version! Sound effects have finally been added, weapons & items have been updated & tweaked, libraries have been updated and many improvements have been made along with numerous bugfixes. Edit - 15-05-2019: Several versions later: lots of new stuff! Running in Pixi.js v5 now. Party mode has been added, several new maps, new weapons, new sounds, new UI, new account/profile management (WIP), new FX! More to come! I'm currently finishing the implementation of the account system and I'm working on several new maps. More updates will follow soon!
  6. I'm starting out learning to build games in Phaser and doing multiplayer games and had the idea that I would build a simple multiplayer game to play with the kids. the basic idea: Two teams of either 1 or 2 players each kick a ball around a bounded area trying to get it into the opposing teams goal. I've played around with the physics engine demos a little bit and think I know enough to make a player (circle) that can move a ball (another circle) around in a Phaser game using P2 physics. I've also messed a little bit with node.js and the sockes library and implemented a little demo of setting up a server for multiplayer. Now I have gotten to the question of how to handle the physics in a multiplayer game. It seems to me like the physics simulation should be running on the server but how do you do that? Do I run a Phaser instance on the server to simulate physics or do I choose a standalone physics library and run that on the server? Bonus question: If physics is being simulated on the server do I need to run any physics on the client in this multiplayer example?
  7. Galaxystrife is online multiplayer space shooter. See for yourself... galaxystrife.com Feedback is appreciated.
  8. Hi everyone! I have one question.. Do you like tanks ?! Recently we released beta version of our small multiplayer game called DatTank! http://dattank.com And you are right, it's all about tanks Come and check! Tell us what do you thing about it.
  9. I am looking for an expert Game Maker Studio 2 developer who has experience with Facebook Instant API integration. The game has Turn based and real time multiplayer game modes that has already completed and tested. The person should have a strong understanding of Instant games and nodeJS apis with GMS2 studio. This could be long term contract working on multiple games Please reach out to me on the following contact Email: abhishek.buchvani@hyprgames.com Skype: abishek.17 Discord: abi#9208
  10. Here's a multiplayer pk/deathmatch game I've had on the back burner for awhile. There is still more that needs to be done. The project will probably continue to evolve. Thanks for checking it out. PLAYERKILLERS.EXCHANGE
  11. 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.
  12. Link: JigsawPuzzles.io - multiplayer cooperative jigsaw puzzles There are always a few ongoing public games on the homepage. Anyone can join these. If you want a more controlled experienced, signing in allows the creation of private games. You can invite friends into your private games. Tech stuff: The game is made in a hybrid of canvas and Pixi v4. The multiplayer is node.js + websockets via nengi.js. The game is only online multiplayer, even when playing alone. I'm primarily a network programmer and the whole project began as strange experiment of programming a casual puzzle game as if it were a shooter (movement prediction, lag compensation, reconciliation). I usually work on shooters. The hope was that the controls would come out feeling like the game was single player up to 500 ms of latency and 5% packet loss. The project has changed a little since then (the servers are no longer 30 tick) but the essence remains. It uses 2K and 4K images depending on the puzzle size, which is kinda fun because of how much it is possible to zoom in/out. The big puzzles are primarily aimed at desktop users, but are decent on touch tablets. Mobile isn't supported yet... but it does kinda work on some phones just by chance. We've got a few crazy modes that we're considering in the future. For now the only mode is a cooperative recreation of the table top experience. Thank you for checking out the game Here's a 1148 piece puzzle: Here's a smaller puzzle: What the catalog/setup page looks like (gotta sign in first, so that progress we can save): Social accounts for the game: https://www.facebook.com/JigsawPuzzles.io/ https://www.instagram.com/jigsawpuzzles.io/ https://twitter.com/JigsawPuzzlesIO https://www.reddit.com/r/jigsawpuzzlesio/ https://discordapp.com/invite/axT9bRw
  13. 25 kb · Done Hi. Some time ago i have ported my old multiplayer flash game in to HTML5. You can heck game out here Game made on my HTML pixi based visual editor (thing-editor). Engine is in beta yet, some things is not finished, and timeline need refactoring. : ) Game works well on mobile, in landscape/portrait mode. Has virtual onscreen controllers. But no sound yet. I really stuck with sound and music.
  14. I've followed many guides on the internet and I have found success in none of them so far. My situation is having a game where updates from the server are inconsistent, so-far I have found no lerp that can handle this without jumping and jittering a bunch.
  15. Im trying to make a lerp function on an online game. Im doing this by having a buffer list, I append each server update to a list, and lerp over the contents, here is an example: movementBuffer.unshift(gameUpdate); //when a new update is received //in the main loop timeElapsed += delta; lerpPerc = timeElapsed / updateRate; //percent which is lerped to if(lerpPerc > 1){ //when the lerp is finished, the states that were just lerped are removed from the buffer movementBuffer.splice(prevData.length - 2, 2); //remove the previous states from the buffer state1 = prevData[prevData.length - 1]; state2 = prevData[prevData.length - 2]; timeElapsed = 0; lerpPerc = 0; } for (i = 0; i < state2["players"].length; i++) { // update the players prevY = state1["playery" + state["players"][i]]; prevX = state1["playerx" + state["players"][i]]; x = state2["playerx" + state["players"][i]]; y = state2["playery" + state["players"][i]]; //lerp to the new x and y playerCoords[recivedData["players"][i]][0] = lerpF(prevX, x, lerpPerc); playerCoords[recivedData["players"][i]][1] = lerpF(prevY, y, lerpPerc); } The problem here is the `lerpPerc` goes by too quickly, so it basically deletes all items in the buffer, leaving nothing to be lerped to. What am I doing wrong here?
  16. Hello everyone, BlockTanks is a simple and explosive multiplayer tank game. Join other players in a fast-paced and destructive team deathmatch. Collect weapons and defeat the enemy team using strategy, cooperation, or good old-fashioned brute force. Play the game at blocktanks.net Features: Lobby with multiple maps and matches. Power ups like rockets, bombs, and flashbangs. An account system so you can track your stats and level up. Unlockable items such as stickers and decals. Made with Phaser and NodeJS, and hosted on AWS Lightsail.
  17. http://shellshock.io My first BabylonJS project is a whacky multiplayer first person shooter featuring, well, eggs, of course! It's in very early development and still fairly rough around the edges, but it's super easy to jump in quickly and play. It's just been made public, so finding people to shoot may be a little hit and miss (pun intended). Enjoy! Facebook: http://www.facebook.com/ShellShockGame Twitter: https://twitter.com/eggcombat
  18. Hi Everyone. I present my new multiplayer game Flags of the World Quiz (https://flagsquiz.games) There are 6 game types in the game: Multiplayer (speed game with other players); Find the flag; Choose a country; Quiz; 8 flags; Training. You can login by Facebook, and restore your score data on any mobile devices or computers Mobile Versions:
  19. Greetings everyone, We at UnniTech are proud to announce the development of our online multiplayer RPG, Keys Of Triumph. We have started the development in January and we expect to go into closed alpha pretty soon. We will announce the projects website later on with full details on release dates, game plot, trailers and more! The game is being developed in BabylonJS and we expect for it to be fully cross platform. If you have any question regarding the game, you can message us and we will gladly answer. Expect updates soon! Cheers! UPDATE : Here is a link to apply for beta tester. We will launch next year a short beta period and then going for release. We are all very excited !!!
  20. Hello, Phaser3! I'm new to game development and have been using the library to make a 2d multiplayer game, however, I did run into an issue when attempting to synchronize the server state with the client state using linear interpolation to smooth out movement of sprites between points. I'm pretty stuck # ---- # TL;DR I need a way to interpolate a user to different coordinates in the map while animating the sprites according to the data given. Example: socket.on('user_data', data=> { let player = spawnedUsers[data.id]; player.smoothToAllCoordinatesAndPlayAnimations(data.movementQueue); }) // movementQueue looks something like this: [ { x: 0, y: 0, direction: 'down', moving: false }, { x: 5, y: 0, direction: 'right', moving: true }, { x: 6, y: 0, direction: 'right', moving: false } ] # ---- Every 50ms I am sent the server's game state, this is what the client looks like: var t1 = Date.now(); var serverUpdateDelta = 0; Client.socket.on('usersPool', usersPool => { // usersPool is an object containing all the user data of sockets connected on the server. Looks something like this: /* usersPool = { "user1234": { x: 0, y: 0, direction: "right", moving: true }, "testuser": { x: 200, y: 250, direction: "down", moving: false } } */ // keeping count of milliseconds between updates (usually around 500m) serverUpdateDelta = Date.now() - t1; // for every user connected on the server... for(id in usersPool) { let data = usersPool[id]; // this is the user's data if(/* the player exists as a sprite in the game...*/) { // THIS IS WHERE THE MAGIC SHOULD HAPPEN } else { genSprite(player); } } }); The player's data contains a `movementQueue`, which is just an array of coordinates the user has been at. It might look a little like this: [ { x: 0, y: 0, direction: 'down', moving: false }, { x: 5, y: 0, direction: 'right', moving: true }, { x: 6, y: 0, direction: 'right', moving: false } ] This is calculated on the server, but each `movementStack` (item in the movementQueue`) is generated every 25 milliseconds or so on the server. The job now is, when receiving this movementQueue, to interpolate the values and move the sprite accordingly... -> Attempt 1 I first tried making a function which would interpolate once the update was received, like so: // THIS IS WHERE THE MAGIC SHOULD HAPPEN // user's state on the client is set to an interpolated version of the one on the server player.movementQueue = buffer(data.movementQueue); The buffer will simply generate an interpolated array based on the serverUpdateDelta and game.loop.actualFps then, in the Game.update function I ran the following: for(id in spawnedPlayers) { // this will remove the first movementStack from the queue and returns in movementStack = spawnedPlayers[id].movementQueue.shift(); // we then take this movementStack and update the user to that position (and play the walking animation) spawnedPlayers[id].update(movementStack); } So every game loop, we would remove a stack from the queue and set the user to it. This did NOT work. The game loop seemed to run Way more times than there were frames in the queue, making the player look like they were moving a small distance very slowly. -> Attempt 2 I then tried using tweens which would be really easy to implement, simply run: // THIS IS WHERE THE MAGIC SHOULD HAPPEN _this.tweens.timeline({ targets: player.sprite, tweens: data.movementQueue, // [{x, y}, {x, y}, {x, y}] duration: serverDeltaTime/movementQueue.length, // duration between each tween in ms }); This worked ALMOST perfectly, except for one small detail: Before, we would run a method for the player on each movementStack: `player.update(movementStack)`, this method would take the direction of the user and animate the sprite accordingly. Now we have no way of doing this... SO What methods or techniques could I use? What am I missing? What could I implement? I ask this because I'm stuck at this point. Thank you in advance for the help John S.
  21. I made a classic battleship game that you can play against others or an AI. To challenge myself, I did it without any game framework, not even canvas. Just raw HTML5 element manipulation. It's also fully responsive and mobile first. http://www.battleship-online.com The code: https://github.com/Sun0fABeach/battleship_online
  22. Hi everyone! I'm very pleased to announce the IO version of my game, OWN! Now you can have a better glimpse at the game without registering, instantly in your browser! You can try it HERE. Hope you guys will enjoy it! And don't hesitate to leave some feedback!
  23. DRTS focuses on the core of real-time strategy, forgoing resource gathering, base building, and unit types. You can play the game on https://play.drtsgame.com The simplicity and comprehensive tutorial make it easy to jump into within minutes. Both multiplayer and singleplayer mode are already implemented, the game is work in progress though and updates will follow. Note that the camera controls are not yet explained in the tutorial. Here is how to control the camera: Camera panning: Hold down the right mouse button and drag to move the camera Camera Zoom: Use the mouse wheel to zoom.
  24. I have problems writing a multiplayer game with phaser 3 and socket.io I’ll explain it using a simple example: 2 players P1 and P2, try to kill each other using bullets B1 and B2. Scenario A: Use Pure Javascript and socket.io, without any game engine. A1. The socket.io server calculates the position of all players and bullets, and send these information to all players for every 30ms. A2. Each player send [inputs] to the server on real time basis. Of course, those inputs may arrive the server later then expected. A3. Each player show objects in screen only according to the information provided by the server, without calculating the objects’ position on the client side. A4. The game runs without any BIG problem since the Unique Game State is only calculated on the server side. A5. However, without using game engine, I need to calculate the [Physics] of all objects by myself on the server side. Scenario B: Use Javascript with phaser 3 and socket.io B1. At time 0.000 second, the server ask both players start the game at the same time. B2. At time 0.030 and 0.040, both players start the game accordingly. (As you can see, the network of player P1 is faster) B3. At time 0.200, player P1 fires a bullet B1 and starts to update screen using the phaser 3 engine’s [Physics]. B4. At time 0.280 (here the server takes 10ms to transfer this action from P1 to P2), P2 gets this action from the server, and starts to update screen using the game engine’s [Physics]. (You may probably notice that at this moment, the screens of P1 and P2 are different!) B5. Suppose the bullet B1 is able to hit P2 at time 1.000. At time 0.950, P2 moves away from the bullet and continues playing the game. B6. As you may already figure out, the action that P2 moves away, arrives P1 at time 1.030, at that time, P1 already win the game! At this moment, in P1’s screen, P1 win the game, but in P2’s screen, P2 is still playing the game! It seems that phaser 3 is not suitable for multiplayer games. Did I miss anything? Thanks in advance for your help.
  25. @endel has just updated his BabylonJS + Colyseus Multiplayer Boilerplate repository to support the latest BabylonJS, Colyseus, Node.js, TypeScript, Webpack and related dependencies. It's a great starting point for anyone interested in developing multiplayer games or multiuser applications with BabylonJS. Here's more information: BabylonJS + Colyseus Multiplayer Boilerplate Colyseus website Colyseus documentation Support Endel via his Patreon campaign