Rezoner

Members
  • Content Count

    109
  • Joined

  • Last visited

  • Days Won

    4

Rezoner last won the day on June 13

Rezoner had the most liked content!

4 Followers

About Rezoner

  • Rank
    Advanced Member

Contact Methods

  • Website URL
    http://rezoner.net
  • Twitter
    rezoner

Profile Information

  • Gender
    Male
  • Location
    Poland
  • Interests
    <3 Amiga

Recent Profile Visitors

2508 profile views
  1. Hi @b10b. Thanks. The renderer is not yet ready to be published as a standalone. I've got like 500 unique models on my GTX1060 displayed with 60 FPS but the API is obnoxious as I am still learning WebGL.
  2. Ahoy there. I have just released a standalone version of my voxel editor where you draw models layer by layer like a 2d image. It features very neat spritesheet exporter with my handcrafted retro renderer made in WebGL. Please take a look at https://spritestack.io/ to get more info. I am also glad to anwser any questions.
  3. Thanks guys - my tech stack is pretty much always the same - jump to the FAQ section on the left side on this site http://rezoner.net/wanderers.html
  4. It should be fixed by now. I have also provided tons of updates.
  5. As the title says - you are one click away from playing a multiplayer arcade soccer game https://soccer.instantonline.io
  6. The game is great - it should have been more popular in IO world, I think there are still a few places where you can get reasonable traffic - will send you a few tips that worked for me.
  7. @Skeptron Hey mate - that post was two years ago - I have since then moved from websockets/ws to uwebsockets - it's at least two time faster in production.
  8. Thanks thanks, There aren't much data in mechar.io yet, so I can tell you about wilds. > How are you monitising this? Displaying ads and selling virtual currency that players can exchange for swords, etc > Are you in a position to share your stats on average play length, DAU etc? About 300K UU / mo, with average gameplay time around 14 minutes. (10 minutes for new players, 25 minutes for hooked up players) > What engines are you using, (particularly server side) Custom solution on both client and server side. It's not really an engine - I am just copying previous project when starting a new and remove the parts that are coded the most terribly. > Any plans to get this on iOS/Android? Not really, the controls are kinda complex and it's too fast paced, I would rather write a game dedicated for mobile devices.
  9. TL;DR Mechar.io Ahoy everyone - it's been a year since I have released my previous game. I thought that I will be shipping a new game each three months but it turned out it takes a full time job to constantly improve the game so it can stay afloat Fortunately one day I have been approached by a fan of my other game who happens to be an artist - he sent me some lovely robots and I couldn't refuse to turn them into a game. So here it is - http://mechar.io - a fast paced multiplayer shooter using the same engine as wilds.io I don't have good gameplay video so enjoy this one:
  10. > And to get local .json files ? Do you mean you want to have some of the files stored locally and some globally? You can use this undocumented notation /* This way you can explicitly tell playground what to load and where to store it. */ this.loadData("<any/path/to/file.json> name"); /* examples: */ // this will look for some json file in google domain and store it as this.data.apple this.loadData("<http://google.com/some.json> apple"); // let's assume you are in http://localhost/something/index.html // this will look for http://localhost/something/common/heroes.json and store it as this.data.heroes this.loadData("<common/heroes.json> heroes"); // this will look for http://localhost/common/heroes.json and store it as this.data.heroes this.loadData("</common/heroes.json> heroes"); Let me know if you need more assistance. It also works for sounds and images.
  11. 1) Playground is setting its container background. You can override it (see fiddle below). I don't even know what was my reasoning to do that 2) Each call of playground() creates a new application - you have two applications now. I have modified your fiddle - that's how you set paths. https://jsfiddle.net/hgwqjyua/ * Fiddle doesn't work on chrome because you are linking playground.js directly from github and it doesn't want to execute it because github is sending it with MIME type text/plain.
  12. @WombatTurkeyI have no idea but the codebase is rather small and written in C++ I simply think websocket/ws adds a big overhead in comparison especially when it comes to message encoding where it creates tons of intermediate objects.
  13. @danzel Thanks for your intervention on Github - I would leave it as is if you haven't poked the topic and now we have that fixed - and dear God - this lib IS fast. @ZISGAMING21: There are TONS of ideas - but there are two problems - I am working alone currently (splitting the time for freelance as I still have commitments to fulfill) - the second one is that the game is not popular enough to add more modes that require match making - it results in extremely long waiting times - nevertheless yeah - there will be mage, and shaman hero soon - then archer. Soccer and CTF game modes.
  14. @ZISGAMING21 It's not your fault mate - the game has been under DDoS attack. It should be working by now. @danzel Lovely idea. I would add up more juice to it - the fade out animation doesn't feel rewarding for clearing out the blocks - especially you should differentiate visual reward between clearing up 3, 4, 5 or more blocks. 1) If you want to decrease the bandwidth usage with one line of code - compress your JSON with LZW 2)Tho I would change this {x: 44, color: 6, type: 0} into a fixed [44, 6, 0] and go with BiSON - https://github.com/BonsaiDen/BiSON.js Above all - if you are sending the same message to all players - the main secret is to compress ONCE and then send to everyone - disable perMessageDeflate and set { compress: false } when sending data - because you compress the same thing 20 times. I wouldn't bother with any binary stuff for this game - and focus on gameplay instead - it's almost turn based. ps: I have asked uWebsocket author about the spike - but I don't really understand the answer - https://github.com/alexhultman/uWebSockets/issues/137 @moka Ok - so despite of everyone thinks - I am not a technical nerd - so some of my answers may sound silly to a professional (: As for extrapolation I will be adding movement prediction - and fire the attack right away - my attitude to that is more psychological - I believe that players are ok with some delay as long as it is constant - that create certain flow of the game. Not my words actually, but guy who did networking for Age of Empires. Also my game is much slower than regular FPS or any kind of arcade shooter. 1) If you mean how do I take advantage of multi-core architecture - I don't - I am using bunch of 1 core servers. 2 and 3) I send same data to all the clients - which of course makes things like hiding in bushes impossible to implement or at least very prone to abuse. I compress a bulk of data once and send it to everyone. 4) The game eats up between 6 to 12 KB/s 5) IDK, I don't measure the latency - but I guess anything resulting above 200ms response time becomes annoying 6) 20 times per second - I have experimented with rising up this value - but it doesn't improve the feeling much. Now for the technical juice part - I am using websocket/ws (I can't understand popularity of socket.io which is just an abstraction over another abstraction over websocket/ws). I have high hopes for uWebsocket pointed out by @danzel - the performance is AWESOME - but the spikes it has are untolerable (see this https://github.com/alexhultman/uWebSockets/issues/137) I am most successful with UTF8 and BiSON without even deflating that - and I have tried tons of compression combinations. From binary methods I have only tried BSON (not BiSON) - which was 50% CPU gain over UTF - but for some reason my servers became very laggy after an hour. I believe that Protocol Buffers (or simply any form of fixed structure encoded into a binary) is the cutting edge of what you can get. I will be switching to that too - soon - I just don't have time to rework my architecture now. I am also using fixed structure binary packets, although I send them over UTF-8 - read specs of BiSON - it's not much different than BSON or PB... or any binary format since decades ;p If some of my answers are not adequate - don't hesitate to tell - I am not a native english speaker so if you rephrase something for a 5 years old it might click
  15. @danzel The library is great in terms of performance (clearly faster that websockets/ws) but I am getting serious spikes/lags for an unknown reason. Arrival times between packets. 0 means that two updates arrived at the same time - so it either fails to deliver or postpone delivery. That's not the case with websocket/ws