<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	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/"
	>

<channel>
	<title>TheNex - Nex Game Studios</title>
	<atom:link href="https://nexgamestudios.com/author/lordnedox/feed/" rel="self" type="application/rss+xml" />
	<link>https://nexgamestudios.com/author/lordnedox/</link>
	<description>Nex Game Studios - Android, iOS and Windows Phone Games, Tutorials, Guides, Tips</description>
	<lastBuildDate>Sat, 07 Apr 2012 06:02:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.7</generator>
	<item>
		<title>Grab And Run 1.0 Released</title>
		<link>https://nexgamestudios.com/all-posts/grab-and-run.html/</link>
					<comments>https://nexgamestudios.com/all-posts/grab-and-run.html/#comments</comments>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 22 Jan 2012 05:25:12 +0000</pubDate>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Grab And Run]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Create]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Grab and Run]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=41</guid>

					<description><![CDATA[<p>Grab And Run has been released in the Android Market! I&#8217;m glad to say that my first Android game Grab And Run is now available for<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/grab-and-run.html/">Grab And Run 1.0 Released</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h4>Grab And Run has been released in the Android Market!</h4>
<p>I&#8217;m glad to say that my first Android game <a title="Grab And Run" href="https://nexgamestudios.com/grab-and-run/">Grab And Run </a>is now available for free in the android market.</p>
<p>I have implemented everything I wanted for the first release, but there are still a bunch of things I wish to improve in the next versions:</p>
<p>&#8211; More levels: even the 10 current levels are quite a challenge, I wish to keep adding new levels on a regular basis</p>
<p>&#8211; Different input modes: the physical keyboard support has already been implemented, but I would like to add  accelerometer support as well</p>
<p>&#8211; Different character styles: the game already support different style for the player and enemies characters, I will add them as soon as I can prepare the sprites</p>
<p>&#8211; Different levels of difficulty: just to make it more fun for skilled players</p>
<p>&#8211; Implement scoreloop challenges and leaderboards</p>
<p>&nbsp;</p>
<p>Find out more info about the game in the <a title="Grab And Run" href="https://nexgamestudios.com/grab-and-run/">dedicated page</a> !</p>
<p>&nbsp;</p>
<p><a href="http://market.android.com/details?id=com.nex.andro"> <img decoding="async" src="https://www.android.com/images/brand/60_avail_market_logo2.png" alt="Available in Android Market" /></a></p>
<p><a href="http://market.android.com/details?id=com.nex.andro"><br />
</a></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/grab-and-run.html/">Grab And Run 1.0 Released</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nexgamestudios.com/all-posts/grab-and-run.html/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Creation of an Android game &#8211; #1 Introduction</title>
		<link>https://nexgamestudios.com/all-posts/making-an-android-game-1-introduction.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 22 Jan 2012 05:27:58 +0000</pubDate>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Create]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Game]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=46</guid>

					<description><![CDATA[<p>So you want to know how to make an Android game? In this blog I will not create a &#8220;yet another Android game tutorial&#8221; as you<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/making-an-android-game-1-introduction.html/">Creation of an Android game &#8211; #1 Introduction</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>So you want to know how to make an Android game?</strong></p>
<p>In this blog I will not create a &#8220;yet another Android game tutorial&#8221; as you may find by dozen search on the web.</p>
<p>I will try instead to reassemble the steps it took me to create a complete, playable and distributable Android game, also reporting the results of such process so you may have an idea of what your are going to face, if you wish to prove yourself on creating a new game.</p>
<p>I hope you will enjoy the site and participate with your comments and suggestions, and hopefully someone will find these contents useful.</p>
<p>&nbsp;</p>
<p>Happy gaming, happy programming!</p>
<p>&nbsp;</p>
<p>The post <a href="https://nexgamestudios.com/all-posts/making-an-android-game-1-introduction.html/">Creation of an Android game &#8211; #1 Introduction</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Creation of an Android game &#8211; #2 Gathering the tools</title>
		<link>https://nexgamestudios.com/blog/android/creation-of-an-android-game-2-gathering-the-tools.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 22 Jan 2012 13:42:41 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Create]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Tools]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=71</guid>

					<description><![CDATA[<p>The first day I started downloading the latest version of all the need tools, just to avoid any problem I could encounter in the future. So,<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/blog/android/creation-of-an-android-game-2-gathering-the-tools.html/">Creation of an Android game &#8211; #2 Gathering the tools</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The first day I started downloading the latest version of all the need tools, just to avoid any problem I could encounter in the future.</p>
<p>So, a brand new <span style="text-decoration: underline;"><a title="Java JDK" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">JDK 7 </a></span>, the latest version of <span style="text-decoration: underline;"><a title="Eclise for Java Developers" href="http://www.eclipse.org/downloads/" target="_blank">Eclipse for Java Developers</a>, </span> the <span style="text-decoration: underline;"><a title="Android SDK" href="http://developer.android.com/sdk" target="_blank">Android SDK</a>, </span>and all the <a title="Eclipse Plugins" href="http://developer.android.com/sdk/eclipse-adt.html" target="_blank">E<span style="text-decoration: underline;">clipse Plugins</span></a>, to develop for Android 2.1 and above.</p>
<p><span id="more-71"></span></p>
<p>The I prepared a new folder ready to contain all the resources:</p>
<p>&#8211;          A new eclipse workspace</p>
<p>&#8211;          Images, Videos and Sound for the game</p>
<p>&#8211;          3<sup>rd</sup> party libraries, such as Google Analytics, Flurry, Scoreloop and so</p>
<p>&#8211;          Downloads related to the game development</p>
<p>&#8211;          Useful samples found on the web</p>
<p>And finally, I created the new Android Project, codename “Andro2012”, as at that time the name was not yet decided.</p>
<p><strong>Ready to start some programming!</strong></p>
<p>&nbsp;</p>
<p><a title="Creation of an Android game – #3 Game Activity, Game View, The Main Loop" href="https://nexgamestudios.com/home/creation-of-an-android-game-3-game-activity-game-view-the-main-loop.html/" rel="bookmark">#3 Game Activity, Game View, The Main Loop</a></p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><br />
</span></p>
<p>The post <a href="https://nexgamestudios.com/blog/android/creation-of-an-android-game-2-gathering-the-tools.html/">Creation of an Android game &#8211; #2 Gathering the tools</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Creation of an Android game – #3 Game Activity, Game View, The Main Loop</title>
		<link>https://nexgamestudios.com/blog/android/creation-of-an-android-game-3-game-activity-game-view-the-main-loop.html/</link>
					<comments>https://nexgamestudios.com/blog/android/creation-of-an-android-game-3-game-activity-game-view-the-main-loop.html/#comments</comments>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 22 Jan 2012 13:55:58 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Create]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Game Activity]]></category>
		<category><![CDATA[Game View]]></category>
		<category><![CDATA[The Main Loop]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=78</guid>

					<description><![CDATA[<p>In my nature I like to go straight to the core of the software I’m doing, post poning other less important aspects to a later stage<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/blog/android/creation-of-an-android-game-3-game-activity-game-view-the-main-loop.html/">Creation of an Android game – #3 Game Activity, Game View, The Main Loop</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In my nature I like to go straight to the core of the software I’m doing, post poning other less important aspects to a later stage of the development.</p>
<p>In the game development, the core is the Game Activity, the view that contains the running game itself. Let’s forget for now the main menu, options views, leaderboards and other tasks.</p>
<p><span id="more-78"></span></p>
<p>Basically the Game Activity is just a container for the Game View, a custom control which will contain the graphics of the game.  So the class itself will be empty, while the layout code will be something like:</p>
<pre class="brush:xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"&gt;

    &lt;com.nex.andro.game.GameView
      android:id="@+id/gameView"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"/&gt;

&lt;/RelativeLayout&gt;</pre>
<p>&nbsp;</p>
<p>The GameView control will face as the owner of two important objects:</p>
<p>&#8211;          The Game Thread, running the main loop, handling the running, stopped and paused states of the game</p>
<p>&#8211;          The Game Engine class, an object handling everything that happens during the game</p>
<p>To understand what is the main loop of a game, please follow these links which I found useful:</p>
<p>&#8211;          <span style="text-decoration: underline;">Link 1</span></p>
<p>&#8211;          <span style="text-decoration: underline;">Link 2</span></p>
<p>An important thing to keep in mind, while preparing the main loop, is that it is stricly related to the maximum number of loops per second you can achieve. This number depends on many factors, for example the hardware running the game (CPU, Screen resolution, …) and the quantity and quality of the graphics (more and detailed graphics require more time to be drawn).</p>
<p>In my case, I had no heavy graphics so I concentrated on limiting the number of loops, to avoid a game too fast and unusable. There are plenty of solutions around, but in my opinion sometimes the simplest way is the solution.</p>
<p>So let’s say I want a maximum of 15 loops per second, a value that makes the game fast enough for my taste.  First we calculate the minimum time for a single loop:</p>
<pre class="brush:java">int minLoopTime = 1000 / limitFps;</pre>
<p>&nbsp;</p>
<p>This gives me about 66 milliseconds to paint all the graphics.. plenty of time.</p>
<p>Then at the end of each loop, I will measure the time elapsed, and make the thread sleep for the remaining time:</p>
<pre class="brush:java">long sleepTime = minLoopTime - (endTime - startTime);

if (sleepTime &gt; 0) {

  Thread.sleep(sleepTime);

}</pre>
<p><em><br />
</em></p>
<p>Simple, right?</p>
<p><em>And now, the final code of the GameView class (not perfect, but a good starting point)</em></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<pre class="brush:java">public class GameView extends SurfaceView implements SurfaceHolder.Callback {

	class GameThread extends Thread {

		private SurfaceHolder mSurfaceHolder;

		private Handler handler;

		private Context context;

		private GameEngine gameEngine;

		private boolean running;

		private boolean paused;

		private int startingLevel;

		public GameThread(SurfaceHolder surfaceHolder, Context context, GameEngine gameEngine, Handler handler) {
			this.mSurfaceHolder = surfaceHolder;
			this.handler = handler;
			this.context = context;
			this.gameEngine = gameEngine;
		}

		public void setStartingLevel(int startingLevel) {
			this.startingLevel = startingLevel;
		}

		public boolean isRunning() {
			return running;
		}

		public void setRunning(boolean running) {
			this.running = running;
		}

		public boolean isPaused() {
			return paused;
		}

		public void setPaused(boolean paused) {
			this.paused = paused;
		}

		@Override
		public void run() {
			try {
				long startTime = 0;
				long endTime = 0;
				int limitFps = AndConsts.LIMIT_FPS;
				int minLoopTime = 1000 / limitFps;

				// Initialise level
				if (startingLevel &lt;= 0) {
					startingLevel = 1;
				}
				gameEngine.initLevel(startingLevel);

				boolean doPause = true;
				boolean doResume = false;

				while (running) {
					startTime = System.currentTimeMillis();

					Canvas c = null;
					try {
						if (!paused) {
							c = mSurfaceHolder.lockCanvas(null);
							synchronized (mSurfaceHolder) {
								if (doResume) {
									doResume = false;
									doPause = true;
									gameEngine.resume();
								}
								// Update Input
								gameEngine.updateInput();
								// Update physics
								gameEngine.updatePlayerPhysics();
								// Update AI
								gameEngine.updateAIPhysics();
								// Update AI
								gameEngine.updatePhysicsChecks();
								// Update game UI
								gameEngine.updateUI(c);
								// Update sounds
								gameEngine.updateSound();
								// Finalize loop
								gameEngine.finalizeLoop();
							}
						} else {
							if (doPause) {
								doResume = true;
								doPause = false;
								gameEngine.pause();
								// Draw an opacity layer to make the user feel the game is paused
								c = mSurfaceHolder.lockCanvas(null);
								synchronized (mSurfaceHolder) {
									Paint p = new Paint();
									p.setStyle(Paint.Style.FILL);
									p.setColor(Color.BLACK);
									p.setAlpha(125);
									c.drawRect(0, 0, ScreenManager.screenWidthPx, ScreenManager.screenHeightPx, p);
									p = null;
								}
							}
						}
					} catch (Exception ex) {
						// TODO Handle errors
						running = false;
					} finally {
						// do this in a finally so that if an exception is thrown
						// during the above, we don't leave the Surface in an
						// inconsistent state
						if (c != null) {
							mSurfaceHolder.unlockCanvasAndPost(c);
						}
					}

					endTime = System.currentTimeMillis();

					try {
						long sleepTime = minLoopTime - (endTime - startTime);
						if (sleepTime &gt; 0) {
							Thread.sleep(sleepTime);
						}
					} catch (InterruptedException e) {
					// TODO Handle errors
					}

				}
			} catch (Exception ex) {
				// TODO Handle errors
			}
		}
	}

	private GameEngine gameEngine;
	private GameThread thread;

	public GameView(Context context, AttributeSet attrs) {
		super(context, attrs);
		gameEngine = new GameEngine((Activity) context);
		try {
			// Load game
			gameEngine.initGame(this);
			// Register our interest in hearing about changes to our surface
			SurfaceHolder holder = getHolder();
			holder.addCallback(this);
			thread = new GameThread(holder, context, gameEngine, new Handler() {
				@Override
				public void handleMessage(Message m) {
					//Do nothing for now
				}
			});

			setFocusable(true); // Make sure we get key events
			setFocusableInTouchMode(true);// Make sure we get key events

		} catch (AbnormalException e) {
			//TODO Handle errors
		}
	}

	@Override
	public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
	}

	@Override
	public void surfaceCreated(SurfaceHolder holder) {
		start();
	}

	@Override
	public void surfaceDestroyed(SurfaceHolder holder) {
		stop();
	}

	public void stop() {
		// Stop the gaming thread
		thread.setRunning(false);
		try {
			thread.join(500);
		} catch (InterruptedException e) {
		}
	}

	public void pause() {
		thread.setPaused(true);
	}

	public void resume() {
		thread.setPaused(false);
	}

	public void start() {
		thread.setRunning(true);
		thread.start();
	}

	public void restartLevel() {
		gameEngine.restartLevel();
	}
}</pre>
<p><em><span style="text-decoration: underline;"><br />
</span></em></p>
<p>The post <a href="https://nexgamestudios.com/blog/android/creation-of-an-android-game-3-game-activity-game-view-the-main-loop.html/">Creation of an Android game – #3 Game Activity, Game View, The Main Loop</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nexgamestudios.com/blog/android/creation-of-an-android-game-3-game-activity-game-view-the-main-loop.html/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Porting an Android game to WP7 &#8211; #1 Introduction</title>
		<link>https://nexgamestudios.com/all-posts/porting-an-android-game-to-wp7-1-introduction.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Wed, 25 Jan 2012 13:34:47 +0000</pubDate>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=159</guid>

					<description><![CDATA[<p>Ok, here we go! This is quite interesting, I&#8217;ve just released my first Android game to the market, and I&#8217;m already planning a porting to Windows<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/porting-an-android-game-to-wp7-1-introduction.html/">Porting an Android game to WP7 &#8211; #1 Introduction</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ok, here we go!</p>
<p>This is quite interesting, I&#8217;ve just released my first Android game to the market, and I&#8217;m already planning a porting to Windows Phone 7, am I crazy?</p>
<p>Not that much because, as you will discover in the next days, the porting has revealed to be simpler than I tought!</p>
<p><span id="more-159"></span></p>
<p>It&#8217;s only the beginning, but I want you to see what I was able to do in just a couple of hours:</p>
<p><a href="https://nexgamestudios.com/wp-content/uploads/2012/01/day01_2.png"><img decoding="async" class="size-medium wp-image-161 alignleft" title="WP7 Day One" src="https://nexgamestudios.com/wp-content/uploads/2012/01/day01_2-300x161.png" alt="WP7 Day One" width="300" height="161" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Not so bad right? That&#8217;s because it is so easy programming on WP7, I hope you will enjoy this serie, I will keep posting my results as well as the making-of of my first Android game!</p>
<p>&nbsp;</p>
<p>Stay tuned <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/porting-an-android-game-to-wp7-1-introduction.html/">Porting an Android game to WP7 &#8211; #1 Introduction</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Grab And Run Update 1.1 Released</title>
		<link>https://nexgamestudios.com/games/grab-and-run-update-1-1-released.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 29 Jan 2012 04:31:20 +0000</pubDate>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Grab And Run]]></category>
		<category><![CDATA[Grab And Run Update Bugs BugSense]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=170</guid>

					<description><![CDATA[<p>Thanks to BugSense.com I could notice a couple of bugs in the first release of Grab And Run . The 1.1 version has already been release in both<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/games/grab-and-run-update-1-1-released.html/">Grab And Run Update 1.1 Released</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Thanks to<a title=" BugSense.com" href="http://www.bugsense.com" target="_blank"> BugSense.com</a> I could notice a couple of bugs in the first release of <a title="Grab And Run 1.0 Released" href="https://nexgamestudios.com/home/grab-and-run.html/" target="_blank">Grab And Run</a> .</p>
<p>The 1.1 version has already been release in both the Android Market and SlideMe.org.</p>
<p>Let me spend one more word on this bug reporting service (free!) which I found really interesting. It requires just a couple of lines of code, and it&#8217;s able to report managed and unhandled exception to the server, with the full stack trace and device information.</p>
<p>Here&#8217;s a screenshots:</p>
<div id="attachment_171" style="width: 310px" class="wp-caption alignleft"><a href="https://nexgamestudios.com/wp-content/uploads/2012/01/BugSenseReport.jpg"><img decoding="async" aria-describedby="caption-attachment-171" class="size-medium wp-image-171" title="BugSense report Grab And Run" src="https://nexgamestudios.com/wp-content/uploads/2012/01/BugSenseReport-300x87.jpg" alt="BugSense report Grab And Run" width="300" height="87" /></a><p id="caption-attachment-171" class="wp-caption-text">BugSense report Grab And Run</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>It also has an e-mail notification service I found really helpful!</p>
<p>I highly recommend this library for your project, it will make your life a lot easier!</p>
<p>The post <a href="https://nexgamestudios.com/games/grab-and-run-update-1-1-released.html/">Grab And Run Update 1.1 Released</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Creation of an Android game – #4 Domain Entities</title>
		<link>https://nexgamestudios.com/blog/android/creation-of-an-android-game-4-domain-entities.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 29 Jan 2012 04:51:46 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Create]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[Entity]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Grab and Run]]></category>
		<category><![CDATA[Level]]></category>
		<category><![CDATA[Player]]></category>
		<category><![CDATA[Score]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=181</guid>

					<description><![CDATA[<p>Ok, so before going any further, I think I better prepare some entities to contain and track the data during the game. Usually I would not<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/blog/android/creation-of-an-android-game-4-domain-entities.html/">Creation of an Android game – #4 Domain Entities</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ok, so before going any further, I think I better prepare some entities to contain and track the data during the game.</p>
<p>Usually I would not put any logic in such entities, using an external class to handle it, but in this case I wanna try a different approach, inserting the logic of each entity inside the class it self.</p>
<p>I said usually I would not do it, because in my experience an entity always need its context to perform even the most basic operation, but in this game it has revelead a good approach.</p>
<p><span id="more-181"></span></p>
<p><strong><em>The Level class</em></strong></p>
<p>This class will store the data regarding the current level of the game, such as the tile map.</p>
<p>The initialisation will load the tilemap and the bitmaps needed to draw the level backround:</p>
<p>&#8211;          The tilemap is a 18&#215;34 matrix of integer, each cell referring to a particular tile type, and it’s loaded from a properties file stored in the assets folder</p>
<p>&#8211;          There are around 20 different tiles, this class will store each bitmap in an array</p>
<p>&#8211;          Additional bitmaps are the prize disappearing animation and the “hole in the ground”animation</p>
<p>The drawing method will render the current level, based on the current camera position.</p>
<p><em> </em></p>
<p><strong><em>The GameCharacter class</em></strong></p>
<p>This class keeps each chracter information, such as position, status and style.</p>
<p>The initialisation method will load the character animations set (i.e. stop, running, climbing and so on), and cache the bitmaps.</p>
<p>The drawing method will render the player on the screen at its current position. For enemies outside the screen, an arrow will be rendered to inform the user about the enemy position.</p>
<p><em> </em></p>
<p><strong><em>The Player  and Enemy classes</em></strong></p>
<p>This classes simply extend the Game Character class, without any logic or information except for indicating the character as a player (overriding the method isPlayer())</p>
<p><em> </em></p>
<p><strong><em>The Score class</em></strong></p>
<p>This class stores the current game score and lives count, and also calculate when the player gains a life at certain level caps.</p>
<p>The initialisation loads and keeps in memory the Bitmap used to draw the score.</p>
<p>The drawing method renders the score on the game Canvas, at the bottom of the screen.</p>
<p>&nbsp;</p>
<p>&#8212;</p>
<p>Now I’m ready to fill up these entities and draw something on the screen, in next posts I will post portion of the source code for each of these classes.</p>
<p>&nbsp;</p>
<p>The post <a href="https://nexgamestudios.com/blog/android/creation-of-an-android-game-4-domain-entities.html/">Creation of an Android game – #4 Domain Entities</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Grab And Run 1.4 Released</title>
		<link>https://nexgamestudios.com/all-posts/grab-and-run-1-4-released.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Fri, 17 Feb 2012 15:13:15 +0000</pubDate>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Grab And Run]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=193</guid>

					<description><![CDATA[<p>Grab And Run: Released the update 1.4! A new update of the game Grab And Run has been released to SlideMe.org and the Android Market. What&#8217;s new?<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/grab-and-run-1-4-released.html/">Grab And Run 1.4 Released</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h4 class="mceTemp" style="text-align: left;"><strong>Grab And Run: Released the update 1.4!</strong></h4>
<p>A new update of the game <a title="Grab And Run" href="https://nexgamestudios.com/grab-and-run/">Grab And Run</a> has been released to SlideMe.org and the Android Market.</p>
<p>What&#8217;s new?</p>
<p>Well, I felt that using only one character was limiting the gameplay possibilities, as the newbie would benefit from a slower, easier to control character, while the expert who want to achieve the highest score would prefer a faster character.</p>
<p><span id="more-193"></span></p>
<p>So I&#8217;m proud to present your 2 new heroes:</p>
<p><strong>DRAKE</strong></p>
<p><a href="https://nexgamestudios.com/wp-content/uploads/2012/02/charsel1.png"><img decoding="async" title="charsel1" src="https://nexgamestudios.com/wp-content/uploads/2012/02/charsel1.png" alt="" width="150" height="150" /></a><a href="https://nexgamestudios.com/wp-content/uploads/2012/02/charsel1.png"><br />
</a></p>
<p><strong>JAY</strong></p>
<p><a href="https://nexgamestudios.com/wp-content/uploads/2012/02/charsel2.png"><img loading="lazy" decoding="async" title="charsel2" src="https://nexgamestudios.com/wp-content/uploads/2012/02/charsel2-150x150.png" alt="" width="150" height="150" /></a><a href="https://nexgamestudios.com/wp-content/uploads/2012/02/charsel2.png"><br />
</a></p>
<p>Among these changes there are now <em><strong>2 different sets of enemies</strong></em>, and a lot of tweaks, bug fixes and improvements.</p>
<p>&nbsp;</p>
<p>Check it out!</p>
<p>&nbsp;</p>
<p><a href="http://market.android.com/details?id=com.nex.andro"><img decoding="async" src="https://www.android.com/images/brand/60_avail_market_logo2.png" alt="Available in Android Market" /></a></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/grab-and-run-1-4-released.html/">Grab And Run 1.4 Released</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Grab And Run Released to the Windows Phone Marketplace</title>
		<link>https://nexgamestudios.com/blog/windows-phone/grab-and-run-released-to-the-windows-phone-marketplace.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sun, 11 Mar 2012 03:48:00 +0000</pubDate>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Grab And Run]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=216</guid>

					<description><![CDATA[<p>Today finally the game was published on the Windows Marketplace! It took about 4 days for the certification, and 1 more day to see it published<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/blog/windows-phone/grab-and-run-released-to-the-windows-phone-marketplace.html/">Grab And Run Released to the Windows Phone Marketplace</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Today finally the game was published on the Windows Marketplace!</p>
<p>It took about 4 days for the certification, and 1 more day to see it published on the market.</p>
<p>I&#8217;m just curious now to see how many downloads it will hit.. i&#8217;m counting on at least 10 !! XD</p>
<p>Here&#8217;s the link to download the App:</p>
<p><a href="http://windowsphone.com/s?appid=b63930aa-cb1d-4285-b6bb-9fc7cf1af45c" target="_blank"><img decoding="async" src="https://nexgamestudios.com/wp-content/uploads/2012/01/windowsmarket-150x150.jpg" alt="Available in Windows Marketplace" /><br />
<span style="font-family: Arial;"><strong>Grab And Run on the Windows Marketplace</strong></span><br />
</a></p>
<p>I&#8217;ll try to continue my tutorials as soon as possibile!</p>
<p>The post <a href="https://nexgamestudios.com/blog/windows-phone/grab-and-run-released-to-the-windows-phone-marketplace.html/">Grab And Run Released to the Windows Phone Marketplace</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tap That Building Released!</title>
		<link>https://nexgamestudios.com/all-posts/tap-that-building-released.html/</link>
		
		<dc:creator><![CDATA[TheNex]]></dc:creator>
		<pubDate>Sat, 07 Apr 2012 06:02:04 +0000</pubDate>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<guid isPermaLink="false">https://nexgamestudios.com/?p=227</guid>

					<description><![CDATA[<p>The newest game on the Tap That series has been released! It&#8217;s been a while since my last post, but here are the news! A new<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/tap-that-building-released.html/">Tap That Building Released!</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong> The newest game on the Tap That series has been released!</strong></p>
<p>It&#8217;s been a while since my last post, but here are the news! A new game has been released on the Android market and soon in the Windows Marketplace!</p>
<p><strong><a title="Tap That Building!" href="https://nexgamestudios.com/tap-that-building/">Check out the dedicated page here!</a></strong></p>
<p>The post <a href="https://nexgamestudios.com/all-posts/tap-that-building-released.html/">Tap That Building Released!</a> appeared first on <a href="https://nexgamestudios.com">Nex Game Studios</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
