{"id":9,"date":"2014-05-10T23:53:20","date_gmt":"2014-05-10T23:53:20","guid":{"rendered":"http:\/\/blog.infinityminus.com\/?p=9"},"modified":"2014-05-11T00:02:31","modified_gmt":"2014-05-11T00:02:31","slug":"how-to-make-an-android-game-chapter-i-introduction-and-setup","status":"publish","type":"post","link":"http:\/\/blog.infinityminus.com\/?p=9","title":{"rendered":"&#8211; How To Make An Android Game &#8211;<br>Chapter I: Introduction and Setup"},"content":{"rendered":"<p><strong>Introduction:<\/strong><\/p>\n<p>So now that I finished my first REAL Android game &#8211; <a title=\"Google Play Store: Wayve\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=net.rainforce15.wayve_free\">Wayve<\/a> &#8211; I noticed a few things.<br \/>\nMainly:<\/p>\n<ul>\n<li><del>I hate Java<\/del><\/li>\n<li>There really are no good Android game making tutorials &#8211; at least not on page one of Google.<\/li>\n<li>There&#8217;s a choice to make which really isn&#8217;t one to begin with &#8211; but more about that later.<\/li>\n<\/ul>\n<p>So in my GLORIOUS QUEST to fix this problem I start(ed) this tutorial.<\/p>\n<p><strong>Setup:<\/strong><br \/>\nTo start programming in Android you need one thing first and foremost &#8211; an environment to compile Java code to Android APK files (think: installer packages). While you could use some commandline-based variant, I recommend using the <strong>A<\/strong>ndroid <strong>D<\/strong>eveloper <strong>T<\/strong>ools (ADT) for Eclipse (which is an IDE for normal Java and some other languages). The whole thing is conveniently shipped together in the ADT bundle <a title=\"ADT Bundle\" href=\"http:\/\/developer.android.com\/sdk\/index.html\">here<\/a>.<br \/>\nThis will net you a .zip file which you should probably not place on your desktop, but in a folder where you keep all your android related things.<\/p>\n<p>Extract the file.<\/p>\n<p>In it are basically three things:<\/p>\n<div id=\"attachment_19\" style=\"width: 263px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-19\" class=\"size-full wp-image-19\" src=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/files1.png\" alt=\"overwhelming.\" width=\"253\" height=\"79\" \/><p id=\"caption-attachment-19\" class=\"wp-caption-text\">overwhelming.<\/p><\/div>\n<ul>\n<li>the SDK Manager, which allows you to install and update packages, like build tools, Android APIs and examples for various versions.<\/li>\n<li>the sdk folder, which contains the Android SDK files you need for compiling, and some additional tools like the Android emulator<\/li>\n<li>the eclipse folder, which contains the Eclipse IDE.<\/li>\n<\/ul>\n<p>First, run the SDK Manager.<\/p>\n<div id=\"attachment_29\" style=\"width: 710px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/SDKmanager.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-29\" class=\"wp-image-29 size-full\" src=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/SDKmanager.png\" alt=\"hope you like tick boxes\" width=\"700\" height=\"500\" srcset=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/SDKmanager.png 700w, http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/SDKmanager-300x214.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><p id=\"caption-attachment-29\" class=\"wp-caption-text\">hope you like tick boxes<\/p><\/div>\n<p>From there you should install\/update the following packages, if they are not installed already:<\/p>\n<p>in Tools:<\/p>\n<ul>\n<li>Android SDK Tools<\/li>\n<li>Android SDK Platform-Tools<\/li>\n<li>Android SDK Build-Tools<\/li>\n<\/ul>\n<p>in the folder of the most recent Android API:<\/p>\n<ul>\n<li>SDK Platform<\/li>\n<li>ARM EABI v7a System Image<\/li>\n<li>Intel x86 Atom System Image (for the emulator)<\/li>\n<\/ul>\n<p>in Extras:<\/p>\n<ul>\n<li>Android Support Library<\/li>\n<li>Google Play Services [optional]<\/li>\n<li>Google Play APK Expansion Library [probably optional]<\/li>\n<li>Google USB Driver<\/li>\n<li>Intel x86 Emulator Accelerator (HAXM installer) [Unless you are on Linux. Because of reasons.]<\/li>\n<\/ul>\n<p>Now press the &#8220;Install X packages&#8230;&#8221; button. A new window with a list of selected packages and their licenses will appear. Read them all in their entir- &#8230;pressing &#8220;Accept License&#8221; should accept most of them in one click. Press Install. Feel proud in your ability to press buttons and watch everything install. This might take a while.<\/p>\n<p>Your tool collection should now be prepared for everything covered in this tutorial series.<\/p>\n<p>Now that we are FINALLY done with the setup, we can start Eclipse. (from the eclipse folder)<\/p>\n<p>It will ask for a workspace location &#8211; this is the folder where all Projects (read: different applications and their source code\/other stuff) will be created as subfolders, so you better put it somewhere clever. (or just use the default for lack of a better idea)<\/p>\n<p>Press OK.<\/p>\n<p>The main window of Eclipse will appear, with the Welcome page, which you can read at your leasure.<\/p>\n<p>When you are done,\u00a0 press the small restore icon in the top right (not the one next to the close button &#8211; below that) and behold the general interface of eclipse.<\/p>\n<div id=\"attachment_33\" style=\"width: 1156px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/eclipse.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-33\" class=\"wp-image-33 size-full\" src=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/eclipse.png\" alt=\"sub-windows are ordered in decreasing usefulness from left to right\" width=\"1146\" height=\"849\" srcset=\"http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/eclipse.png 1146w, http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/eclipse-300x222.png 300w, http:\/\/blog.infinityminus.com\/wp-content\/uploads\/2014\/05\/eclipse-1024x758.png 1024w\" sizes=\"auto, (max-width: 1146px) 100vw, 1146px\" \/><\/a><p id=\"caption-attachment-33\" class=\"wp-caption-text\">sub-windows are ordered in decreasing usefulness from left to right<\/p><\/div>\n<p>The sub-windows you see here are, from left to right (and then bottom):<\/p>\n<ul>\n<li>the Package Explorer, which is basically like the file tree from your file browser (once you created a Project)<\/li>\n<li>the unlabled Code Window where all your code or other editing related business will take place<\/li>\n<li>the Outline Window which will give an outline of the current class loaded<\/li>\n<li>the Welcome Window, which you should be done with by now<\/li>\n<li>the Console\/Log Window, which gives you various logging messages<\/li>\n<\/ul>\n<p>Each sub-window you see here has a maximize button which makes their specific sub-window fill the entire screen, and a minimize button which puts it in a sidebar.<\/p>\n<p>With that covered, we can FINALLY start the actual coding. In Chapter II.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>If I made a mistake somewhere, or a part needs further explanation here, please point it out in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction: So now that I finished my first REAL Android game &#8211; Wayve &#8211; I noticed a few things. Mainly: I hate Java There really are no good Android game making tutorials &#8211; at least not on page one of Google. There&#8217;s a choice to make which really isn&#8217;t one to begin with &#8211; but [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[3,4],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-how-to-make-an-android-game","tag-android","tag-game-development"],"_links":{"self":[{"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":10,"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":41,"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions\/41"}],"wp:attachment":[{"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.infinityminus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}