{"id":217,"date":"2011-04-13T00:34:25","date_gmt":"2011-04-12T16:34:25","guid":{"rendered":"http:\/\/konsolscript.sf.net\/web\/?p=217"},"modified":"2011-04-13T01:05:59","modified_gmt":"2011-04-12T17:05:59","slug":"announcing-the-tank-game-project","status":"publish","type":"post","link":"http:\/\/konsolscript.sourceforge.net\/web\/2011\/04\/13\/announcing-the-tank-game-project\/","title":{"rendered":"Announcing the Tank game project"},"content":{"rendered":"<p>A colleague, Mark, was interested to make a tank game so much that he drafted a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Game_design_document\">Game Design Document<\/a> with information more than enough to start creating a prototype.<\/p>\n<p>The very core concept is a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Defense_of_the_Ancients\">Defense of the Ancients<\/a> meets <a href=\"http:\/\/en.wikipedia.org\/wiki\/Battle_City_(video_game)\">Battle City<\/a>. In case you&#8217;re not aware of Battle City, it is a top-view 2D game about tanks defending a base from enemy&#8217;s (AI&#8217;s) tanks. Battle City was a console game from the 80s &#8212; a real retro game you can say. Lucky for you, you can try and <a href=\"http:\/\/nintendo8.com\/game\/245\/battle_city\/\">play Battle City right in your browser<\/a> with the help of a Java <a href=\"http:\/\/en.wikipedia.org\/wiki\/Nintendo_Entertainment_System\">NES<\/a> emulator called <a href=\"http:\/\/www.thatsanderskid.com\/programming\/vnes\/index.html\">vNes<\/a>.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/www.coolrom.com\/screenshots\/nes\/Battle%20City%20(2).gif\" alt=\"Screenshot of Battle City for Nintendo Family Computer\" \/><\/center><\/p>\n<p>Initial technical specification is to implement it in Python as a practice to learning the Python language. Sadly, we only have enough free time to write the game itself. So I suggested, why not use KonsolScript. With me doing the programming stuff and him doing the sprites, the game should be completed real soon, right? Wrong.<\/p>\n<p>Mark was limited to using Microsoft Powerpoint for quick sketch, and <a href=\"http:\/\/www.gimp.org\/\">GIMP<\/a> for painstakingly creating the sprites, pixel by pixel.<\/p>\n<p>As for the programming part, writing the prototype revealed just how slow Quixie is with KonsolScript engine. Like Toto&#8217;s fan game &#8220;<a href=\"http:\/\/konsolscript.sf.net\/web\/tag\/metal-slug\/\">Metal Slug Kuno<\/a>&#8220;, this tank game is also using arrays of <a href=\"http:\/\/en.wikipedia.org\/wiki\/User-defined_type\">UDT<\/a> in encapsulating the tank as an object. I was there when Toto was writing Metal Slug Kuno. I was so amazed as to how easy for a beginner to write his first game using KonsolScript. So amazed that I overlooked one very important thing &#8212; the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Frame_rate\">frame rate<\/a>. Toto&#8217;s game was averaging 25fps on Windows and 10fps on emulated (via VirtualBox) GNU\/Linux &#8212; a very low frame rate which was clearly suggesting that the KonsolScript engine is not production ready in terms of speed. Something I didn&#8217;t bother fixing for quite a long time (Toto wrote it around September 2008) until now &#8212; I have been <a href=\"http:\/\/konsolscript.svn.sourceforge.net\/viewvc\/konsolscript\/quixie\/src\/\">busy at night working on Quixie<\/a>&#8216;s scripting engine.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/konsolscript.sf.net\/img\/tankproject\/110406.png\" alt=\"Screenshot of Tank Project game v110406\" width=\"495\" height=\"371\"\/><\/p>\n<p>While Mark&#8217;s game is progressing, Quixie (as a KonsolScript engine) is maturing more and more. Mark agreed to open source the game &#8212; you can watch the game improve overtime in this blog and you can also get to try it for yourself by accessing it <a href=\"http:\/\/sourceforge.net\/projects\/konsolscript\/files\/demo\/tankproject\/\">on its download page<\/a>.<\/p>\n<p>~creek23<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A colleague, Mark, was interested to make a tank game so much that he drafted a Game Design Document with information more than enough to start creating a prototype. The very core concept is a Defense of the Ancients meets Battle City. In case you&#8217;re not aware of Battle City, it is a top-view 2D [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[10,9,36,27],"_links":{"self":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts\/217"}],"collection":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/comments?post=217"}],"version-history":[{"count":1,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts\/217\/revisions"}],"predecessor-version":[{"id":218,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts\/217\/revisions\/218"}],"wp:attachment":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/media?parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/categories?post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/tags?post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}