Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Rezoner

  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 co
  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/hero
  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
  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
  16. Soz for the delay. Would love to say that it was due to a break like @benny! suggested - but I had to meet my commercial deadlines One server ($5 digitalocean thing) can now withstand 140-200 players - the most CPU goes into websocket communication not the game logic as one would expect. Not that I am using UTF-8 not binary packets - but I plan to switch soon, so I can give you a report was it worth the work.
  17. Not sure if anyone is interested but perMessageDeflate in websocket/ws is super bugged - it causes huge memory leaks - after disabling that my server can handle 200 players instead of 40. Also thanks for all the congratulations. The game is getting steady flow of users but with that comes a responsibility, worries about loosing players and feeling of constant demand for new features - it burns you out nonetheless than corporate work
  18. @WombatTurkey I have moved to Digital Ocean because they let me clone a server with one click. I am currently running it on cheapest nodes which stands for: 512 MB RAM Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz I am running 10 of these. It can only handle 40 players - although from what I can tell only 20% burns in the game logic, the rest sinks in websockets communication. Take note that I didn't bothered with binary transfer - it's all based on LZW compressed JSON which might be the reason it's underperforming
  19. @kevdude: I can't answer marketing question yet - we shall see in a few months. I am hosting it on a bunch of 1 core (node js doesn't support more anyway) VPSes on https://www.ovh.com/ @end What's more important than extrapolation is predictability - as in the constant flow of the game - if every action takes 200ms to see a response - players will get used to it and. For player controled character tho it's good to have some instant response even if it's not truly synced with server state - legs and torso direction for the main hero in my game are determined by client. The skills are howev
  20. Almost. I bought most of the sounds - also Yeti and Goblin are some stock models. The biggest challenge was to sync object life-cycle - as in take care of that the client doesn't try to operate on objects that have been already removed - or not yet added. It's not my first attempt at multiplayer so I find the whole thing rather easy - but I remember that the first time I have read too much about extrapolation (predicting where the object will be) and overengineering the whole thing. Today I don't give a damn about extrapolating data (except very fast objects - like bullets) - I just in
  21. Hiya there, I've just released open beta of a hack'n'slash that I've been working on for about two months (mostly consumed by learning blender from scratch). http://wilds.io/ The engine is custom made - on the backend there is obviously node.js The whole architecture consists of a client, lobby (load balancer), multiple game servers and postgres database to store users Game is 2D - I have modeled these folks in voxels - then animated in blender and exported into a spritesheet using blender internal scripting in python It's also probably the first game that uses Patreon API as a busin
  22. That's typical for any game not just Babylon.js As your game become more heavy on CPU usage the gaps will get smaller. Game logic is being called 60 times per second - when the logic frame finishes its work there is not much left for it to do so the program goes idle and waits for the next frame. If there were no gaps - it would mean that your CPU can't make it and the game is going below 60fps In other words - it means that you can still throw more logic and content to the game because it has free computation power to handle it - which is a pretty good news.
  23. @Sosowski Dr. Evil

  24. Yes, it's just a "website" and mobile devices has browsers that are not much different from desktop browsers. If you want to have it as an application instead - it requires more gymnastics but is still possible - https://www.ludei.com/cocoonjs/ Clara.io works out of box with Three.js - I've been testing it out recently: http://playgroundjs.com/demos/threejs/ http://playgroundjs.com/three It's also really easy to cast a ray to get object under mouse position in Three.js - http://threejs.org/docs/#Reference/Core/Raycaster Nevertheless - it's 3d and it is considerably harder than cod
  25. > that it's just evolved dhtml Yes this is what it is. However - at the time of DHTML the only viable option for rendering a game was through the use of HTML components that were designed to make complex GUIs (websites) - not games. This lead to bad performance, bad code structure, complexity and counter intuitive solutions regarding rendering a game. Paradoxically the fuss HTML5 caused in gamedev is about allowing us to make games with very little interaction with HTML/DOM. It now serves as a runtime environment and an interface for more specialized APIs rather than the first class dis
  • Create New...