{"id":1322,"date":"2011-09-05T11:26:29","date_gmt":"2011-09-05T02:26:29","guid":{"rendered":"http:\/\/www.codedojo.com\/?p=1322"},"modified":"2011-09-06T16:22:10","modified_gmt":"2011-09-06T07:22:10","slug":"dev-diary-tanked-a-new-way-to-develop-for-me","status":"publish","type":"post","link":"https:\/\/www.codedojo.com\/?p=1322","title":{"rendered":"Dev Diary: Tanked &#8211; A new way to develop (for me)"},"content":{"rendered":"<h1>What is Tanked?<\/h1>\n<p>It&#8217;s my new game.\u00a0 It&#8217;s been sort of stealth-released for nearly a month.<\/p>\n<p><strong>The idea was simple<\/strong>:\u00a0 In just a couple of button presses, you should be able to jump into satisfying online eight-person 3D Quake-ish style combat (with world rankings and text chat) while waiting for a bus on any iOS\/Android\/webOS device.<\/p>\n<p>If you haven&#8217;t played it, you can get an idea from this user-made video.\u00a0 (hey, is that guy flipping us off?!\u00a0 Also, you only need to hold down the white circle to move, don&#8217;t know why his finger is dragging it way up there.. hrm)<\/p>\n<p><iframe loading=\"lazy\" title=\"Tanked game on hp touchpad\" width=\"625\" height=\"469\" src=\"https:\/\/www.youtube.com\/embed\/nnnvkYxdFX4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h1>Unconventional development<\/h1>\n<p>Usually I write a game, make a youtube video, send press releases and promo codes around the interwebs and cross my fingers.\u00a0 But with this game I&#8217;ve taken a more relaxed and organic approach.<\/p>\n<ul>\n<li>Game is free, with a foggy plan of IAP or ads when it makes sense<\/li>\n<li>Put out versions early and often without fanfare<\/li>\n<li>Not bothered with press or even made any trailers\/videos yet, waiting until the game is better and ready to handle it, server-wise<\/li>\n<li>Allow live text chat so I can see peoples honest comments and complaints (&#8220;how do i move my\u00a0 tank?&#8221; is asked 10+ times a day, this tells me my controls aren&#8217;t obvious enough)<\/li>\n<li>Development is a fluid iterative process that has me working on whatever I see as the biggest issue of the day or what I&#8217;m personally interested in at the time<\/li>\n<li>User device type and country is prominent and leads to zany &#8220;kill the Canadian!&#8221; or &#8220;kill the android users first!&#8221; type smack talk<\/li>\n<li>Game is never &#8220;done&#8221; but constantly evolving.\u00a0 Well, if I have time.<\/li>\n<li>Not popular and nobody cares?\u00a0 I&#8217;ll take that a sign to dump it and move on<\/li>\n<\/ul>\n<h1>Design decisions<\/h1>\n<ul>\n<li>Game designed to be\u00a0 &#8216;playable&#8217; over crap connections (3g, etc) &#8211; at worse, about a 500 ms ping. (This is why I use slow turning\/accelerating tanks instead of jumpy-ass Quake guys)<\/li>\n<li>Uses only basic GLES 1.X, runs fine on an iPod Touch 1st gen, a Palm Pre, a Nexus 1, iPad, touchpad<\/li>\n<li>Multi-player only &#8211; either online or <strong>local splitscreen<\/strong> play\u00a0 (4 players on a tablet, 2 on a smaller phone device)<\/li>\n<li>Custom server written to run on windows or linux capable of handling hundreds of simultaneous games (currently running on rtsoft.com&#8217;s linux VPS)<\/li>\n<li>Each device automatically gets one player account that does not require a signup, you can change your name as much as you want but a permanent two letter &#8220;id tag&#8221; is always appended to your name, mostly so other users can figure out if one annoying guy keeps changing his name, or tell the difference between two people with the same name<\/li>\n<li>Swearing is converted to #@%^#@ type stuff<\/li>\n<li>No vertical aiming.\u00a0 Yes, I know it&#8217;s a tank but.. circle strafing on a touch-screen is hard enough without throwing that into the mix<\/li>\n<\/ul>\n<h1>It&#8217;s fun being big brother<\/h1>\n<p>Watching  the server like a loving father has given me some big time Bulletin  Board Era nostalgia.<\/p>\n<p>It warms  the cockles when I see a player answering an earnest noob&#8217;s desperate cry of &#8220;how do I move?&#8221; with a tender hand instead  of the standard &#8220;sux 2 be u&#8221; reply.<\/p>\n<p>And, well, to be honest, it&#8217;s <strong>Deeply Satisfying<\/strong>\u2122  to ban trouble makers or rename offensive user names to &#8220;Sparkles&#8221; or  &#8220;Fluffy&#8221;.<\/p>\n<h1>Getting weird<\/h1>\n<p>Being a single developer with complete freedom is fun.\u00a0 Would a normal person do this?<\/p>\n<ul>\n<li>Added a tavern chat area with a fully functional vegas-style slot machine to gamble career points (It&#8217;s just text, but it&#8217;s strangely addictive, really!)<\/li>\n<li>Re-used a dog (beagle) 3d model from an older game as a strange projectile power-up<\/li>\n<\/ul>\n<h1>Conclusion and the future<\/h1>\n<p>In less than a month the online player rankings have grown to 44,614 and is growing by the thousands every day.<\/p>\n<p>It&#8217;s been an interesting (and educational) challenge having three platforms smoothly play together despite annoying week-long app submission processes.<\/p>\n<p>Will I keep working on it and add team play and more items and ways to interact?\u00a0 That&#8217;s the general plan but I also have some other work stuff going on so.. hmm.\u00a0 We&#8217;ll see.<\/p>\n<p>For info on the cross platform framework I wrote that this uses check the <a href=\"http:\/\/www.protonsdk.com\">Proton SDK wiki<\/a>.<\/p>\n<p>To download the game, <a href=\"http:\/\/www.rtsoft.com\/pages\/tanked.php\">click here<\/a>.\u00a0 Or better yet, wait for V1.04 to become available first as it improves things quit a bit.\u00a0 But then again, I say that about every version&#8230; developer thing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Tanked? It&#8217;s my new game.\u00a0 It&#8217;s been sort of stealth-released for nearly a month. The idea was simple:\u00a0 In just a couple of button presses, you should be able to jump into satisfying online eight-person 3D Quake-ish style combat (with world rankings and text chat) while waiting for a bus on any iOS\/Android\/webOS [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4,16],"tags":[],"class_list":["post-1322","post","type-post","status-publish","format-standard","hentry","category-development","category-life","category-proton"],"_links":{"self":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts\/1322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1322"}],"version-history":[{"count":46,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts\/1322\/revisions"}],"predecessor-version":[{"id":1372,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts\/1322\/revisions\/1372"}],"wp:attachment":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}