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
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 167 results

  1. 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.
  2. Hi everyone, I was working on a game called "Space Blast". You can play it by clicking the link. http://www.spaceblast.io There isn't much players currently. Features: XP based level up system. Player's XP is reduced to half when player ship explodes. Players shoot asteroids and other players to gain XP. Asteroids divide into smaller pieces. If a moving asteroid hits a ship, ship explodes. Players gain skill points on each level up. Upgradable skills: Health, Health Restoration, Speed, Fire Rate, Bullet Speed, Weapon Damage. Development Notes: I wanted to make physics simulation deterministic, so I wrote a small library for simple impulse based physics simulation. Only circular bodies are supported and no rotation is implemented. But still it is hard to get the same simulation running on the both ends. Also I think I spent too much time here. There can be lots of moving bodies, so the communication is in binary format to reduce the traffic. Only client and server specific code is separate. All game related code is shared between client and server. This really ease the development for me. Game simulation runs on clients and server at the same time. Minified game source (client javascript) is about 70 KB. It is not very important but I am quite happy with it Sound effects are played in different playback rates (90% - 110%), this also gives some variety. When player ship explodes it adds a lowpass filter. Game also works on mobile devices but it requires good processing power. Any feedback is welcome. Thanks!
  3. this will be my new thread for my multiplayer game project. I made this simple multiplayer scene with socket.io and heroku deployer
  4. Twitter - Subreddit - Dev Blog - Discord Hello my name is Sam, I'm also the lead artist for Super Combat Squadron. We're a small indie dev team trying to put out a lightweight browser RTS. It's been just myself and one other programmer been developing the game for about a year now but, due to unforeseen circumstances, the lead programmer has had to take a step away from the project for personal reasons. I'm still in contact with him for help in the transitionary period but I'm looking to replace him on the team with some new programmers. Currently we just completed our first internal playtest and got some good feedback from that, and the roadmap for the future was to push towards the first public demo, and then if the feedback looks good and things work out, were considering running a Kickstarter or other crowdfunding attempt to get the funding to take the game further. The ideal skill set we're looking for would include: Phaser and JavaScript (goes without saying). A previous title or some example of your work with Phaser. Possessing a strong focus on: Networking Pathfinding AI Loves and plays RTS or MOBA games a bonus. Your position in all this would be helping tackle some bugs and featured we identified and fixing some issues blocking a public demo release. We're trying to cut the fat and make it purely a bee-line to public demo release. As previously mentioned, I'd love for it to transition into a longstanding paying role through crowdfunding, worst case scenario we stop at public demo release if the interest just isn't there. If you are interested, you can contact me here, or at our email address: laxvikinggames@gmail.com
  5. Description: Firmament Wars is a multiplayer strategy game similar to games like Risk and Civilization. Firmament Wars uses an accelerated turn-based system to keep the action moving quickly. At this time there are no AI (computer) players, so it is multiplayer only. I plan to add AI opponents within the next month. So if you want to play a Risk-like HTML5 game then grab a few friends and enjoy! The typical game lasts less than 10 minutes. Firmament Wars offers eight maps and three modes of play: free for all, team, and head-to-head ranked play. https://nevergrind.com/blog/how-to-play-firmament-wars/ Give it a try and let me know what you think about the gameplay! For the most part it should work on mobile devices, but I have only tested on a few recent tablets. Let me know if you have major problems on mobile. For the most part it was designed to be played on desktops at 1920x1080. Here's a quick dev summary: I developed it in one year using PHP, websockets (Ratchet, ZMQ), MySQL, javascript, JQuery, and GSAP. I'm planning to convert it using electron.io to "appify" it, but I'm not 100% sure how that works yet because I've never done it before or if it's even possible with my design.
  6. https://drive.google.com/folderview?id=0Bwl58NPLObeIWEQ3YlNlTV9KNWs Here's a sharable link to the directory where my files are located. There's no node_modules, so it's necessary to install before express and socket.io. The problem is I can't create and render the balls which need to bounce all the time. The server is responsible for creating my players and balls. I did successfully the creation and movement of my players with the arrow keys and that's synchronised to all the clients. But I can't do the part with bouncing balls. It seems simple game but as far as I am new to this stuff, I can't figure it out. I provide a link to the directory of my files. The command to start the game is: node server.js. If anyone could help me, I would be very happy. Thanks in advance guys.
  7. down votefavorite I have previous experience with Unity, but I don't like the fact that Unity compiles your game directly into APK (or IOS equivalent). It's because I want to modify the game to provide chat interface (and some other stuff) for multiplayer mode etc. So, I thot of doing it the other way - 'create an app and embed a multiplayer game within it'. Now, again this approach meant that I had to develop for android and ios seperately. But, then I came across React-Native library (mobile extension of popular React framework). Now, I have decided to create an app using React-Native (cross-platform), but now I am confused as to which game engine should I use and I think since React-Native is javascript, game engine needs to be in javascript for seamless integration. I am planning to use to embed the game in my react-native app. Can anyone suggest me any good javascript game engines that can be used along with react-native? I have done some research on Phaser and Pixi but they use WebGL for rendering and I read somewhere that doesn't have great support for WébGL or Canvas(Am I wrong?). Any help is highly appreciated
  8. Hello, I am creating a simple, multiplayer, platform game in Phaser. I'm looking the best solution for lag. At the begining I sent to clients current positions of players. It was't be good solution. Next, I sent to clients velocities. In this solution I saw misalignment effect. One player saw own character at another postion than second player. Now I use queque of movement. This solution is good, but I think code can be better. Maybe someone has any ideas? function distance(x1, y1, x2, y2) { var dx = x1 - x2; var dy = y1 - y2; return Math.sqrt(dx * dx + dy * dy); } function update() { if (player.body.velocity.x != 0 && !(leftButton.isDown) && !(rightButton.isDown)) { player.body.velocity.x = 0; client.ws.send("VELX0|" + parseInt(player.body.x) + "|" + parseInt(player.body.y)); } if (player.body.velocity.x == 0 && !(leftButton.isDown) && (player.body.touching.down) && !(rightButton.isDown)) { player.body.velocity.x = 0; client.ws.send("VELX0|" + parseInt(player.body.x) + "|" + parseInt(player.body.y)); } if (leftButton.isDown && player.body.velocity.x != -300) { player.body.velocity.x = -300; client.ws.send("VELX-300|" + parseInt(player.body.x) + "|" + parseInt(player.body.y)); } if (rightButton.isDown && player.body.velocity.x != 300) { player.body.velocity.x = 300; client.ws.send("VELX300|" + parseInt(player.body.x) + "|" + parseInt(player.body.y)); } if (upButton.isDown && player.body.velocity.y==0 && player.body.touching.down) { player.body.velocity.y = -500; client.ws.send("VELY-500|" + parseInt(player.body.x) + "|" + parseInt(player.body.y)); } if (Object.keys(playersList).length > 1) { if (moves.length > 0) { i = moves.shift(); if (distance(player2.x, player2.y, parseInt(i["x"]), parseInt(i["y"])) <= 10 || moves.length >= 1) { if (i.move === "VELX") { player2.body.x = i["x"]; player2.body.y = i["y"]; player2.body.velocity.x = i["value"]; } if (i.move === "VELY") { player2.body.x = i["x"]; player2.body.y = i["y"]; player2.body.velocity.y = i["value"]; } } else moves.unshift(i); } } } } game = new Phaser.Game(900, 580, Phaser.AUTO, 'phaser', { preload: preload , create: create , update: update }); function Client() {} Client.prototype.openConnection = function () { this.ws = new WebSocket("ws://127.0.0.1/ws/"); this.connected = false; this.ws.onmessage = this.onMessage.bind(this); this.ws.onerror = this.displayError.bind(this); this.ws.onopen = this.connectionOpen.bind(this); }; Client.prototype.connectionOpen = function () { this.connected = true; }; Client.prototype.onMessage = function (message) { if (message.data.substring(0, 4) == "VELX") { z = { x: parseInt(message.data.substring(6).split("|")[2]) , y: parseInt(message.data.substring(6).split("|")[3]) , move: "VELX" , value: parseInt(message.data.substring(6).split("|")[1]) } moves.push(z); } if (message.data.substring(0, 4) == "VELY") { z = { x: parseInt(message.data.substring(6).split("|")[2]) , y: parseInt(message.data.substring(6).split("|")[3]) , move: "VELY" , value: parseInt(message.data.substring(6).split("|")[1]) } moves.push(z); } }; Client.prototype.displayError = function (err) { console.log('Websocketerror: ' + err); };
  9. Hey gang, it is time to play some games! I have 4 submissions. Here they are: 1) @jpdev sent the following entry: JPs BabylonJS RPG, http://rpg.jppresents.net This is a rpg game where you control a character of one of the three classes: Fighter - meele fighters can take a punch and also deliver one Hhealer - pure magic healers that can't fight themselfs but are valueable in keeping everyone alive Caster - ranged magic damage dealer that control fire You choose a name for your character and the class on login. You can change your class by reloading the game in your browser. You can move by left clicking anywhere on the ground. You can use skills by clicking them in the skillbar or pressing the corresponding number. Target other player or monsters by clicking on them or their nameplate. You can click the text field in the lower left corner or press "Return" to begin typing a message to everybody else, another "Return" sends the message. You can gain up to 5 levels by gathering xp by killing monsters or by healing other players who are killing monsters. Each level gives you more hp, more damage/bigger heals and most levels give you new abilities. 2) @kpgbrink, @binki & @mwiss have sent this (Including a GitHub repository!!) : Faito https://sam.ohnopub.net/~faito/faito/index.cgi/ GitHub: https://github.com/sekainogenkai/faito Controls: KeyBoard: Movement WASD, Jump Space, Roll/Croutch shift, Powers (u, i, o, p). Xbox Controller: Movement Left Joy Stick, Jump Right Button, Roll/Crouth Left Button, Powers (x, a, y b). Link: https://sam.ohnopub.net/~faito/faito/index.cgi/ GitHub: https://github.com/sekainogenkai/faito We hope you enjoy this. If you want to fully experience the game you have to play with a friend and faito! Additional Information: Red Ring: Health Blue Ring: Mana Damage: Hit other player with object. Head on hits are stronger. This game is still in development. We have a lot more work to do. 3) @Athelios and @BlueManCZ have sent an amazing school project: http://hroch.spseol.cz:8080 Our game is school project and is very buggy (It's kind of game that inclines to lot's of bugs :D) So it's very possible that it will crash and stop work during testing. Server side is written in Python. Player can equip item to hand by holding Alt + right / left mouse button. Chat can be open by T key, inventory by E key, chest by F key. 4) @RaananW (whoever that is) has submitted the following: In a Row IO , https://in-a-row.io In a Row IO is a multiplayer 3D tic tac toe game in its beta stage. You can create your game with the configuration you wish, or join already existing games. The rules are rather simple - you need to complete a row or spheres and prevent your opponent(s) from doing that same. The length of chain is determined by the largest length of either width, height or depth. so: in a 4x4x4 board, the row is 4, but on a 6x4x3 board, it is 6 (so you can only complete rows on the X axis). in a 5x5x1 it is 5, and 3x3x1 is the classic tic-tac-toe we all know (and hopefully love). You can also watch running games, or games that have ended already (including one where I play against myself! And win!). To actually play you need to log in. Gravity can be enabled, and in the future you will be able to use powerups to mess-up with your opponent. For now they are disabled due to lack of time. 5) Late entry by @getzel (which managed to send me a message as I was writing this post): Here is the solo alpha : http://yobrowser.hol.es/babcity/alpha01.html (My notes - I guess this space will be edited with further information). As I said - we want all game to have their share of users, as they are multiplayer games. So, 5 games, 5 days. I hope the community will participate as much as possible! The game developers can of course invite the entire world to play as well, just to get things going! New entries in your calendars: March 6th, at 20:00 CET (11 am PST) - we play JPs BabylonJS RPG, http://rpg.jppresents.net 7th, at 20:00 CET (11 am PST) we play - Faito https://sam.ohnopub.net/~faito/faito/index.cgi/ 8th, 20:00 CET (you get the point) - http://hroch.spseol.cz:8080 9th, 20:00 CET - https://in-a-row.io 10th, 20:00 CET - http://yobrowser.hol.es/babcity/alpha01.html Of course you can join in the games whenever you want, we just want as many people as possible at once to get the party started. Please submit your votes in the attached poll!
  10. Hello, everyone! I've been working on a multiplayer top-down shooter called Space Pizzas. I'm hoping it may some day become the best space-based pizza game on the web, but we shall see how that goes. Here's a gif of the work in progress: The game uses Ember.js as its base, Three.js for the visuals, and a billion more JS libraries to do everything else. I also begrudgingly wrote some code when there truly was no other option. The game is playable online in its current state at https://www.spacepizzas.com. Space Pizzas allows for up to six-player pizzamatch (like deathmatch for pizzas) and can support multiple simultaneous games if things go well and more than six people hit the site at the same time. The game hasn’t had a ton of play testing, so please let me know what you think!
  11. Dear Phasers, My name is Geert from Curve Fever. We have created a very fun little game called 'Curve Fever'. It basically is multiplayer snake (http://forum.curvefever.com/play2.php) . For the new version (http://curvefever.io) we have used Unity WebGL, but we see very slow loading times and poor performance. We want to fix this, and also fix the terrible UI/UX in the game. This means that going to phaser might be a good solution for us. So the question would be: How much time would it take for 1 senior Phaser developer to rebuild our client in Phaser. Things that might be complex are: - It is multiplayer, this means that snakes can be drawn on a wrong place and need to be redrawn on a different place when there is a correction from the server - It is multiplayer, this means that animations might be stopped halfway or need to be started halfway - We have to get used on how Phaser works with assets, is it easy for our artists and game designers to prepare art for Phaser? - The game is rather 'big' meaning that there are a lot of menus and other stuff, so that might impact loading and performance.. If we continue with Phaser, then we would also be in search for a senior Phaser developer. Our budget is 60k - 100k euro a year. Where could we best find Phaser developers? Best regards, Geert van den Burg
  12. Hello, I'm a web programmer with 3 years of experience (currently a senior developer). I've always been a fan of videogames and now I'm starting learning game development just for fun. Like in any type of development , you always face problems and learn of those. Sharing is the strongest tool to learn, you help other people to prevent/fix mistakes and they help you. What am I looking for?: People like me that is learning to develop games and want to meet other people to make games with them, share experiences, ask&answer questions. How will we organize? I have experience managing large Telegram groups and also creating bots for groups. It is a good starting point since most of the people always carry the phone everywhere and also has a web/desktop application, also Telegram offers us a direct communication without compromising your privacy (you don't need to give real info or phone number to the rest of the group). If we start growing, we can just move to another platform you want (Discord, Slack, whatever is of your preference). Do you have any project scheduled? Yes, I want to build a fun roguelike, here is my current roadmap of the game: I am an artist, can I join? Sure! I'm sure you can learn from us and we can learn from you, Keep in mind that sound artists, level designers, programmers.. work together and they need to understand all the other positions to work properly. Of course this is a flexible diagram, I don't do this as my job and I don't have any deadlines, creating a roadmap just helps me with organization so I don't start wrongly (which with end even worse :P). Have in mind that my only goal is just learning, I'm not in a rush to make money or finding a job Just feel free to contact me if you want to join or if you doesn't like something of my post.
  13. Hi, I need HTML5 Games Developer. I want you to develop HTML5 multiplayer games. PM me your Portfolio and your Quote.
  14. "From the ancient world deities battle for dominance... Many gods exist and they all crave the power of prayers from the mortals. Divine beings are in war and they do not care about the consequences of their actions, as long as they are worshiped they will do anything to make sure they are the rulers of this world and the worlds beyond." One year ago I started making this game in my spare time. I am a fan of Magic for almost 20 years and I am convinced that a card-game in the browser could be a lot of fun. So I made one.. It's not finished at all, but it works and has all kinds of cool stuff! Works on mobile, tablet and desktop Multiplayer Bots to battle with Deck-building Achievements A store and in-game credits to earn Collect rare and hard to find cards Play as a ancient Greek or Nordic god Link to the webpage: https://playdivi.com/ If there is anyone who wants to spend some time testing this with me, let me know! Any constructive feedback is more than welcome. Short gameplay video:
  15. I'm looking for work building interactive graphical HTML sites. My strength is in the 3D framework babylon.js. I also have an 82 DSLR multi-cam scanner which I use to scan in avatars. You can see my work here: www.punkoffice.com I have a YouTube page here: www.youtube.com/punkoffice1 I'm based in Melbourne, Australia but happy to work for other locations remotely.
  16. Hi, This is more of a theoretical/conceptual question and it is more related to server programming than BabylonJS itself. But I'd like to have tips on dealing with these problems: Let's say a wall is in the middle of 2 players. The players have to go around this wall to see eachother. Now, the problem is that an evil player can ''disable'' the phyics/collision of this wall and go through it to catch the other player. In fact, he can just change his position and there he is, at the other side. Now server wise, I believe I would deal with this by checking whether he didn't collide with the wall (e.g. his position intersects the wall). But if I have a more complex geometry, this would be hard to do without having BabylonJS on the server so I could use the ''intersectsMesh'' function for instance... So I thought, well, say that the other non-evil player can also perform checks to see if that player intersects with the wall.. And if so, it will trigger something on the server.. But that wouldn't be fair since he may be evil too.. I don't know how to approach this. Especially since my game will use physics where players can just modify values like impulse. Thanks!
  17. Hi everyone!! I have uploaded my last game, you can try it here: KARTWARS.io KartWars.io is a massive multiplayer IOgame developed in Phaser 2.6.2, Websocket and node.js. In this game you must get coins and smash your enemies using different items. Other players will try to kill you and steal your coins, but you can use your Energy Shield, although this will decrease your Coin Score. Your Coin Score speeds up your kart too. You can use the radar to locate the top three players. Here are some screenshots from gameplay: There are six different items you can use. Bullet, Missile and Mine have a three ammunition version and there is also an Aleatory Item. If you touch other kart when your Item Slot is empty, you can steal his item, be careful, your enemies can rob your items too. You can drive a standard kart, although we have added some new skins that you can unlock. Currently we are still working to improve it and we are developing the app for Android. Enjoy it and hope to see you in the Top Ranking! - KARTWARS.io -
  18. Hello everybody! I can create single player games with phaser and now I want to start making multiplayer games using socket.io + node.js So unfortunately I haven't found any tutorials about how to create games on phaser with phaser. I have never had projects with serverpart(so I have no experience in it) So that's all I could understand and write myself :[ SERVER PART var express = require('express'); var app = express(); var serv = require('http').Server(app); var counter = 0; app.get('/', function(req, res) { res.sendFile(__dirname + '/client/index.html'); }); app.use('/client', express.static('/client')); serv.listen(2000); console.log('server started'); var io = require('socket.io')(serv); io.sockets.on('connection', function(socket) { counter++; console.log('connection #' + counter); }); Client <script> var socket = io(); var sendInfo = function() { socket.emit('objAppear'); } </script> <button id="btn" onclick="sendInfo();">Appear</button> Of course that's the simplest thing to create using node + socket.io So now I want to create multiplayer in games I've already created. But how?!?! I can't find any tutorials. Can you please help me. Server part is too hard for me
  19. Hi guys, I have a socket.io server running with node.js and i am trying to add players/sprites to my game. I am trying to figure out the best way to do this. As of now i have been working towards using object arrays but i know this is a better way. socket.on('addPlayer',function(data){ var thisID = data;//myArrayID; if(data.id == myID){ }else{ console.log(thisID); pFish[thisID] = this.add.sprite(); pFish[thisID].x = this.world.centerX; pFish[thisID].y = this.world.centerY; pFish[thisID].anchor.setTo(0.5, 0.5); pMouth[thisID] = this.add.sprite(0, 0, 'spMouth'); pMouth[thisID].anchor.setTo(0.5, 1); pMouth[thisID].animations.add('eat'); pMouth[thisID].animations.play('eat', 30, true); pTail[thisID] = this.add.sprite(0, 0, 'spTail'); pTail[thisID].anchor.setTo(0.5, 0); pTail[thisID].animations.add('swim'); pTail[thisID].animations.play('swim', 30, true); pTail[thisID].y = spMouth.y - 12; pFish[thisID].addChild(spMouth[thisID]); pFish[thisID].addChild(spTail[thisID]); pFish[thisID].scale.setTo(0.2, 0.2); pFish[thisID].angle = 110; } }) So what i really want to do is add a player object. This way i can have all 3 sprites inside the object and i can just change the object. Of course i will need to update each player with the corisponding input comming in from the server. Any good examples of how to do this in a OOP method for Phaser.? Example: BasicGame.Game.prototype = { preload: function () { //this.load.script('io', 'node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js'); //console.log('NODE LOADED'); }, create: function () {
  20. My first HTML5 Game, Snaked.io (So exciting! ) Every since playing the famous revolutionary agar.io game, I was inspired to create my own "io" game, so here it is! I took the classic version of Snake, and made it multiplayer Snaked.io (Server may take a while to connect, and a bit laggy due to it being free from Heroku) Basically, what I want to know is (preferably 1-10 scale): Do you like the concept? How easy was it to understand how to play? What would you add/change? Any bugs? (For now, may experience lag) What do you think of the name of the game? Anything else that comes into mind, please add! Gameplay Objective of the game is to eat the gray squares causing you to extend your length, while avoiding crashing into yourself, or others. Become the longest of them all! Controls W or ^ - Up S or v - Down A or < - Left D or > - Right Enter - Chat Hope you enjoy this as much as I did making it! SCREENSHOTS Screenshot (1) Screenshot (2)
  21. Hello everyone, Since 2 months i am developing on my own a multiplayer game, and will take few more weeks to finish it (uni project). However here is early version of what it will look like, any suggestions are welcome to make the project better. Game rules : as one of the ships in the game you are fighting or uniting with other players. AI is always hostile to you (dark ships) and stronger. Also doesn't die when collided. What will be implemented: - better UI - upgrades - better chat - graphics + sounds - larger map - more AI to fight with for a moment game is handling 2 AI ships and maximum 4 live players (hosted on free heroku node js server). If there's more or your given name is "spectator" you can only watch the game. If your name is different then spectator you will be taken into game once some position is empty. Controls : W -> forward S -> stop A/D -> turn I/P -> fire sideway O -> fire both sides ENTER -> write chat message GAME: https://infinite-atoll-36278.herokuapp.com/ any suggestions are welcome
  22. Hi Everyone, Idle Brainz is my latest project, an incremental multiplayer game. In this idle game the players must tickle a sextuplet of brainz to grow their neurons. They start manually then can discover and upgrade "ideas" that will automatically tickle and stimulate the brainz (even when offline). Additionally the players can carry out experiments to gain temporary and permanent multipliers (the only true way to reach higher gains magnitude). Players can battle against other players (or friends depending on the platform connected to) and the AI with mini-games (memory, skill, high score games) to earn gold and gifts. Gold is the currency needed to buy the green substance needed for experiments and gifts can contain either permanent or temporary multipliers. My goal with this game was to create a bunch of mini-games linked together through a more global and multiplayer experience. Each mini-game can be "instantiated" independently from the main game on any platform and played "standalone" or be part of the main experience. Here is the video trailer: A few screens: The game will be available on iTunes, Google Play, online and several Messengers. I will post more updates in the coming days. Feedback welcome. Thanks.
  23. Hi, Infinitris - A massively multiplayer online falling block puzzle game, created using Phaser, React, Socket.io and Koa. Here it is: Infinitris.io Controls: Arrow keys and spacebar. Current Features: Classic .io style: Instant join - only specify your nickname and you're ready to play. Ingame chat (Press [Enter]) Grid that expands and collapses based on how many players are in the game. Horizontal wrapping when the grid is larger than the screen. Scoreboard Invalid block placement detection (needs work) Features to add: Spectator mode AFK detection Touch controls Minimap Mobile fullscreen Multiple game rooms Block collections and themes User registration to secure your nickname Facebook: https://www.facebook.com/infinitris Twitter: https://twitter.com/infinitris_io Blog: https://infinitrisblog.wordpress.com/ Please give it a try and let me know what you think! Pyre
  24. I'm trying to create a multiplayer game which players have a sprite that they can move it. I wrote this simple code to move sprites: function update() { theSprite.y += speedOnY; theSprite.x += speedOnX; } It works fine in single player games but because this is a multiplayer one, the sprites position must be synced however sprite's speed is dependent to player's current frame rate. If frame rate drops then speed drops and causes desync. The question is how can I move my sprites in a constant speed and independent of the frame rate?
  25. I'd like to announce a tool that helps you to build multiplayer games in JavaScript. Colyseus is a JavaScript server (for Node) and client (for the browser) It handles WebSocket connections, has multiple room support, handles room state synchronisation and allows clients to create, join and leave rooms. Here's an overview of how it works: Match-making cycle: - User asks to connect in a specific room, with optional "join" arguments. // (client-side)var Colyseus = new Colyseus("ws://localhost:3553");var battleRoom = colyseus.join('battle', {options: 'here'}) - Server will loop through all spawned room handlers named 'battle' and call requestJoin method against that handler. // (server-side)// only accept new users if limit isn't reachedrequestJoin (options) { return ( this.clients.length < 12 )} - If requestJoin succeeds, a method named onJoin will be called with the client reference and client options given. // (server-side)onJoin (client, options) { // setup new player here}- If requestJoin fails on every available room, a new handler will be spawned if requestJoin succeeds in a fresh handler state. In case it fails again, an 'error' event will be dispatched on client room instance. // (client-side)battleRoom.on('error', function(message) { console.log("error triggered on battle room:", message)})Room state handling: Once the player received the room state upon it's connection, he only needs to receive the state difference on later broadcasts, called patches. By default, room handlers will deliver the patched room state to all clients each 50ms. // (client-side)battleRoom.on('update', function(newState, patches) { console.log(patches) // array of patches console.log(newState) // newState with patches applied})The array of patches usually look like this: (JSON-Patch format) [ { "op": "remove", "path": "/players/2" }, { "op": "add", "path": "/players/3", "value": {"x": 10, "y": 10} }, { "op": "replace", "path": "/players/1/x", "value": 5 }]// JSON-Patch Spec - RFC6902You can take a look at patch handling on tanx project to see how it looks like. Here's some prototypes using Colyseus as a game server: - PlayCanvas tanx fork (original game is here) - Redneck River Race (made in 72h for LD34) - CubeClub Soccer Colyseus's code base is quite straightforward, which is good for it's growth as a library, I believe. It doesn't do much, but it tries to do really well what is meant to. Thanks for reading until here, and feel free to ask anything here or on gitter chat channel. Cheers and happy new year!