<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Chris Moeller Web • Engineering, Design and Programming</title>
	
	<link>http://chrismweb.com</link>
	<description>Game Programming, Engineering and Development</description>
	<lastBuildDate>Mon, 30 Jan 2012 22:40:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ChrismWeb" /><feedburner:info uri="chrismweb" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Android 3.0 Animations: Beginner’s Guide Review</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/-igWijrM2Gc/</link>
		<comments>http://chrismweb.com/2012/01/19/android-3-0-animations-beginners-guide-review/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 01:27:41 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=845</guid>
		<description><![CDATA[This was a good read if you are interested in adding animation to your android applications. It shows several different methods, from frame animation to tweening objects around on screen. The book is titled for “Android 3.0”, but almost all of the examples will work for any version of Android. You just need to change [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chrismweb.com/wp-content/uploads/2012/01/android30animation.jpg" alt="" title="android30animationreview" width="640" height="200" class="aligncenter size-full wp-image-846" /></p>
<p>This was a good read if you are interested in adding animation to your android applications. It shows several different methods, from frame animation to tweening objects around on screen.</p>
<p>The book is titled for “Android 3.0”, but almost all of the examples will work for any version of Android. You just need to change the build target of the project properties to whatever SDK version you are using, and change the android manifest file from build 10 to 3.</p>
<p>It does touch on what the new animation methods are for Android 3.0, and you have a warning in the chapter for the exercise file that uses a newer version.</p>
<p>The examples may not all look pretty (especially the first one), but it teaches the main concepts, and you can fill in your own graphics, using the concepts, to add some nice ‘flair’ to your applications.</p>
<p>One of the more interesting examples shows you how to create your own, animated, and interactive ‘live wallpaper’, which you could use to create pretty much any type of live wallpaper.</p>
<p>The book does not go into OpenGL programming, but does introduce the concept of a “game loop”, which would be useful for someone to see who has never created a game before. A lot of the concepts might seem simple to someone who has experience using tweens, or frame by frame animation.</p>
<p>I would recommend this book to someone who has programmed on Android application before, but would like to add more “polish” to their application, using animation to liven it up.</p>
<p>You can pickup the book here: <a href="http://www.packtpub.com/android-3-0-animations-beginners-guide/book">http://www.packtpub.com/android-3–0-animations-beginners-guide/book</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-8460"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/-igWijrM2Gc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2012/01/19/android-3-0-animations-beginners-guide-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2012/01/19/android-3-0-animations-beginners-guide-review/</feedburner:origLink></item>
		<item>
		<title>Game Competitions</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/ZVE8FIdV9b8/</link>
		<comments>http://chrismweb.com/2011/12/18/game-competitions/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 21:32:00 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Personal Projects]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=839</guid>
		<description><![CDATA[There are a couple game competitions that I know of right now, and I wanted to share with everyone. Jonathan Harbour RTS game contest for beginners (Due 12/25/2011) Jonathan Harbour has a contest for beginners to develop their own real time strategy(RTS) game, and has some prizes as well. It would be a good excuse [...]]]></description>
			<content:encoded><![CDATA[<p>There are a couple game competitions that I know of right now, and I wanted to share with everyone. </p>
<p><strong>Jonathan Harbour RTS game contest for beginners </strong><br />
(Due 12/25/2011) Jonathan Harbour has a contest for beginners to develop their own real time strategy(RTS) game, and has some prizes as well.</p>
<p>It would be a good excuse to work on a new game, and you don’t even have to have scrolling– just one screen. Don’t let that fool you though, any game project still requires work and determination <img src='http://chrismweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>1st Place Prize: App Game Kit (AGK) — Retail value: $112!<br />
<a href="http://www.appgamekit.com/">http://www.appgamekit.com/</a></p>
<p>2nd Place Prize: $30 voucher for the TGC Store!<br />
<a href="http://www.thegamecreators.com">http://www.thegamecreators.com</a></p>
<p><a href="http://jharbour.com/forum/index.php?topic=1804.0">http://jharbour.com/forum/index.php?topic=1804.0</a></p>
<p><strong>Intel Level Up 2011</strong><br />
(Due 3/19/2012) Also, the “Intel Level Up 2011″ game competition is finally up. It’s almost 2012, but the prizes are pretty nice, though the competition is not just beginners, but also includes students and Indie companies. </p>
<p><a href="http://software.intel.com/sites/campaigns/levelup2011/?utm_source=GameDev+-+Ros+Leaderboard+-+728x90&#038;utm_medium=banner&#038;utm_content=5820_LevelUp_728x90&#038;utm_campaign=2011_Q3_Intel_LevelUp">Level Up 2011 Competition </a></p>
<p><strong>My RTS WIP</strong><br />
I’m currently working on the RTS one, and you can see my latest demo here(although fill in graphics, and lots of bugs still — but a week to finish <img src='http://chrismweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ): </p>
<p><img alt="" src="http://chrismweb.com/projects/rts_game_12_2011/V4/rts_game_v4.jpg" title="My RTS Game V4" class="aligncenter" width="640" height="384" /></p>
<p><a href="http://chrismweb.com/projects/rts_game_12_2011/V4/index.html">http://chrismweb.com/projects/rts_game_12_2011/V4/index.html</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-8400"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/ZVE8FIdV9b8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/12/18/game-competitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/12/18/game-competitions/</feedburner:origLink></item>
		<item>
		<title>Android 4.0 announcement!</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/CpPd_dy8gZs/</link>
		<comments>http://chrismweb.com/2011/10/19/android-4-0-announcement/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 19:52:08 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=825</guid>
		<description><![CDATA[Android 4.0 (Ice cream sandwich) has been announced, and so has the new Galaxy Nexus. I am looking forward to this android update, and it is supposed to be a large one! It is supposed to be a combination of the divergent HoneyComb (3.0 series) OS for tablets, and the current gingerbread (2.3) for phones. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/android_4_ice_cream_sandwich.jpg" alt="" title="android_4_ice_cream_sandwich" width="640" height="250" class="aligncenter size-full wp-image-826" /></p>
<p>Android 4.0 (Ice cream sandwich) has been announced, and so has the new Galaxy Nexus. </p>
<p>I am looking forward to this android update, and it is supposed to be a large one! It is supposed to be a combination of the divergent HoneyComb (3.0 series) OS for tablets, and the current gingerbread (2.3) for phones. </p>
<p>It looks to have a ton of new features, including:</p>
<ul>
<li>A beautiful new user interface</li>
<li>Recent Apps button, that appears to work like the Windows 7 task manager</li>
<li>Unlocking the phone using facial recognition and the front facing camera</li>
<li>Swipe actions to dismiss notifications, browser tabs, ect.</li>
<li>Better keyboard</li>
<li>Ability to set warning and cutoff points for your data usage</li>
<li>Built in panoramic camera</li>
<li>Sharing information with other Android Devices using NFC by just touching them together</li>
<li>Faster Web browsing (with faster javascript engine)</li>
</ul>
<p>It looks to be a fairy major update, and does resemble Honeycomb’s user interface. </p>
<p>I would bet on it being available on the new Galaxy Nexus when it is available (most likely, like usual, in early January or late December), and most likely slow updates coming out to all devices (although Android 4.0 isn’t supposed to have as much manufacture “skinning”, so it might roll out much faster).</p>
<p>You can see more details at the official Android 4.0 Platform highlight page:<br />
<a href="http://developer.android.com/sdk/android-4.0-highlights.html">http://developer.android.com/sdk/android-4.0-highlights.html</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-8260"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/CpPd_dy8gZs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/10/19/android-4-0-announcement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/10/19/android-4-0-announcement/</feedburner:origLink></item>
		<item>
		<title>How to start creating android games using the LibGDX game development framework</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/uln2dCsbcVM/</link>
		<comments>http://chrismweb.com/2011/10/18/how-to-start-creating-android-games-using-the-libgdx-game-development-framework/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 23:14:01 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=784</guid>
		<description><![CDATA[Why Android? I’ve been creating games using flash/actionscript for a while now, but have really wanted to get started with android game development, since it’s an open source platform, the sky is the limit to how much you can learn about it. The devices are usually fairly non-restrictive, being able to load custom roms, install [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrismweb.com/2011/10/18/how-to-start-creating-android-games-using-the-libgdx-game-development-framework/"><img src="http://chrismweb.com/wp-content/uploads/2011/10/header.jpg" alt="" title="header" width="640" height="250" class="aligncenter size-full wp-image-796" /></a></p>
<h2>Why Android?</h2>
<p>I’ve been creating games using flash/actionscript for a while now, but have really wanted to get started with android game development, since it’s an open source platform, the sky is the limit to how much you can learn about it.</p>
<p>The devices are usually fairly non-restrictive, being able to load custom roms, install any available software — even not directly through the market, being more practical (using internal storage as storage, not needing to install bloatware to connect to a computer), as well as having many more choices in hardware, since there is such a wide diversity of available mobile phones.</p>
<p>All in all, Android is very non-restrictive and flexible to it’s users, as well as it’s developers, and the market is supposed to be much easier to upload your app on, without getting turned down without a reason. It also caters more towards free apps (with ads), which is what I had wanted to offer, to allow everyone to be able to play my games.</p>
<h2>Why LibGDX?</h2>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/libGDX_logo.jpg" alt="" title="libGDX_logo" width="100" height="100" class="aligncenter size-full wp-image-798 img_float_left" /></p>
<p>I have read a few android programming books, and most go into quite a bit of detail about application programming, but very little about OpenGL, not to mention I hadn’t done much programming using multiple separate threads in the past.</p>
<p>LibGDX takes care off pretty much all of the low-level stuff for you, so you can focus on game programming, or basic engine programming, and not about techniques for loading different image and music types, creating and handling multiple threads, or creating OpenGL surfaces to render 2d bitmaps on to.</p>
<p>Using it also does not take away any of the control you have, if you wanted to or needed to program lower level stuff, such as creating surfaces and 3d objects using OpenGL. Thus, it provides an excellent platform to get started with without having to worry about creating everything from scratch yourself, but also allows you to create things later on when you need them.</p>
<p>And for super-icing on the cake, it is specifically made for creating games, and it also allows you to compile and test using native Java on your computer before deploying to your android device, which makes debugging and compile time so much faster! No needing to deal with the android emulator for most of your design, unless you wish to, no needing to compile the apk, move it to the SD card, install, open, and finally debug– you can do it all on your computer before deploying to your android device!</p>
<p>So in summary:</p>
<ul>
<li>Handles a lot of the stuff that you would normally need to program from scratch, saves you time, as well as allows you to expand it if needed</li>
<li>Specifically created for games!</li>
<li>Debug, test and try out your android app without having to rely on having a device/ emulator running almost all the time!</li>
<li>Open source and free, as well as great forums for support</li>
</ul>
<p>So Now that you know why it is a great framework to use to develop android games, lets get up and running.<br />
<span id="more-784"></span></p>
<h2>Downloading and installing everything you need</h2>
<p>The things we’ll be downloading and installing include:</p>
<ul>
<li>Java SE JDK/SDK (to be able to compile Java code)</li>
<li>Eclipse IDE (for creating/editing code, compiling, running and deploying your game)</li>
<li>LibGDX .jar library files</li>
<li>Android SDK</li>
<li>Eclipse ADT plugin</li>
</ul>
<h2>Downloading and installing the Java SE JDK</h2>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/java_icon.jpg" alt="" title="java_icon" width="100" height="100" class="aligncenter size-full wp-image-803 img_float_left" /></p>
<p>Android programming by default is done in Java. To be able to program in it, you will need the Java JDK. You can get the Java SE JDK from from:<br />
<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></p>
<p>Download and install it with the defaults (unless you want to chose a different folder).</p>
<h2>Downloading and setting up the Eclipse IDE</h2>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_logo.jpg" alt="" title="eclipse_logo" width="100" height="100" class="aligncenter size-full wp-image-804 img_float_left" /><br />
Now that you have the Java SDK, you can download your IDE for programming and compiling.<br />
You can use any IDE you want, but it is recommended to use the Eclipse, so that is what I use, although it took a little bit of time to get used to it.</p>
<p>Download it from:<br />
<a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a><br />
And select ‘Eclipse IDE for Java Developers’, for whichever OS you use (I use windows 64bit).</p>
<p>Once it finishes downloading, open up the zip file. It does not come with an install, but just an eclipse folder. Just move it out onto your hard drive somewhere that you will want to keep your android programming stuff (I put mine in “c:\android\eclipse”).</p>
<p>Next, open up that folder, and double click on “eclipse.exe” (it will have a blue circle icon with 3 horizontal white lines through it). This will open Eclipse, and prompt you for a workspace location, which is where all of your source files for any game projects will go. I put mine in “c:\android\workspace”, and click on “Use this as the default and do not ask again”.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_workspace.jpg" alt="" title="eclipse_workspace" width="630" height="291" class="aligncenter size-full wp-image-792" /></p>
<p>You can just close the welcome screen by clicking on the ‘X’ on the top left, which will bring up the main interface you’ll be using. On the left is the “package explorer”, where your different games/ projects will go. In the center is where you’ll be coding. The bottom is where you’ll see the console, and any syntax problems before compiling your game.</p>
<p>Now that we have Java Ready to go, we need to get the stuff for creating android applications/games.</p>
<h2>The Android SDK</h2>
<p>Head on over to <a href="http://developer.android.com/">http://developer.android.com/</a>, click on “SDK” on the top tab, and download the SDK .zip.<br />
It should contain one folder called “android-sdk-windows”, which you just need to move into your android folder area you created earlier (or anywhere you like, really), which I put at: “c:\android\android-sdk-windows”.</p>
<p><b>Note: </b>developer.android.com is a great place to find info on setting up getting started developing android apps, as well as for reference. </p>
<h2>Installing the ADT plugin for Eclipse</h2>
<p>Now we need to install the ADT plugin to allow eclipse to easily create android applications/games. </p>
<p>Open Eclipse (if not already open), click on ‘Help-&gt;Install New Software” from the top menu.<br />
Click the ‘Add’ button, and enter ‘ADT’ for name, and ‘https://dl-ssl.google.com/android/eclipse/’ for location(You can also see these instructions at: <a href="http://developer.android.com/sdk/eclipse-adt.html#installing">http://developer.android.com/sdk/eclipse-adt.html#installing</a> — and there is also a manual method if yours does not connect) and click ‘OK’. (if it doesn’t seem to download, you may need to turn off a firewall if you’re using it– zone alarm would not let it fetch properly while on)</p>
<p>Select “ADT — http://dl-ssl.google.com/android/eclipse/” in the drop down box for “Work with:”, if it was not already selected. Below, after a time, it should show “Developer Tools” under “Name”. Click the check box next to it, and click “Next“and click “Next” again on the next screen. Read through the license agreement, click the radio button for “I accept…” and click “Finish”.</p>
<p>It should have a popup for “Installing software”, and another popup warning for “installing unsigned content”, which you just need to click “OK” to, since you trust android for adding the ADT to your eclipse.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_installing_ADT.jpg" alt="" title="eclipse_installing_ADT" width="532" height="233" class="aligncenter size-full wp-image-791" /></p>
<p>Click “Restart Now” on the next popup, and let Eclipse Restart.</p>
<p>Once this restarts, you can “Configure/setup” your ADT plugin.</p>
<h2>Setting up the ADT plugin for Eclipse</h2>
<p>We just need to setup the ADT plugin for android development.</p>
<p>You first need to tell it where you put the Android SDK, so click on “Window-&gt;Preferences” on the top menu. Click “Android” on the left side, click on “Browse” next to “SDK Location” and go select where you unzipped your android SDK folder (“C:\android\android-sdk-windows” is where I put it on my computer). and click “OK” twice to get back to eclipse. I had a popup for “Android SDK Verification” “SDK Platform Tools component is missing”, and to install it through the SDK Mangaer, which we’ll do next. Click “Ok” again.</p>
<p>Next Click on “Window-&gt;Android SDK and AVD Manager” from the top window. The first screen is for creating “virtual android devices”- to later test out different display sizes and configurations to make sure your app/game looks good (although it runs very slow compared to a real device, or in Java on your computer).</p>
<p>Click on “Available packages”, click the small arrow next to “Android Repository”. From here click whichever ones you think you will need, or all if you have extra disk space + time for downloading. I just needed “Android SDK Platform-tools”, “Documentation for Android”, “SDK Platform Android 3.2, API13”, as well as “API 3″ for android 1.5, and samples for API13.<br />
Click “Install Selected”, “Accept all” radio button on the new popup, and “Install”. Next the download window will popup, and it will begin downloading the selected Android packages, which may take a while.<br />
Afterwards, it should ask you if you want to restart ADB, so click yes.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/exlipse_downloading_android_packages.jpg" alt="" title="eclipse_downloading_android_packages" width="450" height="300" class="aligncenter size-full wp-image-790" /></p>
<p>Now that we have the ADT and the SDK for android setup, we could begin developing applications or games without LibGDX by using the top menu and selecting “File-&gt;New-&gt;Project-&gt;Android-&gt;Android Project”, but we will first setup LibGDX and a quick game demo, to get right into game development.</p>
<h2>Downloading LibGDX</h2>
<p>Go to <a href="http://code.google.com/p/libgdx/">http://code.google.com/p/libgdx/</a> to download the latest LibGDX version on the right hand side of the screen (libgdx-0.9.2.zip at this time).</p>
<p>After it downloads, create a folder in your android folder, and copy the files from the zip file into it (I created the folder “libgdx092”, so c:\android\libgdx092”, but it doesn’t really matter what you call it as long as you remember it).</p>
<h2>Creating a Java project with LibGDX</h2>
<p>One of LibGDX’s biggest strong points is being able to compile and debug in native Java on your computer, without having to try it out on your android phone or the emulator, which saves massive amounts of time.</p>
<p>It also used the java project as a reference, so everything you create there will be part of your android project, so you don’t have to re-type anything.</p>
<p>Open Up Eclipse, click on “File-&gt;New-&gt;Java Project”, and name the project something clever, such as “MyLibGDXGame”. <b>Now make sure you change the execution environment to JavaSE-1.6. </b><br />
(Otherwise it for some reason work with the android version) And click “Finish”.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_new_project2.jpg" alt="" title="eclipse_new_project" width="533" height="716" class="aligncenter size-full wp-image-810" /></p>
<p>Right click on your Java project folder on the left hand panel, and click “New-&gt;Folder”, enter the “Folder name” as “libs”(short for libraries), and click “Finish”. You should see your “libs” and the “src” folder under the project folder on the left hand side.</p>
<p>Now we need to add the required libraries to use LibGDX.</p>
<p>Go into the folder where you unzipped your LibGDX stuff, and find and copy the following files:<br />
gx-backend-jogl-natives.jar<br />
gdx-backend-jogl.jar<br />
gdx-natives.jar<br />
gdx.jar</p>
<p>Then, go back into Eclipse, and paste them into your “libs” folder.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_libgdx_files_in_java.jpg" alt="" title="eclipse_libgdx_files_in_java" width="314" height="332" class="aligncenter size-full wp-image-788" /></p>
<p>Now that they are there, we just have to tell our project to use them.</p>
<p>In Eclipse, from the top menu, click on “Project-&gt;Properties”. Click on “Java Build Path” on the left panel, “Libraries” from the top, and “Add JARs” button.<br />
Double click on your project, double click on your “libs” folder, and click the first .jar file, hold shift and click the last one, so that all the jar files are highlighted, and click “Ok” (alternatively you could have done them one by one repeatedly). Click “OK” again to get back to the main eclipse window.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_java_libraries_added1.jpg" alt="" title="eclipse_java_libraries_added" width="640" height="443" class="aligncenter size-full wp-image-806" /></p>
<p>Now that we have access to our LibGDX libraries, we’ll create the main class.</p>
<h2>Creating the basic classes</h2>
<p>Right click on the src folder, and click on “New-&gt;Class”. Change the package to something like “com.mylibgdxgame”, and change the “name” to “DesktopStarter”. Click on the checkbox next to “public static main(String[] args”, and click “Finish”.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_new_main_class.jpg" alt="" title="eclipse_new_main_class" width="542" height="637" class="aligncenter size-full wp-image-786" /></p>
<p>Now delete the auto generated comments, and we’ll put one of our own:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.mylibgdxgame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> DesktopStarter 
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//Create a new JoglApplication, which we need to pass our main GAME class when it is finished</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>So now we have the “main” class, which will be used on the desktop to start our game class, after we create it, which we’ll now do.</p>
<p>Right click on the src folder again, and add another new class. This one we will name “Game”, put the package name the same as the “DesktopStarter” class (com.mylibgdxgame) and click “Finish”.</p>
<p>To make this “Game” class derive from LibGDX, we have to implement the base class “ApplicationListener”. So after “class Game”, type “implements App” and press the “Ctrl+Space” keys together to bring up the auto-complete window. double click on “ApplicationListener — com.badlogic.gdx”, which will import the required library to use this class above your class definition line.<br />
You should notice a folder icon with a red X through it on the left of the line with your class on it, and “Game” underlined with a squiggly line. If you hover over “Game” It will show you the problem with the line: “The type Game must implement the inherited abstract method ApplicationListener.create()”. Rather than typing out the function/method missing (create()), you can have eclipse auto-correct the problem by clicking “Add unimplemented methods”.<br />
As you can see, this will not only fix the “create” method missing error we saw, it will also create a bunch of other required function, including “dispose”, “pause”, “render”, “resize”, and “resume”, so that we don’t have to put each one in manually.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.mylibgdxgame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.ApplicationListener</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Game <span style="color: #000000; font-weight: bold;">implements</span> ApplicationListener
<span style="color: #009900;">&#123;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> create<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> dispose<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pause<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> render<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> resize<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> arg0, <span style="color: #000066; font-weight: bold;">int</span> arg1<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> resume<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>We’ll probably want to also add something visually to the screen, just for kicks.<br />
We’ll add a somewhat conventional vector smiley face that moves each frame.</p>
<p>Change the code to the following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.mylibgdxgame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.ApplicationListener</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.Gdx</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.graphics.GL10</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.graphics.GLCommon</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.graphics.Pixmap</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.graphics.Texture</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.graphics.g2d.SpriteBatch</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.math.Vector2</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Game <span style="color: #000000; font-weight: bold;">implements</span> ApplicationListener
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//whatever screen width and height we want to have in the desktop version</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> SCREEN_WIDTH <span style="color: #339933;">=</span> <span style="color: #cc66cc;">800</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> SCREEN_HEIGHT <span style="color: #339933;">=</span> <span style="color: #cc66cc;">480</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//things needed to draw</span>
	SpriteBatch batcher<span style="color: #339933;">;</span>
	Texture texture<span style="color: #339933;">;</span>
	Pixmap pixmap<span style="color: #339933;">;</span>
&nbsp;
	Vector2 smiley_pos<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> create<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		Gdx.<span style="color: #006633;">app</span>.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MyLibGDXGame&quot;</span>, <span style="color: #0000ff;">&quot;Game.create()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//we'll get whatever the set width is- 800x480 above, but will be the device resolution when running the android version</span>
		SCREEN_WIDTH<span style="color: #339933;">=</span> Gdx.<span style="color: #006633;">graphics</span>.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		SCREEN_HEIGHT<span style="color: #339933;">=</span> Gdx.<span style="color: #006633;">graphics</span>.<span style="color: #006633;">getHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//setup these 3 for rendering- sprite batch will render out textures, and pixmaps allow you to draw on them</span>
		batcher <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SpriteBatch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Pixmap<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span>, <span style="color: #cc66cc;">256</span>, Pixmap.<span style="color: #003399;">Format</span>.<span style="color: #006633;">RGBA8888</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		texture <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Texture<span style="color: #009900;">&#40;</span>pixmap<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//setup where we want out smiley face vector graphic to start at</span>
		smiley_pos <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Vector2<span style="color: #009900;">&#40;</span>SCREEN_WIDTH<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, SCREEN_HEIGHT<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//function to draw a smiley face on the pixmap, which we can use to draw on the texture</span>
		DrawSmiley<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> DrawSmiley<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		Gdx.<span style="color: #006633;">app</span>.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MyLibGDXGame&quot;</span>, <span style="color: #0000ff;">&quot;Game.DrawSmiley()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//-------Going to draw a smiley face on the pixmap, which will show on the texture</span>
		<span style="color: #666666; font-style: italic;">//draw a yellow circle for the smiley faces head</span>
		pixmap.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap.<span style="color: #006633;">fillCircle</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//first draw a black circle for the smile</span>
		pixmap.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap.<span style="color: #006633;">fillCircle</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">140</span>, <span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//then a yellow larger over it, to make it look like a partial circle/ a smile</span>
		pixmap.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap.<span style="color: #006633;">fillCircle</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//now draw the two eyes</span>
		pixmap.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap.<span style="color: #006633;">fillCircle</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap.<span style="color: #006633;">fillCircle</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		texture.<span style="color: #006633;">draw</span><span style="color: #009900;">&#40;</span>pixmap, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		texture.<span style="color: #006633;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> dispose<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		Gdx.<span style="color: #006633;">app</span>.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MyLibGDXGame&quot;</span>, <span style="color: #0000ff;">&quot;Game.dispose()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//dispose any object you created to free up the memory</span>
		texture.<span style="color: #006633;">dispose</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pixmap.<span style="color: #006633;">dispose</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		batcher.<span style="color: #006633;">dispose</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pause<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		Gdx.<span style="color: #006633;">app</span>.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MyLibGDXGame&quot;</span>, <span style="color: #0000ff;">&quot;Game.pause()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> render<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//need to get the deltaTime- the amount of time passed since the last frame in seconds. We'll want to move everything based on the time passed- so if it renders slower on the phone, it should still move at the same rate</span>
		<span style="color: #000066; font-weight: bold;">float</span> deltaTime<span style="color: #339933;">=</span>Gdx.<span style="color: #006633;">graphics</span>.<span style="color: #006633;">getDeltaTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//clear the background to black each frame- otherwise we'll see our smiley face &quot;ghosting&quot; as it moves</span>
		GLCommon gl <span style="color: #339933;">=</span> Gdx.<span style="color: #006633;">gl</span><span style="color: #339933;">;</span>
		gl.<span style="color: #006633;">glClearColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		Gdx.<span style="color: #006633;">gl</span>.<span style="color: #006633;">glClear</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_COLOR_BUFFER_BIT</span> <span style="color: #339933;">|</span> GL10.<span style="color: #006633;">GL_DEPTH_BUFFER_BIT</span> <span style="color: #339933;">|</span> GL10.<span style="color: #006633;">GL_STENCIL_BUFFER_BIT</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//start the batcher, so we would want to do all of our draw calls between batcher.begin and .end</span>
		batcher.<span style="color: #006633;">begin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		batcher.<span style="color: #006633;">draw</span><span style="color: #009900;">&#40;</span>texture, smiley_pos.<span style="color: #006633;">x</span>, smiley_pos.<span style="color: #006633;">y</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		batcher.<span style="color: #006633;">end</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//move it up to 4 px per frame</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #339933;">*</span>deltaTime<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span>
			smiley_pos.<span style="color: #006633;">x</span><span style="color: #339933;">+=</span><span style="color: #cc66cc;">200</span><span style="color: #339933;">*</span>deltaTime<span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//otherwise, we'll only want to move him 4pixels every frame</span>
		<span style="color: #000000; font-weight: bold;">else</span>
			smiley_pos.<span style="color: #006633;">x</span><span style="color: #339933;">+=</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//if the left side of the smiley face is off the left side of the screen, move it to -smiley width- which puts the right side of the smiley face just off the left side of the screen, so it looks like it wraps around</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>smiley_pos.<span style="color: #006633;">x</span><span style="color: #339933;">&gt;</span>SCREEN_WIDTH<span style="color: #009900;">&#41;</span>
			smiley_pos.<span style="color: #006633;">x</span><span style="color: #339933;">=-</span><span style="color: #cc66cc;">256</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> resize<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> arg0, <span style="color: #000066; font-weight: bold;">int</span> arg1<span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> resume<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		Gdx.<span style="color: #006633;">app</span>.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MyLibGDXGame&quot;</span>, <span style="color: #0000ff;">&quot;Game.resume()&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><b>Line 3: </b>For all the import statements, we just type out the classes that we need, use “ctrl+space” to autocomplete it, which automatically also adds the import statement above, of the classes we’re using for this file.</p>
<p><b>Line 15: </b>Next we set up a static screen size, which will let us put down whatever screen resolution that we want to test, and see the changes in our Java version, so we can have an idea about how our game will look on devices with other resolutions that we haven’t been able to test on.</p>
<p><b>Line 19: </b>From there, we create a SpriteBatcher for the class, which will let us render out many different textures if we need to, and be more optimal, since it will all happen at once later.<br />
The texture is what we can actually draw using the SpriteBatcher. With OpenGL, all your textures NEED to be an multiple of 2– so 32,64,128,256,512,1024,2048 ect. You can have a texture 512px X 1024px, but you can’t have one 800x480, since both numbers aren’t a multiple of 2. </p>
<p>This seems very restrictive, but there are ways around it, which also increase efficiency. You can have “spritesheets”, with multiple different images on an overall texture that is a multiple of 2. So the engine only needs to load one image file, which saves time loading, and you can have many images stored on that one image.<br />
You can do this in Photoshop, but if you have a lot of images, or might update them regularly, I highly recommend <a href="http://www.texturepacker.com/">Texture Packer</a>, it’s a great little program that saves loads of time. The free version works for everything, but if you want to have optimal texture packing for the smallest memory use, you would be wise to later get the “pro” version with more efficient algorithms.</p>
<p><b>Line 98: </b>Next, we create a ‘smiley_pos’ 2d vector to keep track of the x and y position we will be drawing the smiley face at.</p>
<p><b>Line 27: </b>The ‘create’ function is one of the many built in functions implemented from “ApplicationListener”. Here, we set up and initialize everything that we will need for the game. </p>
<p><b>Line 29: </b>‘Gdx.app.log()’ is used to log stuff out to the console, at the bottom of the eclipse window. This is the primary way you debug your game– output stuff, so you can see where it fails, or values that you might not be sure of, so you can trace down where problems might be, and there will always be problems <img src='http://chrismweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><b>Line 31: </b>We set the screen width/height to whatever GDX has for the current screen dimensions– which will be whatever we put at the top of our game class if running the Java version of our app, or whatever the native resolution is for our android version.</p>
<p><b>Line 35: </b>Next we setup the objects we’ll need to draw out our vector image. We made the pixmap 256x256 (Note: this is a power of 2, because it has to be), and we assign the texture the pixmap that we’ll be drawing on. </p>
<p><b>Line 40: </b>We then setup the starting position of the smiley face to be centered — at half the width and height of the screen, minus half the width and height of the image (so the center of the image is aligned with the center of the screen).</p>
<p><b>Line 43: </b>Lastly, we call out “DrawSmiley” function/method which will actually draw the smiley face on the pixmap, and the pixmap on the texture.</p>
<p><b>Line 71: </b>We’ll set our “dispose” method to dispose of any object that we created that has a dispose function.</p>
<p><b>Line 87: </b>Finally, we get to our main game loop, which is the “render” method. Every frame this gets called, so if we move, or do stuff here, it will update on the screen each frame. </p>
<p><b>Line 90: </b>We create a variable for the deltaTime– the amount of time passed since the previous render, which we’ll use to move our smiley face at the same speed, regardless of render speed. </p>
<p><b>Line 93: </b>The next 3 lines are used to clear the screen, so we start with a black canvas every frame, otherwise we’d see our smiley face not clear each frame, and see a “ghosting” effect from having each image rendered on top of the old ones.</p>
<p><b>Line 98: </b>Now we finally get to rendering our texture with the smiley face out to the screen. We have to start the batcher before we draw, and end it after we finish drawing everything.</p>
<p><b>Line 103: </b>We’ll check if the time passed multiplied by 200 is less than 4, and if so, we’ll move it by that much. If it tries to skip over 4, we’ll only move it at 4. This makes it so that when it loads, the first frame might be before initializing everything, and the second one might be a second longer, so it could stutter and move the smiley face 200px in one frame, and be an obvious stutter!</p>
<p><b>Line 110: </b>Finally if the left side of the smiley face is off of the right side of the screen, we’ll move it so that the right side of the image is at the left side of the screen– so it appears to wrap around the screen.</p>
<p>Now that we have the game class created, which will be shared between both the desktop and android version, we can go back to the “DesktopStarter” class, and tell it to start the game. </p>
<p>So back in the “DesktopStarter.java”, change it to the following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.mylibgdxgame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.backends.jogl.JoglApplication</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> DesktopStarter 
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//Create a new JoglApplication, which we need to pass our main GAME class when it is finished</span>
		<span style="color: #000000; font-weight: bold;">new</span> JoglApplication<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Game<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #0000ff;">&quot;My First LibGDX Game&quot;</span>, Game.<span style="color: #006633;">SCREEN_WIDTH</span>, Game.<span style="color: #006633;">SCREEN_HEIGHT</span>, <span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>If you started typing out “JoglA” and press ctrl+space (Eclipse auto complete), the code completion will have shown you two different options, one of which was “new JoglApplication(arg0, arg1, arg2, arg3, arg4)”, which it tells us is an application listener, a string, 2 ints, and a boolean value.<br />
But what the heck do they need to be? This is where the API documents come in very handy, which are located at: <a href="http://libgdx.l33tlabs.org/docs/api/">http://libgdx.l33tlabs.org/docs/api/</a>.<br />
On the left hand side, scroll down and click on “JoglApplication”, which will bring up information about that class in the main window. You’ll see the line:<br />
“JoglApplication(ApplicationListener listener, java.lang.String title, int width, int height, boolean useGL20IfAvailable) “, which tells you exactly what you want to know– the ApplicationListener is your game class, the title is whatever you want to call your game, the width, height, and whether you want it to use OpenGL 2.0 if available (we just set this to false for now).</p>
<p>Now with the DesktopStarter.java  still selected, hit F11 on your keyboard (or the little bug icon on the top left of your screen), run as a Java Application, and you should see the smiley face moving on screen.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/java_smiley_moving.jpg" alt="" title="java_smiley_moving" width="640" height="384" class="aligncenter size-full wp-image-785" /></p>
<p>Now that we have something to show as our first “game” using LibGDX and showing in java on our computer, we’ll make the Android project to be able to run it on our phone or the android emulator, which can be setup through the android SDK.</p>
<h2>Creating the Android Project</h2>
<p>Now we can finally create the Android project, to run our small demo. In Eclipse, click on “File-&gt;New-&gt;Project”. Double click on the “Android” folder, then click on “Android Project”, and click “Next”.</p>
<p>Give it a project name of “MyLibGDXGameAndroid”, click on the highest available build target (Android 3.2 in my case– one of the things we downloaded through the ADT plugin), change the “package name” to “com.mylibgdxgame”, and the min SDK version to “3”, which is android 1.5. This allows you to let your application be installed on lower versions of android, as well as being able to use more recent features, if available on the device. Click “Finish”, and it will create your Android Project.</p>
<p>Now we need to add the libraries for libGDX that we need for our android version. Right click on “MyLibGDXGameAndroid” project on the left hand side, and click “New-&gt;Folder”, name it “libs” and click “Finish”.<br />
Go to the folder on your computer where you unzipped the LibGDX files, and copy:</p>
<ul>
<li>The two arm folders (armeabi, and armeabi-v7a)</li>
<li>gdx.jar</li>
<li>gdx-backend-android.jar</li>
</ul>
<p>and copy them into your android project “lib” folder.</p>
<p>Now we have to tell the project about them again, like before. So Click on the top “Project-&gt;Properties”, click on “Java Build Path” on the left hand side.<br />
While we’re here, we will add our desktop game to the resources, so that it uses those files to create the android game.<br />
Click on “Projects” at the top of this window, click “Add…” on the right hand side, click the check box next to “MyLibGDXGame”, and click “OK”.</p>
<p><img src="http://chrismweb.com/wp-content/uploads/2011/10/eclipse_add_project.jpg" alt="" title="java_smiley_moving" width="640" height="384" class="aligncenter size-full wp-image-785" /></p>
<p>Next click “Libraries” at the top, click “Add JARs” on the right, double click “MyLibGDXGameAndroid”, double click on “libs”, and click on the two jar files, with shift held for the second to select both of them, and click “OK”.</p>
<p>Now, back in the main Eclipse window, on the left side in the projects window/“package explorer” double click the ‘src’ folder inside your “MyLibGDXGameAndroid” project, and double click on your package name (com.mylibgdxandroidgame), and double click on the default created main class (MyLibGDXGameAndroidActivity), which will bring up that class file in your editor on the right hand side.</p>
<p>We need to change it from a default activity, to one that is derived with libgdx functionality. </p>
<p>You should originally have something like:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.mylibgdxgame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.app.Activity</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyLibGDXGameAndroidActivity <span style="color: #000000; font-weight: bold;">extends</span> Activity <span style="color: #009900;">&#123;</span>
    <span style="color: #008000; font-style: italic; font-weight: bold;">/** Called when the activity is first created. */</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span>Bundle savedInstanceState<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        setContentView<span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">layout</span>.<span style="color: #006633;">main</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Which we’ll change to:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.mylibgdxgame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.badlogic.gdx.backends.android.AndroidApplication</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.mylibgdxgame.Game</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyLibGDXGameAndroidActivity <span style="color: #000000; font-weight: bold;">extends</span> AndroidApplication <span style="color: #009900;">&#123;</span>
    <span style="color: #008000; font-style: italic; font-weight: bold;">/** Called when the activity is first created. */</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span>Bundle savedInstanceState<span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        initialize<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Game<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>We are just extending the “AndroidApplication” class from LibGDX, and starting our Game class from the Java version of the project, and that is it for programming!</p>
<p>Hit ‘F11’ (or click the little bug icon towards the top of Eclipse), click “Android Application”. If you have an android device plugged in to your usb (and with “USB Debugging” enabled under “settings-&gt;Applications-&gt;Development” on your android) you can just double click on your device at the top of this new window (Android Device Chooser). If you don’t or would rather try it through the emulator for now, you need to create an android virtual device (just create an android 1.5 device to test on– maybe give it 64mb “SD card” in the settings)</p>
<p>(Note: If you are trying to run on your device, but it does not show it when you try to run, you need to install the USB drivers for your device. You can find some here:<br />
<a href="http://developer.android.com/sdk/win-usb.html">http://developer.android.com/sdk/win-usb.html<a/>, but you may need to download them for your device<br />
for HTC devices, I uploaded the 32bit and 64bit drivers:<br />
HTC driver for 32-bit Windows 7: <a href='http://chrismweb.com/wp-content/uploads/2011/10/HTC_Driver_32.zip'>HTC_Driver_32</a><br />
HTC driver for 64-bit Windows 7: <a href='http://chrismweb.com/wp-content/uploads/2011/10/HTC_Driver_64.zip'>HTC_Driver_64</a><br />
[right click on my computer, properties, device manager, find the android device, right click and update driver, point to the folder where you unzipped your usb driver])</p>
<p>(Note: It may take a few minutes to load in the emulator, should show the android logo, then finally get to a conventional home screen, and finally launch your app. If it doesn’t, but is at the home screen, you can try hitting “F11” again in the eclipse interface, while leaving the emulator open, to make it compile again. You can see the progress on the bottom of the eclipse interface in the console window– or clicking on the “debug” on the top right will bring you to the debug perspective, which will show you the ‘Logcat’ window, with even more information)</p>
<p>Now you should see the smiley face moving on your android device, or the android emulator!!</p>
<h2>What is next?</h2>
<p>Now that you have a basic “game” working on both the java and android version, it would be best to start making it more of a game, with some interaction, loading graphics and displaying them.</p>
<p>We’ll go through this in the next part, but until then I reccomend looking at the game demo’s for libGDX, the jumper game is especially helpful (showing you how to load textures, use input, play music+ sounds, create different screens, and a menu system)</p>
<h2>Resources</h2>
<p>You can see the LibGDX forums (Search for your question before asking at: <a href="http://www.badlogicgames.com/forum/">http://www.badlogicgames.com/forum/</a></p>
<p>You can see Mario’s blog (one of the creators of LibGDX) at: <a href="http://www.badlogicgames.com/">http://www.badlogicgames.com/forum/</a></p>
<p>The main LibGDX sites are:<br />
The google code site with a few tutorials and a video: <a href="http://code.google.com/p/libgdx/">http://code.google.com/p/libgdx/</a><br />
The new main site for LibGDX: <a href="http://libgdx.badlogicgames.com/">http://libgdx.badlogicgames.com/</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7850"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/uln2dCsbcVM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/10/18/how-to-start-creating-android-games-using-the-libgdx-game-development-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/10/18/how-to-start-creating-android-games-using-the-libgdx-game-development-framework/</feedburner:origLink></item>
		<item>
		<title>Flash Development for Android Cookbook Review</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/48HnSfXJRMA/</link>
		<comments>http://chrismweb.com/2011/09/29/flash-development-for-android-cookbook-review/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 20:54:20 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=779</guid>
		<description><![CDATA[This is an awesome book to bring your Flash games and programs to Android! This book provides you with everything you need to start developing programs and games on android using Adobe AIR, assuming you already have some knowledge in ActionScript. It shows short “recipes” on how to interface with everything that you would want [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chrismweb.com/wp-content/uploads/2011/09/flash_development_for_android_cookbook.jpg" alt="" title="flash_development_for_android_cookbook" width="640" height="250" class="aligncenter size-full wp-image-781" /><br />
This is an awesome book to bring your Flash games and programs to Android!</p>
<p>This book provides you with everything you need to start developing programs and games on android using Adobe AIR, assuming you already have some knowledge in ActionScript.<br />
It shows short “recipes” on how to interface with everything that you would want to on the phone, from gestures, drawing, acceleration and geolocation, camera, microphone, images, video, audio, local storage and SQLLite, to even putting the final app on the market.</p>
<p>Every recipe is well written, and specific to the interface you will be looking for, so you can easily find how to use the accelerometer, or load up the browser within your app. Most examples show how to do everything in Flash Builder (Flex), Flash ‘professional’, FDT, and even command line, so you have many options (although the code will work well in any of them).</p>
<p>The only negative I found with the book is that in Chapter 1, you learn how to compile, and run a program on Android, but Chapter 10 is when it actually goes into debugging, and setting up different configurations for testing your app. I wasn’t sure how to have the app test run in Windows instead of running on my Android directly until that chapter (although it is a cookbook– you pick which chapter is relevant what you’re trying to do).</p>
<p>If you have built applications or games using Flash/Flex before, and would like to have a version running on Android, this book will give you all the information you need, and is a great reference as well!</p>
<p>Get it now to get your Flash apps running on Android!</p>
<p><a href="http://www.packtpub.com/flash-development-for-android-cookbook/book">http://www.packtpub.com/flash-development-for-android-cookbook/book</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7800"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/48HnSfXJRMA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/09/29/flash-development-for-android-cookbook-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/09/29/flash-development-for-android-cookbook-review/</feedburner:origLink></item>
		<item>
		<title>Review of Cryengine 3 Cookbook</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/A4LEXBacd9o/</link>
		<comments>http://chrismweb.com/2011/09/24/review-of-cryengine-3-cookbook/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 01:00:46 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=773</guid>
		<description><![CDATA[I picked up this book because I wanted to get some hands on experience using the CryEngine with a reference book, but had not used the CryEngine before. I feel this book is more aimed towards beginners, and allows someone new to the CryEngine to be able to easily jump in, and have a reference [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chrismweb.com/wp-content/uploads/2011/09/cryengine-review.jpg" alt="" title="CryEngine3 Cookbook review Image header" width="640" height="236" class="aligncenter size-full wp-image-776" /></p>
<p>I picked up this book because I wanted to get some hands on experience using the CryEngine with a reference book, but had not used the CryEngine before.</p>
<p>I feel this book is more aimed towards beginners, and allows someone new to the CryEngine to be able to easily jump in, and have a reference for doing a ton of stuff that might not be very straight forward, as well as a lot of detail on using the interface.</p>
<p>Overall, just reading through the first chapters, I was able to get comfortable with the interface, and able to create and setup my own basic level. Further on, the book goes into a more general “cookbook” style, with recipes for doing a variety of different things you might need in your level.</p>
<p>The book is well written, easy to read and a beginner can pick it up without a problem. There are lots of recipes for most things you would want to do, such as: creating terrain, changing level layout, placing items, changing lighting, putting down enemies, creating assets to import into the CryEngine, creating vehicles, some game logic, creating cut scenes, and much more.</p>
<p>The one problem I did have with using the book with the CryEngine are that the assets have changed since the book was published, so some of the items, or textures it tells you to look for at the beginning aren’t there. You can use alternatives instead, but it would be nice if the downloadable files included them, or you could know which version of the CryEngine Sandbox was used in the book.</p>
<p>Overall a great book for learning how to use the CryEngine Sandbox, with lots of helpful recipes that will have you creating cool levels.</p>
<p>It was also very interesting frm a game developers standpoint to see the CryEngine Sandbox tool, how it was made, and what kind of things were taken into account for creating levels. It gives me better insight into how I should layout my own tools, for simpler game development projects <img src='http://chrismweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>You can see the book here:<br />
<a href="http://www.packtpub.com/cryengine-3-cookbook/book">http://www.packtpub.com/cryengine-3-cookbook/book</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7740"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/A4LEXBacd9o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/09/24/review-of-cryengine-3-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/09/24/review-of-cryengine-3-cookbook/</feedburner:origLink></item>
		<item>
		<title>Ackmi Dress Up for Android on the Market!!</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/VNUWLSwMkJ4/</link>
		<comments>http://chrismweb.com/2011/07/19/ackmi-dress-up-for-android-on-the-market/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 17:34:05 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Personal Projects]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=769</guid>
		<description><![CDATA[Sorry about the lack of updates and additional tutorials lately. I have been busy trying to finish my first android game with my fiance. I have been learning how to program using the libgdx game framework, and it makes the whole process of programming an openGL based game much smoother. It’s a game used to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrismweb.com/2011/07/19/ackmi-dress-up-for-android-on-the-market/featureimage640x313/" rel="attachment wp-att-770"><img src="http://chrismweb.com/wp-content/uploads/2011/07/FeatureImage640x313.jpg" alt="" title="Ackmi Dress Up" width="640" height="313" class="aligncenter size-full wp-image-770" /></a></p>
<p>Sorry about the lack of updates and additional tutorials lately. I have been busy trying to finish my first android game with my fiance. </p>
<p>I have been learning how to program using the libgdx game framework, and it makes the whole process of programming an openGL based game much smoother. </p>
<p>It’s a game used to create your own avatar, somewhat like a virtual barbie dress up game, so aimed more at girls. It is really more of a “toy” than a game as of right now, but we do have plans for adding goals, rewards and feedback to convert the customization system into a game with many hours of re-playability. </p>
<p>I will be posting tutorials on how to use it to create your own android games in the next few posts.</p>
<p>In the mean time, check out the android app, let me know what you think and provide feedback! </p>
<p>Our company website:<br />
<a href="http://www.ackmi.com">http://www.ackmi.com</a></p>
<p>The link on the app store:<br />
<a href="https://market.android.com/details?id=com.ackmi.amazing_dress_up&#038;feature=search_result">https://market.android.com/details?id=com.ackmi.amazing_dress_up&amp;feature=search_result</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7700"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/VNUWLSwMkJ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/07/19/ackmi-dress-up-for-android-on-the-market/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/07/19/ackmi-dress-up-for-android-on-the-market/</feedburner:origLink></item>
		<item>
		<title>Packt Publishing 30% of open source ebooks</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/J15KO-KBPEU/</link>
		<comments>http://chrismweb.com/2011/07/13/packt-publishing-30-of-open-source-ebooks/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 05:57:53 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=760</guid>
		<description><![CDATA[I’ve been getting a lot of my technical books from Packt Publishing, as they seem to have a ton of tech books, and e-book copies of everything, so I don’t have to wait to read them. If you’ve been interested in any of their open source based software books, they are going to be on [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrismweb.com/2011/07/13/packt-publishing-30-of-open-source-ebooks/packt_30percent/" rel="attachment wp-att-762"><img src="http://chrismweb.com/wp-content/uploads/2011/07/packt_30percent.jpg" alt="" title="packt_30percent" width="640" height="101" class="aligncenter size-full wp-image-762" /></a></p>
<p>I’ve been getting a lot of my technical books from Packt Publishing, as they seem to have a ton of tech books, and e-book copies of everything, so I don’t have to wait to read them.</p>
<p>If you’ve been interested in any of their open source based software books, they are going to be on sale for 30% off on e-books (and 20% on printed copies) starting July 4th.</p>
<p>Some that I will be looking at in the next few weeks will be ‘PHP jQuery Cookbook’, ‘PHP 5 Social Networking’, ‘Inkscape 0.48 Essentials for Web Designers’ (vector based graphics program, and ‘Blender 2.5 Lighting and Rendering’, although they have quite a few more books offered for the discount as well.</p>
<p>Apparently they have also donated over $300k to open sourced projects this year as well, which is pretty cool that they are helping to support the open source community.</p>
<p>I’ve got lots of good reading to do!</p>
<p>You can see the books discounted here: <a href="http://www.packtpub.com/article/packts-best-selling-open-source-books-offer/">http://www.packtpub.com/article/packts-best-selling-open-source-books-offer/</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7610"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/J15KO-KBPEU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/07/13/packt-publishing-30-of-open-source-ebooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/07/13/packt-publishing-30-of-open-source-ebooks/</feedburner:origLink></item>
		<item>
		<title>CakePHP 1.3 Application Development Cookbook Review</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/rL2X1n5PxyQ/</link>
		<comments>http://chrismweb.com/2011/07/03/cakephp-1-3-application-development-cookbook-review/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 23:40:05 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=747</guid>
		<description><![CDATA[I have been developing web sites and web applications for several years now, but have been wanting to try out a PHP development framework to take care of not having to program lower level functionality, which would also let me develop applications in much less time. CakePHP is a php, rapid development framework, and the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrismweb.com/2011/07/03/cakephp-1-3-application-development-cookbook-review/cake_php_image/" rel="attachment wp-att-749"><img src="http://chrismweb.com/wp-content/uploads/2011/07/cake_php_image1.jpg" alt="" title="cake_php_image" width="640" height="200" class="aligncenter size-full wp-image-749" /></a></p>
<p>I have been developing web sites and web applications for several years now, but have been wanting to try out a PHP development framework to take care of not having to program lower level functionality, which would also let me develop applications in much less time.</p>
<p><a href="http://cakephp.org/">CakePHP</a> is a php, rapid development framework, and the tutorials on the site walk you through creating a basic blog application in relatively little time.<br />
The <a href="https://www.packtpub.com/cakephp-1-3-application-development-cookbook/book">CakePHP 1.3 Application Development Cookbook</a>, like all “Cookbooks”, gives you many code snippets to create commonly needed systems, which are used to create complex applications. </p>
<p><span id="more-747"></span></p>
<h2>Chapter List</h2>
<p>The chapter list from the books table of contents includes:</p>
<p>1. Authentication<br />
2. Model Bindings<br />
3. Pushing the Search<br />
4. Validation and Behaviors<br />
5. Datasources<br />
6. Routing Magic<br />
7. Creating and Consuming Web Services<br />
8. Working with Shells<br />
9. Internationalizing Applications<br />
10. Testing<br />
11. Utility Classes and Tools</p>
<h2>Overview</h2>
<p>The book covers a wide range of topics that would be useful in most applications that you are likely to develop. From creating a user login and authorization system, or using the OpenID system to login users, to gathering data from different sources, such as CSV files, RSS feeds and even twitter, there are many different recipes that are invaluable, and save time when working with CakePHP to create online applications.</p>
<p>It is worth noting though that this book is not aimed at beginners to CakePHP, and although you could understand the code after at least completing the blog tutorial on the CakePHP site, the book will be most valuable to developers who have used CakePHP before, and need to integrate any of the normal systems that the book covers into their CakPHP based application.</p>
<p>Overall it is a very helpful cookbook type book for finding recipes for adding useful functionality to your CakePHP applications.</p>
<p>You can pick it up at the Packt Publishing site here:<br />
<a href="https://www.packtpub.com/cakephp-1-3-application-development-cookbook/book">https://www.packtpub.com/cakephp-1–3-application-development-cookbook/book</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7480"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/rL2X1n5PxyQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/07/03/cakephp-1-3-application-development-cookbook-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/07/03/cakephp-1-3-application-development-cookbook-review/</feedburner:origLink></item>
		<item>
		<title>Quick Post on Learning Photoshop– from a College Humor Rap Video!</title>
		<link>http://feedproxy.google.com/~r/ChrismWeb/~3/fRidEOCgwqY/</link>
		<comments>http://chrismweb.com/2011/06/04/quick-post-on-learning-photoshop-from-a-college-humor-rap-video/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 07:49:00 +0000</pubDate>
		<dc:creator>Chris Moeller</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://chrismweb.com/?p=741</guid>
		<description><![CDATA[I just came across this on Hulu, but thought some other Photoshop users would find it funny (as well as slightly useful if you understand what they are saying. Very clever– I’d like to start doing some tutorials in this fashion! http://www.hulu.com/watch/245172/collegehumor-sketches-photoshop-tutorial-rap#s-p1-sr-i0]]></description>
			<content:encoded><![CDATA[<p><img src="http://chrismweb.com/wp-content/uploads/2011/06/photoshop_rap.jpg" alt="" title="photoshop_rap" width="640" height="200" class="aligncenter size-full wp-image-742" /></p>
<p>I just came across this on Hulu, but thought some other Photoshop users would find it funny (as well as slightly useful if you understand what they are saying.</p>
<p>Very clever– I’d like to start doing some tutorials in this fashion! </p>
<p><a href="http://www.hulu.com/watch/245172/collegehumor-sketches-photoshop-tutorial-rap#s-p1-sr-i0">http://www.hulu.com/watch/245172/collegehumor-sketches-photoshop-tutorial-rap#s-p1-sr-i0</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-7420"></div></div><img src="http://feeds.feedburner.com/~r/ChrismWeb/~4/fRidEOCgwqY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://chrismweb.com/2011/06/04/quick-post-on-learning-photoshop-from-a-college-humor-rap-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://chrismweb.com/2011/06/04/quick-post-on-learning-photoshop-from-a-college-humor-rap-video/</feedburner:origLink></item>
	</channel>
</rss>

