{"id":1588,"date":"2015-08-12T16:27:52","date_gmt":"2015-08-12T23:27:52","guid":{"rendered":"http:\/\/zsprawl.com\/iOS\/?p=1588"},"modified":"2015-08-12T16:27:52","modified_gmt":"2015-08-12T23:27:52","slug":"building-an-ios-sprite-based-game","status":"publish","type":"post","link":"http:\/\/zsprawl.com\/iOS\/2015\/08\/building-an-ios-sprite-based-game\/","title":{"rendered":"Building an iOS Sprite-Based Game"},"content":{"rendered":"<p>By now just about everyone with a mobile phone has at least heard of the game <a href=\"https:\/\/en.wikipedia.org\/wiki\/Flappy_Bird\" target=\"_blank\">Flappy Bird<\/a>. If for some reason you still have a flip phone and have not, it is a very simple 2D sprite-based game where you tap the screen in an attempt to keep your bird from hitting the ground and other objects. It was a media hit a little while back because of how simple and derivative it was, yet it was popular and profitable on the iTunes store ($50k in one day!). Of course, now it is everywhere you look&#8230;<\/p>\n<p>Since the game&#8217;s success, a plethora of jealous developers said to themselves, &#8220;I can make that too&#8221;. And of course they could because it really is a simple game. Someone&#8217;s got to be first though, right? Over time, Flappy Bird has made its way to just about every platform, in hundreds of different variations and formats. Thus I decided for my first sprite-Based iOS game, I&#8217;d make my own <strong>&#8220;zAppyBird&#8221;<\/strong>!<\/p>\n<p><center><a href=\"http:\/\/zsprawl.com\/iOS\/wp-content\/uploads\/2015\/08\/flappysized.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/zsprawl.com\/iOS\/wp-content\/uploads\/2015\/08\/flappysized-169x300.jpg\" alt=\"flappysized\" width=\"169\" height=\"300\" class=\"size-medium wp-image-1596\" \/><\/a>&nbsp;<strong>&nbsp;vs.&nbsp;<\/strong>&nbsp;<a href=\"http:\/\/zsprawl.com\/iOS\/wp-content\/uploads\/2015\/08\/20150812_225723000_iOS.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/zsprawl.com\/iOS\/wp-content\/uploads\/2015\/08\/20150812_225723000_iOS-169x300.png\" alt=\"20150812_225723000_iOS\" width=\"169\" height=\"300\" class=\"size-medium wp-image-1597\" \/><\/a><\/center><\/p>\n<p>Amazingly named, zAppyBird is just like every other Flappy Bird clone. The goal of course is for me to learn to use the iOS SpriteKit, and build a game, while not requiring me to be a graphic artist rendering 3D wireframe models, et cetera. The base game took about a day to code in Swift, and another day to polish. Apple really has made it easy to interact with the built in SpriteKit. I just wish I had some real art skills&#8230;<br \/>\n<!--more--><br \/>\n<a href=\"http:\/\/zsprawl.com\/iOS\/wp-content\/uploads\/2015\/08\/2015-08-12-15.35.56.png\"><img decoding=\"async\" src=\"http:\/\/zsprawl.com\/iOS\/wp-content\/uploads\/2015\/08\/2015-08-12-15.35.56-576x1024.png\" alt=\"2015-08-12 15.35.56\" width=\"420\" class=\"aligncenter size-large wp-image-1590\" \/><\/a><\/p>\n<p>The real issue came about when I went to integrate zAppyBird with Game Center, so some poor sap that decides to play my game can share his success with the world. I added a few achievements, just like you would receive in other games, for scoring 10 points, 20 points, and other unique milestones. However, when I went to submit it to the iTunes store, it kept receiving an SSL certificate error.<\/p>\n<p>After a lot of fiddling around and manipulating certificates, I&#8217;ve come to the conclusion that my generic wildcard certificate that I created for apps back in 2012 will no longer suffice if I wish to use the extra features built into iOS services like Game Center. These features require a more specific certificate that better identifies the app (rather than my generic wildcard certificate), which is a fair request. My specific problem is that I&#8217;ve used this old wildcard certificate with EVERY SINGLE APP I&#8217;ve ever created, including my very successful <a href=\"http:\/\/zsprawl.com\/iOS\/zapps\/whipped\/\" target=\"_blank\">Whipped zApp<\/a>. <\/p>\n<p>To fix my certificate issue, Apple recommends that I revoke my wildcard certificate, generate new certificates, and re-sign my Apps. However, this would create a new iTunes Store entry for my existing apps. I wouldn&#8217;t generally care, but I really do not want to lose my search engine rankings for Whipped. This is the only app that makes me income, and a decent amount at that. Thus my only solution left that I can see, and please correct me if I&#8217;m wrong, is to pay the $100 to create a new Apple developer&#8217;s account, transfer my apps to the new account, which will sign them with a new certificate but retain the iTunes Store page, and then cancel my existing developer&#8217;s account when it expires. <\/p>\n<p>What a pain in the butt&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By now just about everyone with a mobile phone has at least heard of the game Flappy Bird. If for some reason you still have a flip phone and have not, it is a very simple 2D sprite-based game where you tap the screen in an attempt to keep your bird from hitting the ground <a href=\"http:\/\/zsprawl.com\/iOS\/2015\/08\/building-an-ios-sprite-based-game\/#more-'\" class=\"more-link\"><br \/>more \u00bb<\/a><\/p>\n","protected":false},"author":318,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,50,3,105],"tags":[122,5,114,113],"class_list":["post-1588","post","type-post","status-publish","format-standard","hentry","category-blog","category-games","category-ios-development","category-swift","tag-games","tag-ios","tag-spritekit","tag-zappybird"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/posts\/1588"}],"collection":[{"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/users\/318"}],"replies":[{"embeddable":true,"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/comments?post=1588"}],"version-history":[{"count":13,"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/posts\/1588\/revisions"}],"predecessor-version":[{"id":1606,"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/posts\/1588\/revisions\/1606"}],"wp:attachment":[{"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/media?parent=1588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/categories?post=1588"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/zsprawl.com\/iOS\/wp-json\/wp\/v2\/tags?post=1588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}