• Content Count

  • Joined

  • Last visited

About danzel

  • Rank

Contact Methods

  • Twitter
  1. I started at the end of last year and have been working on it part time since. Part time being maybe on average 2 hours a day? Still lots of work to do on it yet though! It's not near finished
  2. @rezoner thanks for the feedback. Things like this are definitely on the list, needed to get the game out there and proven first On the uWebsocket thread, i think alex has misunderstood you. 'Tick' probably has different meaning to him (it's pretty game development specific). I'll reply as I'm also interested in this being fixed
  3. @Randito - Yep typescript and cross compiling using webpack. I did a post on some of the stack over here: http://www.gamasutra.com/blogs/DaveLeaver/20160531/273235/Modern_HTML5_game_tech_stack.php The Server and Client share as much code as possible, and yes websockets are used. The network protocol is done using deterministic lockstep (ref http://gafferongames.com/networked-physics/deterministic-lockstep/ ). The server runs the simulation and sends down "at frame 9 player one started swapping these two matchables". Clients can then run the simulation exactly the same, but only after hearing what inputs happened in each frame from the server (there is some latency here) When a player does a swap on their client, it doesn't actually happen locally until it is sent up to the server and the server sends it back down (as above). As we are using Websockets our data transmission is TCP, which means that massive match can have the jerkiness shown in that article. Currently the game will shudder like this if you are having packet loss or fluctuating latency. I have a plan to tackle this by having the client play forward the simulation even when they don't know what inputs happened, then fixing it back up when the inputs arrive. I think this will look better than the current errors as most of the simulation will continue correctly. This will make everything a bit more complicated, but I think it will be worth it. Hope that answers a few questions
  4. Yeah, the server is TypeScript (cross compiled to JS) running on Node JS on Azure. I'm using Azure as microsoft gives some free time through bizspark https://www.microsoft.com/bizspark/
  5. Hi All! I've made a Match 3 game where everyone is playing on the same board. It's crazy and fun https://massivematch.io There are currently 5 level types, 4 cooperative and 1 team based. I'll definitely be adding more in the future - any suggestions for these are very welcome. All of the art is from http://emojione.com - I'm no artist, I'm very grateful to have use of this. I might look at offering private servers in the future, or the ability to customize your cursor. I'm not totally sure what players will want. Player feedback is always helpful here! There are definitely some lag issues. I know how I'm going to improve this, hoping to get it done during the next week. Right now the game is running on a 0.25 CPU Azure instance, it looks like it'll comfortably get to 100 simultaneous players before I need to do some work on performance or upgrade the machine. Tech Used: Phaser, Primus, Typescript, NodeJS
  6. Urgh, that is a bit wonky. If you could make a reproducible testcase and post it on their github they might be able to fix it up. On a related note, what do you use for running ticks at the server end? I found using setInterval wasn't very good at keeping accurate time and would drift out, so I'd end up with the server running at 95% speed of what it should be. I ended up writing a Fix Your Timestep CPU accumulator and using setTimeout for timing. Edit: You can check out my game over here
  7. You might want to check out µWebSockets, I haven't tried it yet, but their goal is to have better performance than other websocket implementations. Might buy you a few CPU cycles :-) https://github.com/alexhultman/uWebSockets
  8. Game runs really well, well done. Interested to hear about your server performance, what is taking up all your CPU time? I have a game I'm working on that uses a nodejs+websockets based server and the server is still idling at 20 players. (Haven't built load testing stuff yet)