{"author_name":"mjb","cat":"LD #23","comments":[],"epoch":1335134820,"likes":0,"metadata":{"p_key":"56477","p_author":"mjb","p_authorkey":"11950","p_urlkey":"92222","p_title":"Nanotanks is alive!","p_cat":"LD #23","p_event":"LD23","p_time":"1335134820","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"11950","us_name":"mjb","us_username":"mjb","event_start":"1334880000","event_key":"10","event_name":"LD23"},"text":"<p>Just in time, I managed to iron out the last few big bugs in my submission, NanoTanks.<\/p>\n <p>NanoTanks is a programming game, which pits your wits as a programmer against the wiles of the computer. You write an AI for a tank in a tiny language (inspired by Scheme), and watch as it takes control of your tiny tank and battles it out with another inside the tiniest of worlds &#8211; a computer&#8217;s CPU. Programming games are, to me, the ultimate sandbox. A programming language grants more flexibility and freedom than any other form of game controls, but also add complexity. I hope I&#8217;ve managed to find the right balance between fun and flexibility.<\/p>\n <p>I used Java for this one, with JOGL for OpenGL bindings. I also used JUnit and FindBugs during development, and wrote all the code in Eclipse. The interpreter was entirely built from scratch, with a little inspiration from the dragon book and SICP. I spent so much time on the language implementation (a tiny Scheme-inspired language), that I really had to rush to create a game around it. I completely ran out of time before implementing real graphics, or any sound or music, or even a slick UI. It&#8217;s much less than I wanted it to be. Still, I&#8217;m very happy with the results of my first LD48, and am proud of what I managed to put together.<\/p>\n <p>I hope it finds some love, but even if it doesn&#8217;t, I still had a lot of fun. Doesn&#8217;t matter. Wrote code.<\/p>","time":"April 22nd, 2012 5:47 pm","title":"Nanotanks is alive!"}