{"id":199,"date":"2009-02-23T11:09:02","date_gmt":"2009-02-23T17:09:02","guid":{"rendered":"http:\/\/www.philhassey.com\/blog\/?p=199"},"modified":"2009-02-23T11:11:42","modified_gmt":"2009-02-23T17:11:42","slug":"beast-for-the-iphone-ipod-touch","status":"publish","type":"post","link":"https:\/\/www.philhassey.com\/blog\/2009\/02\/23\/beast-for-the-iphone-ipod-touch\/","title":{"rendered":"Beast for the iPhone \/ iPod touch"},"content":{"rendered":"<p><a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2009\/02\/shot1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-200\" title=\"shot1\" src=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2009\/02\/shot1-200x300.jpg\" alt=\"\" width=\"200\" height=\"300\" srcset=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2009\/02\/shot1-200x300.jpg 200w, https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2009\/02\/shot1.jpg 320w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a>Today marks the release of my first iPhone game release in five months. \u00a0It&#8217;s about time I got going on dev again. \u00a0I&#8217;ve been in the midst of many transitions in both of my businesses, so I decided to start out with something short-n-sweet. \u00a0The game is called <a href=\"http:\/\/www.galcon.com\/beast\/\">Beast<\/a>.<\/p>\n<p>Beast is a re-make of an ancient MS-DOS game that I played ages ago (and I&#8217;ve re-made several times). \u00a0The original is <a href=\"http:\/\/imitationpickles.org\/rustic\/index.shtml?cur=beast\">here<\/a>. \u00a0You may have followed my progress on <a href=\"http:\/\/twitter.com\/philhassey\">twitter<\/a>. \u00a0Here are some interesting &#8220;factoids&#8221; about the game dev.<\/p>\n<p>The original game is pretty tough to play, if you have dosbox and have all the proper slow-down settings going, you&#8217;ll find it can be a challenge to surround the beasts and crush them with blocks. \u00a0The iPhone doesn&#8217;t have a D-Pad, so moving a character around the screen is a bit tricky. \u00a0I had to make several modifications to the original game so that it would work with the touch interface:<\/p>\n<ul>\n<li>You can move the player around the screen by pushing your finger around. \u00a0However I had to make the player unable to move diagonally as I found the resolution of your finger movement made it near impossible to play and quite jumpy if I allowed diagonals.<\/li>\n<li>You can touch any point on the screen and warp to that location. \u00a0The controls were still a bit tricky, so I had to add this feature so you could do quick movements to escape from a beast, or to attack it quickly.<\/li>\n<li>I disabled the beasts so they can&#8217;t move diagonally, made the super beasts spawn into only 4 instead of 8 normal beasts, and slowed down the beast movement by about 50%. \u00a0These changes were all required to make the game playable.<\/li>\n<\/ul>\n<p>All these changes turned an impossible to play on the iPhone into a reasonably fun diversion. \u00a0I also added a notable element of speed into your score. \u00a0This gives the player a good bit of replay value, since even after they beat a level, they can try again and try and &#8220;master&#8221; a map they are playing.<\/p>\n<p>Overall the main point of this whole exercise was to get myself back into iPhone dev. \u00a0Really last year when I worked on Galcon I threw myself violently into that project for 3-4 months and came out a bit burnt out. \u00a0I knew this time I needed to do a small scale project to get going again.<\/p>\n<p>I&#8217;m pretty pleased with the results of this project. \u00a0For some more interesting factoids about the game project, check out my <a href=\"http:\/\/www.galcon.com\/news\/2009\/02\/23\/beast-for-iphone-ipod-touch\/\">game blog announcement<\/a>.<\/p>\n<p>Excuse to post this to the python planets: I actually made a python version of this game a few years ago. \u00a0It contains some really bizarre pure python sound-synth for both the music and sound effects. \u00a0<a href=\" svn:\/\/www.imitationpickles.org\/py64\/trunk\">Check it out<\/a>. \u00a0Not only all that, but the whole game is a single 18k python file! \u00a0I ported from this code for the iPhone version. \u00a0Again, another great example of python prototype -&gt; C++ final product!<\/p>\n<p>(Silly side-note, actually the python code was a port of some C++ code I made ages ago. \u00a0So this is a great example of C++ code that was ported to python and then later ported back to C++. \u00a0I won&#8217;t bother you with details about my even earlier Java and C versions of the game.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today marks the release of my first iPhone game release in five months. \u00a0It&#8217;s about time I got going on dev again. \u00a0I&#8217;ve been in the midst of many transitions in both of my businesses, so I decided to start out with something short-n-sweet. \u00a0The game is called Beast. Beast is a re-make of an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,6,19,66,2,1],"tags":[],"class_list":["post-199","post","type-post","status-publish","format-standard","hentry","category-c","category-development","category-gamedev","category-iphone","category-python","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/comments?post=199"}],"version-history":[{"count":0,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/199\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/media?parent=199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/categories?post=199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/tags?post=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}