mrmaxm Posted January 12, 2016 Share Posted January 12, 2016 TANX Tech: PlayCanvas, NodeJS, VanillaJS Play Now! Online, multiplayer tank battle game. Battle opponents from across the world. The first team to destroy 32 enemy tanks wins the game! Play on mobile or desktop. Made with love using the awesome PlayCanvas Game Engine! Originally game was made within 12 hours, and had a core gameplay and was multiplayer day-1. Then we've polished it a bit, and made several improvements. When I have some spare time, I add few other things now and then. This game was played almost 2,000,000 times now, without any advertising, and is supporting it self. Quote Link to comment Share on other sites More sharing options...
rgk Posted January 13, 2016 Share Posted January 13, 2016 Very nice game, fluid fun quick game play. Got to ask though, how does it support itself without ad revenue or in-game purchases? mrmaxm 1 Quote Link to comment Share on other sites More sharing options...
mrmaxm Posted January 13, 2016 Author Share Posted January 13, 2016 9 hours ago, rgk said: Very nice game, fluid fun quick game play. Thank you! 9 hours ago, rgk said: Got to ask though, how does it support itself without ad revenue or in-game purchases? Probably "supports it self" was said in terms of user retention and growth. Two small servers (EU and US) actually are not paid by game. Although with current daily numbers, if there would be ads, it would be totally enough to cover hosting costs. Quote Link to comment Share on other sites More sharing options...
staff0rd Posted January 13, 2016 Share Posted January 13, 2016 Nice music, looks cool but too much lag trying to play from Sydney - controls sluggish. Quote Link to comment Share on other sites More sharing options...
mrmaxm Posted January 13, 2016 Author Share Posted January 13, 2016 1 hour ago, staff0rd said: Nice music The guy actually can make more music for decent projects, and he is almost "free". 1 hour ago, staff0rd said: looks cool but too much lag trying to play from Sydney - controls sluggish Unfortunately there are only two servers: US and EU. For Pacific Asia, Australia, and that part of the world latency will be a bit too high. And there is no client-side prediction which would compensate latency issues. Quote Link to comment Share on other sites More sharing options...
marcgfx Posted January 13, 2016 Share Posted January 13, 2016 12h? impressive. how on earth did you get multiplayer in that fast? mrmaxm 1 Quote Link to comment Share on other sites More sharing options...
mrmaxm Posted January 14, 2016 Author Share Posted January 14, 2016 12 hours ago, marcgfx said: 12h? impressive. how on earth did you get multiplayer in that fast? Node.js and SockJS (used to be, we are switching to engine.io + protobuf). Server code at that point was about 600 lines of code Just use the tech that allows you to focus on gameplay and logic, and not on technology it self. Plus making client was easy, as PlayCanvas has awesome Editor that just speeds up development time dramatically. Quote Link to comment Share on other sites More sharing options...
cbecker Posted January 14, 2016 Share Posted January 14, 2016 @moka , I've had a look at playCanvas before, looks pretty good! However, can playCanvas do FPS type games? mrmaxm 1 Quote Link to comment Share on other sites More sharing options...
marcgfx Posted January 14, 2016 Share Posted January 14, 2016 I guess you are simply transmitting input actions to all clients. are you accounting for lag? thats where I am currently a bit stuck, but my game was originally never intended to use networking I really like TANX, already played it a few months ago and was impressed . it was one of the reasons why I wanted to try networking myself. So it is your fault I'm stuck now! Quote Link to comment Share on other sites More sharing options...
mrmaxm Posted January 14, 2016 Author Share Posted January 14, 2016 8 minutes ago, cbecker said: @moka , I've had a look at playCanvas before, looks pretty good! However, can playCanvas do FPS type games? Absolutely. You can use Pointer Lock API. And there is even early tests with VR we did (I've tested with Oculus DK1 and DK2). There is Bullet physics (ammo.js) as well. 10 minutes ago, marcgfx said: I guess you are simply transmitting input actions to all clients. Not really. I send players input to server only. Then server takes that input and applies to players tank. Then 20 times a second (20 UPS) it sends out full game state with all positions of all tanks. All clients just get that data, and interpolate between previously known data. This works well if game is not too action-driven and not too much based on reaction, and if your latency is something below 100 it is totally playable. Problems start when game is more reaction based and latency goes above 100. In that case you need client-side prediction and dead reckoning (extrapolation). But hey, TANX been out there without anything fancy, but the most simple interpolation and nothing more for a year now, and it been doing totally well! Don't over engineer, just try doing something that is good enough, and try avoid "immediate action" from users and avoid too much of fast "reaction based" gameplay. Quote Link to comment Share on other sites More sharing options...
marcgfx Posted January 14, 2016 Share Posted January 14, 2016 thanks for that info. I guess my game is a little more complicated. as stated, I never intended to use networking and maybe I never will. my approach is also totally different and possibly not even viable. I don't have a server yet, but I want to transmit just the inputs to all clients. then backtrack and recalculate the current state based on the inputs. this could lead to numberous problems, but I wont know how bad until I've tried maybe then I will be able to interpolate the results in some way. Quote Link to comment Share on other sites More sharing options...
chg Posted January 14, 2016 Share Posted January 14, 2016 On 12/01/2016 at 2:26 AM, moka said: This game was played almost 2,000,000 times now, without any advertising, and is supporting it self. How many plays has it has\d in total, when you include the advertising? [ https://www.youtube.com/watch?v=dVAw_an6NBQ&t=94 , https://playcanvas.com/ , https://games.mozilla.org/ ] Quote Link to comment Share on other sites More sharing options...
mrmaxm Posted January 14, 2016 Author Share Posted January 14, 2016 1 hour ago, marcgfx said: thanks for that info. I guess my game is a little more complicated. as stated, I never intended to use networking and maybe I never will. my approach is also totally different and possibly not even viable. I don't have a server yet, but I want to transmit just the inputs to all clients. then backtrack and recalculate the current state based on the inputs. this could lead to numberous problems, but I wont know how bad until I've tried maybe then I will be able to interpolate the results in some way. Multiplayer - is not a feature, but architecture and affects whole thing the way it is built. So trying to take existing single-player game, and converting to Multiplayer, almost never works. You are trying to make p2p mechanics, which is not an easy either. Sending inputs - will require very controlled frame state management, and interpolation with slowing down everyone to the slowest player in the game, to make sure no one is simulating states before all info is available - this is what used often for strategy games. But is fully not suitable for action-based games. As in action-games you need to be quick, reactive, so your option is to extrapolate. 1 hour ago, chg said: How many plays has it has\d in total, when you include the advertising? We don't have advertising in that game Number of plays is set at bottom left corner of a game, it is almost 2,000,000 (14 Jan 2016). Here is Google Analytics screenshot of daily sessions from 22 Mar 2015 to 13 Jan 2016: It is interesting to see patterns based on workdays or weekends, as well as schools operational dates. As during summer holidays, children play less in TANX, but as school time starts, they back again First spike - was hackernews. Some other spikes - not sure what actually. Quote Link to comment Share on other sites More sharing options...
GaryS Posted January 17, 2016 Share Posted January 17, 2016 This is incredible work... beautiful, fluid and immediately addictive. Love it. I'd like to be able to see kill/death stats per player, and perhaps a couple of different arena layouts... but I can't find fault with the gameplay at all. Well done! mrmaxm 1 Quote Link to comment Share on other sites More sharing options...
mrmaxm Posted January 18, 2016 Author Share Posted January 18, 2016 19 hours ago, GaryS said: This is incredible work... beautiful, fluid and immediately addictive. Love it. Thank you! 19 hours ago, GaryS said: I'd like to be able to see kill/death stats per player, and perhaps a couple of different arena layouts... but I can't find fault with the gameplay at all. Well done! Yeah, all those features are obvious ones to add, just don't have a time atm next month will start updating certain things, will add users and leaderboards. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.