{"assets":[{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/04\/tcp-550x479.png","local":"\/data\/posts\/2014\/04\/66e023579dc155c5957674d1b9098e24.png"}],"author_link":"author\/suese\/","author_name":"Suese","cat":"MiniLD #50","categories":["MiniLD #50"],"comments":[],"epoch":1396603320,"event":"LD50","likes":9,"metadata":{"p_key":"79942","p_author":"Suese","p_authorkey":"0","p_urlkey":"288952","p_title":"Tank Capture Pro","p_cat":"MiniLD #50","p_event":"LD29","p_time":"1396603320","p_likes":"9","p_comments":"0","p_status":"WAYBACK","us_key":null,"us_name":null,"us_username":null,"event_start":"1398384000","event_key":"22","event_name":"LD29"},"source_url":"2014\/04\/04\/tank-capture-pro\/","text":"<p>An update of what I\u2019ve been doing since last Ludum Dare.<\/p>\n<p>I moved to Victoria, B.C. \u00a0and now am much closer to the \u2018dev scene\u2019, which is cool. \u00a0This week I got my computer back and started poking around at HTML 5 Web API stuff.<\/p>\n<p><img alt=\"tcp\" class=\"wp-image-334542 alignright\" height=\"287\" src=\"\/data\/posts\/2014\/04\/66e023579dc155c5957674d1b9098e24.png\" width=\"330\"\/><\/p>\n<h3><strong style=\"line-height: 1.5em\">My First HTML 5 Game<\/strong><\/h3>\n<p>It uses the Web Socket interface for networking and Web GL via Three.js for graphics. \u00a0 For networking I made a very simple system that transmits JSON messages over the network; \u00a0Just a quick, dirty solution that covers a lot of bases with little overhead. \u00a0I can always optimize it later. \u00a0 For graphics I made a sort of height-map\/voxel based geometry generator. \u00a0It took a lot of tries to get rid of geometry and texture seaming problems, but once I did it really started to look quite beautiful.<\/p>\n<p>Another perk is that levels are super easy to draw and import into the game.<\/p>\n<p>I learned a lot of things from how to manipulate geometry, load meshes, preload textures, texture arrays, creating geometry, how shaders work, optimizing the GPU pipeline, and of coarse how to implement the Web Socket protocol.<\/p>\n<p>What really blows my mind is how easy it is to put HTML over-top of GPU-rendered canvas. \u00a0Good job web browsers. \u00a0Good job. This HTML 5 Web Api \u00a0thing is really coming along after all these years.<\/p>\n<h3>What is done so far.<\/h3>\n<ul>\n<li>Preloader for models, textures, text files, json files, and sound files.<\/li>\n<li><span style=\"line-height: 1.5em\">Networking \/ communication<\/span><\/li>\n<li>Nice smooth collision detection<\/li>\n<li>Geometry from level data generator (voxel generator)<\/li>\n<li>Geometry art.<\/li>\n<li>Tank models<\/li>\n<li>Title screen and server\/client flow.<\/li>\n<\/ul>\n<h3><img alt=\"tcp2\" class=\"wp-image-334543 alignleft\" height=\"287\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/04\/tcp2-550x479.png\" width=\"330\"\/>What is left.<\/h3>\n<ul>\n<li>Dead reckoning.<\/li>\n<li>Anti-cheat system.<\/li>\n<li>Chat &amp; admin features.<\/li>\n<li>Shooting &amp; exploding.<\/li>\n<li>Capture the flag<\/li>\n<li>Sign up<\/li>\n<li>Track stats<\/li>\n<\/ul>\n<h3>What inspired this?<\/h3>\n<p>I\u2019ve been playing T<a href=\"http:\/\/tagpro-origin.koalabeast.com\/\">ag-pro\u00a0<\/a>\u00a0and it reminded me of fun e-sport experiences from days past such as BZFlag, ARC, Subspace, and Uniball to name a few. \u00a0 There\u2019s a simplicity to these games that is zen-like. \u00a0You don\u2019t program the tactics, you program the basic mechanics and the tactics and team play that emerge are always quite brilliant and in-depth.<\/p>\n<p>This game is a lot like\u00a0<a href=\"http:\/\/bzflag.org\/\">BZ Flag<\/a>\u00a0with some elements from tag-pro and ARC in there.<\/p>\n<h3>Making a pro-gamer game.<\/h3>\n<p>I\u2019ve never been into the pro-gaming scene, so I thought I\u2019d try to meet the challenge of making a game that can really satisfy the needs of a pro action gamer.<\/p>\n<p>Simplicity is key. \u00a0\u00a0There are so many demands beyond simple mechanics in pro games like stats and records; ranked tournaments; administration; forums; clans\/guilds; and events.<\/p>\n<h3>How can I help<\/h3>\n<p>#1 Beta testing:\u00a0If you would like to help me do some beta testing, find me on <a href=\"http:\/\/www.ludumdare.com\/compo\/irc\/\">#LudumDare<\/a> on Afternet.org<\/p>\n<p>#2 If you have any other tips, hints, strategies or suggestion you think I might find useful, please reply to this post.<\/p>\n<p><span style=\"line-height: 1.5em\">Thanks<\/span><\/p>\n<p>\u00a0<\/p>\n<div style=\"float: right;border: 1px solid #eee;padding: 2px;background: #fff;\"><div class=\"iLikeThis\" id=\"iLikeThis-334541\"><span class=\"counter\"><a class=\"image\" onclick=\"likeThis(334541);\">9<\/a><\/span><\/div><\/div>\n<p class=\"postmetadata\">\n<small>\n\t\t\t\t\t\tThis entry was posted\n\t\t\t\t\t\t\t\t\t\t\t\ton Friday, April 4th, 2014 at 9:22 am\t\t\t\t\t\tand is filed under <a href=\"http:\/\/www.ludumdare.com\/compo\/category\/minild\/minild-50\/\" rel=\"category tag\" title=\"View all posts in MiniLD #50\">MiniLD #50<\/a>.\n\t\t\t\t\t\tYou can follow any responses to this entry through the <a href=\"http:\/\/www.ludumdare.com\/compo\/2014\/04\/04\/tank-capture-pro\/feed\/\">RSS 2.0<\/a> feed.\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tYou can <a href=\"#respond\">leave a response<\/a>, or <a href=\"http:\/\/www.ludumdare.com\/compo\/2014\/04\/04\/tank-capture-pro\/trackback\/\" rel=\"trackback\">trackback<\/a> from your own site.\n\n\t\t\t\t\t\t\n\t\t\t\t\t<\/small>\n<\/p>","time":"April 4th, 2014 9:22 am","title":"Tank Capture Pro","title_was_empty":false}