<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-163663006525197760</id><updated>2011-11-27T16:32:19.897-08:00</updated><category term='iPhone4'/><category term='design'/><category term='Sony Bloggie Touch MHS TS20'/><category term='games'/><category term='iPhone'/><category term='Flip MinoHD'/><category term='Flip UltraHD'/><category term='Castle Conflict'/><title type='text'>Unobserved Musings</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-4172894720136642329</id><published>2011-01-17T21:59:00.000-08:00</published><updated>2011-01-17T22:18:47.199-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flip UltraHD'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone4'/><category scheme='http://www.blogger.com/atom/ns#' term='Flip MinoHD'/><category scheme='http://www.blogger.com/atom/ns#' term='Sony Bloggie Touch MHS TS20'/><title type='text'>Obligatory 2011 Update and other such things.</title><content type='html'>This blog entry will be in THREE parts.&lt;br /&gt;&lt;br /&gt;Part I:&lt;br /&gt;The details are still being fleshed out on this "Project" as we figure out our limitations, but I will announce it anyway - after I &lt;br /&gt;Part II:&lt;br /&gt;Introduce myself to you and narrate on what this "Project" is. Which will lead to&lt;br /&gt;Part III:&lt;br /&gt;A quick review of the iPhone4's video capabilities, the Sony Bloggie Touch MHS-TS20, and the Flip UltraHD.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PART I: BrokenKings House!&lt;br /&gt;&lt;a href="http://www.brokenkings.com"&gt;Broken Kings, Inc.&lt;/a&gt; ambitiously started Broken Kings House or BKH for short, this year! It revolves around a relatively straight forward business plan. Make games with the household which consists of the following people:&lt;br /&gt;&lt;br /&gt;Stephen as financier and lead programmer,&lt;br /&gt;Lopi as lead designer and programmer,&lt;br /&gt;Josiah as lead artist and audio engineer,&lt;br /&gt;Jenna as artist and lead QA,&lt;br /&gt;and then there's me. &lt;br /&gt;&lt;br /&gt;I'm not really sure what my job is called, but I'm guessing it's queen of awesome.&lt;br /&gt;&lt;br /&gt;Two weeks in so far and we've finished &lt;a href="http://itunes.apple.com/us/app/skwerl/id413989057?mt=8"&gt;Skwerl&lt;/a&gt;, and just about done Smoothie Operator. Woohoo!&lt;br /&gt;&lt;br /&gt;PART II-A: Yours Truly.&lt;br /&gt;Hello, readers of this here blog. My name is Bernadette. I will be reporting on BrokenKings news and other related (or not so related) things here from now on, as well as force Stephen to post more useful iPhoneDev tutorials and relevant business tidbits for you readers. :)&lt;br /&gt;&lt;br /&gt;PART II-B: What is BrokenKings House?&lt;br /&gt;BKH is a pretty strange mix of quirkiness, passion, friendship, fun, and work. I say work because it &lt;i&gt;is&lt;/i&gt; still a job for all of us, but very unlike any old job out there. It might be presumptuous to say but I think in essence, BKH is that idea which spawns the game industry dream. That awesome "HoMahgawd games are so awesome and fun and great! I wanna make games!" notion that working in the big corporate game industry for a marginal amount of time eats at, until it fizzles and dies. Where's the fun? Where's the creativity? Where's the resonant feeling of playing games with friends in the making of one? &lt;br /&gt;&lt;br /&gt;BKH is coming together to find ideas, and working together to create something out of those ideas. That's it. We plan on making a game a weekend and so far, we've concocted some seemingly random ideas which came together into little creations. &lt;a href="http://www.youtube.com/BrokenKings"&gt;We videotape the process for posterity&lt;/a&gt; (and perhaps the lulz) and maybe we'll look back and laugh at how hard it's been for us and see just how much we've all grown later. We've never worked as a team before this, but it amazes me how far we could push together as a team! Later, I will post about each member of the team for your reading pleasure. ;)&lt;br /&gt;&lt;br /&gt;PART III: Filming with iPhone4, Sony Bloggie Touch MHS-TS20, and the Flip UltraHD&lt;br /&gt;We started filming on&lt;a href="http://store.apple.com/ca/browse/home/shop_iphone/family/iphone?mco=MTgxNTgzMzY"&gt; iPhone4s&lt;/a&gt;. &lt;br /&gt;That worked well enough, but we've had problems with the accelerometer, or so I think. The quality is pretty amazing for a cellphone camera when it works like it should, but it's quite a pain when it imports in weird aspect ratios and randomly decides to record in portrait. I'm still learning how to put these videos together, so problems like these are extremely annoying and time consuming. Also according to the team, it's pretty unwieldy with it being too wide and too thin. &lt;br /&gt;&lt;br /&gt;We moved on to the &lt;a href="http://www.theflip.com/en-ca/products/ultra.aspx#/?show=0"&gt;Flip UltraHD&lt;/a&gt;.&lt;br /&gt;Despite the plasticky feel and painful rate with which it drained 2 AA batteries, it was awesome! The video quality was great, it's comfortably held vertically and records in landscape mode, it did what we needed it to do. Until it decided it didn't want to work for a little while. It would not turn off, would not show up as a device when connected to &lt;a href="http://store.apple.com/ca/configure/MC372LL/A?mco=MTc0Njg1ODg"&gt;my MBP&lt;/a&gt;, and I had to remove the batteries to shut it down. There were 11 clips in it, but I could only see and play back the 57-second 11th video because it would freeze if I tried to access any other ones. Doing a mass delete without looking at any of the other clips fixed it, but what a waste of perfectly good footage! I figured it was a memory issue. It had no room to think about turning off when it was too full. We decided we needed something with 1. more memory, and 2. rechargeable batteries.&lt;br /&gt;&lt;br /&gt;So we went back to the store gunning for a &lt;a href="http://store.theflip.com/en-ca/products/MinoHD8GB2HR.aspx"&gt;Flip minoHD&lt;/a&gt;.&lt;br /&gt;They didn't have one in-stock, and the sales rep suggested &lt;a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10151&amp;catalogId=10551&amp;langId=-1&amp;productId=8198552921666268179"&gt;Sony Bloggie Touch MHS-TS20&lt;/a&gt; to us.&lt;br /&gt;We got it because it had more memory and an internal rechargeable battery, shoots in perfectly good 720p/60fps, responds better to low light, felt solid to the touch... But I will make another trip to the store tomorrow to exchange it because despite all those good things, whoever designed it forgot that their target market consists of would-be vloggers, likely to post their videos on YouTube. I say this because the camera's tripod mount is at the bottom nearest the red record button. PORTRAIT MODE! Filming in portrait mode means your content only occupies one third of the video box, one narrow stip of footage sandwiched between two, black, rectangular masses. Yay for encouraging failure to utilize the 16:9 aspect ratio of most widescreen video hosting sites! The funny thing though, is it even has a self-timer, to use so that you can be in the pictures and movies, but why did they put the tripod mount for use in portrait mode??? &lt;br /&gt;/end rant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-4172894720136642329?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/4172894720136642329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=4172894720136642329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/4172894720136642329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/4172894720136642329'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2011/01/obligatory-2011-update-and-other-such.html' title='Obligatory 2011 Update and other such things.'/><author><name>Dette</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_qRgF1NdZ1Bg/SdxcPWFFy2I/AAAAAAAAAAM/FTF_BpGxA7A/S220/Snapshot_20090315_4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1151804585252168665</id><published>2010-10-08T11:07:00.001-07:00</published><updated>2010-10-08T11:50:19.211-07:00</updated><title type='text'>Making Complex Animations with Cocos2D</title><content type='html'>Cocos2D for iPhone is an excellent game engine for 2D game development on the iPhone platform. One of the strengths of the device is it's many built in actions and node types, as well as it's scheduling system, which allow one to create complex visual effects - be they animations or otherwise. In this post, I will talk about some techniques I have discovered for creating animations and effects in Cocos2D. A companion youtube video was also created as I used some of these techniques to create a first pass on an animation for a real iPhone game in development, currently code named "Furious Tactical". I was working on converting &lt;a href="http://www.graphicrepublic.com/temp/attack00.html" target="blank"&gt;this flash&lt;/a&gt; animation into code.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ingredients:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Scheduler&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Color Layer&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Actions&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Scheduler&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In any Cocos2D node that is currently added to a scene, you may schedule and unschedule events. For my animation, I created a separate attack overlay layer that holds the animation, and sits above the game layer. As such, I could schedule and unschedule events right into the layer to control it.&lt;br /&gt;&lt;br /&gt;Looking at the flash animation, you can see that there are several steps that must be followed:&lt;br /&gt;1) Attacking unit slides in&lt;br /&gt;2) Attacking unit name appears above it&lt;br /&gt;3) Defending unit slides in&lt;br /&gt;4) Defending unit name appears above it&lt;br /&gt;5) Units able to attack pull back&lt;br /&gt;6) Units able to attack charge at enemy unit&lt;br /&gt;7) An animation/effect plays in front of attack unit&lt;br /&gt;8) Screen shakes and flashes&lt;br /&gt;9) Dead units fly off the screen&lt;br /&gt;10) Surviving units grow and fade out&lt;br /&gt;&lt;br /&gt;If I were to rough this out in my layer, I might have code that looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-(id) init&lt;br /&gt;{&lt;br /&gt;   if((self = [super init]))&lt;br /&gt;   {&lt;br /&gt;       [self schedule:@selector(slideInAttackingUnit:)];&lt;br /&gt;       //Store any parameters, create objects, etc.&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-(void) slideInAttackingUnit:(ccTime) elapsedTime&lt;br /&gt;{&lt;br /&gt;   [self unschedule:@selector(slideInAttackingUnit:)];&lt;br /&gt;&lt;br /&gt;   //Do slide code&lt;br /&gt;&lt;br /&gt;   [self schedule:@selector(attackingUnitNameAppears:) interval:0.5f];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//...etc...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When Cocos2D schedules an event on a node, it will call that event whenever the interval passes. (If no interval is supplied, it will instead call that event every frame). In the case of this animation, we only want each event to happen once, so we unschedule the current method as soon as it is entered and then schedule the following one.&lt;br /&gt;&lt;br /&gt;I'm sure that the scheduler is familiar to most Cocos2D developers so I'll move on to the next section.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Color Layer&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you pay close attention to the flash animation, you will see that there is actually a very short white flash when the units collide. You will also notice that there is a bit of a blueish overlay when it first starts running. Both of these can easily be accomplished using a CCColorLayer.&lt;br /&gt;&lt;br /&gt;Placing a Color Layer is incredibly simple; you simply initialise it with the colour you want it to be, and add it to your scene, as below:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;CCColorLayer *backgroundLayer = [[CCColorLayer alloc] initWithColor:ccc4(128, 128, 255, 100)];&lt;br /&gt;[self addChild:backgroundLayer];&lt;br /&gt;[backgroundLayer release];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I typically use alloc/init instead of the convenience methods where available, just to have a little more control over memory. It's a stylistic choice and except in very tight memory situations, not entirely necessary. By setting the alpha to something less than a full GLByte of 255, it can function is a nice barrier between your current layer and what's behind.&lt;br /&gt;&lt;br /&gt;For the white flash, using a ColorLayer in conjunction with the scheduler is quite effective. Consider the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;-(void) addFlash&lt;br /&gt;{&lt;br /&gt;    flashLayer = [[CCColorLayer alloc] initWithColor:ccc4(255, 255, 255, 255)]; //flashLayer is an instance variable&lt;br /&gt;    [self addChild:flashLayer];&lt;br /&gt;    [flashChild release];&lt;br /&gt;&lt;br /&gt;    [self schedule:@selector(removeFlash:) interval:0.05f];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-(void) removeFlash:(ccTime) elapsedTime&lt;br /&gt;{&lt;br /&gt;    [self unschedule:@selector(removeFlash:)];&lt;br /&gt;&lt;br /&gt;    [self removeChild:flashLayer];&lt;br /&gt;    flashLayer = nil; //will be removed from memory - we don't want dangling pointers!&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This simply adds and removes a white color layer very quickly to simulate a flash. Simple!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Actions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Cocos2D comes with a variety of actions. Ignoring animations, the ones I find myself using most are CCMoveTo/By, CCScaleTo/By, CCRotateTo/By, and CCFadeIn/Out.&lt;br /&gt;&lt;br /&gt;The difference in the transform actions, for example CCMoveTo/By, is absolute versus relative. CCMoveTo moves an object to an absolute position; CCMoveBy to a relative position. For those who don't know what that means, the names help make sense of it, but here's a quick example: Imagine that you have an object at position 200, 200. If You were to apply CCMoveTo(100, 100) to it, it would move to 100, 100. Whereas, if you were to apply CCMoveBy(100, 100) to it, it would move to 300, 300.&lt;br /&gt;&lt;br /&gt;It is often useful to sequence many actions together to save code; for example, in order to give the unit portriats a bit of a jump back, I use the following code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  leftSprite.position = ccp(-leftSprite.contentSize.width / 2,&lt;br /&gt;           leftSprite.contentSize.height / 2);&lt;br /&gt;  &lt;br /&gt;  CCDelayTime *delay = [CCDelayTime actionWithDuration:leftDelay];&lt;br /&gt;  CCMoveTo *move1 = [CCMoveTo actionWithDuration:0.23f position:ccp(leftSprite.contentSize.width / 2, leftSprite.contentSize.height / 2)];&lt;br /&gt;  CCMoveTo *move2 = [CCMoveTo actionWithDuration:0.02f position:ccp(leftSprite.contentSize.width / 2 - 5, leftSprite.contentSize.height / 2)];&lt;br /&gt;  [leftSprite runAction:[CCSequence actions:delay, move1, move2, nil]];&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;(leftDelay is a value I use to control which of the sprites appears first). &lt;br /&gt;&lt;br /&gt;Take note of two things; first, the CCDelayTime at the beginning. This is useful if you want to add a delay to your animation. Next, check out the CCSequence; this allows you to string a bunch of actions together, and they will then happen one after another. CCDelayTime is pretty much only useful when used in conjunction with CCSequence, as it literally does nothing. When you have listed all of your objects, you must ad nil (the sentinel) so that the action knows to expect no more. If you don't do so, you will get the warning, "Missing sentinel in function call".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1151804585252168665?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1151804585252168665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1151804585252168665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1151804585252168665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1151804585252168665'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/10/making-complex-animations-with-cocos2d.html' title='Making Complex Animations with Cocos2D'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-458069036703540743</id><published>2010-09-14T11:02:00.001-07:00</published><updated>2010-09-14T11:19:24.742-07:00</updated><title type='text'>A love of strategy</title><content type='html'>I love strategy games. If there is one genre of games that my enjoyment of has not diminished at all despite the fact that I play much less games than I used to, that genre is strategy. (The other is Legend of Zelda. That counts as a genre, right?)&lt;br /&gt;&lt;br /&gt;My favorite type of strategy games are Tactical games. This is partially born from the fact that I loved RPG's when younger and Tactical RPGs were perfect, combining my love of strategy with my favorite genre. I remember spending hours playing Shining Force and Shining Force 2 - to this day, their formula, despite being very simple, is still my ideal format for how a tactical RPG should be done. &lt;br /&gt;&lt;br /&gt;Each tactical game I play inspires me to make one. There are always changes I would make - for example, as "realistic" as it is, I hate character death in Fire Emblem, it's the one factor that ruins the game for me. While I appreciate how carefully it requires you to plan and play, one mistake can cause a healer or mage to be vulnerable in a way you missed - and they often die in one hit, resulting in me resetting game even if I didn't lose. &lt;br /&gt;&lt;br /&gt;So when I received the opportunity to make a tactical game for the iPhone, in collaboration with Big Stack Studios with Bella Machina being brought on for the art side of things, I jumped. And, bringing with me the lessons brought forward from Castle Conflict, I designed what I think will be an ideal battle experience for the iPhone.&lt;br /&gt;&lt;br /&gt;Due to the way the project is structured, the first release will not feature any campaign - just a bunch of Skirmish Maps (think Red Alert) so that we can test the viability of the game in the market. But it has been designed for the iPhone - to be picked up and played while waiting for the bus, etc. So the gameplay has been streamlined, the interactions made simpler, so that you can have a fast and furious battle in a short period of time. For example, like in Castle Conflict, there are no health bars - in Castle Defense games, I found that they caused the game to result in big messes in the middle with very little tension because they were so slow, and given the short time frame we expect Furious to be played in, we want it to emphasize fast combat. &lt;br /&gt;&lt;br /&gt;We're going to be keeping fans updated through forums, youtube, blog posts and facebook as the game develops, so stay tuned for all the details as we work on this bad boy.&lt;br /&gt;&lt;br /&gt;In the meantime, Apple has had our update in hand since September 3rd and so I'm hoping will be approving it any day - so keep your eyes peeled for that :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-458069036703540743?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/458069036703540743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=458069036703540743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/458069036703540743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/458069036703540743'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/09/love-of-strategy.html' title='A love of strategy'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-5204286516830147769</id><published>2010-08-29T11:16:00.001-07:00</published><updated>2010-08-29T11:58:48.555-07:00</updated><title type='text'>Castle Conflict, a bumpy road</title><content type='html'>This current release of Castle Conflict has been something of a frustrating one.&lt;br /&gt;&lt;br /&gt;To be quite frank, when we released Castle Conflict for the first time last year, it was as if something magical happened. We came up with a game idea based off of a game that we had both played before in the past. In a week, we polished it off - like it was nothing - despite the fact that I had never developed anything for the iPhone prior to that point. It just, worked. And it seems that the world knew it - it was featured by Apple and made nearly $20k before sales petered out to about $5 a day, tops. &lt;br /&gt;&lt;br /&gt;It took us six months to release an update. It was a surprisingly long time, due to friction in the interim and the idea that we could make another 1-week game in between while our brains sifted through ideas on what to do with Castle Conflict next. That 1-week game took 3 months to make and, to date, has earned us approximately $200. Josiah got a full time job, making it difficult for us to find a period of time to develop the app. But at the end of November, we found the time, and at the beginning of December we submitted something that was closer to our vision of what Castle Conflict could be - the game with campaign mode.&lt;br /&gt;&lt;br /&gt;Sales bumped up to about $20 a day, and when Christmas hit, they bumped up to near $50 a day. We still couldn't quit our day jobs (although technically, I had). We had agreed to take some time off from the project before the next update. I spent December doing client work so that I had some money in the bank.&lt;br /&gt;&lt;br /&gt;January rolled around and we went for the second most requested feature of Castle Conflict, multiplayer, with a planned second campaign to be released right after. Multiplayer took a long time to develop, and came mostly on my end. It is a largely unused feature in the game compared to campaign and we could have released a campaign map or two in the time it took me to make it, had we known how little use it would get. People still complain that they can never find people online to play with them, despite the fact that it is local-only multiplayer, meaning you can only challenge people via bluetooth or on the same wifi network as you. &lt;br /&gt;&lt;br /&gt;As soon as the dust had cleared and that update was submitted, we geared it up a notch, making our Egypt campaign. This was expected to take a week, due to the fact that we had our campaign code all written in November, but it ended up taking two. During these two weeks, I literally got up at 8 or 9 every day and worked from then until I went to bed at 11 or 12. The addition of new units and new unit skins basically broke the game and I learned more about memory fixing it than I ever expected to know. Since then, however, I have been much smarter with understanding memory on the iPhone and how it works. &lt;br /&gt;&lt;br /&gt;Simultaneously to this very stressful, yet creatively charged two week period, I was putting the full financial force of Broken Kings behind the project, believing that with the new campaigns and multiplayer, the game was poised to take off the way it had when featured by Apple the year before. That we had found a game that could be a sustainable business and could continue to develop for in the future. A week or two a month could yield a new update every month, our fan base would grow, the game would allow us to develop games full time. &lt;br /&gt;&lt;br /&gt;I spent over $7k on an advertising campaign. By this point, this was almost all that was left in the Broken Kings bank account. But so sure were we of the game that we did it anyways.&lt;br /&gt;&lt;br /&gt;February 22nd, our ad campaign went live, on all the large websites for iPhone games and large websites for iPhone apps we could find and afford. We had paid for ads from a well known artist, knowing that Josiah's pixel-art style wouldn't draw in as many customers and that we didn't know advertising that well, so having a pro help us out couldn't help.&lt;br /&gt;&lt;br /&gt;It boosted our sales by about $15 a day the day it went live. We can't even be sure how much of that was the ad campaign because our sales tended to fluctuate within at $20 range on a per-day basis. A few days later, Apple featured us, but only in the "What We're Playing" section. This free publicity boosted our sales by $30 a day. We never cracked the top 200. We were emotionally, physically, creatively, and financially exhausted when I was approached by Free App A Day and given the chance to put Castle Conflict up for a discounted price. I agreed, and this worked - we made about $3000 in the next two months after the app went free. This went to paying 2009's taxes. &lt;br /&gt;&lt;br /&gt;Agreeing to take a break from the project for a while, Josiah continued working and got involved in some musical projects. I started taking on consulting work, working on various projects including an iPad port of a game by a local company (The funds from that also went to taxes), an iPhone app that has yet to be released and I have yet to be paid for, then some consulting for a UK-based company that took up the end of April, all of May, and first few weeks of June. It put money in the bank, but I had made a commitment to a game studio in town that I would make a game for them this summer, for money and a small percentage. So as soon as the UK app was finished, I has to immediately put time into this new project (which is still ongoing).&lt;br /&gt;&lt;br /&gt;Josiah and I did plan and start the new update in April, however, with the intention of working on it on a weekly basis. That didn't last through the UK app, due to the client having a very intense deadline that we worked like mad to reach. Various other dramas and events in my personal life made it difficult for me to want to work on code after work hours. But the original plan (which has since been reshaped) was that the game I was working on locally would be complete July 31st. I even paid my roommate (who made Shiftmaze last year) to help me out that month. For a variety of reasons, the app has not yet been released and is still in development, partially due to my own over-ambition, partially due to some differences in the way that the company I am working for operates versus the way I operate on Castle Conflict. Josiah is only available full time for two days every other week, due to commitments both to his full-time job and his band. So we've never quite found the magical, creatively-charged week or two week period that we had in the previous updates. A lot of the work, we don't even do at the same time. I work when he's at work and he works on weekends. &lt;br /&gt;&lt;br /&gt;Yet pressure continued to mount, with reviews coming in every day from fans wanting the update, which escalated eventually to fans demanding an update, so we have been putting this update together every chance we get. But it has been nearly 4 months that we have been working on it on and off now, when before we were able to work on it for two weeks and be good. And we've ended up cutting out a fair amount of what we planned in order to get this update out faster - our original plan involved having about 50 new levels and 23 new unit types this update, but we've cut it down to a typical campaign of 20 levels and 10 new unit types, simply to get it out on time, and because we're finding it hard to find the time we'd need to put in in order to pull off a lot of the wizardry we were hoping to pull off.&lt;br /&gt;&lt;br /&gt;Yet, despite all this work in the past year, Castle Conflict has only made about another $9K. Of that $9K, $8K went towards advertising and about $2K went towards paying Josiah. In short, despite the bulk of the game having been created since Apple featured us hardcore last year, we haven't been able to capitalise on the promise of our initial launch. As much as we both would love this game to make us enough money that we could put more time into it, would love to release a new update on a monthly or bi-monthly basis, the need to eat makes this tricky. &lt;br /&gt;&lt;br /&gt;I have a decent amount of money in the bank account, enough for me to live for a few months, although that lessens if I try to pay an artist full time. Nonetheless, after this release and the release of the game I'm making for the local company, I will be looking into a plan for how to develop better in the future. Because I truly believe that communication with our audience, and a stream of new content, can lead to a successful iPhone app business. I have ideas I've talked with a few people that we want to get out there in the app store, and I'd love to bring the audience along, be able to bring these ideas to fruition faster and be more open with the audience. The past few months, I have failed on this front due to the stress related to money and client work - whereas, earlier this year I was able to put a lot into it. (Look at the Multiplayer update of Castle Conflict - it added the "next update" preview feature and the survey, and I was constantly posting youtube videos about the current progress of the app). I'd like to get back there.&lt;br /&gt;&lt;br /&gt;This update, we still believe will be good, if not everything we hoped it to be. But I'm going to look at it as a launching point. Besides, we already have ideas for the next update.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-5204286516830147769?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/5204286516830147769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=5204286516830147769' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5204286516830147769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5204286516830147769'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/08/castle-conflict-bumpy-road.html' title='Castle Conflict, a bumpy road'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-6952120757877472965</id><published>2010-07-08T08:55:00.001-07:00</published><updated>2010-07-08T09:06:12.838-07:00</updated><title type='text'>Quiet does not mean dead</title><content type='html'>So, the original CC plans of having the next update done by the end of the May never quite went to fruition. Back to back projects had lead to my having very little development time free for the project. The project I am on now is scheduled to end July 31st, and it is another game I am being paid to make for a company in my town of Calgary. The games current name is Furious Tactics and it basically takes my love of tactical games and lessons I've learned from Castle Conflict (both design wise and code wise) and merges the two into what will be one amazing tactical game. I am working with the talented Sean Dunkley on art; he may be better known to anyone who has played Sally's Spa, although he has worked on many other projects (check out his &lt;a href="http://graphicrepublic.com/"&gt;webpage&lt;/a&gt; to see some of what he has done). So if you are missing out on CC battles, watch out for Furious Tactics (working name) which should be out soon!&lt;br /&gt;&lt;br /&gt;I have no projects scheduled in August as of yet and am in a financial situation where I should actually be able to keep it that way. So while it is a bit delayed from what I would have liked, as soon as the client work is done and I'm not concerned with deadlines on other projects, CC is my first priority. Josiah and I have already spoken and are planning to be able to get the game done as quickly as possible come August. &lt;br /&gt;&lt;br /&gt;After that, my roommate, Lopi, and I have been talking about spending some time working on a couple app ideas he and I have been batting around for some time. My goal, building a company, is to be able to work on client projects less and games/apps released under my own company more often. Financial realities don't always allow this to be the case, and I love the act of doing the work, for clients or for myself, so I'm not unhappy doing client work. But in terms of going where I want to go in life, I'm hoping to be able to take projects like Castle Conflict and build on them more often :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-6952120757877472965?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/6952120757877472965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=6952120757877472965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6952120757877472965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6952120757877472965'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/07/quiet-does-not-mean-dead.html' title='Quiet does not mean dead'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-7868427530214987821</id><published>2010-05-22T08:39:00.000-07:00</published><updated>2010-05-22T08:47:13.404-07:00</updated><title type='text'>Castle Conflict Update</title><content type='html'>Unfortunately, the current Castle Conflict update its taking longer than expected. There is one reason for this: Castle Conflict does not make us enough money to live off of. For this reason, we are unable to make it priority over things that actually make us money.&lt;br /&gt;&lt;br /&gt;The original intent had been to work on it all this month and release it at the end. And we're still aiming for that deadline, but it may be more difficult to reach. Most of the art assets have already been created, but almost none of the code for the new campaign has been implemented. This is because I, the programmer, have been doing client work, and the current client work has taken up almost literally all of my available time. Things there have just wound down, so after a day or two to recover, the update will be making forward progress again. &lt;br /&gt;&lt;br /&gt;The new update will feature a 3rd campaign, in what we dub the "Endless Forest".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-7868427530214987821?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/7868427530214987821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=7868427530214987821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7868427530214987821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7868427530214987821'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/05/castle-conflict-update.html' title='Castle Conflict Update'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-6145974806608968578</id><published>2010-04-14T09:34:00.001-07:00</published><updated>2010-04-14T09:51:25.444-07:00</updated><title type='text'>The value of experiences</title><content type='html'>I don't like "distractions" or "time killers".&lt;br /&gt;&lt;br /&gt;We all get one life, of variable length. I'm going to ignore religion, rebirth, and all those other theories and say that the only thing that is universally accepted by all humans is that we are born, and eventually we die, and what happens after that is mysterious.&lt;br /&gt;&lt;br /&gt;The thing is that we are born into this amazing, wonderful world. I don't have to believe in some higher deity to realise that the world out there is full of wonder and miraculous things. In the natural world alone, there is so much to be experienced, and mankind has been quite prolific in their own right.&lt;br /&gt;&lt;br /&gt;I find the concept of free time hard to understand, and the same of boredom. There are so many things to do in life that are so fulfilling, that I can't understand being bored and looking for something to do to kill time. When I'm not working, there are a ton of other things I like to do - learn guitar, go for bike rides, cook, spend time with my household. And when I actually "relax", even that is as a break from all the other things I want to do, and there are so many wonderful books, so much wonderful music, and even a good movie or tv show here or there. &lt;br /&gt;&lt;br /&gt;In short, there are so many wonderful things to do in life that most days I don't even get to do everything I want. Or even close. And I'm constantly getting ideas for new things I would like to add to my busy schedule. Like, boy, I would love to make such and such game. I would love to read such and such book. I would love to bike to such and such location. I would love to learn how to play such and such instrument. I get ideas for things to do faster than I can do them.&lt;br /&gt;&lt;br /&gt;So to me, any hold on my attention is precious. There are so many amazing things that I could be doing, why would I do something mediocre, just to kill time? I'd rather be expanding time!&lt;br /&gt;&lt;br /&gt;I like to think that I bring this philosophy into my creative output. I never want to make something that just keeps you occupied. I never want to make something that doesn't challenge. I view everything I work on as competing with all of the amazing things that people could be doing instead, and I don't want to disappoint. &lt;br /&gt;&lt;br /&gt;Yet strangely, these types of experiences, these "just floating by" experiences are more numerous than they've ever been. Facebook and Twitter makes it easier for us to believe that all of our friends are interested in all the mundane aspects of our lives. TV not only forces us to make do with "whatever is on", but it attempts to brainwash us into wanting more and more of these mundane experiences. The iPhone app store is awash with people making an app with the first idea that came into their head and pumping it out as quickly as possible, in the hopes that something serendipitous will happen and they will get rich.&lt;br /&gt;&lt;br /&gt;Everybody has a voice, but most people don't seem to have anything interesting to say.&lt;br /&gt;&lt;br /&gt;Society, especially the whole "Western" society, has reached a point where less and less time is dedicated to staying alive. We have this amazing world to experience, where we can create things that really challenge people, make them think, and have lasting impacts. We have the time to do and experience the world like we never have before in history. But we seem to have this force called "boredom" imposing on our life, that drives us to seek the easiest source of minor entertainment.&lt;br /&gt;&lt;br /&gt;Every moment someone spends inside of a game I make is a moment that they could have been doing something else with their life. I want to make sure that it is worth the tradeoff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-6145974806608968578?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/6145974806608968578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=6145974806608968578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6145974806608968578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6145974806608968578'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/04/value-of-experiences.html' title='The value of experiences'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-7356228609931359093</id><published>2010-03-09T08:58:00.000-08:00</published><updated>2010-03-09T09:19:24.628-08:00</updated><title type='text'>Stortelling in games: likes/dislikes</title><content type='html'>I'm going to take a break from Castle Conflict related stuff to talk a bit more about storytelling in games, something that I had hoped to have more time to do but haven't in quite some time.&lt;br /&gt;&lt;br /&gt;Specifically, I am going to look at two games, one that I think did storytelling amazingly well, and one that demonstrates how, in some way, story and related paraphernalia can hinder gameplay as much as help.&lt;br /&gt;&lt;br /&gt;The first game I want to talk about is HalfLife 2. As far as stories go, the story here is actually not too far from the fare of most video games. There is some evil force that threatens to overtake the human race, and you are set against it to destroy it. It is a bit more interesting than just that; the human race itself seems out to get you, with police men wearing what looks like gas masks out to get you at every turn. But there are people on your side to, and they refer to you as "the free man" and even fight alongside you during gameplay.&lt;br /&gt;&lt;br /&gt;Okay, so the story is, really, decent at best. But the actual telling of the story in Half Life is brilliant. First of all, nothing is forced on you, and I think this is a very important point about what Half Life did successfully. Yes, the game is linear; no, there aren't really any branches in the story; and yet, I felt more a part of the story in Half Life 2 than I did in games like Tales of Symphonia, where the game is -about- the story, has story scenes all the time, and allows me to make choices that effect the story. Why? Because, when story stuff was going on, I could run around, jump on things, shoot people, ignore it entirely, pay complete attention to it. In short, &lt;i&gt;I was still playing the game while the story was going on&lt;/i&gt;, so it was still &lt;i&gt;me&lt;/i&gt; who was experiencing the story. It quickly became something I appreciated a lot about the game.&lt;br /&gt;&lt;br /&gt;The other aspect was the lack of detail. As you play the game, there is no moment where someone comes up to you and says, "Okay, this is what is going on." There are some light explanations here and there, but really, you're never really told specifically what the Citadel is. who "our Benefactors" really are, or how they came to be here. (&lt;i&gt;note: I have never played the original Half Life, which I am sure explains some of this&lt;/i&gt;). The player is forced to infer what is going on based on the snippets he does here; the situation that people are living in, and the environment around him. As a storytelling technique, this makes the game much more enjoyable. And for those who don't like story, and just want to shoot things with the Gravity Gun, they can outright ignore it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next game is actually a series; specifically, Fire Emblem. Fire Emblem is pretty successful in the tactical RPG realm, having been releasing games since the SNES days. But there is one specific detail about it that bothers me, which I will get to in a moment.&lt;br /&gt;&lt;br /&gt;One discussion I remember having when I was taking Game Design courses was about consequences. About how, in many games, there were no consequences to the players' actions in a lot of games. The teacher talked about how he felt that consequences could be used to greater effect in a lot of games. &lt;br /&gt;&lt;br /&gt;I think one thing to remember with games, even games that are heavily based on storytelling, is that they are still games. They are supposed to be fun. On the one hand, I'm a fan of the idea of consequences, and I think if implemented well, they can add a lot of depth and strategy to your game.  &lt;br /&gt;&lt;br /&gt;In Fire Emblem, they added consequences. If one of your character dies in the midst of battle, he dies forever. This might not be so bad, if there weren't a lot of weaker units (healers/mages) that suddenly seem much more useless, because you never want them close enough to the front line to be used effectively. If you do this, they will be killed. And while, in this type of games, you generally don't want your units killed, in Fire Emblem having them killed basically forces you to restart the battle or move forward for the rest of the game with a gimped army. Either option kind of sucks. And unfortunately, it is easy to have a healer off by a single square, and then have an enemy unit, out of the blue, attack it an kill it in a single hit. While this does promote awareness of careful planning, which are strong aspects of this type of game. I feel that it nonetheless is a bit too harsh.&lt;br /&gt;&lt;br /&gt;For this specific case, I think Rondo of Swords found a much better mid ground. There is still punishment if your unit dies in battle, but instead, it's just weaker in the following fight while it recovers. A much more balanced, enjoyable feature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-7356228609931359093?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/7356228609931359093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=7356228609931359093' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7356228609931359093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7356228609931359093'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/03/stortelling-in-games-likesdislikes.html' title='Stortelling in games: likes/dislikes'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-8726986895404886240</id><published>2010-03-06T12:57:00.000-08:00</published><updated>2010-03-06T13:23:19.563-08:00</updated><title type='text'>Learning from your fanbase</title><content type='html'>In my last blog entry, I made the mistake about complaining about a bad review. Typically, I avoid complaining because it rarely accomplishes things, and I don't like being a whiner. But something happened as a result of my complaining - a fan of Castle Conflict went and wrote a great review. Since then, the game has got many more and with the new Egypt update out, it is doing pretty decent.Nonetheless, my last blog entry taught  me two things:&lt;br /&gt;&lt;br /&gt;1) Fans are &lt;b&gt;awesome!!&lt;/b&gt;&lt;br /&gt;2) Whining works. (Don't worry, I'm not going to start whining all the time =P)&lt;br /&gt;&lt;br /&gt;I have a couple Castle Conflict related blogs on my plate, things that I've learned, and this will be the first of those. I was hoping to do this one about a month ago, actually, but I've been sidetracked... now that I have some time, here it is!&lt;br /&gt;&lt;br /&gt;One of the things that we added to the Multiplayer update of Castle Conflict was a survey. The survey basically allows us to ask the users directly what they think about Castle Conflict. I set up the survey such that I could update it live, although I haven't done so as of yet, as I haven't had a chance to collate the results of the last survey.&lt;br /&gt;&lt;br /&gt;To make the survey work, I'm using PinchMedia. It's no secret that I think Pinch is amazing and have learned a lot using it. There is some fear mongering going on about the service, but I think it's a bit too much. Especially given that Castle Conflict does not use Core Location or Facebook Connect; so some of the things that people are frightened of don't even apply to our game.&lt;br /&gt;&lt;br /&gt;Anyways, Pinch is great because it tells you what your users do. But it's a bit more difficult to ask them outright what they think, so we added the survey. But, since we already had Pinch Media installed, instead of going through all the effort of writing a web service that would tally the results, and display it, I just made each question have a beacon, and I appended -y/-n at the end of it to mark the users response. This doesn't work perfectly; if a user takes the test more than once, for example, and answers the same question differently, I get both answers and don't know that they changed their answer. Being the optimist, I pretty much ignore all the -n answers, view by unique users instead of clicks, and tally the results that way.&lt;br /&gt;&lt;br /&gt;Here are the results:&lt;br /&gt;&lt;br /&gt;966 people finished the survey&lt;br /&gt;&lt;br /&gt;945 played Campaign&lt;br /&gt; 918 wanted more levels&lt;br /&gt; 916 enjoyed campaign&lt;br /&gt; 909 want more units&lt;br /&gt; 844 want unit skins&lt;br /&gt;&lt;br /&gt;439 would pay for more content&lt;br /&gt; 298 would pay for campaign levels&lt;br /&gt; 290 would pay for units&lt;br /&gt; 232 would pay for unit skins&lt;br /&gt; 199 would pay for multiplayer levels&lt;br /&gt; &lt;br /&gt;307 played multiplayer&lt;br /&gt; 275 enjoyed multiplayer&lt;br /&gt; 218 thought multiplayer was stable&lt;br /&gt; 179 thought multiplayer had enough customisation&lt;br /&gt;&lt;br /&gt;922 Would recommend the game to their friends&lt;br /&gt;&lt;br /&gt;This tells me a few things.&lt;br /&gt;1) Multiplayer could still use some work&lt;br /&gt;2) However, very few people have played multiplayer relative to campaign&lt;br /&gt;3) Despite the fact that multiplayer could use some improvements, if I were to make it more stable, I would please less than 100 people (as 2/3rds of the ~300 who had already played thought it was stable already&lt;br /&gt;4) If I were to sell new campaign maps, I would please almost as many people as have played multiplayer&lt;br /&gt;5) If I were to release a new, free campaign, I would please three times as many people as have played multiplayer&lt;br /&gt;&lt;br /&gt;This tells me that, while multiplayer could use some work, the direction that the fans are interested in is campaign.&lt;br /&gt;&lt;br /&gt;How does this compare with what I've learned via pinch?&lt;br /&gt;&lt;br /&gt;In the month of February (when multiplayer was live):&lt;br /&gt;&lt;br /&gt;5236 People played campaign,&lt;br /&gt; 972 beat it and kept playing after&lt;br /&gt;&lt;br /&gt;1166 people created a multiplayer game&lt;br /&gt; 262 people challenged an existing &lt;br /&gt;&lt;br /&gt;Result? Not a lot of people playing multiplayer in its current incarnation.&lt;br /&gt;&lt;br /&gt;There is one other thing I would like to discuss in this entry, and that is "QuickPlay". Currently, I am thinking of axing it, despite the fact that it goes against some of my instincts. (According to Pinch, 2886 people played QuickPlay in February, so it is still being used). The reason for this is that it ruins the first experience. If the user starts a quickplay match and they haven't yet played, they are presented with 8 units + another button, and little idea what to expect. It can be overwhelming. Campaign is a much more controlled experience - the player gets 3 units to start, and gets to get new units one at a time, as features slowly unroll for them. Campaign also drives the user forward better.&lt;br /&gt;&lt;br /&gt;If I download a game for a first time, and I'm trying to figure out how much I like it, I'm more likely to click on "QuickPlay" than "Campaign". Simply because, Campaign sounds like it has a large commitment. Whereas QuickPlay sounds light and easy - "oh yeah, I can try this out, and know if I like the game." I've seen over half the people I pass the game to test it out go to QuickPlay instead of Campaign. So either Quickplay needs some reworking ... or it should be taken away. We want users to have the best first experience possible, so that they like the game more, and are more likely to spread it via word of mouth. I think that, for this to work, we need to drive them to our best experience, which is Campaign. Will this actually happen? Stay tuned for our next update (although no date is yet set for that)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-8726986895404886240?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/8726986895404886240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=8726986895404886240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/8726986895404886240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/8726986895404886240'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/03/learning-from-your-fanbase.html' title='Learning from your fanbase'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-7038275099320801859</id><published>2010-02-01T08:43:00.000-08:00</published><updated>2010-02-01T09:19:18.403-08:00</updated><title type='text'></title><content type='html'>One of the biggest fears I've heard from many of my programmer friends is showing their code to other people. Or coding in front of other people. It's as if, they're so afraid that there's some way they could be coding things better that they don't know about, that if they showed their code to others they'd be ridiculed. Or that they think that they're doing things in a great way and are afraid to be ridiculed and find out that perhaps their way isn't so great after all.&lt;br /&gt;&lt;br /&gt;I don't remember having this fear for a long time. I got used to pairs programming in high school, which to a lesser extent involves sharing your code with someone. But it's more recently that my lack of fear has been obvious; I taught iPhone Dev School this weekend and was coding in front of an audience of ten others, not only showing off my coding style in real time, but making the claim that it was good enough that they should listen to me and code this way. (For sure, I was coding nothing particularly difficult in a two day course, but my &lt;a href = "http://www.killingmichael.com/"&gt;co-instructor, Michael,&lt;/a&gt; came up to me and said, "Man, you're brave. Coding in front of ten other people!"&lt;br /&gt;&lt;br /&gt;Truthfully, until he said that, I hadn't even thought about it.&lt;br /&gt;&lt;br /&gt;No, when it comes to code, my fear is not showing it to others. My fear is my product. Michael gave a speech this weekend with roughly the following quote: "If you're not embarassed by the first version of your product, then you've shipped too late." I agree with this notion full heartedly. But although I will publish an embarassing product to see if there is any interest in it, once I know there is an interest, I get more concerned with doing things &lt;i&gt;right&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;I released Castle Conflict almost a year ago now. It has been a pet project of &lt;a href = "http://www.josiahtobin.com/"&gt;Josiah's&lt;/a&gt; and mine, and we have since released one minor and two major updates for it, with another one that we are currently planning. We have over 20 000 people who have downloaded non-pirated versions of the game at this point. While I am certain that it has been deleted by a number of these people, assuming only half of that audience liked the game enough to keep it, that means that each time we update our game, there's 10k people who might see it.&lt;br /&gt;&lt;br /&gt;One of the popular requests for Castle Conflict has been multiplayer. I finally spent the time teaching myself the BlueTooth and WiFi libraries on the iPhone. I finally spent time learning about syncing, time stamps, etc. I expected that I would be done January 7th, but it was not until minutes before midnight on January 21st (after skipping my weekend and spending 4 days working 12 hour shifts, something I did without noticing because I love my job so much) that I finally submitted the multiplayer update. After days of testing, checking stability, reducing crashes, keeping the devices connected as solidly as possible. etc.&lt;br /&gt;&lt;br /&gt;But there's a problem. I am in no means a network programmer. While I enjoyed that course in school, it was not my strong suit. And I haven't really touched anything network-program-y since 2006 in school. (Technically, I was working on Gwabs, a networked game for about a year, but by the time I was on the project most of the network code had already been written and I never touched the networking code itself). So, in terms of how to structure things, I was learning the entire way.&lt;br /&gt;&lt;br /&gt;Then again, the first week when Josiah and I did Castle Conflict, I was teaching myself Cocos2d. But my experience with 2D game engines is much stronger, and it's a lot harder to structure rendering wrong. &lt;br /&gt;&lt;br /&gt;On January 21st, I felt fairly certain that I was submitting a game that would be received well, that would give Castle Conflict a much-wanted boost in sales, and that was fairly certain. But I had a fear. I had a fear because I am not a network programmer, and while I tested everything I could think of, my instincts are not as sharp as they would be in searching for bugs in gameplay. I don't know with as much certainty where to look to make sure I haven't made any obvious mistakes. What if I missed a spot?&lt;br /&gt;&lt;br /&gt;Nonetheless, surely my audience would appreciate what I had made for them, the weeks I had spent getting it working on their request, the time I had spent learning and implementing? Surely, even if there were bugs, they would understand that they would be ironed out over time, and appreciate the new features that most of them were getting for free?&lt;br /&gt;&lt;br /&gt;Not quite so. I've got three reviews since the multiplayer update went live. One is about another game, making me wonder if the reviewer is confused, or a spammer. One was in German, and although google translate tried, it was not able to make the review completely understandable. (I did get that they liked it, though). But one said this:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Bluetooth and WiFi gameplay always disconnects... Horrible coding and balancing."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It was a one star review, the first review lower than three stars I have gotten since campaign mode was released. And while it's too early to say for sure, my sales took a turn downwards today compared to yesterday (when this review was written). Such an early review discounts all the other stuff in the game that people have already liked, and says that it sucks because this new feature I spent weeks writing and learning for - literally as much time overall as the entire rest of the game combined - is not yet perfect. And I wonder, by spending these weeks trying to give back to my users, have I potentially damaged my sales more than hurt them?  (This all being said, I just checked out this guy (NeverEverSatisfied)'s stats and he's written 14 reviews on the app store, of which 12 were 1 star.)&lt;br /&gt;&lt;br /&gt;I'm reminded of a quote that refers to rock stars: &lt;i&gt;"You're only as good as your last hit single."&lt;/i&gt; Perhaps this is true on the app store? Perhaps you're only as good as your last update?&lt;br /&gt;&lt;br /&gt;I wish that the iPhone app store allowed me to e-mail people who reviewed my game. For, certainly, I would love to know what problems this guy ran into. What device he was on (I was able to test on an iPhone 3G, 3Gs, and an iPod Touch 2nd Gen, but not iPhone 2G or iPod Touch First Gen). What disconnect messages he was getting. Then, perhaps, I would be able to learn from this information, update my code, and make things more stable. &lt;br /&gt;&lt;br /&gt;Anyways, we will continue to make wireless more and more viable as time passes. And we will continue to add more content. I have learned a couple other things from this update that I hope to blog about soon, including some classes I wrote for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-7038275099320801859?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/7038275099320801859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=7038275099320801859' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7038275099320801859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7038275099320801859'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/02/one-of-biggest-fears-ive-heard-from.html' title=''/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-9201005879622994309</id><published>2010-01-27T11:30:00.000-08:00</published><updated>2010-01-27T11:34:38.070-08:00</updated><title type='text'>iPhone Dev School Rev 3: This weekend!</title><content type='html'>&lt;a href = "http://www.killingmichael.com/"&gt;Michael Sikorsky&lt;/a&gt; and I will be teaching iPhone Dev School again this weekend, at the University of Calgary. &lt;br /&gt;&lt;br /&gt;For a sample of what you can expect to learn if you attend, we have "leaked" the following recipe: &lt;a href = "http://home.brokenkings.com/downloads/bluetooth.zip"&gt;BlueTooth Recipe&lt;/a&gt;, which outlines how to use the GameKit library in iPhone OS 3.0. This is just one of the many things that will be covered this weekend. &lt;br /&gt;&lt;br /&gt;No experience is necessary; day one is spent getting everyone up to speed on how iPhone development works, what all the different pieces are, and getting familiar with the tools. In day two, we spend more time giving students quick introductions to various APIs that are available, both from apple and third parties. We also discuss the app store from our own real world experience.&lt;br /&gt;&lt;br /&gt;If you are interested, there are more details &lt;a href = "http://killingmichael.com/iphone-dev-school/"&gt;on Michael's blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-9201005879622994309?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/9201005879622994309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=9201005879622994309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/9201005879622994309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/9201005879622994309'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/01/iphone-dev-school-rev-3-this-weekend.html' title='iPhone Dev School Rev 3: This weekend!'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1211988947671703974</id><published>2010-01-02T13:57:00.000-08:00</published><updated>2010-01-02T14:13:02.335-08:00</updated><title type='text'>iPhones impact in Calgary in 2009</title><content type='html'>&lt;div&gt;2009 has seen a huge increase in the visibility of apple's iPhone App Store. The app store hit it's billionth download in May, then just before the end of September it doubled that number. Over 100k apps have been developed for the app store since it launched in the summer of 2008. Even in the humble little oil, gas, and cowboy town of Calgary, we've seen a significant pool of developers working on apps for the device.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The biggest category of iPhone app developers in Calgary have been those who are developing games. Companies in Calgary that are involved in this space include:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.brokenkings.com"&gt;Broken Kings&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Broken Kings is a fledgeling Game Design company that so far has two games published on the iPhone. The first, Castle Conflict, was initially developed in 10 days, pirated over 10k times, featured by apple, and hit the top 50 in the US App Store for all apps. Their second app, Ant Attack, took longer to develop and did not sell as well. They released an update version of Castle Conflict before Christmas. The company also has two PC games that is is searching for distribution for, and does some consulting. They have one full time employee, Stephen Gazzard, and hire contractors to aid them on projects.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.blueunitstudios.com/"&gt;Blue Unit&lt;/a&gt;/&lt;a href="http://www.gamescafe.com/"&gt;GamesCafe&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;A lot of press has been given to Sally's Spa, which knocked EA's The Sims off of the #1 slot in the iPhone app store to becoming reigning champion. While it is no longer in the top slot, it still made makes large amounts of sales. The game was developed by a Calgary game development company, Games Cafe. The two man team responsible for most of the design, programming, and art then left Games Cafe to start their own iPhone game company, Blue Unit Games, although they were bought by Phoenix New Media shortly afterwards.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.wnrs.ca/"&gt;WNRS&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;WNRS (which stands for We Are Not Rocket Scientists) and is another success story from a Calgary development house. The company includes Boris Cosic, who worked on Flapjack Finder, an app that allowed users to find Calgary Stampede Pancake Breakfasts with their iPhone. Two apps have been released by WNRS so far. The first was HallowCarver, a Halloween themed app where the users carved pumpkins with their fingers. The app was featured by apple and hit the top 50 in Canada. Their second app, a game called SnowRumble, was released in the app store shortly before Christmas.&lt;/i&gt;&lt;/div&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://fpmsoftware.com/www.fpmsoftware.com/Welcome.html"&gt;FPM Software&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;FPM software is a company run by Lopi Mackenzie. The company is technically incorporated as a BC corporation but its offices are now located in Calgary. Their first app, ShiftMaze, was released shortly before Christmas, and developed in coordination with Vertical Motion.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://bnid.ca/"&gt;Big Nerds in Disguise&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Big Nerds in Disguise is a hobby developer, meaning that the employees still work full time jobs and makes their apps at night. Their first app, Own This World, went live shortly before Christmas. Is is a location based app where players gain territory using the GPS on their iPhone. In total, BNiD has three employees; two programmers and the graphic designer/marketer. (They also wrote another app, Ask JC, that was rejected by Apple).&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.somacreates.com/"&gt;Soma Creates&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Soma Creates is a company run by Josh Heidebrecht, a parent of two. Like many other companies in Calgary, Soma Creates makes games for the iPhone, but where Soma Creates is unique is that their apps are aimed at the children of people who own iPhones. Their first app, I Can Garden went live earlier this year, and is aimed at children 18 months and older. Soma Creates already have several projects planned for 2010, that follow their goal of creating apps that entertain children while at the same time unlocking their potential and inspiring their creativity.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.tapium.com"&gt;Tapium&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Another young iPhone company in Calgary that develops games and does consulting. Notably, they recently worked on Hootsuite, &lt;a href="http://mashable.com/owa/pages/winners"&gt;which won an award on Mashable&lt;/a&gt; for best Twitter app.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.mindlessgoods.com/"&gt;Mindless Goods&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Mindless Goods is a small Game design company based in Calgary that is near to releasing their first title, Bait, which is like a combination of the hit iPhone app Koi Pond and the hit PopCap game Feeding Frenzy. It is run by Greg Taylor outside of work hours.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.iphoenixfund.com/"&gt;iPhoenix Fund&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;The iPhoenix Fund is perhaps the biggest movements in game development in the city. It was started by Phoenix New Media, a Calgary games company that has a hit series, "Curse of the Pharaoh", on Big Fish Games.  In 2009, they began iPhone operations, including the purchase of Blue Unit Studios and the start of the iPhoenix Fund, which intends to build a number of iPhone games over the next five years. Development partners that will be working with Big Stack Studios (the company Phoenix New Media is using for iPhone games) include Broken Kings, Robots and Pencils, Chayowo Games, and Phoenix New Media.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Among all the game developers, there are also some companies who dabble in more than just games. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://hq.robotsandpencils.com/"&gt;Robots and Pencils&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Robots and Pencils is run by Michael J. Sikorsky and his wife, Camille Sikorsky. They consult and work on their own projects. Throughout the year, they were involved in various websites, businesses, and iPhone apps. The four iPhone apps that are live in the app store that Robots and Pencils were involved with include: Crush Factor, iHydrate, Kawi, and an app for iPhoenix Fund investors.&lt;/i&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, there have been several movements in Calgary that have not been related directly to the development of iPhone apps, yet have still benefited from the growth of iPhones on the market.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://killingmichael.com/iphone-dev-school/"&gt;iPhone Dev School&lt;/a&gt;/&lt;a href="http://calgary.iphonedevcamps.org/"&gt;iPhone Dev Camp&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;iPhone Dev School and iPhone Dev Camp are initiatives started by Michael J. Sikorsky of Robots and Pencils. He teaches iPhone Dev School with Stephen Gazzard of Broken Kings; so far, they have taught the course twice (once in Calgary and once in Edmonton). It is a weekend course, and students have gone on to write successful apps. Included among the students were Boris Cosic of WNRS, and Randy Troppman, who founded RunningMap Trackometer, an app that tracks users positions over time. (It hit #10 in the Fitness category on the iPhone). The next is being held at the University of Calgary at the end of January. &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;iPhone Dev Camp is a little more loosely structured than iPhone Dev School, and at the first one (which was hosted in Autumn), the "App Track" began developing an app for the Calgary Science Center.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://appboy.com/"&gt;Appboy&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Appboy is a website for developers to promote their apps, for people to submit app ideas, and for users to look at what apps are available. In short, it's an app-lovers hub.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://iphix.ca/"&gt;iPhix&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;iPhix is not involved in iPhone Development, but they still make their living off of the iPhone. This mom and pop shop specializes in fixing broken iPhone screens for less money and time than it takes Apple to do so.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;From work-at-home entrepreneurs to hobbyists working in their free time, to large funds - the iPhone has definitely made it's presence known among the development community in Calgary. 2010 should see many more exciting advancements.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Every effort has been made to keep the content in this post accurate. If any information seems incorrect, please e-mail stephen at broken kings [dot] com&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1211988947671703974?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1211988947671703974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1211988947671703974' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1211988947671703974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1211988947671703974'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2010/01/iphones-impact-in-calgary-in-2009.html' title='iPhones impact in Calgary in 2009'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-346887279195023650</id><published>2009-12-16T21:21:00.000-08:00</published><updated>2009-12-16T21:39:08.372-08:00</updated><title type='text'>Gameplay and Storytelling: Part 3</title><content type='html'>I recently downloaded a game for the iPhone called Suviving High School, part 3. I was anticipating not liking it, because I am not a fan of current teen culture, and the game seemed likely to glorify it. The reason I felt interested in downloading it was because it seemed to be a game where story was important.&lt;br /&gt;&lt;br /&gt;One of my long term goals with game development is to develop a style of gameplay where what you do in the game and what you do in the story are linked. Surviving High School showed me two things: 1) This is a viable gameplay mechanic, and 2) There is a demand for it.&lt;br /&gt;&lt;br /&gt;Surviving High School is, in essence, a very rudimentary version of what it is that I hope to eventually accomplish. The game follows the story of you, going through high school, and along the ways you get to choose to do various things, build relationships with people, and in the end, based on how you did, things happen.&lt;br /&gt;&lt;br /&gt;It also handles a couple of the things that I have been concerned about quite well, specifically, how to drive the player. Up front, the player is given three main goals: Win at football, Get a car, become popular. It is, of course, essentially impossible to pull all of these things off, and the player must make choices along the lines where they are going to concentrate. Are they going to make their character strong so that he can perform 'special moves' in football? Are they going to spend time studying so that they can do better at school, so that they do well enough that their dad buys them a car? Or are they going to watch TV and skip class to be come popular? (Philosophically, that's the part I hate most - that the player was rewarded for doing such things - but whatever, I won't go into a teen-lifestyle rant today :)&lt;br /&gt;&lt;br /&gt;Where this game differs from my view on what I hope to eventually accomplish, down the road, with this style of gameplay is the characters interaction. What we have here is great - I actually enjoyed building up relationships with the various characters, and I really tried hard to have a good relationship with the girl who I was dating, and I really felt bad when other characters didn't get along well with my character. And I point out that this game does it very well, and it has excellent scripts and the characters are interesting and varied. But what I want to accomplish is a game where your interactions with other characters are richer. Surviving High School plays roughly like a "Choose your own adventure" game, where your relationship with characters is dependent on what you say in situations where you only get to choose one of two possible things to say.&lt;br /&gt;&lt;br /&gt;I want to someday have a style of gameplay where you can go, strike up a conversation with another character, and say pretty much whatever. This of course leads to many concerns, of which syntax, performance, and possibilities are among them. I have been thinking more and more about the idea of symbolic language, as used in &lt;a href = "http://en.wikipedia.org/wiki/Trust_%26_Betrayal:_The_Legacy_of_Siboot"&gt;Siboot&lt;/a&gt;. (This would also solve the difficulty of porting to other languages; no having to learn how to parse multiple languages!)&lt;br /&gt;&lt;br /&gt;Alright, so saying "Pretty much whatever" is unlikely, and it would lead to players saying dumb things to the characters. (You know that as soon as you start talking to one of those 'bots' online or wherever, you try to say the zaniest thing possible in the hopes of tripping it up). But creating a more rich, verbose interaction between characters, I believe, will really immerse the players. Because truthfully, in Surviving High School, there were many times when I didn't feel compelled to say or do either of the things that I was given the choice of doing, and felt as if I were picking the "lesser of two evils".&lt;br /&gt;&lt;br /&gt;There is one other area that Surviving High School did well that I still would like to potentially improve upon in my own game down the road, and that is variety of actions. In SHS, the game calls on you to do many things, from sing to act to play football to etc..., and each of these things would of course require different minigames or actions to fully work. What they have instead for most cases is word based games; you spell or choose words that are related to the actions. This nicely solves the problem of having to create many different actions for the player to perform but at the same time devalues the experience of trying  to accomplish some of the things your character does. While it would be difficult to create a game where the player has many options of actions on top of the various conversation requirements this game would require, I feel that finding some solution to this would be important.&lt;br /&gt;&lt;br /&gt;At this point all of my ideas are experimental and I don't know how to solve all the problems I am encountering in my mental designs. Those that I am finding solutions for are often expensive or require vast amounts of technology and scripting times. It will require vast amounts of experimentation and iterations before this style of gameplay is fully realised. Perhaps I won't even be the one to realise it, but I hope to be involved to some degree.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-346887279195023650?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/346887279195023650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=346887279195023650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/346887279195023650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/346887279195023650'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/12/gameplay-and-storytelling-part-3.html' title='Gameplay and Storytelling: Part 3'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-6744502539484356211</id><published>2009-12-11T10:56:00.000-08:00</published><updated>2009-12-11T11:08:48.208-08:00</updated><title type='text'>Castle Conflict: Update is live!</title><content type='html'>The original plan for the Castle Conflict update was for it to take eight days to develop (similar to our original development cycle of 8 days). Of course, live intervened, and during that 8 day period, I had a concert, a contract to work on, family commitments, and many other interruptions. These conditions existed the first time as well, but we we had planned this time ... well ... it took longer.&lt;br /&gt;&lt;br /&gt;Nonetheless, we had a game that had rough versions of all the features by the Monday after we had started, which was good because myself and the Lead Programmer from FPM Software (a new iPhone company in Calgary working on games, the first of which, Shift Maze, was submitted to the app store on Wednesday) were hosting a testing dinner that night, where friends and family got a chance to play our game. We, of course, bribed them with food.&lt;br /&gt;&lt;br /&gt;The app was delayed a further two weeks. One week, I was away from the code base, working on and teaching iPhone Dev School with &lt;a href = "http://www.killingmichael.com"&gt;Michael Sikorsky&lt;/a&gt;, who also has a game that has been or will soon be submitted to the app store.&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://www.josiahtobin.com/"&gt;Josiah&lt;/a&gt; (the artist/audio developer) and I decided to take another week to finish the app, to make sure that it was a really polished experience. And so it was that, 4 and a half hours past our deadline, on the morning of December 8th, we finally clicked the 'submit' button so that Apple could view our game.&lt;br /&gt;&lt;br /&gt;Castle Conflict went live around midnight last night. The new update does not have all the features we planned, yet both Josiah and myself keep playing the game. (I have gone through campaign mode probably 10 times by now, and am still not bored of it). We are planning future updates already, now that we have the architecture in for levels and new units to be added easily.&lt;br /&gt;&lt;br /&gt;It has been a wild ride. But it has been fruitful!&lt;br /&gt;&lt;br /&gt;Screenshots of the new update:&lt;br /&gt;&lt;br /&gt;&lt;img src = "http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/IMG_0620.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/IMG_0627.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/IMG_0631.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/IMG_0633.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/Untitled.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We also have a youtube video: &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kUSN9LwHTLw&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/kUSN9LwHTLw&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;(and if you go to our channel, there are also 4 videos that show the game being developed).&lt;br /&gt;&lt;br /&gt;And finally, the &lt;a href = "http://itunes.apple.com/ca/app/castle-conflict/id315158886?mt=8"&gt;iTunes URL :)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-6744502539484356211?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/6744502539484356211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=6744502539484356211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6744502539484356211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6744502539484356211'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/12/castle-conflict-update-is-live.html' title='Castle Conflict: Update is live!'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/th_IMG_0620.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-3370661314575389605</id><published>2009-12-07T14:45:00.000-08:00</published><updated>2009-12-07T14:51:03.608-08:00</updated><title type='text'>iPhone tip: don't change ${EXECUTABLE_NAME}</title><content type='html'>This is a series of quick tips for people who are having a few problems, with ad-hoc iPhone builds and xCode in general.&lt;br /&gt;&lt;br /&gt;1) When creating an ad-hoc iPhone app, be sure to have a 512*512 png file in your app called iTunesArtwork . Just iTunesArtwork, no png at the end.&lt;br /&gt;2) Be sure to create an Entitlements file (Add-&gt;New File-&gt;Code Signing-&gt;Entitlements). Name it whatever, and place it in the root, not in any subfolders. Then, go into the information for your target, and set the Code Signing Entitlments field to the name of that file.&lt;br /&gt;&lt;br /&gt;The next one is important, as I lost &gt; 30 minutes on it: do not change ${EXECUTABLE_NAME}. This is in the information for your Target, under properties/Executable. I decided to change this, because I had one target for regular development and one for ad-hoc distribution, and I thought to myself, boy, it would be neat to be able to tell the output of these targets apart easily. So I changed that value to CC_AdHoc, and suddenly my code was exploding. The worst error I got was "CC.app: object file format invalid or unsuitable". It took me a while to realise that it was the ${EXECUTABLE_NAME} that was causing the problem, and once I did, was highly frustrated. So just leave that variable alone, it will save you a lot of problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-3370661314575389605?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/3370661314575389605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=3370661314575389605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3370661314575389605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3370661314575389605'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/12/iphone-tip-dont-change-executablename.html' title='iPhone tip: don&apos;t change ${EXECUTABLE_NAME}'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1829938693998155573</id><published>2009-12-03T13:30:00.000-08:00</published><updated>2009-12-03T13:33:03.966-08:00</updated><title type='text'>Objective C in-code profiling</title><content type='html'>To check how long something is running in objective C:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Declare an NSDate and set it to [NSDate date]&lt;/div&gt;&lt;div&gt;2) Run the code you want to test&lt;/div&gt;&lt;div&gt;3) Get an NSInterval from the NSDate by sending the timeIntervalSinceNow message&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So for example:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;/div&gt;&lt;div&gt;NSDate* date = [NSDate date];&lt;/div&gt;&lt;div&gt;//RUN some expensive code her&lt;/div&gt;&lt;div&gt;NSTimeInterval interval = [date timeIntervalSinceNow];&lt;/div&gt;&lt;div&gt;NSLog(@"Time running expensive code: %f", interval);&lt;/div&gt;&lt;div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1829938693998155573?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1829938693998155573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1829938693998155573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1829938693998155573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1829938693998155573'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/12/objective-c-in-code-profiling.html' title='Objective C in-code profiling'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-3780434655857972293</id><published>2009-11-17T08:20:00.000-08:00</published><updated>2009-11-17T09:27:47.414-08:00</updated><title type='text'>iPhone Games / Return of Castle Conflict</title><content type='html'>&lt;b&gt;The return of Castle Conflict / Week of no sleep round 2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is something that's been in the back of Josiah's and my mind for months now (ever since Castle Conflict first went live in May), something that we'd intended to do a lot earlier. When we first released the game, the reviews we were getting basically said, "We love this game, but there's not enough of it!". When you have users saying, "We want more of your game!", then usually, it's a good idea to give them more of it.&lt;br /&gt;&lt;br /&gt;All well and fair, but we felt fairly limited in what we could do. We had some significant problems, most notably, screen space; we had used up all the screen space we could, and any new units we added would require more buttons. Where would those go?&lt;br /&gt;&lt;br /&gt;The second was, if we only have 8 units, how do we make multiple levels?&lt;br /&gt;&lt;br /&gt;At the time, we were still of the mindset that iPhone games would not take us long to make. Castle Conflict had taken us 1 day of prototyping + 8 days developing + 1 day finalising. And those weren't full days. Furthermore, we had an idea for another game that we thought would not take long to make: Ant Attack. Surely, if we made Castle Conflict in a week, we could make Ant Attack in one, maybe two? And during that week, we could let our subconcious work on ideas for how to fix Castle Conflict. Surely, our users could wait a week for another update?&lt;br /&gt;&lt;br /&gt;That ended up not being the case. The truth is, we don't work together full-time. I had a couple of computer games I was finishing up at the time. Josiah is also working on a computer game and a band project. To make matters further delayed, we each had a summer vacation of greater than one week planned, but neither of us at the same time.&lt;br /&gt;&lt;br /&gt;Ant Attack ended up taking us 4 weeks of development, but because of our varied schedules, did not get released until the middle of October, at which point I was in the midst of a move. So it is with a huge sigh of relief that we were able to sit down, solve the aforementioned problems of Castle Conflict, and free a block of time to finish it.&lt;br /&gt;&lt;br /&gt;Let this be a lesson to all future iPhone developers: Make your update for your game as soon as possible! What we should have thought in May, and will think next time, is "Surely this audience who might want Ant Attack can wait a week until our existing audience is pleased with the update they have told us they want." Because, you don't know how often those weeks of productivity are going to be available to you. And you want to address the audience that already exists, not one that might not.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What update?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In order for this to be feasible in the time we have available (once again, just one week), we are once again structuring this update in a tiered manner, and those tiers are:&lt;br /&gt;&lt;br /&gt;1) Campaign Mode, New unit pack 1&lt;br /&gt;2) Quick Play Cleanup&lt;br /&gt;3) Campaign Mode Cleanup&lt;br /&gt;4) New Unit Pack 2&lt;br /&gt;5) New Unit Pack 3&lt;br /&gt;6) Multiplayer&lt;br /&gt;&lt;br /&gt;Sadly, multiplayer is last, and we don't really expect to get it in this update, as much as we would like to. Luckily, updating is easy to do.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Planning is Key!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We have one week for this project, so once again, we are using as many productivity tools as possible to keep things organised and moving smoothly.&lt;br /&gt;&lt;br /&gt;1) MSN: We are working from different cities, so the ability to communicate in real time is a huge need. MSN allows us to do that.&lt;br /&gt;&lt;br /&gt;2) XP-Dev: We are once again using this online tool to manage our tasks and plan our project. The software has been updated, so before where we had to rank our tasks by integral values to determine their importance, this time we were able to split our tasks across multiple iterations, as outline above.&lt;br /&gt;&lt;br /&gt;3) Mockups/Flow charts: Okay, so we are very 'indy', and I use the free Mac 'Paintbrush' software to make these, so they don't look as professional as those done in Visio or another equivalent software. Nonetheless, sometimes the best way to communicate is visually, so we use images as below to communicate ideas before spending hours working on implementation and graphics for them:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 393px; height: 262px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/WorldMap.png" /&gt;&lt;br /&gt;&lt;img style="width: 399px; height: 399px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/flow.png" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-3780434655857972293?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/3780434655857972293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=3780434655857972293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3780434655857972293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3780434655857972293'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/11/iphone-games-return-of-castle-conflict.html' title='iPhone Games / Return of Castle Conflict'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i12.photobucket.com/albums/a227/therabidwombat/Castle%20Conflict/th_WorldMap.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-2251111138199209847</id><published>2009-11-13T12:43:00.000-08:00</published><updated>2009-11-13T13:37:02.926-08:00</updated><title type='text'>Storytelling in Games: Part 2</title><content type='html'>The Game Industry likes to refer to itself as art. They like to talk about how they allow the players to have deeper experiences in the story than the player has had before. I am not going to comment on whether or not games count as art (I think it's subjective and on a case by case basis), but the storytelling is an interesting aspect.&lt;br /&gt;&lt;br /&gt;When a reader reads a book, they often feel strong connections to their characters. They get to hear what their characters think, feel, dream, hope, etc. It can reach a point where, if a reader is truly immersed, they feel like they ARE a character. Games give players one more step into that immersion. They let players actually BE that character. But this is a problem, because games usually have the following constraints:&lt;br /&gt;&lt;br /&gt;1) A linear or semi-linear story&lt;br /&gt;2) A path for their protagonist&lt;br /&gt;3) Other characters that the player interacts with.&lt;br /&gt;&lt;br /&gt;I'm going to use Tales of Symphonia, an RPG for the GameCube, as an example of this. Let's consider the story. You play as a main character, Lloyd, who is trying to save the world. Lloyd does so by running around, killing random monsters, levelling up, and beating bosses. Over time, he encounters other characters, which join his party. Now let's examine how the above effect the players perception of themselves as Lloyd:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A linear or semi-linear story&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Lloyd really has about one goal, and he can only really approach one ending. "Defeat the bad guys, save the world." The plot is a bit more complex, but that is the overriding choice that the player makes. There are certain dungeons to which the player must go, to collect certain things, to reach this ending. The player does not get much of a choice in that; they have to follow a roughly linear, designed path to 'whats next'. &lt;br /&gt;&lt;br /&gt;Tales of Symphonia is what I would classify as 'semi-linear'. The player can make choices along the way that effect the ending, either by effecting the relationship between their character and other characters, and they can even change the end a bit. But there are finite choices that they can make, and these are NOT tied to the gameplay. Throughout the game, the player is given several binary decisions, and based on which ones they select, the ending varies. So, the player CAN influence the ending of the game, but to do so is almost a seperate section of the game then how they PLAY the game. It does not matter how many random monsters you kill, or how strong your character is. The core gameplay is not the deciding factor.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Path for the Protagonist&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In Tales of Symphonia, the player is guided by other characters and clues as to where to go next. There are not really a ton of options, for the player must hit all certain spots, and experience certain events, before the story can advance. "Side Quests" are the closest thing to additional story, but they often include supplementary or inconsequential story, and do not actually move the key plot forward.&lt;br /&gt;&lt;br /&gt;The metaphor that the game promotes for the path to victory does not leave the player with a lot of time to figure out their own way of creating a path to victory. They must follow the path that the game has set forth for them.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Other Characters that the player interacts with&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Oh boy, this is the hardest part to tell in a story. In a book, the characters have a free range to say whatever the author wants them to say, and interactions can be as complex or simple as any scene allows. The same is true for theater, movies, television, radio, and pretty much any other drama with dialogue.&lt;br /&gt;&lt;br /&gt;But in games, we run into a problem. The player has to interact with other characters, but we can't really create verbose responses for everything that the player can say. In Tales of Symphonia, Lloyd has his own personality and talks for the player. That is one solution, although it breaks the illusion that we are Lloyd, and it works really strange with the scenes where Lloyd gives you a choice of two different things to say. Suddenly, we are Lloyd, but normally we are not? The amount we get to shape our character is pretty minimal.&lt;br /&gt;&lt;br /&gt;Games have handled this in a variety of different ways over the years. In the Legend of Zelda, you never see what it is that Link says, only the responses that the NPC's give. So you can imagine that Link said whatever you want, as long as it makes sense with that response. In the Monkey Island and similar series, the player doesn't say anything until the player makes a choice about what to say, and then the computer has a series of canned responses. So there is more options, but ultimately, it often results in the player trying to say everything to see what they can learn from the NPC's, even if it means taking similar dialogue paths again and again.&lt;br /&gt;&lt;br /&gt;In the Computer Science industry, programmers have been trying to get computers  to talk for years. A.L.I.C.E. is an example of a bot that was scripted, but after tons of work on ai and intelligent sentence responses and parsing, the bot could still get confused by complex sentences. While the technology has doubtless advanced in the years since, it is still unlikely that the technology exists for a computer agent who could respond intelligently to any statement the player could construct, let alone adapt that entity to have a growing, changing relationship with the player, interact with the player in non-speech methods, and then expand that to have many such characters in the game world.&lt;br /&gt;&lt;br /&gt;So, in short, this is the biggest difficulty encountering story-game evangelists. Interestingly, a method of dealing with this was developed by Chris Crawford on a Mac game in the '80s called Siboot. Essnetially, a limited number of symbols was used to represent different things that the player could say, and so the player communicated with other characters in a symbolic manner. He gives an excellent explanation of it in his book "Chris Crawford on Game Design", which I highly recommend reading.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These are only some of the difficulties that story's must overcome in games, but step one of the battle is understanding the problems to overcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-2251111138199209847?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/2251111138199209847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=2251111138199209847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/2251111138199209847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/2251111138199209847'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/11/storytelling-in-games-part-2.html' title='Storytelling in Games: Part 2'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-5540443699225311609</id><published>2009-10-18T14:24:00.001-07:00</published><updated>2009-10-18T14:52:23.163-07:00</updated><title type='text'>iPhone Dev Camp Keynote</title><content type='html'>iPhone Dev Camp is in the process of wrapping up even now. During the course of the camp, we were all able to share some valuable lessons. Here I will share some links to some of the interesting libraries and tools that were discussed:&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://monotouch.net/"&gt;MonoTouch&lt;/a&gt; - A development environment for creating iPhone apps in C# with .net&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://www.ideaswarm.com/"&gt;App Vis&lt;/a&gt; - A place to download a visualizer for your iPhone Apps status.&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://fivesecondtest.com/"&gt;Five Second Test&lt;/a&gt; - Interface feedback&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://www.slideshare.net/llopis/squeezing-every-drop-of-performance-out-of-the-iphone"&gt;Squeezing every drop of performance out of the iPhone&lt;/a&gt; - A slideshow by someone who really tried to get a smoothly operating app.&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://drobnik.com/touch/anticrack"&gt;Anti-Crack&lt;/a&gt; - piracy prevention for your iPhone Apps&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://www.pinchmedia.com/#pinchanalytics"&gt;Pinch Media&lt;/a&gt; - I've talked about them before in this blog, but they came up a bit during the camp. A website for a great library to learn about how users are using your application.&lt;br /&gt;&lt;br /&gt;&lt;a href = "http://www.iphoenixfund.com/"&gt;iPhoenix Fund&lt;/a&gt; - A fund for developing 133 iPhone apps&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I myself gave a keynote today, about Cocos2D and developing games quickly. Although I do not think it has as much value without someone speaking to it, it has been requested that I share the keynote presentation. For those interested, a link to it exists at: &lt;a href = "http://www.brokenkings.com/downloads/keynote1ids.key"&gt;this link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As I type this, those participating in the app track are finishing up development on their app. They gave a demo of what they had a couple hours ago, and it really is amazing how quickly they came up with an app idea and began to implement it. If I understand correctly, the app is actually going to be used at the Calgary Science Center.&lt;br /&gt;&lt;br /&gt;The camp was a lot of fun and overall a large success. If you are in the Calgary area, interested in iPhone development, and missed out, I urge you to attend the next one. I will post with details in my blog about it when I know them, instead of the day before like I did this time.&lt;br /&gt;&lt;br /&gt;Thanks again to &lt;a href = "http://www.killingmichael.com/"&gt;Michael Sikorsky&lt;/a&gt; for organising and hosting the event!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-5540443699225311609?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/5540443699225311609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=5540443699225311609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5540443699225311609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5540443699225311609'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/10/iphone-dev-camp-keynote.html' title='iPhone Dev Camp Keynote'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-5717436664740408556</id><published>2009-10-16T18:54:00.000-07:00</published><updated>2009-10-16T18:57:27.880-07:00</updated><title type='text'>iPhone Dev Camp</title><content type='html'>I'm a little late in posting about this, but tomorrow and Sunday are iPhone Dev Camp in Calgary.&lt;br /&gt;&lt;br /&gt;If you are interested in iPhone Development and want to meet some of the people in Calgary who are involved with it, if you have $25 and a weekend off, if you would like to hear some Keynotes by those involved in the scene in Calgary...then come along!&lt;br /&gt;&lt;br /&gt;Details can be found at:&lt;br /&gt;&lt;br /&gt;http://yyc.iphonedevcamps.org/iphone-camp-1&lt;br /&gt;&lt;br /&gt;I will be Keynoting on Sunday about my experience with Castle Conflict and using the Cocos2D for iPhone game engine.&lt;br /&gt;&lt;br /&gt;In other news, Ant Attack was submitted to the App Store on Tuesday, October 13th, at about 9:30 pm, so it should hopefully be live on October 27th-28th.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-5717436664740408556?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/5717436664740408556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=5717436664740408556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5717436664740408556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5717436664740408556'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/10/iphone-dev-camp.html' title='iPhone Dev Camp'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-9133578941143800990</id><published>2009-09-27T09:16:00.000-07:00</published><updated>2009-09-27T09:54:24.892-07:00</updated><title type='text'>Storytelling and Games, Part 1</title><content type='html'>I love stories. Stories can do so much; they can take you to a far away world when the stresses of the real one are too much. They can educate you on history, science, people, and more. They can make you cry, laugh, gasp. They can introduce you to new characters that can come to feel like friends to you.&lt;br /&gt;&lt;br /&gt;My preferred medium for story telling is books. For a myriad of reasons, I find it difficult to find a story in any other medium that can engage me as much as a well written book can. There are a few reasons for this:&lt;br /&gt;&lt;br /&gt;1. My favorite part of a story usually ends up being the characters. Nothing lets you get more into the mind of your character than being able to hear their thoughts directly.&lt;br /&gt;&lt;br /&gt;2. I like long, engaging plots. My favorite books are usually greater than 700 pages long. It's a lot easier for a book to get written that is 700 pages long than to have a movie or tv series with the same plot produced. In the TV series, each new character, backstory, and locale adds to the budget, and the lengthier a book, the more of these that are likely to exist. A book can add new locales without having to get board approval for a budget raise.&lt;br /&gt;&lt;br /&gt;3. Movies are often 'ADD' oriented - people want to sit down, have an epic experience, then walk out and be done. Oftentime, they don't carry anything with them after a movie. A book, on the other hand, is more difficult to read in a single sitting, and the characters could be with you for days, weeks, months, even years (depending on the speed that you read), making them feel that much more important to you.&lt;br /&gt;&lt;br /&gt;4. In general, I am not a huge fan of typical Hollywood-isms. (Big Explosions, car chases, end of the world, clues hidden about that reveal over time how the movie will climax, etc.) &lt;br /&gt;&lt;br /&gt;5. I'm not good at reading epic poetry.&lt;br /&gt;&lt;br /&gt;Granted that there are plenty of things that you can do with television and movies that cannot be done with books. I would not even think of reading a book about Kung-Fu if there was a movie done about the book starring Jackie Chan. In fact, the visual medium can be an excellent way to tell a story in a different way then a book.&lt;br /&gt;&lt;br /&gt;Let's take for example a similar idea and see how well it translates into books versus movies, and then I will talk about how it translates to games:&lt;br /&gt;&lt;br /&gt;The Scene: A man walks into a room where another man was killed. Various clues are littered about the room.&lt;br /&gt;&lt;br /&gt;In a book: This type of scene can work very well in a book. The author can describe each of the clues, and even describe the man's reaction to each one; perhaps he knows what some of them mean. This makes the reader feel smarter, but still puzzled; what do the other ones mean?&lt;br /&gt;&lt;br /&gt;In tv: Tv's advantage is it does not have to call attention to every clue that is in the scene. It's on the screen; it is up to the viewer to locate and puzzle over the various clues. If there is a bloody handprint on the window sill, and the viewer sees it, they can draw a conclusion that the murderer escaped through the window. They are rewarded for their powers of observation.&lt;br /&gt;&lt;br /&gt;Unfortunately, this form of visual storytelling is rarely used. Modern viewers don't have the patience to look at a still shot for very long; next time you watch TV, count how many times the camera stays in the same spot for longer than 4 seconds, without some form of shaking, zooming or panning going on. It won't happen very often. So while this type of story telling can indeed be used, what happens more is there will be a dramatic effect, probably a snapshot, drawing attention to each relevant clue. This is so that the viewer doesn't get lost if they don't notice the handprint on the windowsill, but it does mean that viewers are spoon fed more.&lt;br /&gt;&lt;br /&gt;In games: Being a visual medium, games have the same advantages that TV has, but since the player is in control, they have a bit more freedom. Placing clues around the game that the player can discover by moving through the world does not cause impatience, because the players are able to spend as much time looking at and investigating said objects as desired.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As the above example shows, games have the chance to take an experience that is good in books and good on tv, but make it something more. Suddenly, instead of observing the clues being discovered, the player is discovering the clues themselves. (This has, in fact, been used in many games over the years, from Hugo's House of Horrors to Myst to Hidden Object games, etc.)&lt;br /&gt;&lt;br /&gt;Games have the potential to do some really neat, and interesting, things with storytelling. The unfortunate thing is that, they are not done very often. To many game designers, story telling means tossing in some cut scenes between the action in the game, where we learn that a) the world is in jeopardy of being destroyed / taken over, b) we are humanity's last hope because of prophecy/some equipment we have/our past, and c) the enemy is evil and stands for nothing good, so killing him would not only be perfectly okay, but probably better for everyone involved. Also, killing him solves all of our problems.&lt;br /&gt;&lt;br /&gt;There are, of course, other stories, but that's the general feeling a lot of games go through. (Think: Legend of Zelda, Tales of Symphonia, Legend of Mana, Half Life 2, etc. etc...)&lt;br /&gt;&lt;br /&gt;So why is it that a lot of games, this medium that has the potential to tell some truly interesting stories, are telling stories that pale in comparison to most things that hollywood, tv, and literature are capable of coming up with? What makes a good story, and how can games make it better?&lt;br /&gt;&lt;br /&gt;I hope to answer these questions over time, and will hopefully have time to continue writing this blog series as observations are made. I would like to draw one initial conclusion:&lt;br /&gt;&lt;br /&gt;Most games are designed as games first, with the story tacked on afterward to drive the player, so the game and story do not necessarily work together. In order for a game to have a truly magnificent story told, the gameplay and story have to be designed to work in harmony.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-9133578941143800990?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/9133578941143800990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=9133578941143800990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/9133578941143800990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/9133578941143800990'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/09/storytelling-and-games-part-1.html' title='Storytelling and Games, Part 1'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-5167442266529975964</id><published>2009-09-17T14:33:00.000-07:00</published><updated>2009-09-17T14:39:41.969-07:00</updated><title type='text'>iPhone Tip</title><content type='html'>If you are getting security errors (Error launching remote program: security policy error) when trying to run an iPhone app on your iPhone with the correct provisioning profile, go into the organiser window and uninstall all provisioning profiles that may be expired, as they apparently can cause trouble.&lt;br /&gt;&lt;br /&gt;Discovered this from a comment in the following blog post: http://isagoksu.com/2009/development/iphone/how-to-get-rid-of-security-policy-error/&lt;br /&gt;&lt;br /&gt;While I'm here, may as well toss up a couple current Ant Attack screenshots, the game we are currently working on for the iPhone. The goal is simple: kill ants, buy things to kill more ants.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/diffTargets.png" /&gt;&lt;br /&gt;The ants scattering&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/queenAnt.png" /&gt;&lt;br /&gt;The queen ant that the player will uncover at the end of the level&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-5167442266529975964?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/5167442266529975964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=5167442266529975964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5167442266529975964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5167442266529975964'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/09/iphone-tip.html' title='iPhone Tip'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-5980275809354387744</id><published>2009-06-17T08:21:00.001-07:00</published><updated>2009-06-17T09:06:35.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Castle Conflict'/><title type='text'>Lessons learned from Castle Conflict - marketing and design</title><content type='html'>Castle Conflict is not doing poorly. It is not making me Flight Control levels of money, but it certainly is not leaving me penniless either. I think the app has been alive long enough, and I've heard enough from the users, that I can begin to draw some conclusions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Marketing&lt;/b&gt;&lt;br /&gt;First off, Castle Conflicts marketing campaign has not done a lot for the game. It has been reviewed on many websites, appeared on many websites, been cracked on many sites, even received a couple of youtube videos. They haven't been without value - I've recieved small boosts from such websites. For example, around the time of the apps first review, the app was getting about 15 sales a day, but the following day, it had 27. At that point, it was easy to measure that the review had given the app a boost of about 10 sales a day. It was not a particularly great review, but it still helped a bit. I cannot measure if we would have got more sales if we were better reviewed, but it seems likely to me.&lt;br /&gt;&lt;br /&gt;Unfortunately, the first release was full of design problems, which I will get to shortly, and we did not get a lot of great reviews off the bat.&lt;br /&gt;&lt;br /&gt;Another avenue of advertising that did next to nothing was facebook ads. We got plenty of impressions (49K in a single day), but very few turn to clicks (11), which is to be expected. However, those 11 clicks were made on a day when the game had only 17 sales, so the chances that each click became a purchase is highly unlucky. Cutting the facebook ad dropped sales to 14, and the game had been on a downward trend at that point, so it can't even be said with certainty that cutting the facebook ad had anything to do with that.&lt;br /&gt;&lt;br /&gt;Luckily for us, about a week and a half after our game went live, we received one of those dreamt of e-mails from apple. It was so exciting that I didn't even believe it at first. "To Broken Kings, we at apple really love your game and want to promote it..." That doesn't happen to just anyone, and we quickly provided the assets requested. Our sales jumped from 11 on a Monday to 1.2K on the Tuesday. They dropped to about 880 a day and settled there for a week (until the app dropped a page in the 'New and Noteworthy' and 'What We're Playing' pages). We put it on sale and it managed to hover at about 700 sales on page two, and on page three it's getting between 2 and 3 hundred sales a day.&lt;br /&gt;&lt;br /&gt;The app has been reviewed on many sites since that time but it's a little less clear how much of an effect those have had. The sales data has not changed overly much since apple started promoting us, other than when it moves down a page, so it's clear the reviews have yet to do anything stunning for us. On that note, we haven't taken advantage of any paid advertising opportunities other than facebook, so hopefully in the next blog entry we will have something to say about that.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In short:&lt;/b&gt;&lt;br /&gt;Facebook ads - not effective&lt;br /&gt;Having your game reviewed on an app website - Remotely effective (perhaps more on a good review)&lt;br /&gt;Getting featured by Apple - Highly effective, highly recommended&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mistakes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We made two mistakes, one when developing Castle Conflict, and then one after when we sold Castle Conflict. They were:&lt;br /&gt;&lt;br /&gt;1) Releasing the game with a single level, and&lt;br /&gt;2) Charging $1.99&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Releaseing the game with a single level&lt;/b&gt;&lt;br /&gt;The first mistake was a design mistake - we released the game with only a single level. This is not a mistake immmediately, but you have to know that your game is a single level game before you release it as a single level game. I was looking at Flight Control when I made the decision that a single level would be enough for Castle Conflict, but I failed to notice two key differences:&lt;br /&gt;1) In flight control, you are driven to keep playing because you get a new high score at the end. The game always goes until you lose, but you will usually think, "Oh, I could have done better!". As such, it inherently drives players to play again.&lt;br /&gt;2) In flight control, the only person you have to beat is yourself. In that sense, it does not rely on an ai remaining interesting, as Castle Conflict does.&lt;br /&gt;&lt;br /&gt;As I've mentioned before, this game was inspired by and largely based off of Medieval Clash. Medieval Clash was a free gamemaker game that I played in my youth when I was still fiddling around with gamemaker in my free time. Like this game, it had only one level, with the challenge being adjusted based on the users settings (difficulty, how fast the trees grow, etc). We mimicked that, because it had worked so well (for us) when playing Medieval Clash.&lt;br /&gt;&lt;br /&gt;To push players along, however, we checked how well they did and, if it was rather well, we would suggest to the player, "Why not advance to the next difficulty?". In an update we released (that just went live yesterday after 18 days in the queue), we made this pop up no matter how well the player did, as long as they won. Otherwise, players wouldn't know why to play again. What would be different? My statistics from Pinch have revealed that not everyone visits the settings page, so many people play the game a couple times on easy, and if they are not good at it, they won't see the point in continuing. &lt;br /&gt;&lt;br /&gt;Players NEED motivation. There are several things that can motivate a player: growth, advancement, beating a score are notable ones that I have uncovered. Castle Conflict did none of those things. Each game starts on a clean slate, so there is no growth. The game does not score you. It may advance you, but only if you do well. Without this, the player will be lost in the game after playing it once. We had assumed - wrongfully - that the player would want to play again because of the gameplay alone. That was what had driven us to play Medieval Clash again and again in the first place, why shouldn't it work on our end users? We were, of course, a lot more passionate about the game (enough so to make a game based off of it) then we could fairly expect an average user to be.&lt;br /&gt;&lt;br /&gt;There was one other difference between our app and Medieval Clash, however. The settings for Medieval Clash were on the title page, whereas our settings are hidden away on a settings page. This was essential because the iPhone screen has less space than a computer screen, but it makes the customisability aspect of the game less obvious.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Charging $1.99&lt;/b&gt;&lt;br /&gt;We thought (and still think) that Castle Conflict was a fun game. We thought that players would most definitely get their moneys worth from it. And we had worked hard - skipping sleep, working around other responsibilities, taking no leisure time (other than one afternoon when we were far ahead) to get it out there. We figured, if we weren't getting a dollar a sale, it hadn't been worth it. So we priced the app at $1.99, so that after Apples cut of 30%, we'd still have $1.39.&lt;br /&gt;&lt;br /&gt;This was pride, and it led us to make a bad decision. Our game may be worth $1.99 on an online game website, it may even be worth more, but on the iPhone, games that provide hours of entertainment often sell for $0.99. As such, any game that costs more must have an obvious reason for costing more. If not, players will get upset that they are paying more and not getting more - and we received several reviews, both in itunes and out of, saying that the app would be great if it had cost $0.99, but wasn't worth it for $1.99. A lesson for any developer hoping to take something from our experience is - unless your game has some really obvious boost above other games (being 3D, being more like a console game experience, etc.), it's probably better to just charge $0.99, and prevent anyone from complaining about the price (as this will hurt your sales). &lt;br /&gt;&lt;br /&gt;We noticed this, but even after apple promoted us, we didn't change our price. Our app hit #48 by the Friday after we were promoted it, and if we had put it on sale that weekend, we may have cracked the top 25 with all the additional sales we could have gotten at half the price. But we didn't, until the app started sliding off the charts. when it was in position #98, in a panic to prevent it from falling off the top 50, we put it on sale at $0.99, and it pushed the app back up to #80 - but we missed the opportunity to really have the app go far. Of course, we could not have known how much of a hit our sales would take when apple moved our app down a page in the featured apps, but it still hurts to think about where we could have been.&lt;br /&gt;&lt;br /&gt;I was going to talk a little bit more about some design things I think have worked that other games have done, but I think I shall leave that as a future blog entry.&lt;br /&gt;&lt;br /&gt;Final Note: We got another youtube review, and it was quite nice:&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IhKq0Q26s8o&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IhKq0Q26s8o&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-5980275809354387744?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/5980275809354387744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=5980275809354387744' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5980275809354387744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/5980275809354387744'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/06/lessons-learned-from-castle-conflict.html' title='Lessons learned from Castle Conflict - marketing and design'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-6812560193787308100</id><published>2009-06-10T19:37:00.000-07:00</published><updated>2009-06-10T19:51:43.734-07:00</updated><title type='text'>Population Control Teaser</title><content type='html'>Population Control is an interesting project. I actually started it while still in college, as my final project for my artificial intelligence class. It quickly became my favorite project from college, and during the day where we introduce ourselves to industry, I had it running on my computer the entire time to show off.&lt;br /&gt;&lt;br /&gt;I always had fun tinkering with it, and most people I've shown it to think that it is actually a game that could make money. Of course, people I know are biased in my favour, so that doesn't make them right - but I loved the game idea enough, and had enough fun playing it, so I decided to give it a shot.&lt;br /&gt;&lt;br /&gt;This project has become a joint collaboration with &lt;a href="http://www.robotsandpencils.com/"&gt;Robots and Pencils&lt;/a&gt;, a small company run by the same guy I helped teach iPhone Dev School with recently, &lt;a href="http://www.killingmichael.com"&gt;Michael Sikorsky&lt;/a&gt;, as well as his wife, Camille, who is doing the art.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://i12.photobucket.com/albums/a227/therabidwombat/pop1.png"&gt;&lt;img style="width: 400px; height: 299px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/pop1.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is what the game looked like originally, when I programmed it in college, complete with programmer art. You may even recognise the sheep from this game as being what I selected as my avatar on blogspot. While the game may have been solid, it definitely lacked the art necessary to crack it in todays market. Luckily, Camille seems to be a genius at making animals cute, and what we currently have looks something like the screenshots below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-30-58.png"&gt;&lt;img style="width: 400px; height: 299px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-30-58.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-30-35.png"&gt;&lt;img style="width: 400px; height: 300px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-30-35.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-30-40.png"&gt; &lt;img style="width: 400px; height: 300px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-30-40.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-31-09.png"&gt;&lt;img style="width: 400px; height: 306px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/PopulationControl2009-06-1020-31-09.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We are hoping to have the game at a state where we can begin a distributor hunt very soon. Hopefully in that time, I will have a chance to discuss some of the behind the scenes details of the game in this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-6812560193787308100?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/6812560193787308100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=6812560193787308100' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6812560193787308100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6812560193787308100'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/06/population-control-teaser.html' title='Population Control Teaser'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i12.photobucket.com/albums/a227/therabidwombat/Population%20Control/th_PopulationControl2009-06-1020-30-58.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1685598716260124569</id><published>2009-06-05T16:20:00.000-07:00</published><updated>2009-06-05T16:34:49.701-07:00</updated><title type='text'>Pinch Media Update</title><content type='html'>I have previously discussed Pinch Media and piracy, and I would like to take a moment to commend Pinch Media for a move they made recently.&lt;br /&gt;&lt;br /&gt;Now, Pinch Media actually allows you to filter your data by how many users are real users, and how many users are pirates. I don't know yet how accurate this data is but the numbers that they have so far line up with what I have been finding on my own.&lt;br /&gt;&lt;br /&gt;Their system is not entirely without limitations, however - for example, you cannot compare how many pirates have performed each action vs. how many paid users have. It is not yet a perfect system, but it is definitely a nice system.&lt;br /&gt;&lt;br /&gt;This, of course, comes as Castle Conflicts first update should be coming near to propagating to the app store. In the update, I had included code that detected if a cracked version of Castle Conflict was run and - if so - actually supplied a SEPARATE application id, so that I could compare stats. I will probably be taking this code out with my following update, unless I find the observations in behaviour in-game of pirates vs. non-pirates striking.&lt;br /&gt;&lt;br /&gt;However, Pinch Media does reveal a few interesting pieces of data with this new update:&lt;br /&gt;&lt;br /&gt;1) Of Castle Conflicts users, currently &lt;b&gt;about 47% (6510) are pirated&lt;/b&gt; - meaning that we just recently cracked the halfway mark of paid vs nonpaid.&lt;br /&gt;&lt;br /&gt;2) However, only 35% of all game sessions were by pirates - &lt;b&gt;non-pirated users play the game roughly twice as much as pirated users do!&lt;/b&gt;  (My states corroborate an increase in usage by paid users - before we started receiving more sales, when we had many pirates, our usage stats indicated that users were running the app approximately 3.12 sessions each. However, that number has since gone up to roughly 4.61 sessions per user (63,831 sessions over 13, 847 total users)&lt;br /&gt;&lt;br /&gt;3) &lt;b&gt;Users spend more time playing when they didn't pirate the app&lt;/b&gt; - there is not a hugely significant number, and it is hard to judge overall as these numbers fluctuate from day to day, but on a normal day, a paid user runs the app approximately 17+ minutes (with the longest average session to date being 33 minutes), but a cracked user on averate runs it 15 minutes (with the longest average session to date being 24 minutes).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1685598716260124569?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1685598716260124569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1685598716260124569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1685598716260124569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1685598716260124569'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/06/pinch-media-update.html' title='Pinch Media Update'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1080847746406612570</id><published>2009-06-04T09:57:00.000-07:00</published><updated>2009-06-04T10:06:50.245-07:00</updated><title type='text'>Windows on Mac - A Mixed Bag</title><content type='html'>I do most of my work on a 13" macbook.&lt;br /&gt;&lt;br /&gt;It's not a high end mac; it's actually quite close to being the bottom of the spectrum of this years models. But its specs matched the Windows machine I was working on at the time, and the reason I was buying it was for iPhone Development. A &lt;a href = "http://www.killingmichael.com"&gt;friend of mine&lt;/a&gt; had recently built an iPhone app on lesser specs, so I figured that the cheap bet was the safe way to go for doing indie development.&lt;br /&gt;&lt;br /&gt;Shortly after I got my Mac, I used BootCamp to install windows on it. I was surprised by how wonderfully Windows ran on the mac. The aforementioned Windows machine was literally a piece of junk ... typing into firefox's URL bar often resulted in a bit of lag before the text appeared. This was partially due to the machine being used for over a year without a lot of cleanup, but it was still painful to use as a development machine.&lt;br /&gt;&lt;br /&gt;On the mac book, when I clicked 'My Computer', a window popped up named 'My Computer' in less than a tenth of a second, as opposed to the Dell, where it usually takes 3-4 seconds. It was, quite honestly, for a geek like me - a breathtaking experience. I was running Windows...and it worked. WELL.&lt;br /&gt;&lt;br /&gt;Even Visual Studio loads in under five seconds, where on the Dell it could take upwards of two minutes, without any project being loaded on it.&lt;br /&gt;&lt;br /&gt;(This is, of course, the spoiled part of our age - that two minutes can seem like a long time to wait for something to happen).&lt;br /&gt;&lt;br /&gt;There are two downsides to the Mac I've since uncovered though. One is that any game I am developing runs at choppy frame rates that I can't reproduce in other places (the games get roughly 60 fps on the Dell). I don't know if this is a graphics card problem, or a driver problem, or a 'your code is inconsistent' problem, but it does make working on games a little more problematic.&lt;br /&gt;&lt;br /&gt;The other problem is that for the past week, with little to no warning, Windows has occasionally BlueScreened because of a driver failure, then shut itself down. When this happens, it will usually happen again shortly after starting up again.&lt;br /&gt;&lt;br /&gt;Windows did recently update, and it hasn't happened since, so I am hoping that perhaps the update fixed it ... but we shall see.&lt;br /&gt;&lt;br /&gt;So; Windows on a Mac: Mixed Bag. Windows runs way better than it has on any machine I've used recently (including a clean install of Vista on an HP TouchSmart), and I am still spending more time being productive, even with the Blue Screens. But the slowdown when running games is a bit of a pain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1080847746406612570?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1080847746406612570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1080847746406612570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1080847746406612570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1080847746406612570'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/06/windows-on-mac-mixed-bag.html' title='Windows on Mac - A Mixed Bag'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-836806216908057190</id><published>2009-05-26T15:28:00.000-07:00</published><updated>2009-05-26T15:48:44.009-07:00</updated><title type='text'>iPhone Dev School</title><content type='html'>This weekend, I am helping to teach a class on the iPhone.&lt;br /&gt;&lt;br /&gt;The class takes place over the weekend and is targeted at software engineers who are looking for a quick introduction to the iPhone environment.&lt;br /&gt;&lt;br /&gt;The class starts from the ground up - from introducing users to xCode and Interface Builder, the main development tools on the iPhone, and covers a lot of ground, including playing sounds, using the accelerometer, detecting multi-touch, using tables, using picker views, using tab views, using navigation controllers, using quartz drawing, etc...it will be a very packed weekend.&lt;br /&gt;&lt;br /&gt;The course takes place in Calgary. If any are interested in attending this weekend, further details can be found at: &lt;a href = "http://www.killingmichael.com/iphone-dev-school/"&gt;killingmichael.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-836806216908057190?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/836806216908057190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=836806216908057190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/836806216908057190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/836806216908057190'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/05/iphone-dev-school.html' title='iPhone Dev School'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-4778368443878498162</id><published>2009-05-20T07:28:00.000-07:00</published><updated>2009-05-20T08:55:56.938-07:00</updated><title type='text'>First Week of Sales</title><content type='html'>One of the neat features of developing for the iPhone is a library provided by &lt;a href="http://www.pinchmedia.com/"&gt;Pinch Media&lt;/a&gt; called Pinch Analytics. It allows you to track usage of your iPhone app in details.&lt;br /&gt;&lt;br /&gt;Included among the stats it collects for you are how many people use your app, how many times they start your app, and how long in total your app has been running. From this data, it also predicts how much you may have made, how much goes to apple, etc. And best of all, it only takes about fifteen minutes to install.&lt;br /&gt;&lt;br /&gt;In short, I highly recommend using Pinch Media, and I'm going to even give a quick demo of the steps it takes to set it up in your code.&lt;br /&gt;&lt;br /&gt;But that's not what this entry is about. This entry is to give an impression of what the first week of sales is like for a company's first game. And, notably, to discuss something that I hadn't expected, and a lot of first-game companies probably will not expect, but that is a very real reality of commercial iPhone Development - Piracy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Quick Pinch Media Overview&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The nice thing about using Pinch Analytics is that, once you have the analytics library installed in your app, there are only three lines of code that you need.&lt;br /&gt;&lt;br /&gt;The first starts your 'beacon', and should be called when your application is launched.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;- (void)applicationDidFinishLaunching:(UIApplication *)application&lt;br /&gt;{&lt;br /&gt;  NSString *applicationCode = @"AppCode Provied by Pinch in Application Info";&lt;br /&gt;  [Beacon initAndStartBeaconWithApplicationCode:applicationCode&lt;br /&gt;                                useCoreLocation:NO useOnlyWiFi:NO];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The second ends your beacon and, similarly, should be called when your application shuts down.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;-(void) applicationWillTerminate:(UIApplication*) application&lt;br /&gt;{&lt;br /&gt;  [[Beacon shared] endBeacon];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Simple, easy, snappy! With just those three lines of code, you get all the usage statistics about when, how much, and for how long. Not too shabby at all. But there is one more thing about Pinch that gives you tons more data - the idea of subBeacons. This allows you to track, not only how used your app is, but WHAT actions inside of your app are being performed.&lt;br /&gt;&lt;br /&gt;That, my friends, is vital information that every application developer should want.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-(void) startGame: (id) sender&lt;br /&gt;{&lt;br /&gt;  [[Beacon shared] startSubBeaconWithName:@"NewGame" timeSession:NO];&lt;br /&gt;  GameScene* gs = [GameScene node];&lt;br /&gt;  [[Director sharedDirector] replaceScene:gs];     &lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And that's it. You can also time sub beacons ... so you can learn how long players are doing things for. That wasn't essential for my app so I never used that feature. By sprinkling your code with such items wherever necessary, you can really learn how players use your app.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Piracy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I will forewarn all readers who decide to use Pinch Media to be very careful about getting overly excited about the numbers you receive on your first day. It's not that these numbers are inaccurate; it is merely that they may not mean what you think they mean.&lt;br /&gt;&lt;br /&gt;I was burned by this. I went to bed the night that Castle Conflict went on sale, and Pinch told me it had 6 unique users (5 of which were me testing it). I woke up and Pinch told me I had 596. I was freaking ecstatic. I had heard that crossing the 100 mark of sales in a day was a huge milestone, and I had received 590 while I slept? That seemed to be a little bit too good to be true. But the numbers were there and they sure looked good. I had spent the few hours before bed sending my game off to as many sites as I could, and I thought that perhaps one of them had posted it on the front page already and it had paid off.&lt;br /&gt;&lt;br /&gt;That was, of course, incorrect. It had been posted in a listing of games on one website, and that was about the most it was going to receive in terms of publicity other than a forum post I made on Touch Arcade, which had proved surprisingly active. By the end of the first day of sales, Castle Conflict had reached 1,666 unique users. With the 20 promo codes I had given away and the 5 users who were me, that still looked like over 1600 sales. When I checked my official itunes numbers the next morning and found I had not even cracked 50 sales - 48 new sales and 3 promo codes used - I was confused, and then doubtful, and then angry.&lt;br /&gt;&lt;br /&gt;Because I knew what it was. I had seen, through my twitter search for Castle Conflict, a link to a cracked version of Castle Conflict. But I had wanted to believe in the huge numbers of first day sales so much, I had assumed no more than 10% could be crackers. Even when I thought about it from a cynical point of view, I was certain that at least half of the sales had to be real. I mean, it couldn't be THAT easy to put an iPhone game on a cracked iPhone, could it? There must be far more users seeing this game on the top of the new app list willing to pay a buck 99 for it, than hackers deciding to download it. Right?&lt;br /&gt;&lt;br /&gt;The numbers obviously proved that I was incorrect in that assumption.&lt;br /&gt;&lt;br /&gt;To this date, Castle Conflict is just looking to pass the 200 sale mark.  Over 3500 users have run a pirated copy (and  know at least 6000 were downloaded!). Let this be a warning to ALL new iPhone app developers: Chances are, when your app is new, it will be pirated between 3 and 4000 times in the first week. Pinch Media even makes a note, in their FAQ, that if your numbers are far larger than apples, it is probably because of pirates.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sales&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As I just stated, Castle Conflict has had less than 200 sales so far. The first day, when it reached 48 sales, I am certain that was mostly on the strength of the Touch Arcade post, and it passing through the twitter stream of the city I live in. These 48 sales put it in position #43 in the strategy game section of the app store, and it has yet to surpass that position. The numbers have been slowly declining, and last night it hit its lowest sales yet, with 14 sales.&lt;br /&gt;&lt;br /&gt;The marketing engine is slowly getting online, so there is a chance that sales will be up in the near future - in fact, I am expecting it. As mentioned, this game only really had two things to boost the sales and awareness to this point - the touch arcade forum post, and twitter, with a potential slight boost from the site that listed it (&lt;a href="http://148apps.com/app/315158886"&gt;148apps&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;My app did not even get the initial boost in publicity most iPhone Apps get by being put on top of the 'new app' list. Why not? Because, by my own folly, I forgot to adjust the release date. When I submitted it, I set the release date as the submission date, so that it would go live ASAP. A good strategy, except that when it actually went live, I needed to change that date to the day it went live. Otherwise, the app store would think it's 9 days old.&lt;br /&gt;&lt;br /&gt;With that in mind, the sales have been pretty good, and they can only get better as awareness increases. Today it was reviewed and featured on the front page of &lt;a href="http://www.appvee.com/t/castle-conflict"&gt;appvee&lt;/a&gt;, and I'll soon know how much that effects sales. We are also planning on doing an update soon, as doing so will boost it to the top of the top app list.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But back to piracy...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I mentioned Pinch, I mentioned Piracy, and I mentioned Sales. This was to give some context regarding the interesting stats I am about to show, which actually give me a lot of heart about the future of this game and how well I believe it's going to do.&lt;br /&gt;&lt;br /&gt;The thing to think about pirates is as follows...for the most part, they are often younger and probably do not have credit cards. They have iPhones or iTouches, yet still refuse to pay for apps that are $3 and less. They feel they are part of a pirate 'community' and that probably allows them to justify their action better than anything else they claim; the fact that others are doing it too. They have jailbroken their iPhones. And they can crack your app with a fair amount of ease, and then submit it to many sites. (I have found Castle Conflict on at least 6 websites, including one in Japanese and one that my computer didn't have fonts for. The number I cited above, of over 6000 downloads, was from the only one of those websites that actually counts downloads, so the real number is undoubtedly higher).&lt;br /&gt;&lt;br /&gt;So when a pirate sees a 5 MB game posted to the websites they follow, it isn't even a matter of whether or not they would pay for that game. It's a matter of it being easy to install a 5 mb app without even thinking about what it is, before the app gets taken down by the apps creator. (I haven't bothered going through that process). They will download it. They might even run it, if they ever feel the compunction. But since they have a slew of new, free apps to try, their attention span for any one app is likely to be limited.&lt;br /&gt;&lt;br /&gt;Their 'public' justification is that they believe the app store is flawed, that apple has allowed many crappy apps through, and that they are tired of being burned by paying $0.99 for an app that actually kind of sucks. They worked hard for that dollar, and now, they want the chance to try such an app BEFORE they download it. If they like it, then they'll buy it.&lt;br /&gt;&lt;br /&gt;This is an outright lie. And Pinch Media will help me prove this.&lt;br /&gt;&lt;br /&gt;Let's consider the numbers that Pinch Media has to report about Castle Conflict:&lt;br /&gt;&lt;br /&gt;To date, Castle Conflict has 3,796 unique users. Roughly 200 of those are legit (paid, promo code, developer). The rest pirated the game.&lt;br /&gt;&lt;br /&gt;To date, Castle Conflict has been run 11,858 times. That means that, if sessions were divided evenly across users, the game had been roughly 3.12 times per person. If the Pirates truly had NOT liked the game, they would not have run it more than perhaps twice, but probably only once. So if each pirate who has not bought a copy had only run the app once, then that would mean that there were somewhere in the field of 8,250 play sessions by the 200 legitimate users.&lt;br /&gt;&lt;br /&gt;If that were the case, I'm sure a lot more word of mouth would spread about this app, which users thought was worth playing 40 times in the week they bought it, and I'd be making a lot more money. So the assumption must be that, in general, people who download Castle Conflict like it enough to play it multiple times.&lt;br /&gt;&lt;br /&gt;But there is one other stat that is interesting. In the 11, 858 sessions, players have started 22,036 new games, and continued 697 more; that's 22,733 times in total. That means that players play roughly 1.91 games per session. That means that the average number of times a player plays Castle Conflict, so far, is 5.98. Nearly 6 times per user! That's a pretty good record, as far as I'm concerned. (For those who don't think continuing is as valuable as a new game, the number is 5.81 play per user; I would argue, however, that continuing is MORE valuable than new games, as it indicates the player's desire to keep playing clearer than a new game).&lt;br /&gt;&lt;br /&gt;And that's not even counting how many pirates are likely to have run the app once and quit. I can't account for what percentage that is, but it seems that this app has at least SOME staying power to it.&lt;br /&gt;&lt;br /&gt;So the reality is that pirates are incorrect. They will play an app beyond the 'free trial' range, and they will still not pay for it, even if that app costs a paltry two dollars. If all the pirates who played this game 6 times had bothered to pay for a copy, I'm sure I would be a lot closer to breaking even.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;One Last Note...Detecting and Dealing with Piracy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I found a great blog this week about piracy and detecing/dealing with it. It's located at &lt;a href="http://thwart-ipa-cracks.blogspot.com/"&gt;this location&lt;/a&gt;. If you go to the first few of entries, the author includes a great explanation of HOW pirates crack your app, and how to detect in your app if that crack has been used on your app.&lt;br /&gt;&lt;br /&gt;As a summary for the technically inclined, what pirates essentially do is load your app into memory, grab that RAM and output it as a file, then modify the root.plist to have the SignerIdentity field claim that the app was signed by apple. This allows them to put it on their jailbroken iPhones.&lt;br /&gt;&lt;br /&gt;As a programmer, what you can do is detect if your plist is a different size than you know it should be, or you can check if the SignerIdentity key exists in your plist.  The code to do so is pretty easy, and again, exists in more detail in the above blog. For convenience, it is:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;NSBundle *bundle = [NSBundle mainBundle];&lt;br /&gt;NSDictionary *info = [bundle infoDictionary];&lt;br /&gt;if ([info objectForKey: @"SignerIdentity"] != nil)&lt;br /&gt;{&lt;br /&gt;/* do something */&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;What should you do once you reach this point? I have considered several options...from allocating tons of memory, to putting in an infinite loop, but upon further consideration, I realised these were all BAD ideas.&lt;br /&gt;&lt;br /&gt;Simply because, pirates can be just as vocal as regular users. And you don't want them spreading the word that your app causes crashes or locks up iPhones, because that will scare potential buyers as much as it will scare potential pirates. And you want to do everything in your power to not scare potential buyers.&lt;br /&gt;&lt;br /&gt;My recommendation is to put in a splash screen that pops up from time to time. This is less likely to be something pirates will try to figure out how to remove, it still allows them to have a good experience (and hopefully sing your games praise somewhere), and there's the off chance that they may be guilted enough by it to actually purchase your app.&lt;br /&gt;&lt;br /&gt;Of course, unless this is under a one hour task, it probably will NOT be worth your time. The reason for this is simple - most pirates still will not convert to sales, but you're not doing anything about them. You could probably generate more personal income by continuing to plan/implement features/polish that actually improve your game and make more people want to buy it. It is, truly, impossible to solve the pirate issue completely. &lt;br /&gt;&lt;br /&gt;At the very least, I intend to use Pinch Media to give me some REAL numbers about how many people are running a pirated version of my app, instead of the conjecture used above. I would even like to know how many times they are playing the game. It may not add any value to my game, but I'll be honest, I want to know how much pirates are playing my game. That may be the best test of how successful your game is - if you can find out that pirates, who have no financial backing pushing them to play the game, and who have a slew of other free apps to distract them from it, keep coming back to it, then you can feel confident that once your game does get more widely known in the actual app store, it should do quite well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-4778368443878498162?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/4778368443878498162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=4778368443878498162' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/4778368443878498162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/4778368443878498162'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/05/first-week-of-sales.html' title='First Week of Sales'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-2227203369343111273</id><published>2009-05-12T19:33:00.000-07:00</published><updated>2009-05-12T20:58:45.831-07:00</updated><title type='text'></title><content type='html'>Castle Conflict is on sale in the app store as of today. (May 12, 2009)&lt;br /&gt;&lt;br /&gt;How it will do in the future is a mystery. I will be promoting it over the next couple of days, and hopefully it will grow from there. It could be anything from a rousing success to a huge disappointment. Only time will tell.&lt;br /&gt;&lt;br /&gt;Like Firemint games, who &lt;a href="http://firemintgames.blogspot.com/2009/04/flight-control-sales-numbers.html"&gt;recently released the sales data for Flight Control&lt;/a&gt;, I am not going to be keeping any secrets about the success of the app. While I am not intending to do a full on pdf report (unless maybe if things go really well),  advertising techniques and sales numbers will not be kept a secret (if so, it is only because there is nothing interesting to report).&lt;br /&gt;&lt;br /&gt;Here's to hoping!&lt;br /&gt;&lt;br /&gt;Up to date screenshots:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 399px; height: 266px;" src="http://castleconflict.brokenkings.com/ss1.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 398px; height: 265px;" src="http://castleconflict.brokenkings.com/ss2.png" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-2227203369343111273?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/2227203369343111273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=2227203369343111273' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/2227203369343111273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/2227203369343111273'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/05/castle-conflict-is-on-sale-in-app-store.html' title=''/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1710076865265038853</id><published>2009-04-15T22:17:00.000-07:00</published><updated>2009-04-15T22:42:12.048-07:00</updated><title type='text'>Castle Conflict: Finished. We can resume sleeping.</title><content type='html'>It is 11:17 pm, make that 11:18 pm, on Wednesday night, April 15 2009.&lt;br /&gt;In roughly 42 minutes, Josiah and myself are expected to have our game done, based on the deadline that we set for ourselves.&lt;br /&gt;&lt;br /&gt;And we are able to stop here and say, we met our goal.&lt;br /&gt;&lt;br /&gt;I mean sure, we could continue to sweat the minutae and make the game more and more polished. That is, in fact, what we have been doing since Sunday. This project went off surprisingly well. All of our key tasks, from the first priority (needs to be done for the game to be complete) to the final priority (Would be nice but far from essential) were finished, minus a couple that got scrapped.&lt;br /&gt;&lt;br /&gt;In that time, we've taken a step back from the game and focussed on the user experience, and I think perhaps that was just as important, and that if we hadn't finished early and had that time, the game would not be considered a success. I mean - the gameplay itself is fine. But I think the two of us both learned a lot about making a product in this time, as well as about the work flow.&lt;br /&gt;&lt;br /&gt;The exciting thing is that at the end of 8 days, the two of us have made a game together, complete with everything from audio to ai to kick butt graphics to an easter egg named Sir Theodore Quentin III.&lt;br /&gt;&lt;br /&gt;The last is proof that the two of us get along well and are able to make each other laugh, and also a sign of our love for the game.&lt;br /&gt;&lt;br /&gt;Perhaps I shall write an in-depth post mortem tomorrow. It might even be better to do so after the game has actually shipped, since by then I'll have actually got it on the iPhone (still haven't gotten my developer approval from apple) and will have more experience to share.&lt;br /&gt;&lt;br /&gt;But in the mean-time, I will share some screenshots and small tidbits about them:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Icon.png" /&gt;&lt;br /&gt;&lt;br /&gt;Our button, in the iPhone simulator.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 400px; height: 202px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/NewtitleScreen.png" /&gt;&lt;br /&gt;&lt;br /&gt;New title screen, complete with sexy new logo.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 400px; height: 211px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/EasyMode.png" /&gt;&lt;br /&gt;&lt;br /&gt;What the player sees the first time they play the game.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 398px; height: 218px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/PinkUnicorn.png" /&gt;&lt;br /&gt;&lt;br /&gt;The help screen, including the first tantalizing hint about our Easter Egg. Hint: He does not show up in the help screen initially.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 401px; height: 213px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/HelpScreen.png" /&gt;&lt;br /&gt;&lt;br /&gt;Initially it looks like this.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 404px; height: 212px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Trophy.png" /&gt;&lt;br /&gt;&lt;br /&gt;When the player does well, the game politely prompts them, from the stats screen, to try a harder difficulty level. If they do really well, they get a trophy!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Biggest Problem&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The biggest problem I encountered with cocos can be demonstrated with the following screenshot:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 399px; height: 204px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Lines.png" /&gt;&lt;br /&gt;&lt;br /&gt;As can be observed, there are strange lines around the sprite. I observed this many times, often with scaling and occasionally with moving objects. My initial instinct was that it was a problem with the sprite sheet, but further investigation revealed this was not the case.&lt;br /&gt;&lt;br /&gt;Research in the cocos2d for iPhone community revealed that this problem actually occurred because my units had floating point positions. Given that my game moves dynamically based on time, it was entirely unavoidable that this would be the case, but rendering at floating point positions created the behaviour seen above.&lt;br /&gt;&lt;br /&gt;The solution was far from elegant but given our time frame, perhaps the most reasonable. (The elegant one would be figuring out why cocos2d or openGL was doing that and fix it.) Essentially, I removed as much scaling as I could, and then, in my units, taught them to move with two positions - one position that they knew about, with proper floating values, and another that cocos new about, which was their position rounded to ints.&lt;br /&gt;&lt;br /&gt;Why were two positions necessary? Why didn't just ints work? I actually did try it, but it had some strange behaviour. Characters were jumping around choppily, and some characters weren't able to move because they didn't even travel a pixel a frame! In short, any unit whose speed was less than 60 pixels a second was unable to move properly, and only three units in the game move faster than that. As such, the internal floating point position was essential to keep the movement fluid and fun, while the render-only rounded position was essential for proper rendering.&lt;br /&gt;&lt;br /&gt;And that is the end of the reign of Castle Conflict. With 21 minutes to spare before our deadline, I end this blog post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1710076865265038853?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1710076865265038853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1710076865265038853' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1710076865265038853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1710076865265038853'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/04/it-is-1117-pm-make-that-1118-pm-on.html' title='Castle Conflict: Finished. We can resume sleeping.'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/th_Icon.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-1230073132359395933</id><published>2009-04-11T23:11:00.001-07:00</published><updated>2009-04-11T23:44:02.454-07:00</updated><title type='text'>A Title</title><content type='html'>According to our xp-dev page, we have completed 95 of 106 tasks. Of the 11 tasks remaining, they range from getting the sounds playing in the game to getting our splash screen in the game. We are in the final stretch.&lt;br /&gt;&lt;br /&gt;The main things we are going to be working on from now on, other than the above mentioned essentials, are the 'shiny' things that will give the game more appeal - little animations here and there to make the game feel more alive. As well, because it has not yet been put on an iPhone (and won't be until I get approved by apple), I can't verify that there won't be some performance snags we haven't yet encountered - but those can and will be dealt with when appropriate.&lt;br /&gt;&lt;br /&gt;Some of our recent progress:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screenshots &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 390px; height: 203px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/TitleScreen.png" /&gt;&lt;br /&gt;The title screen. As you can see, it lines up directly with the main screen, such that when you click Play, it appears to the player as though the hud simply changes. We thought this was essential to give the player the feeling of being in the game from the get-go.&lt;br /&gt;&lt;br /&gt;As the continue button suggests, saving and loading is functional. The game also auto-saves when it is closed.&lt;br /&gt;&lt;br /&gt;There is one other milestone hinted at by this title screen: we have finally come up with a name for the game. We actually were fond of Castle Clash but it sounded too close to Castle Crashers. After much pondering over names, we finally settled close to where we started, with Castle Conflict. It's not going to change the world; but then again, it's just a name.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 401px; height: 210px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Sparkle.png" /&gt;&lt;br /&gt;Some of the aforementioned sparkle is in this screenshot - a bird flying in the background, and sunlight reflecting off the water. Just tiny little things that aren't very obvious but help give the game a polished feel. (If you can't see them, try right clicking -&gt; view image).&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 400px; height: 211px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Settingsnewfont.png" /&gt;&lt;br /&gt;The settings screen, with the font built by Josiah on it. This one hints at a milestone above and beyond the settings that we hit today - artificial intelligence. The ai now uses all units and is far more intelligent than it was previously.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/ButtonOrder.png" /&gt;&lt;br /&gt;&lt;br /&gt;The new organisation of the buttons. Now they are sorted by functionality and price. Some extra tweaking will probably still go into this area of the game. (For example, no price is shown as of yet)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feeling&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;Josiah and I are both feeling highly optimistic. I think the biggest thing about this game that makes me proud to be working on it is that every time I see it, I want to play it. The graphics are appealing, the gameplay smooth and pleasant. The experience feels very well thought out and accessible.&lt;br /&gt;&lt;br /&gt;I actually can't wait to be done so I can put it on my iPhone and actually play it.&lt;br /&gt;&lt;br /&gt;We have 4 days left after today to hit our deadline.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-1230073132359395933?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/1230073132359395933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=1230073132359395933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1230073132359395933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/1230073132359395933'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/04/title.html' title='A Title'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/th_TitleScreen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-6782862454790442902</id><published>2009-04-10T20:53:00.000-07:00</published><updated>2009-04-10T21:02:21.544-07:00</updated><title type='text'>Newest Images</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Current Progress:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Images speak louder than words - below are images of where the game (still untitled) currently is.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 397px; height: 212px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Picture1.png" /&gt;&lt;br /&gt;&lt;br /&gt;Taking the opponent by storm - Cavalry and zeppelins, in action.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 399px; height: 212px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Picture2.png" /&gt;&lt;br /&gt;&lt;br /&gt;A shot of the ground units in action - the woodcutters, armored knight, and foot soldier.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 398px; height: 196px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Picture4.png" /&gt;&lt;br /&gt;&lt;br /&gt;Bomber laying waste to whatever it can&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 396px; height: 210px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/Picture5.png" /&gt;&lt;br /&gt;&lt;br /&gt;Cannon launching a projectile against the opponent&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Staying on Track?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Today was Friday, the third real day of work on the project. And at the end of the day, nearly all graphics were complete, and nearly all gameplay was complete. There are still a few areas that are going to need tweaking - the ai only knows how to use three of the units, for example, since I haven't touched it since the original prototype from last Sunday.&lt;br /&gt;&lt;br /&gt;Main areas we have to investigate still include: interfaces (as you might be able to tell from the images, it could use a little tweaking in terms of layout), audio, and the general niceness that people expect with iPhone applications (auto-saving on quit. etc).&lt;br /&gt;&lt;br /&gt;We are well on track to have all of this done by midnight next Wednesday. To our surprise, we may even be able to finish sooner, if we are able to maintain our pace from the past three days.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-6782862454790442902?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/6782862454790442902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=6782862454790442902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6782862454790442902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/6782862454790442902'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/04/newest-images.html' title='Newest Images'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i12.photobucket.com/albums/a227/therabidwombat/iPhone1/th_Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-4655830340357222108</id><published>2009-04-08T23:10:00.000-07:00</published><updated>2009-04-08T23:35:43.772-07:00</updated><title type='text'>First day of madness</title><content type='html'>The secret to getting things done is just to do them. Over the course of today, Josiah was able to make most of the graphics for the game, and I was able to get almost all of his graphics in, get animations in, add a couple more units, and help prettify movement.&lt;br /&gt;&lt;br /&gt;We started today with the following: &lt;img style="width: 361px; height: 191px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Picture3.png" /&gt;. (Anyone who plays game maker games may recognise the art in this game as being ripped from a game known as Medieval Clash ... this was done during the prototyping stage to enable me, a programmer who can't draw, from having to try and draw things. The game we are making is in fact inspired by Medieval Clash.)&lt;br /&gt;&lt;br /&gt;By the end of today, the game looked like this: &lt;img style="width: 361px; height: 198px;" src="http://i12.photobucket.com/albums/a227/therabidwombat/Picture4.png" /&gt;.&lt;br /&gt;&lt;br /&gt;This can be compared with Josiahs latest mockup, &lt;img style="width: 453px; height: 302px;" src="http://www.josiahtobin.com/random/pics/_mock6.png" /&gt; and you can see that we are well on track.&lt;br /&gt;&lt;br /&gt;You may notice in the above image that there are two buttons repeated, and that they still have the old graphics. This is because I have not yet got Josiahs button images in the game (they are already complete). Cocos does not have an Atlassed HUD Image, like I thought they did, so I'm either going to have to get the HUD split into a separate image for each button state (bad ... ) or figure out another solution.&lt;br /&gt;&lt;br /&gt;Now, I'm going to end this blog post on a quick tutorial on what specifically you need to create an animation in cocos2D and have it play and repeat. There may be a better way; this was the best I could find today. Due to our development cycle, the quick and easy wins are what we are aiming for.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1: Create an AtlasSpriteManager&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Assuming that you have an image named img.png, make the following call:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;AtlasSpriteManager* mgr = [AtlasSpriteManager spriteManagerWithFile:@"img.png"];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Once you have your mgr, add it to your Layer, Scene, or other Cocos2D node.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[self addChild:mgr z:GAME_DEPTH];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 2: Create an AtlasSprite and add it to your AtlasSpriteManager&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;CGRect rect = CGRectMake(0, 0, 50, 50) ;&lt;br /&gt;AtlasSprite* sprite = [[AtlasSprite alloc] initWithRect:rect spriteManager:mgr];&lt;br /&gt;[mgr addChild:sprite z:GAME_DEPTH];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 3: Create an animation&lt;/b&gt;&lt;br /&gt;An animation in Cocos2D is represented using an AtlasAnimation. So create an atlas animation and supply it with the rectangles you want.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;AtlasAnimation* animation = [AtlasAnimation animationWithName:@"anim" delay: 0.1f];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;If your sprite sheets, like many that exist, are laid our horizontally, you can use a nice cheat to get your sprites lined out without having to hard code each value.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;int numFrames = 4;&lt;br /&gt;for(int i = 0; i &lt; numFrames; i++)&lt;br /&gt;{&lt;br /&gt; int x = rect.origin.x + (i * rect.size.width);&lt;br /&gt; [animation addFrameWithRect:CGRectMake(x, rect.origin.y, rect.size.width, rect.size.height)];&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Turn your animation into an action&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Next, you must create an Animation action and apply it to your sprite.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;id action = [Animate actionWithAnimation:animation];&lt;br /&gt;[sprite runAction:acion];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Repeating&lt;/b&gt;&lt;br /&gt;The above will actually only play your animation once - if you want your sprite to play repetitively, you must create another action from your initial reaction that repeats. This can be done as below:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;id repeatAction = [Repeat actionWithAction:action times:100];&lt;br /&gt;[self runAction:repeatAction];&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;As best as I could tell, there was no way to create an action that would repeat forever. Supplying an aribritrarily large number to times may work in some cases, but I'd recommend actually digging deeper and finding a real solution, or implementing one, in most cases. In the case of this game, because of the small time frame and because our objects are not on screen for longer than 10 seconds at a time, setting the action to repeat 100 times was a suitable solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-4655830340357222108?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/4655830340357222108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=4655830340357222108' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/4655830340357222108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/4655830340357222108'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/04/first-day-of-madness.html' title='First day of madness'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-140415281601802114</id><published>2009-04-08T08:18:00.000-07:00</published><updated>2009-04-08T08:46:25.598-07:00</updated><title type='text'>The week of no sleep</title><content type='html'>Based on how hard I consistently push myself, one might begin to wonder if I was perhaps a little bit insane.&lt;br /&gt;&lt;br /&gt;Let's review the facts: I am developing three games at the moment: one full time (Gwabs), when on the side when I have the time (Population Control) and one is awaiting some feedback from our desired distributor before I have anything to do (NaviBlast).&lt;br /&gt;&lt;br /&gt;So why is it, then, that I would think it would be perfectly okay to start a new game project? Using new technology I'm not familiar with?&lt;br /&gt;&lt;br /&gt;And why would I set the goal of completing that game by midnight, next Wednesday?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Plan&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The game I am making is currently untitled. The reason that I feel that it can be completed is because of two very simple facts:&lt;br /&gt;&lt;br /&gt;1) I was able to program the core gameplay / prototype in 7.5 hours on Sunday. Giving myself 8 days to polish it into a product does not seem unreasonable, as long as I am able to dedicate enough time to it.&lt;br /&gt;&lt;br /&gt;2) I am working with &lt;a href="http://www.blogger.com/www.JosiahTobin"&gt;Josiah&lt;/a&gt;, an old friend of mine, who I have worked on games with in the past. Him and I are both able to put in a fair amount of hours on this project to ensure that it succeeds as quickly as possible. Josiah is amazingly talented - he has been on several game projects, doing game design, level design, audio work, and pixel art. While every one of the games he's worked on was an indy game available for free, his work ethic is superb. Currently, his main project is a computer game called Worlds Beyond. Josiah also does music, and has his own band, Swimfail, under which he has released 3 LPs and 3 EPs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Pitfalls&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Alright, so it sounds like we have a dedicated team. But that's not enough, and there are several pitfalls that need to be considered.&lt;br /&gt;&lt;br /&gt;1) We have two people doing the job of 4. Josiah is doing all the art and audio; I am doing all programming and business side of things. At the same time, both of us have been involved in the game design process.&lt;br /&gt;&lt;br /&gt;2) We have 8 days. But that doesn't mean that we each have 8 days to contribute. As previously mentioned, we are both actively involved in other projects. I have to give Gwabs precedence over this game, and will have to spend time on Population Control. Josiah probably has other commitments of his own.&lt;br /&gt;&lt;br /&gt;3) Josiah does not have an iPhone. We are developing for the iPhone, but everything that we build, he is not going to be able to see. Only I am going to be able to see our final product, and he's going to have to rely on screenshots and screen captures to help him know what tweaks he needs to make.&lt;br /&gt;&lt;br /&gt;4) Josiah lives in Victoria. I live in Calgary. In short - we are not even going to see each other in real life during the course of this project.'&lt;br /&gt;&lt;br /&gt;5) It's on the iPhone. That means that the game is going to have to gracefully handle the player quitting at any time, incoming phone calls, etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Method&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So how are we going to overcome the above obstacles?&lt;br /&gt;&lt;br /&gt;1) Rapid Design Process - almost as soon as we agreed to this project, Josiah and I spent about 3 hours fleshing out the design, figuring out how we want things to look / what we want to accomplish, and by the end of it, we had what was roughly a full on design, fleshed out as rough notes. Feature Lock has already been implemented.&lt;br /&gt;&lt;br /&gt;2) Tiered Design - Our design allowed us to separate different gameplay elements into different categories of importance. If we don't have units that can collect resources, our game cannot work. If those units don't have an animation for harvesting resources, we can still make it clear to the player what's happening. Perhaps we don't need to include every unit; flying units, for example, add an extra layer of balancing that we may not need if time does not permit.&lt;br /&gt;&lt;br /&gt;3) Constant Communication - We have to ensure that we are both up to date on what is going on. There can be no confusion about who is doing what, or when we can expect art assets.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Tools&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1) &lt;a href="http://www.blogger.com/www.XP-Dev.com"&gt;XP-Dev&lt;/a&gt;: XP-Dev is a free subversion host (up to 1000 MB) and also provides the ability to create and assign tasks, create wiki pages, report bugs, etc. We are using XP-Dev for our tasks, to sort them by priority, and estimate how much time the project is going to take.&lt;br /&gt;&lt;br /&gt;2) Messenger - In order to remain in constant communication, we need to be able to communicate constantly. Using Windows Live Messenger (for Josiah) and Adium (for myself), we are able to constantly be available to each other.&lt;br /&gt;&lt;br /&gt;3) Drop Box - For easy transfer of files&lt;br /&gt;&lt;br /&gt;4) XCode / iPhone SDK / Cocos2D: These are the tools that I will be using to write the code and test it. I am using the Cocos2D engine to allow for quick development, so I don't have to spend a lot of time mucking about in OpenGL to get things on screen.&lt;br /&gt;&lt;br /&gt;5) Josiah is using some less than standard software: where many artists would turn to photoshop, Josiah is using what he describes as "a weird obscure piece of engrish software that I can only assume is named "character mucker 1999" but otherwise seems to have no title", and modplug tracker for music and sfx. He is also using 'Cool Edit Pro 2' for  mixing and mastering.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Final Words&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Is what we are attempting even possible? Can two individuals really give up all of their free time, and perhaps much of their sleeping time, for 8 days, just to make a single product on the side of their other commitments? Success or not, it's going to be a wild ride - but Josiah and I are determined to push ourselves and prove to ourselves we are capable of anything.&lt;br /&gt;&lt;br /&gt;182 hours remain between now and the end of our project cycle. Time allowing, there may be more blog posts outlining our processes, where things take less time than we expected, where they take more. With luck, next Thursday there will be a post mortem here describing, in high level, just HOW we turned a quick prototype to a full fledged product in just 8 days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-140415281601802114?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/140415281601802114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=140415281601802114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/140415281601802114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/140415281601802114'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/04/week-of-no-sleep.html' title='The week of no sleep'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-7813249202050271000</id><published>2009-03-19T21:27:00.001-07:00</published><updated>2009-03-20T07:20:28.257-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>iPhone Game Design - Getting it Right : Blocked</title><content type='html'>The iPhone app store is going crazy, with over 25000 apps available for download already. One must give their props to apple, who must be making a ton of money from their share of the downloaded money.&lt;br /&gt;&lt;br /&gt;As a developer, the iPhone is an enticing platform. Like the Nintendo Wii and DS, it offers a slew of new functionality that allows developers to create applications that can be intereacted with in new, exciting ways. And like Xbox Live Community Games, it has a channel that is relatively easy for any developer to publish their app on.&lt;br /&gt;&lt;br /&gt;With the ability to push a new product to the iphone relatively quickly, many developers have swarmed to the platform. Achieving a position in the top 25 paid apps in the app store is an accomplishment in and of itself.&lt;br /&gt;&lt;br /&gt;One of the most prominent app types in the app store are games. Of these games, Blocked, a 99 cent game, is currently sitting at position 6 in the top 25 paid apps. For any developers looking to pull a profit from the app store by developing a game, I think that Blocked is definitely one that needs to be examined in detail.&lt;br /&gt;&lt;br /&gt;Blocked is supremely simple in many ways. The graphics use minimal colours and are, for the most part, rectangles stylized to look like rocks, on a grid paper background. The gameplay uses only one iphone feature - touch. And the idea (moving blocks) has been around for ages, appearing in many action/adventure/and rpg games throughout the history of gaming.&lt;br /&gt;&lt;br /&gt;So, on a system that allows users to have apps with internet connectivity, access to their phone, geographic tie ins, advanced acceleromator functionality, and many different types of touches, why does an app that only allows the player to perform one action, simply by moving their fingers, be such a success?&lt;br /&gt;&lt;br /&gt;I think that the story behind the success of the game is about as simple as the game itself.&lt;br /&gt;&lt;br /&gt;Blocked is a game that is immediately accessible. Anybody who had used an iphone knows exactly what to do in blocked. There is a 'help' screen that explains what the goal is to lost players (move blocks out of the way and get the blue block out of the screen), which most players will only have to reference once, if at all.&lt;br /&gt;&lt;br /&gt;For a game where the player does only one thing, Blocked is deceptively addicting. Because the actions the player performs are so simple, the player knows that they are able to beat any level - but it will tax their brain. The game follows the principle of 'Easy to Learn, Hard to Master' to a tee.&lt;br /&gt;&lt;br /&gt;The game also puts the player into the game straight off the bat. As soon as the game loads, which does not take long, the player is taken directly to the game. There is no title screen where the player selects to load a file, start a new game, tell a friend, or get help. They are simple greeted with a simple interface that has a level, and a few controls.&lt;br /&gt;&lt;br /&gt;This minimalistic interface ties into what I'm assuming was one of the games goals, which is to be a stress free game. Like a crossword puzzle or a sudoku puzzle, blocked does not require the player to solve the puzzle in a set time limit. When creating a game, many designers are tempted to add challenges to the game, such as time limits, or dangers, or limiting the number of moves a player can perform, to increase the challenge. Blocked has wisely foregone this option, allowing the mental challenge the game provides to drive the fun.&lt;br /&gt;&lt;br /&gt;The game follows a stress free pattern in nearly ever facet. I so far have only reached Medium, so if this changes later on I cannot comment, but for the beginning of the game at least, every single level takes place in a single screen. There is no camera moving around to stress the player out as they try to find out what else is going on, there are no unknowns - the player always knows everything at their disposal (in this sense, it is even less stressful than a crossword puzzle, as the player does not have to constantly reference what the current row of letters is for).&lt;br /&gt;&lt;br /&gt;If the player is stuck on a level, the reset button is always available in the lower left corner, allowing the player to start from scratch. If they are frustrated, then they can just skip past the level, even if they haven't beaten it. The only limitation to which levels a player can play is based on which is the lowest difficulty they have completed completely.&lt;br /&gt;&lt;br /&gt;On top of being incredibly simple to pick up, addicting through 'Easy to Learn, Hard to Master' (ETLHTM) and stress free, Blocked has an extremely polished user experience. The game puts them right into the game as soon as it's loaded; if they were playing before, it loads both the level they were playing and their last configuration in that level. Navigating to any level is easy through the level select screens, which are sorted by difficulty, so if the player wants to move to a different level, there is no challenge in doing so. If they simply want to move forward or back a level, there are even arrows on the top of the screen.&lt;br /&gt;&lt;br /&gt;In terms of development, Blocked does not seem to be a difficult app to develop. With very few art assets, and simple gameplay, the most time was probably spent on polishing the user interface, and designing the levels for the game (I believe there are about 100 in the game, sorted by difficulty into tiers of about 20 levels each). By concentrating on a simple, stress free, and polished user experience, it was able to rise to a high level of success.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-7813249202050271000?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/7813249202050271000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=7813249202050271000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7813249202050271000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/7813249202050271000'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/03/iphone-game-design-getting-it-right.html' title='iPhone Game Design - Getting it Right : Blocked'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-3803089330916036826</id><published>2009-01-24T13:00:00.000-08:00</published><updated>2009-01-24T13:20:42.438-08:00</updated><title type='text'>James Clavelle - Tai-Pan</title><content type='html'>Taipan is the second book (chronologically) in James Clavelle's Asian Saga. Do not be fooled by the fact that it is linked to the rest of the series however; it is a stand-alone story that can be read regardless of what else you have read in the series, and make perfect sense.&lt;br /&gt;&lt;br /&gt;James Clavelle's writing is always jarring to me initially, because he can be viewing the story from one characters point of view in one sentence, and then the next sentence be viewing it from another characters point of view. However, this is perhaps one of the strengths that gives his stories such power - every character has his say.&lt;br /&gt;&lt;br /&gt;And that is the driving force behind his stories. Behind everything else that happens, every character is scheming, planning, and then scheming some more. But James Clavelle's characters are self serving and devious, and they are often planning things that will benefit themselves more than others - just like real human beings. Plans often go against the plans of others.&lt;br /&gt;&lt;br /&gt;Yet the story is carried much by the planning and less by the execution, for James Clavelle artfully inserts plot twist after plot twist, driving the story in new and exciting directions with each passing chapter. Plans are often being reworked, put on the back burner, or discarded entirely. When reading his books, I am often reminded of the quote: "Man plans, and God laughs."&lt;br /&gt;&lt;br /&gt;Tai-Pan takes place in the 1840s, following the 'Tai-Pan' of the Noble House, a british trading company. Tai-Pan means leader, and the leader of the Noble House is Dirk Struan, an irishman who has many alternate plans. He rules it with his half-brother, Robb; their main competitor is Brock and Sons, another trading company that is run by Tyler Brock and his son, Gorth Brock. Struan and Brock have long been embittered enemies and share a history ruled by hatred and revenge, scheming, wins and losses. Their rivalry drives much of the planning between these two characters.&lt;br /&gt;&lt;br /&gt;Noble House and Brock and Sons are both Opium traders, trading with the Mandarins China through the port of Canton. Britain is attempting to open up the border to China, believing that it is the key to Asia, and world domination.&lt;br /&gt;&lt;br /&gt;These are just a couple of the driving factors in the story - there are many more that come up during the course of the story - religion, penitance, forgiveness, revenge, nature, love, sex, marriage, global themes, etc...there is pretty much no stone left unturned. And this, too, helps lead to the fullness of the story and the characters.&lt;br /&gt;&lt;br /&gt;Much like Shogun, the book starts in the middle of a story, and by the end of the book, there are so many threads going on that you don't know how James Clavelle could possibly wrap it up. And he does not attempt to try; this book is much like a snapshot of real life. There is no clean beginning and ending in any story, not with all the different factors and characters that become involved, and it becomes impossible to try and tie things up. So the book ends but the story is allowed to continue, in your mind, as you fathom how all the myriad of characters will respond to and move forward given the conditions at the end of the book, and what other events will occur that they will have to respond to before the book is over.&lt;br /&gt;&lt;br /&gt;The following is a spoiler, so if you intend to read the book, DO NOT read any further!&lt;br /&gt;&lt;br /&gt;At the end of the book, after all the scheming, planning, fighting against disease, etc., Dirk Struan is killed in a tai-fung storm, leaving all of his plans unfinished, and unlike my expectations, his life is not ended by Tyler Brock - their rivalry was ended by an indifferent force outside their control. All the different things that the book was coming towards come to a sweeping end in that book, as the british settlers in Hong Kong are forced to come to terms that their Tai-Pan, the man who seemed so immortal to them, has vanished. Many of his secrets remain unknown; many of his plans, even those closed to fruition, now lay in ruins; and there is much left that other characters were planning based on him. I believe by ending the book in this way, James Clavelle was making two statements: one being on the power and nature of the world (and with it, nature itself), no matter how immortal someone may be, they cannot control everything around them; and secondly, that no matter how powerful and god-like someone may appear, their life can still end at any time, unexpectedly - so it is best to do the things that you plan on as soon as possible, instead of doing the things that do not matter to you, before something you could not have expected comes along and ends your life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-3803089330916036826?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/3803089330916036826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=3803089330916036826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3803089330916036826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3803089330916036826'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2009/01/james-clavelle-tai-pan.html' title='James Clavelle - Tai-Pan'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-3548629584046938485</id><published>2008-12-07T16:37:00.000-08:00</published><updated>2008-12-07T17:26:29.770-08:00</updated><title type='text'>XBox Live Community Games</title><content type='html'>XBox Live Community Games has been a new feature that MicroSoft has been advertising for some months, and that finally went live on November 15th (or thereabouts; I was busy working on the closed beta of Gwabs at the time, so it snuck under my radar for a while), with the 'new' XBox experience.&lt;br /&gt;&lt;br /&gt;A while before it came out, I did have time to check out the games that had been accepted so far, and I was surprised to see that, at that point in time, over 60 games had already been accepted for XBCG. I had not been expecting so many games to be on the channel initially, and had been hoping for a much smaller initial push, as there had been discussion on the possibility of getting NaviBlast onto XBCG. Travis (the designer) and I had been debating whether to try putting it there, or on XBLA. There were certain appeals to each.&lt;br /&gt;&lt;br /&gt;My fear, at that point, was that XBCG would be saturated upon start, and many of the games in it would not be up to 'snuff', and players would quickly disregard the channel as full of fluff and games that, simply, were not worth browsing through to get to the cream.&lt;br /&gt;&lt;br /&gt;Today, I spent a little over an hour sampling some of the games on XBCG. It turns out that, as I feared, 69 games are already available on XBCG. While I do not think that there needs to be any time between game released, I think that the community needs to have more stringent controls when it comes to allowing which games are put on the channel and which are not; quality should definitely play a part, not only how accurate the game matches up to its description. Otherwise, all will suffer, as those few good games that get submitted will be encumbered by the weight of all the tech demos, incomplete games, or unpolished experiences pushed to the channel before them, causing the 'benefits' to indy game developers that MS was hoping to create to fail.&lt;br /&gt;&lt;br /&gt;I took the time to test out close to 15 XBCG games today, to see how the market fared. It was approximatly 1/5th of the games currently available, so I cannot say that it is representative of the whole channel, but I simply did not have the time to test out all 69 games. I selected games that had interesting art, looked interesting (or made me curious), or that I knew of from checking out the submissions earlier. Below is a break down of the experience as I played through. For each game, I will rate it on the following scale:&lt;br /&gt;&lt;br /&gt;1 - Would not download. If this game was a download, for free, I still would not go through the effort of downloading it to play it.&lt;br /&gt;2 - Would not pay. If this game was a free game, I would put some time into it, but in it's current form / design, I would not put any serious money into it.&lt;br /&gt;3 - Would pay. This is the upper echelon of community games, that would actually earn some dollar from this player.&lt;br /&gt;&lt;br /&gt;PLEASE NOTE: If by chance you find this blog entry and you are one of the game creators, but did not get a high rating, do not be offended. I am not attacking you, but rating your game as a commercial product.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Abstacked&lt;/span&gt; - Is there a genre for 'Objects drop into the screen and/or you solve the puzzle by making pairs / otherwise fitting pieces together', or do we just match them to Tetris / Sega Swirl / other similar games? This game was one such game, whatever the genre. This was actually the last game I played, and by the time that I got to it, I felt rushed because XBCG creates demos by setting a time limit on the game, which developers have no control over. The time limit is short, so I skipped the tutorial and went straight into gameplay. It took me a couples tries to figure out what I was actually doing, and once I did, this was a charming little Tetris-like game, with passable graphics and fun levels. I was halfway through the 2nd easy level when my trial expired, but it was enjoyable nonetheless.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating: &lt;/span&gt;2 - Would not pay. This game could use a little more polish before it surpasses the many similar free flash games / gamemaker games / etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Being&lt;/span&gt; - This one was a scrolling platformer that harkened back to the 8-bit days, but worse. This game could easily have been on atari, and while the graphics were decent - although there weren't many frames of animation - the camera was zoomed out too far for anything to look particularly interesting. The plot is particularly cliched, although you don't have to expect anything from a platformer. The fact that all you seemed able to do was jump, and collect keys, made the game far from engrossing, and the third screen I was on, which had many moving platforms, was too slow and not particularly engaging - get this key, move to that door, get the key behind it, etc. This game is great for a programmer learning the ropes of game design, and I myself am guilty of making several like it, but as a commercial product, it falls flat on its face.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating:&lt;/span&gt; 1 - Would not download. The great moments may have been hidden beyond the demo time limit, but what I saw of this game was not even as advanced as the original Mario Bros for the NES.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blow&lt;/span&gt; - This game is, in a sense, a little bit like Lemmings. Given some bubbles, you must find a way, by placing fans to blow them around the level, to reach the end of the level. Where in Lemmings, you had to overcome obstacles, in this game you had to cause flowers to bloom (or something similar), then release the 'King Bubble' and guide him to the exit. While I was only on the third stage of the tutorial by the time the game demo expired, I was already impressed by the polish of the tutorial, the engagingness of the game, and the fact that I felt I knew exactly what to do. I was a bit turned off that I did not get to play a single level before the time limit ran out, but that's a small complaint as the kinks are worked out of the XBCG system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating &lt;/span&gt;- 3: would buy - everything about this game screamed fun and polish, and the puzzles seemed simple yet challenging enough to really draw players in.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Colosseum&lt;/span&gt; - Of all the XBCG games that I played, this one was the first, and it was the only 3D-character one. I downloaded it because it was featured, but, even as a 'core' gamer, I found this game overwhelming, as when I started I was greeted with an image of the XBox controller and 10 different commands. I clearly was not able to remember them by the time the level loaded, but I remembered two key commands: move (left analog stick), and attack (right analog stick). I ran around chopping down random people, not really knowing why and pushing random buttons to figure out what they did as there was no prompting. While the graphics were fine, cartoon style graphics, I found the actual gameplay to be puzzling, as I was not entirely sure how to predict which attack my character would use, or how to do anything else. I beat the first level, but in the second level, this flying guy came out of nowhere and raped me as I tried to figure out how to block or dodge his magic attacks and diving-through-me attack. In the end, the game frustrated me, despite the fact that it was by far the most technologically advanced of all the XBCG games. A small amount of polish and some direction for the player would have made the game, which so far seems to be nothing more than a hack 'n slash, much less confusing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 2 - I would download this game and spend about 15 minutes hacking things to pieces, at which point I anticipate a fair amount of boredom. I could be wrong on that point.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Duotrix&lt;/span&gt; - I never entirely figured this one out, again because I rushed right into gameplay because of the time limit, but it seems to be another Tetris-like this game, except that two blocks drop into seperate arenas at the same time and are controlled by the same controller. It could use some polish but it was an intriguing, if not entirely polished, experience. I don't have much more to say about it...I lost when there was a giant stack on my bottom half but almost nothing on the top half, and I couldn't figure out how to do anything to help my bottom half.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 2 - I would try this one out, play it a few times, and let my girlfriend try (she likes this kind of game), but I wouldn't put enough time into it to warrant the dollar investment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Galax-E-Mail&lt;/span&gt; - This one was a fun overhead shooter, in the vein of Geometry Wars, only instead of shooting random shapes, you shoot other ships while ... doing something with e-mails. I only got past the first level before my time ran out, but I know that it has something to do with e-mails because I kept on collecting them. I was also able to amass a small army of followers who helped my take down my enemeis, which was quite enjoyable. And I was even able to change to one of three different ships, although the middle ship (mid speed, mid firepower) was by far the most balanced.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 2 - This game is pretty close to a 3, and if I had got to play the second level I think it would have been, as the second mission briefing was explaining the 'why' to me when my time limit ran out. This one fails because of the time limit, which is definitely something that, games coming in having seen it, will have a better time handling.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hive&lt;/span&gt; - This one was actually 3D, but I didn't realise it until after the game. The concept is simple - generate some insect type things, have them either defend your base, attack your opponent, or collect gems. I can't remember if there was a difficulty level, but I found the Ai to be laughable. If there was, I'm sure I selected the easy one. It was a fun concept, and is probably fun to play with friends. Because of the camera angle, everything looks 2D until the end screen, at which point you realise that the game uses 3D models. I would play it more.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating - &lt;/span&gt;2. I think that this game suffers from one key thing: I was able to play a full session before the time limit ran out, and I was given no indication that there was more to the game after that, other than multiplayer games. Since you can play the games any number of times (just always starting from ground 0, with the time limit), this one is almost entirely free. Of course, if you like it you should pay the creator to support him and his efforts, but the thing is that there is no apparent reward for doing so.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Melvin's Meltdown&lt;/span&gt; - This game is yet another Tetris-like game. Coloured squares fall into a grid, and based on which key you push and where your 'gun' is, you destroy certain one of thems in a certain row. It's actually a fun concept, and it had a really polished look. It did take me some time to figure out what I was doing, and I don't think I saw a tutorial on it before my time limit ran out. Getting a high score would definitely require more practise than I had.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 3 - I would definitely buy this one, it was polished and fun, and seemed like it would reward the player for playing more. The only downside is that it seemed to have been untested, for the most part, on XBox, as some of the HUD items went off screen a tiny bit, an indication that the creator didn't account for the difference in screen space on a TV versus a computer. A small bother, to be sure, but that small bit of polish could make the difference in converting that many more customers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Oh Snap&lt;/span&gt; - Tetris-like game number 4, this one actually reminded me a lot of Lumines (although I've only played Lumines once), except that at the end of the level it said 'oh snap!'. It confused me the first time, and the second level had hard-to-see graphics. Overall, it seems like a less polished version of lumines, with slow graphics.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 2 - I would play it instead of lumines if it was free, but for money, I would go for lumines over this one every single time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Organon&lt;/span&gt; - The only 3D shooter, this one was pretty poor. The concept is simple - take a 1st person shooter camera, remove the limits at the top and bottom, make it move forward constantly, and put a bunch of boxes in a big room. Then, shoot some of the boxes in a time limit. The game, unfortunately, failed to feel like more than what a programmer would put in as a proof of concept of a grander game design, or as a training mission for a space shooter. On its own, the gameplay was not exciting or compelling enough for me to want to open the game again.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt;- 1 - This is not a game I would enjoy playing past the initial experience.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sin(surfing)&lt;/span&gt; - Despite the cute name and simplistic gameplay, the game is confusing. There is no tutorial, and you seem to jump into things quite quick. It felt as if the programmer had played it a bunch on his own, and knew all the controls, and did not think about how players would pick them up having never played it. I accidentally quit a couple times while trying to figure out the controls because I hit b, which apparently is 'back' (although that is never explained anywhere - the first time I thought I had actually game-overed).&lt;br /&gt;&lt;br /&gt;The game is simple...there are some sin-like waves coming your way, you're on a surfboard, do tricks and get a score. However, I could not figure out how to do cool tricks other than make my character ride low, and spin, and at first, I just kept falling through the wave and dying as I didn't know how to land tricks. Even after I figured out how to speed up (which was not well explained in the control map), I still couldn't pull off anything that was cool, and with the character being so small, I have a hard time imagining any tricks looking particularly interesting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating &lt;/span&gt;- 2 - This game is worth the time it takes to play it on the demo, but I don't know what I would do after that. You could just play it for free, as it takes less time than the demo to play a complete session, although as above, if you enjoy it you should pay for it to support the developer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Swords and Monsters&lt;/span&gt; - This game was a joke. It was a bad, bad, bad, bad joke. You click on 'new game', then select either a male or female character. Then you hit a three times and win. Depending on how fast you do all of this, you get one of three text endings, none of which are particularly interesting. In short, this game is a short, pointless joke, that even acknowledges that in the 'please buy me' screen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 1 - Not even worth the time of the click.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Totem&lt;/span&gt; - Yet another Tetris like one, in this one you are building, and destroying a totem pole, with the goal of destroying its base. Despite its simple concept, the game is actually confusing, as I could not figure out why sometimes certain totem pieces broke and some didn't. If you understand it (again, a problem with the time limit), it felt like it could be a decent Tetris-like game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 2 - From waht I got in the time limit, this one was not much of a winner, and could use a little polish. The fact that the control map shows about 8 different commands when only three or four of them seemed necessary would help, by making the game less overwhelming. The rest could be revealed over time, instead of at the opening.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Weapon of Choice&lt;/span&gt; - When I saw the demo for this on on the creators club site, I felt thankful that there was some good games on XBCG to make it worthwhile. After playing it, it satisfied. The controls are simple - left stick moves, right stick shoots (like geometry wars), left trigger is jump (which works surprisingly well with the shooting and moving). It felt polished, the graphics were beautiful, and although this game is for sure for core games (far too hardcore for the casual lot), I can imagine it being a huge hit. It feels similar to the contra games. I would say that it was the most beautiful game on the XBCG as far as look and feel goes. Only complaint was that at one point my character died, and I wasn't even aware that I was getting hurt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating &lt;/span&gt;- 3 - If I could only by one game off of XBCG, this would be it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ZSX4 Guitarpocalypse&lt;/span&gt; - With a name that ridiculous, you have to try the game out. It seemed like a small, Smash brothers like fighter, where a bunch of people run around a small map and bash zombies with guitars, and also bash each other. I didn't realise it was versus until one of the Ai characters bashed me off the map.&lt;br /&gt;&lt;br /&gt;It looks like a fun game for people to play with their friends, which I had none of with me when I did this test. There was a nice feature where the AI seemed to randomly pick a character, moving its cursor around as if it was unsure which character to select. Either that or it auto-matched me with other players. I doubt that, though, but I could be wrong.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rating&lt;/span&gt; - 2 - I'd play it for sure, but it suffers from the same as Sin(surfing) and Hive - it seems to be a game you can play in a single sitting before the time limit runs out. Again, pay for it if you like it, but I personally wouldn't spend more than a few plays at this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;IN SUMMARY&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There seems to be one features about XBCG that no game properly accounted for, and that was the time limit (which seemed to be somewhere between 3 and 5 minutes, although I never timed it). Some games you could play entirely in that limit, some didn't let you get to the game in that time, a couple played fine but didn't do anything to make sure that the time limit contained the best experience.&lt;br /&gt;&lt;br /&gt;The market does seem, unfortunately, saturated with poor games or games not compelling enough to spend more than 20 minutes on (from what I saw), which does worry me and push me more towards XBLA if possible over XBCG. Hopefully with time and as the system is tweaked, this will be taken into account, and XBCG will be a viable channel for indy games to put their games.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-3548629584046938485?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/3548629584046938485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=3548629584046938485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3548629584046938485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3548629584046938485'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2008/12/xbox-live-community-games.html' title='XBox Live Community Games'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-3898566756208842712</id><published>2008-09-22T17:05:00.000-07:00</published><updated>2008-09-22T17:27:11.425-07:00</updated><title type='text'>The Meaning of Life</title><content type='html'>I have a brain that likes to wander onto the meaning of things. This, of course, has lead me onto the perennial question that we all must wonder at some point in our lives - the meaning of life.&lt;br /&gt;&lt;br /&gt;At this point, if I had an audience, I can almost guarantee there'd be at least one person thinking that the answer was 42. I must congratulate that anonymous fellow on his originality and creativity. Don't worry, you're not alone; if I hadn't thought of that myself, this little paragraph would never have existed.&lt;br /&gt;&lt;br /&gt;But in seriousness, this is a question that I have thought through many times, and after some thinking, I came to a conclusion that fit with what I have experienced so far in my life, and my understanding of the way of things. And the reason that I came up with is one that, at an earlier point in my life, I acknowledged as being one of my greatest fears. Strangely enough, when I reached this point, I did not feel afraid, or any similar emotion. It was as if I'd known it, deep down, for a long time, and it just took some time for my brain to understand it.&lt;br /&gt;&lt;br /&gt;Life has no inherent point.&lt;br /&gt;&lt;br /&gt;That in itself is quite astounding, and I know that there are a fair amount of Christians (as well as those of other religons, although Christianity is the only religion that I'm familiar with) out there who will immediately write me off at this point as an ungrounded atheist who is damned to eternal damnation. Oops. If you're still with me after that statement, I will now explain it.&lt;br /&gt;&lt;br /&gt;As my last paragraph may have suggested, I am in fact not a religious person. This was not always the case, in fact has only been the case for less than a third of my life, but has become true in the past few years.&lt;br /&gt;&lt;br /&gt;The matter of my religiousness is not entirely a simple case of me not believing in God, or any other deity/spirituality. On the contrary, I find myself open to the notion that there are many things about this world that mankind cannot explain, at least not in this day and age, and there is the possibility of God/intelligent design/etc. I believe that there are powers in this world beyond the current understanding of man (and is that that unlikely, considering that not too long ago we did not really know anything about electricity? A power outside our current understanding does not necessarily mean magic). But I do not, at this point in my life anyways, care too much whether or not there is a God. If there is a God, I may be burning in eternal hellfire for saying that, but I'm not convinced that there is and I don't see why I should go out of my way to change the way I live for the chance of an afterlife I'm not sure exists.&lt;br /&gt;&lt;br /&gt;I have been Christian, Catholic to be specific, and I don't see myself going back. I've done the whole religious thing - read the bible, gone to church, said the rosary. I've accepted God into my heart and, now, I don't know that it really did anything for me. I don't remember feeling particularly different then than I do now, other than that I spent time worshipping God where now I spend time doing other things with my life. I have some good friends who are Christian, but they have talked about how 'your life cannot be complete until you have accepted God'. They have even gone so far as to state that 'You may think that you feel complete, but you do not. You will realise this once you accept God into your life.' I have accepted God into my life in the past, and while I won't say that there is no God, it did not do much for me. As I do not know for sure that he exists, I have chosen to stop living my one and only one life as if he did, when life is short enough already without praying, church, etc.&lt;br /&gt;&lt;br /&gt;So, without me knowing of any religion that properly explains the world (a lot of them prescribe to 'taking things on faith' too much for me to take them seriously, as not thinking is rarely how I go about doing things), Religion plays no role in my life.&lt;br /&gt;&lt;br /&gt;So what purpose does that leave? As a 'big picture' person, I have to accept the following:&lt;br /&gt;1) In terms of religion, there is no greater being that is too concerned with how my life will turn out.&lt;br /&gt;2) That leaves the world, but as far as I know, the world is not working towards a greater purpose, but instead spinning around the sun regularly.&lt;br /&gt;3) There is also universe, but I fail to see what the goal of the universe is, or how I am working towards it.&lt;br /&gt;4) As such, with there being no grander force who has a goal for my outcome (and me not being sure I would care if there was, depending on what that goal was), then my life has no greater meaning.&lt;br /&gt;&lt;br /&gt;That is, no greater meaning than the meaning that I, myself, give it.&lt;br /&gt;And I feel that the way that I live my life has enough meaning for me. One day I will die, and I have accepted that. I do not know when it will be or how it will happen - it could happen tomorrow, or it could happen in five minutes, or I could live to be the oldest man alive. There is no guarantee, so my only course of action is to live life now as if it could end at any time.&lt;br /&gt;&lt;br /&gt;Or, as the old saying goes,&lt;br /&gt;"Life like you'll die tomorrow,&lt;br /&gt;plan like you'll live forever."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-3898566756208842712?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/3898566756208842712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=3898566756208842712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3898566756208842712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/3898566756208842712'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2008/09/meaning-of-life.html' title='The Meaning of Life'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-163663006525197760.post-9007974680058062682</id><published>2008-09-18T19:46:00.000-07:00</published><updated>2008-09-18T19:55:17.998-07:00</updated><title type='text'>Welcome</title><content type='html'>Hello, and welcome to my new blog.&lt;br /&gt;&lt;br /&gt;I already have a personal blog, so this one is intended to be my public blog. On this blog I will discuss a myriad of different topics, all of topics that interest me - literature, programming, the game industry, music, media, life, philosophy - as they enter my head. I do not plan on updating this blog on an exceptionally regular basis, but merely when a thought enters my head that remains interesting to me at least as long as it takes to get to the computer, go to blogspot, log in, type it in, and click post. If I lose interest before that point, the though will remain forever unblogged.&lt;br /&gt;&lt;br /&gt;What prompted me to create this blog at this point? The short answer is simple - I often feel the urge to discuss things that do not fit in my personal blog, things such as coding, game design, philosophy, etc., either because they do not fit the 'style' of my personal blog, or simply because I want to expose them to a larger audience without exposing my personal stuff as well.&lt;br /&gt;&lt;br /&gt;So, who exactly am I? My real name is Stephen, and I am currently a game programmer. You could say, in one sense, that I have been for almost 8 years now - but that would be like saying that I have been involved in public speaking since the age of four. While I have been programming games since junior high school, I have only been doing so professionally for a little bit over a year right now.&lt;br /&gt;&lt;br /&gt;I am currently officially working on two big game projects, but in my spare time (what little of it I have that doesn't get spent doing other things), I have a couple ideas for other small games I would like to implement in the near future. The two games I am currently working on are Gwabs (http://www.gwabs.com) and NaviBlast (http://www.stephengazzard.com/naviblast). The two games are quite different - Gwabs is a game being developed by CambrianHouse/Sunday Labs and partners, that utilises a windows desktop as a new play environment (in very neat ways that I cannot yet reveal), while NaviBlast is a puzzle game that is being developed by Mamoruanime Studios (both the game and the studio have a potential name change on the horizon) independantly (meaning I haven't got paid yet), with the intention of getting it published on XBLA in the near future.&lt;br /&gt;&lt;br /&gt;With that, I shall now abort this distraction and resume programming.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/163663006525197760-9007974680058062682?l=unobservedmusings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unobservedmusings.blogspot.com/feeds/9007974680058062682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=163663006525197760&amp;postID=9007974680058062682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/9007974680058062682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/163663006525197760/posts/default/9007974680058062682'/><link rel='alternate' type='text/html' href='http://unobservedmusings.blogspot.com/2008/09/welcome.html' title='Welcome'/><author><name>Stephen (The Gazzardian)</name><uri>http://www.blogger.com/profile/06832303163180491279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://2.bp.blogspot.com/_IoLjvdfiInA/StuLcEE82JI/AAAAAAAAAAs/ThLGa4RUhww/S220/n639211112_5755.jpg'/></author><thr:total>0</thr:total></entry></feed>
