<?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>The GameMontaz Blog</title>
	<atom:link href="http://gamemontaz.com/blogs/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://gamemontaz.com/blogs</link>
	<description>Everything about gaming and what the folks at GameMontaz have been upto</description>
	<lastBuildDate>Thu, 22 Apr 2010 02:53:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Player-centric Game Design</title>
		<link>http://gamemontaz.com/blogs/?p=98</link>
		<comments>http://gamemontaz.com/blogs/?p=98#comments</comments>
		<pubDate>Sat, 03 Apr 2010 11:58:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash & AS3]]></category>
		<category><![CDATA[player-centric game-design flash as3]]></category>

		<guid isPermaLink="false">http://gamemontaz.com/blogs/?p=98</guid>
		<description><![CDATA[The large chasm between game designers and players is becoming more apparent these days with the rise in instances of emergent gameplay where players have come up with creative unintended solutions to challenges in the game. Peter Molyneux, creator of Populous and other games has even gone so far as to claim that open ended [...]]]></description>
			<content:encoded><![CDATA[<p>The large chasm between game designers and players is becoming more apparent these days with the rise in instances of emergent gameplay where players have come up with creative unintended solutions to challenges in the game. <a href="http://en.wikipedia.org/wiki/Peter_Molyneux">Peter Molyneux</a>, creator of <a href="http://en.wikipedia.org/wiki/Populous">Populous</a> and other games has even gone so far as to claim that open ended games that encourage emergent gameplay is where game design is heading.</p>
<p>There is good reason why he would think so. The current industry practices that relegate the player to just a user of the game is what is holding game design back. These practices treat the player more as an abstraction and design the game with a poor concept of the player in mind, often relying on demographic research from previous games. A probabilistic approach to plan recognition through <a href="http://en.wikipedia.org/wiki/Bayesian_network">Baynesian networks</a> or case based plan recognition where case libraries are constructed by observing gameplay and the possible actions are encoded as a state transition tables, appears to be the main way game designers are imagining their players.  The needs and preferences of the player while playing the game, however, have been going largely unnoticed.</p>
<p>To me it appears that player-centered game design is where the future is.  Better player modeling along with adaptive technologies will be able to help designers communicate better with players and vice versa. It’s holds the potential to appropriate level of challenge, smooth the learning curve, and enhance the gameplay experience for individual players irrespective of their age, gender or race.</p>
<p>So with this post we’re beginning our foray into player centered game design.  While optimistic of the rewards it holds, we’re still not expecting it to be an easy job as heaps of concerns spring to mind. Nonetheless, we’re very excited and our brains are exploding with ideas, which we’ll be sure to blog more about soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://gamemontaz.com/blogs/?feed=rss2&amp;p=98</wfw:commentRss>
		<slash:comments>97</slash:comments>
		</item>
		<item>
		<title>Flagging it off!</title>
		<link>http://gamemontaz.com/blogs/?p=93</link>
		<comments>http://gamemontaz.com/blogs/?p=93#comments</comments>
		<pubDate>Wed, 30 Sep 2009 17:59:46 +0000</pubDate>
		<dc:creator>Saurabh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Game Engine]]></category>

		<guid isPermaLink="false">http://gamemontaz.com/blogs/?p=93</guid>
		<description><![CDATA[We folks have, of late, been getting our hands dirty on a new game engine : Unity
I must admit, it’s great! We had an awesome time with it! We were trying to assemble a small demo of a flag, for reasons known best to us   You may see it [here]. Now, the unique [...]]]></description>
			<content:encoded><![CDATA[<p>We folks have, of late, been getting our hands dirty on a new game engine : <a href="http://unity3d.com/unity/">Unity</a></p>
<p>I must admit, it’s great! We had an awesome time with it! We were trying to assemble a small demo of a flag, for reasons known best to us <img src='http://gamemontaz.com/blogs/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  You may see it [here]. Now, the unique thing about this demo is, that there’s no simulation or premade animation on the flag! The waving of the flag was achieved through code. There’s a neat function running there that procedurally moves the flag mesh directly. Everything apart from the flag is from the default Unity assets library.</p>
<p>I want to take this opportunity to congratulate the Unity team….amazing job, folks!</p>
]]></content:encoded>
			<wfw:commentRss>http://gamemontaz.com/blogs/?feed=rss2&amp;p=93</wfw:commentRss>
		<slash:comments>62</slash:comments>
		</item>
		<item>
		<title>This side up!</title>
		<link>http://gamemontaz.com/blogs/?p=64</link>
		<comments>http://gamemontaz.com/blogs/?p=64#comments</comments>
		<pubDate>Mon, 24 Aug 2009 09:25:32 +0000</pubDate>
		<dc:creator>Saurabh</dc:creator>
				<category><![CDATA[Flash & AS3]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash physics tests]]></category>
		<category><![CDATA[rotational dymamics]]></category>

		<guid isPermaLink="false">http://gamemontaz.com/blogs/?p=64</guid>
		<description><![CDATA[Our apologies for the slightly delayed blog post for this month. We were quite tied up with certain other things, so couldn’t really devote time for this post.
This time around, we added some rotational dynamics to our physics library. I hope you would remember our very first post about collisions. It looked something like this. [...]]]></description>
			<content:encoded><![CDATA[<p>Our apologies for the slightly delayed blog post for this month. We were quite tied up with certain other things, so couldn’t really devote time for this post.</p>
<p>This time around, we added some rotational dynamics to our physics library. I hope you would remember our very first post about collisions. It looked something like <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Initial_Collision_Test_Watermarked.swf" target="_blank">this</a>. You would notice that although the spheres are colliding, there are no rotations on them. That is what we have added now.</p>
<p>Take a look at this <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Rotational_Dynamics_Watermarked.swf" target="_blank">demo</a>.  The spheres with bigger size have higher mass, and resultingly, higher momentum. This was obviously a long overdue and natural extension to our first post. So here it is&#8230;</p>
<p>We also tried the same test with gravity switched on. Take a look at it <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Rotational_Dynamics_Gravity_Watermarked.swf" target="_blank">here</a>. At a rough glance it looks okay&#8230;but it doesn&#8217;t take into consideration the point of contact of the spheres. So you would notice that they do not &#8220;roll&#8221; over each other, when their slides are against one another, deflect off edges etc. We would target that in the near future.</p>
<p>Do leave your comments and criticisms below. We would love to hear your thoughts!</p>
]]></content:encoded>
			<wfw:commentRss>http://gamemontaz.com/blogs/?feed=rss2&amp;p=64</wfw:commentRss>
		<slash:comments>107</slash:comments>
		</item>
		<item>
		<title>The Knotty Worm!</title>
		<link>http://gamemontaz.com/blogs/?p=36</link>
		<comments>http://gamemontaz.com/blogs/?p=36#comments</comments>
		<pubDate>Wed, 29 Jul 2009 09:54:09 +0000</pubDate>
		<dc:creator>Saurabh</dc:creator>
				<category><![CDATA[Flash & AS3]]></category>
		<category><![CDATA[Character Setup]]></category>
		<category><![CDATA[flash physics tests]]></category>

		<guid isPermaLink="false">http://gamemontaz.com/blogs/?p=36</guid>
		<description><![CDATA[Once again, here we are, with our latest post and our latest “subject”. The Knotty Worm!&#60;Superman theme playing in the background  )&#62;
He helped us to add a few constraints to our library. But, what exactly is a constraint?
“A constraint is a condition that a solution to an optimization problem must satisfy”. If that sounded Greek [...]]]></description>
			<content:encoded><![CDATA[<p>Once again, here we are, with our latest post and our latest “subject”. The <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Pintoo_Worm_With_Aim_Watermarked.swf" target="_blank">Knotty Worm!</a>&lt;Superman theme playing in the background <img src='http://gamemontaz.com/blogs/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )&gt;</p>
<p>He helped us to add a few constraints to our library. But, what exactly is a constraint?</p>
<p style="text-align: left;">“A <strong><a href="http://en.wikipedia.org/wiki/Constraint_(mathematics)" target="_blank">constraint</a> </strong>is a condition that a solution to an optimization problem must satisfy”. If that sounded Greek to you, don’t worry&#8230;..it sounded the same way to us as well when we started! To put it plainly, a constraint is a condition that an object must satisfy. But, that leaves a lot to imagination….on this definition, there could be loads of constraints, since the condition could be anything: stick to a wall, go round in circles, move with something, grow bigger/smaller with something, always remain perpendicular to an object, keep following something, keep repelling something…. blah..blah. Couldn’t all of these be constraints?</p>
<p>The answer is YES. They could all be constraints. We as of now, have around eight constraints in our library. We would keep adding more as the need arises. We were quite impressed by the simplicity and effectiveness of these constraints. The <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Pintoo_Worm_With_Aim_Watermarked.swf" target="_blank">Knotty Worm</a> demo, for instance,  has just two constraints: The follow constraint and the aim or look-at constraint. The follow constraint, makes one object follow another object, while the aim/look-at constraint keeps one object always &#8220;facing&#8221; or &#8220;looking at&#8221; another object. We had to choose which constraints to make based on their utility in games, so we picked a very select few to make. To describe a few,Point Constraint, for example, makes one object match the position of another object. Orient Constraint, matches the rotation of one object to another. All these have very strong utility while making  games.</p>
<p>We intend to soon add more constraints to our arsenal. Wish us luck!</p>
<p>Do leave your comments on the <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Pintoo_Worm_With_Aim_Watermarked.swf" target="_blank">Knotty Worm</a> demo.</p>
<p>Also, <a href="http://gamemontaz.com" target="_blank">Game Montaz website</a> is up &#8211; drop by to see what else we&#8217;re doing!</p>
]]></content:encoded>
			<wfw:commentRss>http://gamemontaz.com/blogs/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>166</slash:comments>
		</item>
		<item>
		<title>The AI Engine Test: Boris the Bullet-dodger</title>
		<link>http://gamemontaz.com/blogs/?p=24</link>
		<comments>http://gamemontaz.com/blogs/?p=24#comments</comments>
		<pubDate>Mon, 29 Jun 2009 06:26:28 +0000</pubDate>
		<dc:creator>Saurabh</dc:creator>
				<category><![CDATA[Flash & AS3]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[fuzzy-logic]]></category>

		<guid isPermaLink="false">http://gamemontaz.com/blogs/?p=24</guid>
		<description><![CDATA[In this post we are going to talk about Boris: he dodges bullets. He also happens to be the guinea pig for our AI engine tests. In this demo (my apologies for the primitive assets, I’m not much of an artist), you fire at him (mouse click) and he tries to dodge your bullets. Use [...]]]></description>
			<content:encoded><![CDATA[<p>In this post we are going to talk about <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/boris_the_bullet_dodger_Watermarked.swf" target="_blank">Boris</a>: he dodges bullets. He also happens to be the guinea pig for our AI engine tests. In <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/boris_the_bullet_dodger_Watermarked.swf" target="_blank">this demo</a> (my apologies for the primitive assets, I’m not much of an artist), you fire at him (mouse click) and he tries to dodge your bullets. Use the mouse movement to move the gun. If you hit him? Well ….you don’t get any points or anything, just the satisfaction of getting him!</p>
<p>Our AI library is primarily Fuzzy Logic based. We started with understanding the theory behind fuzzy logic. Fuzzy logic typically is applicable in AI where for a given set of conditions, there is no clear-cut boolean answer. For example, if you were to determine whether a give age is young or not, there is no clear-cut answer to the question. While a range of ages may be considered young, you wouldn&#8217;t say that a person just beyond that age is NOT young. With a single such condition like age you can always take a call, but when conditions like this are used in combination with other conditions, the reasoning might not be very clear and is more human-intuition based. Fuzzy logic tries to mimic this “human” behavior.</p>
<p>When we started, the first problem we faced was of the input. What to choose as your input? What would you need to decisively dodge the bullets? We figured at the time that, the vertical distance between the bullet, and the distance to the left or right of the dodger should do the trick for us. But soon afterwards, we realized that whether the dodger (Boris) is on the left or right side is a simple yes/no decision: there was no need to use fuzzy for that. So we changed our input to vertical distance and horizontal distance between the bullets and Boris. Whether to go left or right was decided outside of the system.</p>
<p>Initially, thanks to our overzealous selves, we had about 12 sets in the system (you know, “we need better resolution!”, “more sets have to be better!”) and about 35 combinations to solve. After due consideration and some “mature” discussions (read: arguments…lol!), we agreed that more was not better in our case. So after quite a bit of chopping, our system had 4 sets and 4 combinations (!). And it was better! So….more need not be better, folks!</p>
<p>Next, was the problem of cornering:  you could take Boris into a corner and he had nowhere to go! Easy as cake! Our choice of input could not enable us to deal with that….we needed a better, more elaborate input. We needed another fuzzy system! Hurrah! Err…I mean&#8230;oh, sad!</p>
<p>So now we had to enable Boris to avoid getting cornered as much as possible. We had to know beforehand when Boris is about to get cornered and urge him to get out of the situation. So when Boris figures he’s about to get cornered, he sends the message to our previous system and that system makes it its top priority to get Boris out of that corner. In-between, we also faced a small dilemma of getting the systems to smoothly “talk” to each other, but decided to do this talking outside of the systems. Let each system do its job, we’ll worry about the messaging outside.</p>
<p>So…such has been the journey of <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/boris_the_bullet_dodger_Watermarked.swf" target="_blank">Boris</a>. We had a ball of a time doing the Boris demo. Hope you like it! We would love to hear your views!</p>
<p><a href="http://technorati.com/faves?sub=addfavbtn&amp;add=http://gamemontaz.com/blogs"><img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://gamemontaz.com/blogs/?feed=rss2&amp;p=24</wfw:commentRss>
		<slash:comments>112</slash:comments>
		</item>
		<item>
		<title>Making a physics engine? Get Your Math Right!</title>
		<link>http://gamemontaz.com/blogs/?p=3</link>
		<comments>http://gamemontaz.com/blogs/?p=3#comments</comments>
		<pubDate>Wed, 13 May 2009 12:18:47 +0000</pubDate>
		<dc:creator>Saurabh</dc:creator>
				<category><![CDATA[Flash & AS3]]></category>
		<category><![CDATA[flash physics tests]]></category>

		<guid isPermaLink="false">http://gamemontaz.com/blogs/?p=3</guid>
		<description><![CDATA[A while back, we set about to create our own physics engine for AS3. Just click on this link for the flash demo of an initial test, or read about the nice two week journey below!
Since it was the illusion of physics we had to create, physics it was, as our starting point. So, out [...]]]></description>
			<content:encoded><![CDATA[<p>A while back, we set about to create our own physics engine for AS3. Just click on <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Initial_Collision_Test_Watermarked.swf" target="_blank">this link</a> for the flash demo of an initial test, or read about the nice two week journey below!</p>
<p>Since it was the illusion of physics we had to create, physics it was, as our starting point. So, out came our physics books! And we had a week full of equations and theorems&#8230; <img src='http://gamemontaz.com/blogs/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . It was tremendous fun! Of course, since we aren&#8217;t exactly physicists, we had our troubling times. I even ended up solving equations in my sleep!</p>
<p>One of the starting problems we faced was to translate the laws and their equations into a form that we could apply in code. I&#8217;ll take up the example of gravity. We all know gravity. Yes, it pulls everything down towards the center of the earth. So? How do we do it? What all does it affect?</p>
<p>Gravity is a force which always acts downwards. So we had to have a force system, which would keep track of the forces acting on a body and calculate the resultant. So gravity had to be one of the forces in the force system which would always act downwards. We also needed a motion system which would correct the motion of a body on every iteration of the engine. Studying the laws and equations and the physical quantities (like distance, velocity, acceleration etc) they affected really helped us design the engine (its still a WIP, though)</p>
<p>One of our biggest challenges so far was the collision detection and response(which is what the test shows). Firstly, there was the problem of estimating the shape itself.</p>
<p>We checked out the flash bitmap data technique to detect collisions, but that wasn&#8217;t something we were convinced would deliver 24 fps under all circumstances (our tests were not very promising). We had to come up with something that was fast as well as accurate. So we designed our own collision detection and response system. It wasn&#8217;t without its faults though!</p>
<p>Our initial test proved to be quite unpalatable! Some of the spheres would get &#8220;stuck&#8221; to each other and behave in the most unexpected fashion : instead of harmoniously bouncing back after collision, they would struggle with each other for a bit and then just rocket off each other&#8230;lol ! We first thought that our collision detection algorithm had a bug, perhaps. We went back to the drawing board and re-examined the code. Nothing was wrong there&#8230;..We also did some other stringent testing for the algorithm and it behaved perfectly in all the tests. The collision detection was working fine.So it was the collision response that was the culprit&#8230;hmmm. On close inspection, we also noticed that the post collision angles in certain cases were also off. After due consideration, we decided to scrap our collision response algorithm and develop something better. Back to the books, boys!<br />
Sometime later, equipped with our new collision response algorithm, we again started our tests. This time, the angles seemed fine, but the sticking problem persisted&#8230;arrgh!</p>
<p>We again examined each and every line of code and the math derivations&#8230;.and found the bug!!! It was a wrong sign in one of our equations. Incidentally, this equation was common to both our collision response algorithms&#8230;thats why the problem persisted. We fixed the equation and lo and behold! It worked! Eureka!..lol!</p>
<p>So&#8230;.it was proved to us beyond doubt, how important it is to get your math right&#8230;.because one wrong sign and we had to break our heads for so long to get to it! Get Your Math Right!</p>
<p>Here’s the <a href="http://gamemontaz.com/blogs/wp-content/uploads/2009/08/Initial_Collision_Test_Watermarked.swf" target="_blank">link</a> to our initial test on physics, hope you enjoy it. Drop In a comment or a criticism, we’d love to hear from you!</p>
<p><a href="http://technorati.com/faves?sub=addfavbtn&amp;add=http://gamemontaz.com/blogs"><img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://gamemontaz.com/blogs/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>181</slash:comments>
		</item>
	</channel>
</rss>

