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
    • 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 270 results

  1. 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?
  2. Galaxystrife is online multiplayer space shooter. See for yourself... galaxystrife.com Feedback is appreciated.
  3. 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.
  4. 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
  5. 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
  6. 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.
  7. 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
  8. 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.
  9. 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.
  10. 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.
  11. 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?
  12. 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.
  13. 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
  14. 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:
  15. 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 !!!
  16. 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.
  17. 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
  18. 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!
  19. 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.
  20. 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.
  21. @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
  22. Hunt prehistoric creatures with your friends online. Build your own base, craft tools, and weapons to survive in a large-scale true cross-platform open world game. This game is an application of the engine I’ve built, to prove a statement: It is POSSIBLE to build a 3D version of the Internet, where instead of browsing through websites, we could jump from one 3D space to the next. I “invite” everyone to make this happen. I want you guys to build your own 3D spaces implementing your own ideas what the web should look like in the future. We could just link them all together and make this Interconnected Virtual Space happen - yeah, the Metaverse, for the Snow Crash fans out there Tech Details that I hope provokes further questions: Loading Assets on Demand is even more important in the Browser than on PC or Console. Internet speed is only a fraction of the speed of the hard drive. It is essential to only load whats visible if you want to provide an open world environment for users visiting your world the first time. LOD - Level of Details allows Web Browsers to show something immediately for the users just like an ordinary website. It may look poor and users can see the object improving as they are loaded, still, I think its a good trade-off. Users get a good enough view of their environment instantly and can start interacting with it immediately. Terrain and the Grid System I’ve created the terrain in Blender, then I split it up like a chessboard automatically using Javascript. It is easy/cheap to determine that which cell contains the given coordinate and every single cell in the Grid has a reference to its neighbors. This is the basis of server layers of optimization when it comes to rendering, AI, and collision detection, etc. A recursive search is very easy to do, using those links to neighboring cells. Lighting I've implanted basic Directional and Ambient Lighting to support Day & Night Cycles and Point Lighting for individual light sources like a campfire, torch etc. To my surprise, the difficult part was to get good looking flames, thanks to the lack of Alpha Sorting in WebGL, what I had to implement in Javascript instead. Animation I animate my models in Blender, export them to “.dae". The file format comes with a serious limitation, you can’t define multiple animations and it only maintains a list of keyframes as references. So I maintain a JSON file per “.dae” to define multiple animations by having sets of keyframes. E.g.: “{running: [0, 4], jump: [5,7], ..}”. But I kept it simple and didn’t take it to the realm of animations per body part. Physics In short, I was stupid enough to write my own ..on the other hand, I have a fine level of control over how much I allow it to run. Again, on mobile, it is crucial to have that level of control to navigate 200+ creatures in real-time. I have two different type of Collision Detection. Collision with the Terrain and collision with other model surfaces. Terrain collision is very cheap, this allows me to move so many NPC at once. Collision with other models is heavier though, but that allows me to climb random looking rocks. I optimized it enough to make it feasible to run on mobile devices. I use a low poly version of the models to determine the collision and I only run it for the models near the Player, utilizing the Grid System I mentioned above. AI NPCs can navigate a random terrain, avoid obstacles and “see” and “hear” other NPCs if behind them. At the moment, they move rather robotically, but this allows me to calculate, where they can move next without hitting any obstacles and how long it will take to get there. I only run the AI right before they get to the target location. Basically, 200+ NPCs make only 40-100 AI calls per second. ..I certainly have room for improvement here Multithreading in the browser is difficult but necessary to achieve good Frame Rate. Nothing but the rendering should be on the main thread ideally - Good luck to achieve it though I’ve managed to push most of the heavy logic into a speared thread, but AI is still running on the main one. In a thread you have very limited access to important functionalities of the browser, therefore, there is only so much you can do. Also, specific objects can only be passed by reference between threads, everything else has to be serialized on one end and deserialized on the other. You want to be careful how often you do it. Audio I use the Web Audio API that works as expected. On top of that, I implemented Audio Sprites: I compile all related sounds to a single mp3 file and that comes with a JSON object to define where certain audio snippets can be found. It's a fast, accurate and reliable solution unlike using Audio HTML Tag, but that one has its own use cases as well, e.g.: streaming an mp3 file comes for free, like streaming an internet radio station. Multiplayer - I use WebRTC and not WebSockets - I know, I know, hear me out. The idea was that COOP is a very likely scenario and players may only prefer the company of their friends. I that case, they don’t have to purchase access to a private server, as long as they are happy to let their world go dormant between gaming sessions. Plus, all the logic is implemented for single player mode on the client-side, which logic has to be duplicated on the servers, if I went down the WebSockets rout - just think about where the AI logic should be, server- or client side. I expect this one to be a controversial decision, ..sometimes even I'm not sure whether this was the “right" decision There is a whole lot more to this though. Resources could be distributed between players when it comes to AI to ease the load on the Host - I know it is a potential security issue, but there is a use case for it, like AI for distant NPCs in COOP as long as you have no hacker friends ..this could be crucial on mobile devices. Controller Support The Gamepad API provides you with raw access to every button and joystick. You certainly have to implement your own layer on top of that. Events for pressing/holding down buttons don't come out of the box. Implementation of the dead zone of joysticks is missing and it is inconsistent how you can access different types of controllers through the API, even the same controller but on different devices. In the end, you will have to provide a controller mapping implementation as well in your settings. But its totally doable and works like a charm. Touchscreen Support It's a tricky one. As I mentioned above, on iPhones its completely useless till Apple decides to comply with Web Standards. Even on Android, it is a bit tricky: For the UI you probably want to use HTML. It makes sense because it comes with all the neat features that make our lives easier until you realize that you can’t switch between weapons while running - wait, what? You see, while you are holding down the left side of the screen to maintain speed and try to click on a button, or any HTML element to switch weapons, the click event won’t fire. No click event will be fired while doing multi-touching. As a result, HTML and any fancy framework for that matter are no longer good enough solution own their own. UI When it comes to games we expect a whole lot more from the UI than on a website. Multi-touch support - as discussed above and even controller support is not as straightforward as you might think. You have raw access to the controller, so when a button is selected and the user pushes the joystick diagonally upward, you have no idea what is in that direction, therefore what should be selected next. You have to implement the navigation of your UI with a controller for yourself. And you need controller support because that's the only way to move around in VR and on consoles. Speaking of VR, you want to render your UI twice in VR - once for the right eye and once for the left eye - and only once when not in VR, just something to keep in mind Also, rendering the UI could be heavy. This might be a surprise but if you think about it, on a website you don’t do anything but the UI, so you have a lot mere leeway to work with, whereas in a game you don’t want the UI to impact the Frame Rate, so it has to be very lightweight and probably you want Scheduling to have a final say on what gets refreshed. Taking all this into account, I really don’t see how any framework could be a good option - they were simply designed with different requirements in mind and there is more downside to using any of them than upside. Precomputed Scene Occlusion Culling using a Grid System Most of the optimization is happening real-time or triggered on a regular basis while running the game with one exception: I render every cell in the Grid System from the point of view of every single other Cell. E.g.: Cell A can see cell B and C but not D. I literally diff two images with javascript to determine whether the given cube can be seen or not. Then I record the results in a JSON file, which is used for rendering. This reduces the number of cubes to be rendered significantly, but it takes about 40 hours to run this optimization for the whole terrain. Running the game on Mobile Devices iPhone runs WebGL significantly better than top-end Android devices but practically useless because Apple ignores important web standards. E.g.: Pinch zoom can’t be blocked, therefore when you use your left thumb to move around and right thumb to look around, instead of doing so you end up zooming back and forth the screen. It also doesn't support fullscreen mode - video does, but not the canvas element. Another interesting limitation on iPhone is that you can only have 25 elements in an array in GLSL, which translates to having only 25 bones in an animated model. This doesn't make animation impossible, but you can’t use most animated models that you buy in the stores, you have to do it again with only 25 bones. Profiling “What gets measured, gets managed”. The built-in profiler in Chrome certainly has its use-case, but not good enough for what we want, so probably you will have to build your own at some point with specific features. You want to know how long a certain section of your game runs per frame, e.g.: Rendering, AI, Physics, etc. and probably these sections won’t run sequentially, but they are interrupted by other processes that you don’t want to include into the specific measurement. One thing is for sure, you cant do optimization without identifying the source of the lags. - I've certainly wasted enough time trying Scheduling As long as you are pushing the limits of the devices it is always a battle for a smooth frame rate. Therefore, you have to implement a scheduling system to manage what is allowed to run and for how long. E.g.: whatever is loaded and processed in the background will have an effect on the frame rate even if it is running on a different thread, you want to throttle that. You don’t want to set variables through WebGL API unnecessarily. AI always varies how much calculations it has to do depending on the number of unique encounters of 200+ NPCs in a random environment. Basically, you will have to limit what runs and how long, manage what is a nice to have calculation and a game-breaking one and try to make it seamless for the user. Probably every single topic above deserves a dedicated post, so please feel free to ask anything - there is no stupid question - then I would like to use those questions to write an in-depth post on every single topic that helps fellow devs to overcome similar obstacles - no doubt I will learn a thing or two in the process Live Tech Demo is available on https://plainsofvr.com
  23. 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 ). Bruh.io (https://bruh.io/) 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 bruh.io). 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
  24. 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
  25. A nice JavaScript canvas 3d dice class A pure canvas 3d Rolling dice has been released today by me. It has Object Oriented JavaScript Class. It can take images for each side and a number on which it has to stop. Have a look at it and grab your copy here https://codecanyon.net/item/dice-game-object-oriented-core-javascript-canvas-3d-dice/22174656?s_rank=9 Thank you Have fun with games