<?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-3441415220254247330</id><updated>2011-07-08T07:07:40.613+01:00</updated><category term='C#'/><category term='Frozen Kangaroo'/><category term='Update'/><category term='Flash'/><category term='Game Design'/><category term='3D'/><category term='Other'/><category term='Animation'/><category term='XNA'/><category term='Programming'/><category term='Economics'/><title type='text'>BotWorks</title><subtitle type='html'>The blog from within Botworks. Find out the latests news from within Botworks relating to all of our projects including Frozen Kangaroo. Topics on game design, developement and much more!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-702857093260820684</id><published>2010-08-24T11:10:00.004+01:00</published><updated>2010-08-24T11:31:03.644+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>The disconnect between story and gameplay pacing in RPGs</title><content type='html'>Soren Johnson has recently written a &lt;a href="http://www.designer-notes.com/?p=240"&gt;couple of posts about the disconnect between theme and mechanics&lt;/a&gt;. One example he gives is applicable to just about any free roaming RPG like the Elder Scrolls series. The theme, or story, is about being a hero and defeating some huge evil. However, the mechanics are about scavenging, hardly heroic stuff.&lt;br /&gt;&lt;br /&gt;In this post I am going to consider another disconnect that occurs in this genre: pacing in gameplay and narrative. The story will be telling of an impending threat and that speed is of the essence; the gameplay will be rewarding you for taking your time and actively avoiding advancing the story. I must have played Oblivion for about 100 hours and countless in game days, I have become leader of the Mage's Guild, gone on a killing spree and numerous other things and the imminent threat still hasn't actually developed (except when I try to deal with it).&lt;br /&gt;&lt;br /&gt;All of this stops the story meaning anything. The threat never feels genuine; yes it would be nice for you to defeat it, but if you don't, it's no big deal. Instead, I think that stories should be crafted to match the inherent gameplay pacing of an RPG.&lt;br /&gt;&lt;br /&gt;One example that came to my mind recently is global warming. It has the same giant scope as a normal story - the end of the world - but the time scale is in terms of years rather than days. This will allow players to explore without feeling like the threat is made up. It could also be worked so that the gameplay of scavenging, or &lt;span style="font-style: italic;"&gt;recycling&lt;/span&gt;, fitted with the theme as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-702857093260820684?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/702857093260820684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=702857093260820684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/702857093260820684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/702857093260820684'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2010/08/disconnect-between-story-and-gameplay.html' title='The disconnect between story and gameplay pacing in RPGs'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-6078998147143563051</id><published>2010-06-10T17:44:00.003+01:00</published><updated>2010-06-10T18:26:17.400+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>A puzzle game - Weeping Angels</title><content type='html'>The basic premise of this game is based around the BBC drama &lt;a href="http://www.bbc.co.uk/doctorwho/dw"&gt;Doctor Who&lt;/a&gt;. One recurring race (well, recurred once) of aliens are &lt;a href="http://www.bbc.co.uk/doctorwho/dw/characters/Weeping_Angels"&gt;the Weeping Angels&lt;/a&gt;. They move incredibly fast and then kill you. The catch is, they can only move when no one is looking. While someone looks at them, they appear to simply be stone statues. This makes for some properly scary drama and feature in my two favourite episodes of Doctor Who. However, it also suggested quite an interesting strategy game to me.&lt;br /&gt;&lt;br /&gt;Or a puzzle game. &lt;a href="http://www.flashofsteel.com/"&gt;Troy Goodfellow&lt;/a&gt; describes strategy games as elaborate puzzle games (or something to that effect). I think it is more a gradient and this got me in to an interesting discussion on &lt;a href="http://twitter.com/thk123"&gt;twitter&lt;/a&gt; about the merits and demerits of single solution puzzles. That for me is the difference between a strategy game and a puzzle game. In a strategy game, you are given a set of rules and tools and then you have to work out how to defeat the opposition: a puzzle to solve, but one with an infinite (or seemingly infinite) number of solutions and where there is very rarely a right or wrong answer.&lt;br /&gt;&lt;br /&gt;At the other end of the spectrum is something like Braid where only one solution exists and you must work out what this is. Games like this are much harder to get in to - you can't just mess around and hope to achieve the answer (at least once you get to the more challenging end of the game)&lt;br /&gt;&lt;br /&gt;Obviously you get in to hazy semantic battles here: is Peggle a strategy game; it does have multiple solutions. I would argue yes because you don't work out the entire solution; instead you analyse the situation and work out a logical next step.&lt;br /&gt;&lt;br /&gt;The basis of the game would be you would have a set number of people who you have to get from one side of a room to the other. They would each be capable of looking in one direction and while the angles were in their line of sight.&lt;br /&gt;&lt;br /&gt;So the question is do I make this a strategy game or a puzzle game (by the above gradient). Do I create each room so you have to move and place your people in a specific place to get across the room, or do I make it more tactical. It would certainly be possible to mix it up, or even choose something in the middle such as elements of the room that have to be solved in one way, but a lot of it could be done in a more free way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-6078998147143563051?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/6078998147143563051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=6078998147143563051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6078998147143563051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6078998147143563051'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2010/06/puzzle-game-weeping-angels.html' title='A puzzle game - Weeping Angels'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-8223227341602533850</id><published>2010-04-14T19:42:00.002+01:00</published><updated>2010-04-14T20:30:53.880+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Scale (Or "I am important too")</title><content type='html'>When multiplayer digital gaming was new, there were huge technical hurdles with everything developers tried to do. As a result, games blindly sought greater technological achievements such as number of simultaneous players. While these issues still exist, they are quickly becoming less  significant with wide spread broadband and fibre optic cables quickly  becoming main stream.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(For this post, I will assume we are talking about a shooter, obviously MMO games have many more simultaneous connexions, but that is something different). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Everyone likes the idea of hundreds of people all playing in the same  game at the same time. You can truly create that war time feeling with bullets whizzing past you and players shouting. Suddenly it isn't you charging some enemies, it is you and loads of other people. It sounds really awesome.&lt;br /&gt;&lt;br /&gt;However, I don't believe we should simply be going for as many people as technically possible. Halo 3 supports 16 players in a 8 versus 8 battle. I think this is pushing the limit for standard first person shooter mechanics. Already, you start to feel insignificant. In a balanced 4 versus 4 game in Halo, each death matters and each kill feels like cause for celebration. In &lt;span style="font-style: italic;"&gt;Big Team Battle&lt;/span&gt;, this simply isn't the case. You charge in because one death is trivial; there is no tension.&lt;br /&gt;&lt;br /&gt;I believe the more people you add, the worse the problem will get. Does this mean that I think that large count first person shooters are doomed to failure despite sounding awesome? Well, no.&lt;br /&gt;&lt;br /&gt;Instead of giving up, a large scale game needs extra work to make the player feel significant. If every player is doing the same thing, then each players actions become virtually irrelevant: if they fail, either someone on their team will do it, or it won't be their fault because everyone failed.&lt;br /&gt;&lt;br /&gt;Instead I think large numbers should be used as a backdrop for smaller games. You and a small group of people would be tasked to doing something. There would be an equal group on the opposite team tasked with doing the opposite. The players could still kill people who are not directly related to their mission, but it would not count towards the final score.&lt;br /&gt;&lt;br /&gt;The problem with this is then you are not really a team, just lots of games going on on one map. Sure, you still create a sense of scale, but without a sense of being a team, you would feel no compulsion to attack the other team. I think this would almost completely counter balance the benefits. How many wars have enemies walking past one and another not shooting because they are not related to what they have been tasked to do. The player would be frequently and strongly reminded that they are not in a war, defeating the entire point.&lt;br /&gt;&lt;br /&gt;The obvious solution is to have each teams success count as a point towards its team. The problem with this is then you get back to the original problem: getting that point doesn't matter, you won't win because of that point or loose by your failure. While it may not be a complete solution, I think it does reset the counting. If you have 8 players per team, then your kills don't matter. But if there are only 4 teams of 4 per side, then you have 16 players per side (so double) but you would hopefully have the tension of a 4 on 4.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-8223227341602533850?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/8223227341602533850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=8223227341602533850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/8223227341602533850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/8223227341602533850'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2010/04/scale-or-i-am-important-too.html' title='Scale (Or &quot;I am important too&quot;)'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-6001192899046629196</id><published>2010-03-14T00:48:00.004Z</published><updated>2010-03-14T01:11:09.529Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Stillness</title><content type='html'>I was walking back from baby sitting tonight and I realised that late at night was actually one of my favourite times to be walking. Everything is so quite and still. I think the reason it is such a nice enviroment is because it is such a juxtaposition to the norm of everything moving and making a noise. It gives me a chance to reflect on the day, I don't have any music, there is no one else about, no rush and my mind is already winding down.&lt;br /&gt;&lt;br /&gt;It got me thinking about how rare stillness is as a game enviroment. As we strive after ever more realistic graphics with more interactive elements, nothing is ever still. The idea of intentionally leaving an area empty of people, animations and sound is almost unheard of. Even the peaceful evenings on Assasins's Creed 2 still have people milling about.&lt;br /&gt;&lt;br /&gt;One thing I have been thinking about is the idea of pacing in games. For a lot of games, the designers expect players to manage their own down time. Playing though Call of Duty for example, if you want a breather, you have to stop the game; the story doesn't have any slow paced sections. I think the idea of of stillness is tied to this: designers are unwillinging to provide a sensorly underwhelming experience in the same way they are unwilling to intentionally let of the action.&lt;br /&gt;&lt;br /&gt;I hope anyone who went to GDC had a nice time, some very interesting talks and I can't wait for Fable 3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-6001192899046629196?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/6001192899046629196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=6001192899046629196' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6001192899046629196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6001192899046629196'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2010/03/stillness.html' title='Stillness'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-7317619474224874466</id><published>2010-01-03T22:36:00.003Z</published><updated>2010-01-13T23:25:21.390Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><title type='text'>Outlook of 2010 for Botworks</title><content type='html'>One of the main reasons I started this blog was as a way for me to keep track of my ideas and projects. So, in that context, this is more of a post for me, as it is a rough plan of what I plan to do this year.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://botworkstudio.blogspot.com/search/label/Frozen%20Kangaroo"&gt;Frozen Kangaroo&lt;/a&gt;, the real time strategy game I am making has been put on hold. This is for a number of reasons. The most important is simply that I have learnt so much since I have started that I have emerged on to the second stage of ignorance: aware of my failures (the step before being incompetent AND unaware).  As a result, I can look at Frozen Kangaroo and say it is a lot more complicated than I thought and needs full planning.&lt;br /&gt;&lt;br /&gt;I need to find you what works for me. My Computing coursework has helped me in this respect, but there is still much I need to learn. However, Frozen Kangaroo is too big for me to experiment with&lt;br /&gt;&lt;br /&gt;Instead, I am planning a couple of &lt;span style="font-style: italic;"&gt;much &lt;/span&gt;smaller projects. The first one I am allowing only a month to complete. I will have more details out soon, but I will briefly explain what I am trying with the planning. I am using a free piece of software called &lt;a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page"&gt;Freemind &lt;/a&gt;which allows me to create mind maps. Now, none of this is new, but I have never really done it properly. What I am going to do is break down each part of the game in to tiny little components that may be one algorithm or object.&lt;br /&gt;&lt;br /&gt;The aim is, if I can make sure I know how to do each component, then theoretically I can make the whole game. The problem I had with Frozen Kangaroo, the nail in the coffin if you will, was that I needed to enhance an existing feature to include extra functionality. However, the feature was woven in to the very fabric of the game and when I changed it, everything broke. My hope is, with these tiny parts, each part will equate to one function that will have a fixed output and once they are done, they are done.&lt;br /&gt;&lt;br /&gt;The second stage will be drawing up a schedule. I said that I would limit myself to one month. That means, that at the end of one month, I will publish everything I have made if it works, and if it doesn't, I move on with only a post mortem to remember it by (where I will try to decide what I did wrong)&lt;br /&gt;&lt;br /&gt;I hope to start this one month project in February but I want to draw up a plan before I start and I have exams in January, so it may be more like half way through February. If all this goes to plan, I will begin planning a 6 month project. Hopefully, this will lay quite a lot of ground work for Frozen Kangaroo as it will have similar planning challenges as FK.&lt;br /&gt;&lt;br /&gt;I also want to learn how to use &lt;a href="http://unity3d.com/"&gt;Unity&lt;/a&gt;. I don't plan to make anything particularly noteworthy, my rough aim is to make a game set on an island where you must collect 8 items to help your escape. Hopefully, there should be just enough there for me to learn the basics of Unity.&lt;br /&gt;&lt;br /&gt;The big thing for me this year is going to university. Don't ask me where I am going, I don't actually know (:S). Also, as it will be the last year at school I plan to go on holiday with my friends during the summer. None the less, I would still like to get the proper Bot website up and running, whilst maintaining &lt;a href="http://www.veterangamer.co.uk"&gt;Veteran Gamer&lt;/a&gt;, this blog, my school work, playing games and all of the above.&lt;br /&gt;&lt;br /&gt;I hope everyone had a merry Christmas and a happy new year. Hopefully this time next year I will have 2 games to my name, an understanding of planning (and Unity 3D!) a place at a university and ready to restart Frozen Kangaroo. Bon Voyage!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-7317619474224874466?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/7317619474224874466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=7317619474224874466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/7317619474224874466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/7317619474224874466'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2010/01/outlook-of-2010-for-botworks.html' title='Outlook of 2010 for Botworks'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-4318319631681413099</id><published>2009-12-22T18:18:00.006Z</published><updated>2009-12-22T18:38:57.026Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><title type='text'>A very small Chirstmas present from Botworks</title><content type='html'>Well seeming as I haven't finished any of the projects I am working on yet (more on what they are in the new year) so I can't offer discounts or bonus content. However, I can offer a little something for XNA developers. One of the things that I found most frustrating in XNA was drawing a line, so I created a little function to do just that. It isn't especially clever, but it gets the job done&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; drawLine(Texture2D line,&lt;span class="kwrd"&gt;int&lt;/span&gt; lineWidth,Vector2 startPosition,Vector2 endPosition,SpriteBatch spriteBatch)&lt;br /&gt;{&lt;br /&gt;&lt;span class="kwrd"&gt;float&lt;/span&gt; length = Vector2.Distance(startPosition, endPosition);&lt;br /&gt;&lt;span class="kwrd"&gt;float&lt;/span&gt; theta = (&lt;span class="kwrd"&gt;float&lt;/span&gt;)Math.Atan((&lt;span class="kwrd"&gt;double&lt;/span&gt;)((endPosition.X - startPosition.X) / (endPosition.Y - startPosition.Y)));&lt;br /&gt;&lt;span class="kwrd"&gt;float&lt;/span&gt; alpha = (&lt;span class="kwrd"&gt;float&lt;/span&gt;)(2*Math.PI) - theta;&lt;br /&gt;spriteBatch.Begin();&lt;br /&gt;spriteBatch.Draw(line, &lt;span class="kwrd"&gt;new&lt;/span&gt; Rectangle((&lt;span class="kwrd"&gt;int&lt;/span&gt;)startPosition.X, (&lt;span class="kwrd"&gt;int&lt;/span&gt;)startPosition.Y, lineWidth, (&lt;span class="kwrd"&gt;int&lt;/span&gt;)length), &lt;span class="kwrd"&gt;null&lt;/span&gt;, Color.White, alpha, &lt;span class="kwrd"&gt;new&lt;/span&gt; Vector2(lineWidth/2,0), SpriteEffects.None, 0);&lt;br /&gt;spriteBatch.End();&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;line&lt;/span&gt; - this a pre-loaded texture2D which is your basic line pixel. It needs to be 1 pixel high. It can be of any width (for example if you want a glowing line) but a standard line is 1 pixel wide&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;lineWidth&lt;/span&gt; - unsurprisingly this is the width of the texture loaded in the line property&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;startPosition, endPosition&lt;/span&gt; - these vectors are the start and end co-ordinates of the line&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;spriteBatch &lt;/span&gt;- this is just the instance of the spriteBatch which, unless you have specifically changed, is just called spriteBatch&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SzEQbwdvZPI/AAAAAAAABT8/V88QvA8qLus/s1600-h/screenGrabLaser.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 310px;" src="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SzEQbwdvZPI/AAAAAAAABT8/V88QvA8qLus/s400/screenGrabLaser.png" alt="" id="BLOGGER_PHOTO_ID_5418129895755572466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And here is a quick demonstration. I am using a 21x1 image file which is just a red pixel in the middle with fading transparencies going out to create something of a laser effect.&lt;br /&gt;&lt;br /&gt;Merry Christmas and a happy and productive new year to you all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-4318319631681413099?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/4318319631681413099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=4318319631681413099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4318319631681413099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4318319631681413099'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/12/very-small-chirstmas-present-from.html' title='A very small Chirstmas present from Botworks'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SzEQbwdvZPI/AAAAAAAABT8/V88QvA8qLus/s72-c/screenGrabLaser.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-5377995812825592335</id><published>2009-12-09T13:23:00.002Z</published><updated>2009-12-09T13:52:02.477Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Thankyou, BBC</title><content type='html'>In &lt;a href="http://botworkstudio.blogspot.com/2009/11/perception-of-games-and-why-it-needs-to.html"&gt;my last post&lt;/a&gt;, I explained why I felt that video games should be covered by mainstream media as a proper medium. I sent a link to the BBC as I believe they could do a program, I even suggested including it in the Radio 4 programme, Front row.&lt;br /&gt;&lt;br /&gt;So you can imagine how pleased I was when last nights episode of Front row included an interview with &lt;a href="http://en.wikipedia.org/wiki/Shigeru_Miyamoto"&gt;Shigeru Miyamoto&lt;/a&gt;. You can&lt;a href="http://www.bbc.co.uk/programmes/b00p4q2n"&gt; listen to it here&lt;/a&gt;, it is at the end.&lt;br /&gt;&lt;br /&gt;My only complaint is that the presenter called other companies Game manufactures (as opposed to developers or even producers). Other than that, it was really quite good. I am sure it wasn't down to my letter, but hopefully it will lead to further coverage. If they are looking for additional people to interview, they should try &lt;a href="http://en.wikipedia.org/wiki/Peter_Molyneux"&gt;Peter Moleyenux&lt;/a&gt; (a keen advocate of pushing the boundaries of game design rather than graphics).&lt;br /&gt;&lt;br /&gt;Mr. Miyamoto was fantastic as well, quick to defend the accusation that games and films will merge. All in all, I am very happy and hope it continues. &lt;br /&gt;&lt;br /&gt;Thanks BBC, you guys are awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-5377995812825592335?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/5377995812825592335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=5377995812825592335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/5377995812825592335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/5377995812825592335'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/12/thankyou-bbc.html' title='Thankyou, BBC'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-8685916873363837885</id><published>2009-11-11T20:52:00.017Z</published><updated>2009-11-14T15:35:41.644Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>The perception of games and why it needs to change</title><content type='html'>It is my belief that the general perception of video games is that they are exclusively aimed at children. In this post, I hope to challenge this view, explain why it is damaging, examine the causes and outline what you can do to change this view.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Perception is Wrong&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Before going any further, let us be clear what I am saying. I believe that video games as a medium have as much potential for depth as any other media (film, books, music etc). I am not saying that all games are mature pieces of artwork, but, this is the same for any medium. Film has great thought-provoking movies, like Shawshank Redemption, but it also has Final Destination 4. Books have Lord of the Flies, but they have Tom Clancy's Rainbow Six. Do any of these less mature titles mean that the rest of the medium is childish? Of course not.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv2cR235M5I/AAAAAAAABS8/7QrdxSCiZ2o/s1600-h/games,+films,+books+and+songs.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 300px; height: 200px;" src="http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv2cR235M5I/AAAAAAAABS8/7QrdxSCiZ2o/s400/games,+films,+books+and+songs.png" alt="" id="BLOGGER_PHOTO_ID_5403646958516122514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Games can provide a unique way of telling stories that involve the player; not only can they immerse the player, they can let the player effect the story and the whole experience becomes more real. It even goes beyond this, games don't have to be a linear traditional story, but an abstract experience. It is beyond the scope of this post to discuss this fully, but games have a near infinite capacity for making players feel a huge variety of emotions. I think this means they qualify as a mature form of art.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why it matters&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I care because I have a true passion for playing games. When playing a really good game, I experience a truly fulfilling enjoyment and it saddens me that so many people dismiss it on the basis it is different. However, there is a real danger when parents take a games-are-not-for-me attitude.&lt;br /&gt;&lt;br /&gt;Typically, parents do not get involved in the process of choosing and playing games, hence they are not best able to make judgments of what may or may not be suitable for their children. I am not going to deny that games&lt;span style="font-style: italic;"&gt; &lt;/span&gt;can be damaging to a child's welfare, like &lt;span style="font-style: italic;"&gt;every other medium&lt;/span&gt;. However, like movie ratings, game ratings are guidelines. Some children are going to be able to play 15s when they are 12 and they aren't going to grow up to become murderers. It has to be done on a child by child basis.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_Z7nbHWgr8/Sv2gK2fmsPI/AAAAAAAABTE/NtR5DEyrGJc/s1600-h/ratingSys.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 200px;" src="http://1.bp.blogspot.com/_P_Z7nbHWgr8/Sv2gK2fmsPI/AAAAAAAABTE/NtR5DEyrGJc/s400/ratingSys.png" alt="" id="BLOGGER_PHOTO_ID_5403651236201672946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Films have a PG rating which means that younger audiences may require an adult to watch it with them. I think the same applies in games, sometimes having an adult take an interest in the game and discussing the more mature themes with the person may help them to understand the game in a sensible way.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What causes this perception?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The games industry itself is, in part, responsible for this perception. Not only has the industry promoted the clichéd image of teenagers mindlessly shooting people, but until recently it has not addressed the "controller" issue which, to many adults, can be highly intimidating.&lt;br /&gt;&lt;br /&gt;However, there is another element contributing to this perception - the main stream media. The only stories covered by the popular press are when either financially significant games are released or scare stories saying that games are turning children in to dysfunctional slobs or mass murderers.(&lt;a href="http://www.youtube.com/watch?v=-vXTEhZDchM"&gt;see this video for the other side of the story&lt;/a&gt;).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv2gZoMu80I/AAAAAAAABTM/Dzt5YVmcxd4/s1600-h/boom+headsho.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 300px; height: 200px;" src="http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv2gZoMu80I/AAAAAAAABTM/Dzt5YVmcxd4/s400/boom+headsho.png" alt="" id="BLOGGER_PHOTO_ID_5403651490062463810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I feel the problem is that there are no programs on  television or radio dedicated to indepth discussion of games. This reinforces the idea that games are for children. There are programs on the BBC for &lt;a href="http://www.blogger.com/http//www.bbc.co.uk/podcasts/series/kermode/"&gt;films&lt;/a&gt;, &lt;a href="http://www.blogger.com/http//www.bbc.co.uk/radio2/shows/the-radcliffe-and-maconie-show/"&gt;music&lt;/a&gt;, &lt;a href="http://www.blogger.com/http//www.bbc.co.uk/programmes/b006v8jn"&gt;books&lt;/a&gt; and &lt;a href="http://www.bbc.co.uk/programmes/b006qsq5"&gt;plays&lt;/a&gt;. However, there is nothing for games, even though programs such as Front Row could easily cover it under it's remit of: &lt;blockquote&gt;"Live magazine programme on the worlds of arts, literature, film, &lt;span style="font-weight: bold;"&gt;media&lt;/span&gt; and music"&lt;/blockquote&gt;If the BBC or any other mass consumption media want proof that interesting intellectual discussion can be had about video games, &lt;a href="http://flashofsteel.com/index.php/three-moves-ahead/"&gt;Three Moves Ahead&lt;/a&gt;, a real time strategy podcast, is a good start. (&lt;a href="http://flashofsteel.com/index.php/three-moves-ahead/"&gt;Try episode 8).&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What can be done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is all very well me criticizing, but what do I think should be done?&lt;br /&gt;&lt;br /&gt;I genuinely believe the BBC has a responsibility to host a program that facilitates informed discussion of games. (This means more than a quick review of the latest releases). Games now have a larger market share than DVD purchases; it isn't a niche market anymore. I will be sending this post to the BBC and, if you agree with what I am saying, I ask that you do the same . Likewise, repost, link, retweet and spread the word.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv34NrDieMI/AAAAAAAABTc/3Iupp2X5bOk/s1600-h/game+growth.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 200px;" src="http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv34NrDieMI/AAAAAAAABTc/3Iupp2X5bOk/s400/game+growth.png" alt="" id="BLOGGER_PHOTO_ID_5403748041694017730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;However, there is something we all need to do; talk to people who hold this negative view of games. Don't call them a n00b, try to engage them in a meaningful conversation relating video games back to a medium they enjoy, such as films or books.&lt;br /&gt;&lt;br /&gt;If you feel you are getting somewhere, there are 3 games which I feel are both accessible for anyone to be able to play and also demonstrate the potential of video games to engage, entertain and stimulate the player.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.co.uk/Electronic-Arts-Portal-PC-DVD/dp/B00169L9C2/ref=sr_1_1?ie=UTF8&amp;amp;s=videogames&amp;amp;qid=1258043370&amp;amp;sr=8-1"&gt;&lt;span style="font-weight: bold;"&gt;Portal&lt;/span&gt;&lt;/a&gt;: This game is available for both the PC, Xbox 360 and PS3 and has modest PC specifications. This game has a beautiful and very funny story and the best puzzle design I have ever seen. It shows games to be an intellectually stimulating pass time. It has a very gentle learning curve and does not require first person shooter skills to get started.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.co.uk/Microsoft-Fable-II-Xbox-360/dp/B001CSO00A/ref=sr_1_1?ie=UTF8&amp;amp;s=videogames&amp;amp;qid=1258043398&amp;amp;sr=1-1"&gt;&lt;span style="font-weight: bold;"&gt;Fable 2&lt;/span&gt;&lt;/a&gt;: This game is very easy to pick up: the combat system only requires one button and death penalty is minimal. However, it demonstrates the power of story telling in games. Encourage them to let go of themselves and become their character. Tell the player not to feel self-conscious and make the decisions as they actually would. If they do this, they will be treated with the kind of emotional depth that few books have achieved&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.co.uk/Take-2-Bioshock-PC-DVD/dp/B000V1VZNE/ref=sr_1_2?ie=UTF8&amp;amp;s=videogames&amp;amp;qid=1258043420&amp;amp;sr=1-2"&gt;&lt;span style="font-weight: bold;"&gt;Bioshock&lt;/span&gt;&lt;/a&gt;: This game demonstrates a world to explore - one of the things that games excel at. This game also has very little punishment for dying (although I would recommend letting them have a little experience with first person shooters such as Portal first, you can get both games on the PC, Xbox 360 or the PS3).  It also has an absolutely fantastic twist that a book could not pull of due to the nature of games.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_Z7nbHWgr8/Sv2gvUiqz5I/AAAAAAAABTU/bfnnFvg8Gjk/s1600-h/mechanicmessage.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 300px; height: 200px;" src="http://3.bp.blogspot.com/_P_Z7nbHWgr8/Sv2gvUiqz5I/AAAAAAAABTU/bfnnFvg8Gjk/s400/mechanicmessage.png" alt="" id="BLOGGER_PHOTO_ID_5403651862742880146" border="0" /&gt;&lt;/a&gt;If the skeptic player is still in any doubt that video games are a serious topic suitable for serious discussion, then encourage them to read about a &lt;a href="http://playthisthing.com/train"&gt;game designed by Brenda Brathwaite called Train&lt;/a&gt; or listen to the aforementioned&lt;a href="http://flashofsteel.com/index.php/three-moves-ahead/"&gt; Three Moves Ahead podcast&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thank you for reading. To summarize:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Games are not just for children&lt;/li&gt;&lt;li&gt;Games are a serious medium and have as much potential for emotional depth as any other medium&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Main stream media should be encouraged to devise new programs to cover games&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Parents - get involved in games. Only you can know what is right for your children, and you might even enjoy it!&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Spread the word and, if you disagree with anything I say, please leave a comment, I would love to hear other opinions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-8685916873363837885?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/8685916873363837885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=8685916873363837885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/8685916873363837885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/8685916873363837885'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/11/perception-of-games-and-why-it-needs-to.html' title='The perception of games and why it needs to change'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_P_Z7nbHWgr8/Sv2cR235M5I/AAAAAAAABS8/7QrdxSCiZ2o/s72-c/games,+films,+books+and+songs.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-6002584225546025457</id><published>2009-09-26T22:51:00.004+01:00</published><updated>2009-09-27T00:24:46.021+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Music as a source of inspiration, Part 1: Lost Coastlines</title><content type='html'>Many things inspire specific game ideas for me. In fact, hardly a day goes by without some crazy, ill-thought-through idea planting its seed in my head. It normally starts with a desire to create a feeling or an emotion. For example, today I was watching a film called &lt;a href="http://www.imdb.com/title/tt0811080/"&gt;Speed Racer&lt;/a&gt; (surprisingly good actually) and I wanted to recreate the thrill of racing at absurd speeds requiring stupid reaction times where you had to jump, spin and smash your way to victory. I had even started mapping out the controls and how the single player would work by the time the film ended.&lt;br /&gt;&lt;br /&gt;In the following two posts, I will be outlining a couple of game ideas that have been inspired by pieces of music. As with everything else, what normally happens for me is that it conjures up an image in my head, that then translates in to a game play concept.&lt;br /&gt;&lt;br /&gt;The first song is an obscure song that was released on the Single of the Week offer run by iTunes. The song is called &lt;a href="http://open.spotify.com/track/5QhPiUySPmu8WRgyXQRLZX"&gt;Lost Coastlines by Okkervil River&lt;/a&gt; (&lt;a href="http://www.spotify.com/en/"&gt;Spotify &lt;/a&gt;Link). My idea started at the end of the game, I, however, will start at the beginning.&lt;br /&gt;&lt;br /&gt;It is a RPG of sorts set on the seas back when wind was the main means of getting around. At the start of the game, you have a simple choice, are you a right honourable sailor, or a pirate? You then arrive in a port and you are tasked with choosing a crew for your ship (which you inherited from your father who died at sea). In the port there would be about 100 people. (This is where the fact that I don't intend to build this in the coming weeks comes in to play): Each one of these would have a in depth and varied history and personality.&lt;br /&gt;&lt;br /&gt;The basic game play would consist of a number of potentially unrelated quests separated by expanses of time. This comes back to an &lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=535890"&gt;idea I discussed on GD.net&lt;/a&gt;, with a more "real" world and potential for more varied quests. I'll do a post why I think this kind episodic game play could work at some other point, however, it is not really relevant to this post.&lt;br /&gt;&lt;br /&gt;If you're listening to the song, you are probably wondering, other than the vague sea theme, how the song inspired me to make this. In truth, most of what I just said existed before I heard the song, the sea theme is what made the following element glue with the rest of it.&lt;br /&gt;&lt;br /&gt;Through out the game, there would be vague hints, mad ravings and general NPC chatter about a "Lost Coastline". At the start of the game, I imagine most players will completely ignore it. However, I hope, as the game develops, and the references are repeated, people will pick up on it. There would be stories of sailors who went mad looking for the coastline, there would be hysterics who claim to have seen it etc. The only thing in common is that everyone who knows anything about it, says it is the most beautiful place ever and that no sailor has been known to return.&lt;br /&gt;&lt;br /&gt;Once you complete the game, as with many RPGs, you are free to continue looking around. It would be an open world in which you spend most of your travelling time auto sailing between ports and using maps to find known destinations. However, it will be perfectly possible to freely sail anywhere. Somewhere in the vast sea of the game, there will be the Lost Coastline (of course) and players can try to find it.&lt;br /&gt;&lt;br /&gt;At first you are probably repelled by the idea as being cheap. However, if it were easy to find, the whole point would be destroyed. I also regard it as in addition to the main game; for most people, the game will end without more than a cursory search. As it will be so hard to find, I envisage a giant internet cult spawning to try to find this beautiful lost coastline (I love designing without reality messing things up!).&lt;br /&gt;&lt;br /&gt;Then one day someone will find it, and it will be a beautiful experience for them. They would be the first person to set foot on the lost coastline. The first person to see all the wonder. True discovery is something that few in the 21st century have experienced. I would employ an artist specially to create it (who would be killed after development is finished, obviously) While I have mapped out what will happen, I don't really feel comfortable typing it out. Suffice to say it would poetic, or at least try to be.&lt;br /&gt;&lt;br /&gt;Afterwards the person would run and tell the internet all about it and everyone would rush there, but the magic would be lost. But for that one person, I (hopefully) would have created a unique experience that they will treasure for the rest of their life.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Inevitably, it would be found by some stupid spoilt kid who played the game for five minutes, constantly tried to skip the damn thing because he was bored, until he found out he would be internet famous, but that's life!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;----------------&lt;br /&gt;Now playing: &lt;a href="http://www.foxytunes.com/artist/okkervil+river/track/lost+coastlines" title="'Okkervil River - Lost Coastlines' - open on FoxyTunes Planet"&gt;Okkervil River - Lost Coastlines&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153); font-style: italic; font-size: 10px;"&gt;via &lt;a style="color: rgb(102, 102, 102);" href="http://www.foxytunes.com/signatunes/" title="FoxyTunes - Web of music at your fingertips"&gt;FoxyTunes&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-6002584225546025457?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/6002584225546025457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=6002584225546025457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6002584225546025457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6002584225546025457'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/09/music-as-source-of-inspiration-part-1.html' title='Music as a source of inspiration, Part 1: Lost Coastlines'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-4754981255632507050</id><published>2009-08-15T13:51:00.004+01:00</published><updated>2009-08-15T23:49:39.296+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Games as a form of art</title><content type='html'>This is a very hot topic at the moment and one that a lot of people have posted opinion on. I have my own opinions, but they basically boil down to that a good games makes you feel something (be it excitement, intrigue or success) but an art game makes you feel something that is not necessarily regarded as a positive feeling. For example, you could make the case that Fable is an art game because you feel responsibility, sadness at loss etc.&lt;br /&gt;&lt;br /&gt;I have more to say about it, but I really posted this to link to an &lt;a href="http://www.zenofdesign.com/2009/08/07/the-art-of-fun"&gt;interesting post of the Zen of Design about this topic&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I largely agree with what it says. I think it is practically true that just because we have plenty of games that definitely aren't art (Gears of War 2) the same is true for all artistic mediums. In books, we have the Olaf Stapledon but then we also have Andy McNab. Does that mean that books can't be a form of art. No. There are hundereds of pictures that are just well painted nice landscapes, which I wouldn't call art. Or rather I would, which is part of the problem, as I see them as the painting eqivalent of Gears of War, nice to look at but won't make you think.&lt;br /&gt;&lt;br /&gt;That is also the other thing, everyone has a different deffinition of art, which futher complicates the matter and risks reducing the arguement to one of pointless semantics.&lt;br /&gt;&lt;br /&gt;[Sorry for the lack of posts recently, been on a French Exchange and going back to France in two days!]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-4754981255632507050?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/4754981255632507050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=4754981255632507050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4754981255632507050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4754981255632507050'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/08/games-as-form-of-art.html' title='Games as a form of art'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-3365465898281362808</id><published>2009-07-26T15:19:00.003+01:00</published><updated>2009-07-26T16:23:32.618+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other'/><title type='text'>Twitter - Not Just Jumping on the Bandwagon</title><content type='html'>Technologies come and go on the Internet and I like to think I only sign up for technologies which I can actually think of a use for, rather than just what everyone else is using.&lt;br /&gt;&lt;br /&gt;For example, with &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;, I wanted to use it to post updates on the development on Frozen Kangaroo. I often found that I had made progress in its development and wanted to keep a record of this, but it was not nearly enough for a blog post. In that sense, Twitter was ideal.&lt;br /&gt;&lt;br /&gt;However, today I found another use for it. I can't work out if Twitter is actually any good at this, or whether this is basically what forums have been doing for ages. Basically, there is now a &lt;a href="http://search.twitter.com/search?q=%23gamedesign"&gt;#gamedesign&lt;/a&gt; tag where frequent discussions about different game design topics take place. Its been going for a few weeks now, but I only really got involved today (discussing professinal gaming as a public sport, after I watched some of the Star Craft final live). It was then I realised how fantastic it was.&lt;br /&gt;&lt;br /&gt;I think the reason it is good is because it forces people to express short points, which means it is easy to keep up with it, instead of having to read pages of text, as is often the case at &lt;a href="http://www.gamedev.net"&gt;Gamedev.net&lt;/a&gt;. Also, &lt;a href="http://tweetdeck.com/beta/"&gt;Tweetdeck &lt;/a&gt;does live updating, meaning you don't have to keep using F5. As a result, any games designers or wannabe games designers, if you are looking for an excuse to join Twitter, here it is.&lt;br /&gt;&lt;br /&gt;(Oh, and make sure to follow me &lt;a href="http://twitter.com/thk123"&gt;@thk123&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-3365465898281362808?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/3365465898281362808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=3365465898281362808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/3365465898281362808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/3365465898281362808'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/07/twitter-not-just-jumping-on-bandwagon.html' title='Twitter - Not Just Jumping on the Bandwagon'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-6488311835486751657</id><published>2009-07-15T16:23:00.002+01:00</published><updated>2009-07-15T16:42:36.963+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Go with the Flow is Audiosurf...</title><content type='html'>A while back I&lt;a href="http://botworkstudio.blogspot.com/2009/02/go-with-flow.html"&gt; posted a game idea I had for a rhythm based platformer called Go with the Flow&lt;/a&gt;. The basic premise was that it would be a platformer that went at such as speed you had to use the rhythm of the music to predict what you had to do. A raise in pitch would signify a jump and a lower would require you to dive. Whilst I tried to implement it in Flash, timing the level creation proved near impossible and my work in to byte interpretation of a song (where the program would look at the binary version of the song and calculate whether the sound was a raise in pitch or not) was not making sufficent progress to use&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=525848"&gt;I posted the thougths to Gamedev.net&lt;/a&gt; and while I did get some game suggestions, no one suggested a game I later found out about (&lt;a href="http://dieseltekk.blogspot.com/2009/06/games-for-windows-netbooks-part-one.html"&gt;reading an unrelated blog post&lt;/a&gt;) called Audiosurf. If, like me, you haven't heard of the game, you control a little ship and must collect things to the rhytm of the music.&lt;br /&gt;&lt;br /&gt;While it isn't a platformer, and you don't really use the music to know where to go, it captured the essence of what I was trying to explain with Go with the Flow. I also realise that this basic concept is also in Guitaur Hero. It is simply a more involving way of listetning to music. It is like tapping your fingers to the tune, but slightly more interesting.&lt;br /&gt;&lt;br /&gt;Anyway, just a short post today, just wanted to have a go at all of you for not reccomending it to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-6488311835486751657?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/6488311835486751657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=6488311835486751657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6488311835486751657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6488311835486751657'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/07/go-with-flow-is-audiosurf.html' title='Go with the Flow is Audiosurf...'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-4352995208926590239</id><published>2009-07-06T18:21:00.004+01:00</published><updated>2009-07-08T18:55:37.715+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Driving Games: Change we need</title><content type='html'>&lt;span style="font-style: italic;"&gt;Apologies for lack of posting recently, my exams are over, so I really have no excuse.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Racing games, in my opinion, are no longer designed. While racing games aren't my favourite genre, I certainly enjoy them. For me, however, I believe the game play is beginning to get stale. Obviously the racing component is essentially right; it's the rest which I have a problem with. In this post I hope to explain exactly what I have a problem with and what I think can be done to fix this.&lt;br /&gt;&lt;br /&gt;When new racing games are released, the major focus is the physics engine that can realistically model the cars. This seems to be almost exclusively what is demonstrated. Now don't get me wrong, of all the genres, racing is the one where the physics engines are most important. And it is important, &lt;a href="http://thkgamereview.blogspot.com/2008/03/terrible-graphics-crysis.html"&gt;as I discussed in my post about excessive graphical focus on Veteran Gamer&lt;/a&gt;, it increases the tension within the race, making it much more enjoyable.&lt;br /&gt;&lt;br /&gt;However, there is more to a game than one aspect. And a genre needs change, not just improvement. Every racing game follows the same basic plan. Loads of realistic cars, extensive realistic modding for said cars, hundreds of realistic tracks and a realistic physics engine. With the exception of Mario Kart, all racing games seem to target the realistic market.&lt;br /&gt;&lt;br /&gt;On top of that, the game play does not change. You race, you earn money to buy cars, you do more races. You fail a race, you retry. The game is always linear but without a story. I don't think racing games need a story, but if it doesn't have a story, why is it so linear?&lt;br /&gt;&lt;br /&gt;One of the things I would like to see is a more believable world with a fixed calendar of events. Obviously you wouldn't have to wait months to play the game, but if you loose a race, you might have to wait a game year to play in that race again instead of instantly retrying until you succeed. &lt;span style="font-weight: bold;"&gt;Make individual failures acceptable and you should make the game less frustrating. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of my favourite off-track racing experiences was in some formula one racing game on the PS1, where you had to qualify for a tournament and you were given 12 game hours to do so. In that time, you had to get a qualifying time, fix any damage done to your car whilst doing this and do any upgrades/changes you wanted. This made the game feel more real and made the race more tense as you had already invested a considerable amount of time and effort in to it.&lt;br /&gt;&lt;br /&gt;At the moment, racing games lack interesting decisions, &lt;span style="font-weight: bold;"&gt;you race as well as you can in every race, if you fail, you just restart. There is no reason to do anything else&lt;/span&gt;.  If however you had a calendar, you may have to choose between two tournaments (with different rewards, one might come with more money, the other with more prestige or a rare cup).&lt;br /&gt;&lt;br /&gt;And that is just an example. There are surely many ways to mix up the game play so it is not all the same. Take, for example, Burnout: Paradise, where you had an open world to explore.&lt;br /&gt;&lt;br /&gt;Another thing that seemingly all racing games do (Mario Kart excepted) is use super-realistic cars. While the real world is often a very good source to base your game ideas on, it certainly shouldn't be the sole source in a whole genre. The world lacks variety (there is, after all, only one). However, if you delve in to the fictional, your options are limitless.&lt;br /&gt;&lt;br /&gt;But even sudo-realistic universe could be significantly better in game play terms. In real life, cars are made to be as good as possible at everything. In a fictional, albeit similar universe, this could be impossible and instead cars have to be highly specialised or or below average in all areas. This would make choosing and tuning a car not so much a matter of finding the best, but the one best suited to the race ahead.&lt;br /&gt;&lt;br /&gt;However, I am not optimistic we will see this any time soon. As I've already said, good physics are important in a racing game and these are still expensive to create. This means that indie developers who want to try something new can't choose this genre (or else fail on the racing part, which is more important, no matter how I try to argue this). Publishers will not want to invest in other areas of the game that they cannot so easily demonstrated, particularly if it means cuts to the physics development or their own profits.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Thoughts and opinions welcome. Have I missed the point, are racing games fine?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-4352995208926590239?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/4352995208926590239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=4352995208926590239' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4352995208926590239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4352995208926590239'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/07/driving-games-change-we-need.html' title='Driving Games: Change we need'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-1297131165122092099</id><published>2009-04-23T20:17:00.003+01:00</published><updated>2009-05-14T10:13:24.445+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><title type='text'>Posting hiatus</title><content type='html'>Well you will have probably noticed posts seems to have dried up. To avoid the situation which happened last year on my other blog I am posting an official hiatus notice. Due to exams, posting on this blog, (and my&lt;span style="text-decoration: underline;"&gt; &lt;a href="http://thkgamereview.blogspot.com/"&gt;game news site&lt;/a&gt;&lt;/span&gt;&lt;a href="http://botworkstudio.blogspot.com/"&gt;&lt;/a&gt;) will halt. Posting will resume on June 15th with a post about the resource model in Frozen Kangaroo.&lt;br /&gt;&lt;br /&gt;In the mean time, I will leave you with some links.&lt;br /&gt;&lt;br /&gt;I am really enjoying the &lt;a href="http://flashofsteel.com/index.php/three-moves-ahead/"&gt;Three Moves Ahead podcast&lt;/a&gt; from &lt;a href="http://www.flashofsteel.com/"&gt;Flash of Steel&lt;/a&gt;. If you want a taster of what the podcast is like, my favourite one was about &lt;a href="http://flashofsteel.com/index.php/2009/04/14/three-moves-ahead-episode-8-symmetry-and-asymmetry/"&gt;symettry and asymettry&lt;/a&gt; in games. The podcast is well worth a subscribe because it combines genuinely interesting discussion about games design with some funny personalities. Better yet, it doesn't just focus on the latest game release.&lt;br /&gt;&lt;br /&gt;Finally, an odd link. I am linking to this site primarily so that it can be found by Google. It is a website I designed (email me @ &lt;a href="mailto:thekileyenator@gmail.com"&gt;thekileyenator@gmail.com&lt;/a&gt; if you fancy one for yourself) and so I need Google to index it. However, if you are looking for plants in your work place, and you are based the home counties, this is the site to go to - &lt;a href="http://www.renaissance-plants.co.uk/"&gt;Renaissance Plants&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-1297131165122092099?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/1297131165122092099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=1297131165122092099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/1297131165122092099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/1297131165122092099'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/04/posting-hiatus.html' title='Posting hiatus'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-4043916869524939085</id><published>2009-04-09T11:40:00.007+01:00</published><updated>2009-04-11T23:27:40.991+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Frozen Kangaroo Concept: Nuclear Weapons</title><content type='html'>&lt;span style="font-style: italic;"&gt;In a series of posts I intend to explain the more detailed elements of Frozen Kangaroo, the real time strategy game that I am working on. You can &lt;a href="http://botworkstudio.blogspot.com/2008/10/frozen-kangaroo-quick-summary.html"&gt;read an executive summary here&lt;/a&gt;. I hope to make it so that the posts only rely on things explained before them. However, please excuse me if my posts either digress to explain some concept, or don't make any sense because of no digression. If you have any questions, leave a comment (if it is an old post, I would recommend posting it on a newer post) or email me @ &lt;a href="https://mail.google.com/mail?view=cm&amp;amp;tf=0&amp;amp;to=thekileyenator@gmail.com"&gt;thekileyenator@gmail.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As with the real Cold War, nuclear weapons will play an important part in Frozen Kangaroo. Not only do they add a devastating weapon to your arsenal, they can be used as a diplomatic bartering tool and even a direct path to victory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Types of Nuclear Missiles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are three types of nuclear missile in this game, each with their own strengths and weaknesses. They are: long, medium and short range nuclear missiles, or ICBM, err normal, and tactical nukes. Sadly, Blogger doesn't support tables, so I will have to explain it in paragraphs.&lt;br /&gt;&lt;br /&gt;The long range nuke has, as you might expect, the longest range. Indeed, it can shoot anywhere on the map, including the &lt;a href="http://botworkstudio.blogspot.com/2009/03/frozen-kangaroo-concept-proxy-nations.html"&gt;proxy nation&lt;/a&gt;'s colony cities (Will explain this in a later post, but they are basically where the civilians live. Each proxy nation has an associated colony city which contains millions of civilians who have been moved to keep them out of the way of the war). These missiles also inflict the most damage. Sadly, the pay off is in cost and speed. Cost is fairly self explanatory, but the effect of speed I will explain in a moment.&lt;br /&gt;&lt;br /&gt;The medium range missile can reach most of the map, but cannot reach the proxy nations colony cities. Damage is similarly weakened, although it is still very powerful. However, it is faster and cheaper.&lt;br /&gt;&lt;br /&gt;Finally the short range missile, which can only fire in provinces within a 4 province radius (subject to testing), and deals far less damage, particularly to buildings. It is, however, significantly faster and cheaper.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Missile Launchers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To fire these missiles you have three options; fixed, mobile and submarines. Fixed missile launchers can be constructed by your builder units. They can fire any of the above missiles.&lt;br /&gt;&lt;br /&gt;The mobile missile launchers are a trainable unit. They can be moved about on the map, but need to be "deployed" before they can fire. These can only fire medium and short missiles.&lt;br /&gt;&lt;br /&gt;Finally, the submarine is a normal unit. It can carry two small nuclear missiles with it. Further nukes must be collected from a port. However, it does not need to set up. Also, as they are water based, they can quickly manoeuvre very close to key enemy provinces and threaten them before they have a chance to respond.&lt;br /&gt;&lt;br /&gt;With the exception of the sub (which needs to take its nukes with it) the launchers can only store one nuke at a time. Further nukes must be stored in a silo and then transported to the launcher. These silos come with stationary launchers, so you don't have to constantly arrange the transport of nukes. Trucks carrying nukes can also be "parked" in to either of the launchers, allowing all the connected nukes to be fired.&lt;br /&gt;&lt;br /&gt;However, if you wish to use a mobile nuclear launcher to target deep within the enemies territory, you will have to advance it with a truck carrying a nuclear missile. It may also be wise to accompany the truck and the launcher with some form of  defence, as neither have any attack capabilities.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Nuclear Missile Management Screen&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So how does speed factor in to all of this? Well, nuclear missiles aren't instantaneous. When you fire a nuke, your opponent is immediately alerted to this development and are taken directly to their nuclear missile management screen. On this screen, for each of the provinces there is a count down till the missile will hit... if its been targeted. The opponent, however, does not know which province has been targeted and so all provinces will have a countdown clock running. I hope to make this quite a tense screen to be on, with flashing red lights, constantly ticking clocks and maybe even a siren!&lt;br /&gt;&lt;br /&gt;What can you do with this information? Well, each one of your provinces can be sent into "bunker mode". This significantly reduces the damage done by any potential nuclear strike. However, going into and coming out of bunker mode takes time. During this time (and the time in bunker mode) all buildings production queues halt, units stop moving and you can't enter the province.&lt;br /&gt;&lt;br /&gt;You must then decide which provinces to put into bunker mode. Obviously, the opponent is more likely to target high value provinces, but if one of them is producing something very important, does the nuclear missile pose a big enough threat to warrant halting production.&lt;br /&gt;&lt;br /&gt;This is also where the speed of the nukes comes into play. A short range nuclear missile gives the player virtually no time to react, let alone put any of their provinces in to nuclear bunker mode.&lt;br /&gt;&lt;br /&gt;The other important thing with nuclear weapons that I want to cover in this post is retaliation fire. When a nuclear missile is sent your way, you have the option to hit a big red button marked FIRE. Prior to any nuclear strike, preferably during a quite period of the game, you can target your nuclear missiles at specific provinces. Then, whenever you hit the red button, they all simultaneously fire at these predetermined locations. This means that if the opponent launches a huge, devastating barrage of missiles at you, you can retaliate before they even hit.&lt;br /&gt;&lt;br /&gt;From the nuclear screen, you can set up retaliation fire, deploy provinces in to bunker mode and watch the approach of oncoming nukes with suitably tense flashing red lights.&lt;br /&gt;&lt;br /&gt;Nuclear missiles are clearly a very powerful weapon. However, they come with a severe cost. Using nuclear missiles is highly frowned upon by proxy nations and their colonies. As I explained in &lt;a href="http://botworkstudio.blogspot.com/2009/03/frozen-kangaroo-concept-proxy-nations.html"&gt;my post about the proxy nations&lt;/a&gt;, firing nuclear missiles, particularly in a province associated with them, has a strong negative impact on your relations. If you fire at their colony city, that will make them sworn enemies to you, and will strongly effect everyone's opinion of you.&lt;br /&gt;&lt;br /&gt;I will be explaining this is more detail, but nukes are, in some ways, more useful when not fired. You can use them in diplomacy to threaten your enemy or "persuade" other proxy nations to join you, lest they fall foul to your rain of terror.  Also, as I said earlier, you can use them to win. Although I will be covering ways to win more fully, if you manage to significantly out-build your opponent on nuclear missiles, you can force them in to surrender.&lt;br /&gt;&lt;br /&gt;For my next Frozen Kangaroo concept I hope to be covering either the resources or diplomacy (including how you can use nuclear missiles in diplomacy - I never said it was friendly diplomacy).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-4043916869524939085?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/4043916869524939085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=4043916869524939085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4043916869524939085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4043916869524939085'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/04/frozen-kangaroo-concept-nuclear-weapons.html' title='Frozen Kangaroo Concept: Nuclear Weapons'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-2328161107797581886</id><published>2009-03-26T18:18:00.004Z</published><updated>2009-03-26T18:34:23.347Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><title type='text'>Blender fun and a quick update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_Z7nbHWgr8/ScvHIky7uLI/AAAAAAAABHQ/MKyTsYHg4sA/s1600-h/ray+gun.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_P_Z7nbHWgr8/ScvHIky7uLI/AAAAAAAABHQ/MKyTsYHg4sA/s400/ray+gun.png" alt="" id="BLOGGER_PHOTO_ID_5317562735171188914" border="0" /&gt;&lt;/a&gt;I have recently been using Blender. Here is my image that I created this afternoon. I was trying out a few things (transparency, multiple light sources and actually finishing an image). No, it isn't a hint as to any future project, it's just a ray gun of some sort.&lt;br /&gt;&lt;br /&gt;Also, I found out how to make really quick games in Blender. I had always thought you needed to use Python and so didn't bother, I have enough to learn as it is!&lt;br /&gt;&lt;br /&gt;However, what you can do is use the &lt;span style="font-style: italic;"&gt;very &lt;/span&gt;simple "Behaviour Editor". While I haven't produced anything meaningful, indeed anything even resembling a game, it does some very cool stuff out of the box. Namely, it has a physics engine complete with rotation, bouncing and friction. Hooking up keyboard input is easy and you can quickly get to grips with the basics.&lt;br /&gt;&lt;br /&gt;In the way of Frozen Kangaroo, the real time strategy game that Botworks is currently making (read the articles linked on the right under Frozen Kangaroo Concepts for an overview), progress has been made, but not huge progress. My exams are coming up, and so a lot of my time is devoted to revision etc. However, my laptop should be turning up within the next 2-5 working days. When that happens, I will hopefully be able to spend much more time working on it.&lt;br /&gt;&lt;br /&gt;Probably the most signifcant improvement I have made is the terrain engine. Before, each province had an asocitated image file which had all the terrain features in it. However, I have now moved the actual features off the image and in to a seperate file. When I want to place down a clump of trees, I now create a new TerrainFeature, giving it width, height and type of terrain. The engine takes that, tiles the correct image the set number of times, adding some random spacing to give it that natural feeling. It also can be queried to see whether a unit is within it. This will allow for easy checking to allow for speed modification.&lt;br /&gt;&lt;br /&gt;It also means it will be easier to update map designs without having to&lt;br /&gt;a) go in to the image file and edit that and&lt;br /&gt;b) recode it to hit test different areas of the map for movement modification (in the original, if I wanted units to slow down when travesering a ceartain type of terrain, I would have to manually set where the terrain was going to be and enter how much I wanted the unit to slow down by).&lt;br /&gt;&lt;br /&gt;Finally, there may be a hiatus of posts during my exam period. Hopefully I will get one or two more posts in before, but if I don't, posting will resume on the 11th of June.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-2328161107797581886?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/2328161107797581886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=2328161107797581886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2328161107797581886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2328161107797581886'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/03/blender-fun-and-quick-update.html' title='Blender fun and a quick update'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_Z7nbHWgr8/ScvHIky7uLI/AAAAAAAABHQ/MKyTsYHg4sA/s72-c/ray+gun.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-2651799890175566704</id><published>2009-03-20T17:20:00.004Z</published><updated>2009-03-20T22:45:48.945Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Context to the battles</title><content type='html'>I was listening to Troy Goodfellow's (&lt;a href="http://www.flashofsteel.com/"&gt;Flash of Steel&lt;/a&gt;) podcast 3 Moves Ahead today (&lt;a href="http://flashofsteel.com/index.php/2009/03/11/three-moves-ahead-episode-3/"&gt;episode 3&lt;/a&gt;) and they were discussing Empire: Total War. E:TW was highly criticised by Tom Chick, one of the contributors to the podcast, in &lt;a href="http://www.crispygamer.com/gamereviews/2009-03-17/empire-total-war-pc.aspx"&gt;his Crispy Gamer review&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What interested me about their discussion was "do the tactical real time battles need the strategic layer". Putting aside the debate of whether the strategy layer is actually good (you can read my other blog, &lt;a href="http://www.veterangamer.co.uk/"&gt;Veteran Gamer&lt;/a&gt;, for this type of thing.), I will be looking at whether it is needed and what alternatives exist.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Is it needed?&lt;/span&gt;&lt;br /&gt;What does the strategy layer offer? If you assume, for the moment, that the strategy layer is not fun enough to play on its own, why include it? In the case of Total War games, the most impressive element of the game is clearly the real time tactical battles. That is what makes up the adverts and that's where the development money went. So surely people view the campaign as just getting in the way. However, people insist on playing it.&lt;br /&gt;&lt;br /&gt;The reason is they give the battles &lt;span style="font-weight: bold;"&gt;context&lt;/span&gt;. This is an example of the strange phenomena of games. People needs rewards. This is completely bizarre when viewed with a purely logical mindset. Gamers play games to have fun (or to escape or whatever), that is the real reward. However, players need something in game too. Achievements are another example. Your gamer score counts for nothing, and yet people insist on playing the game again to get all the achievements. Why do they need the excuse, if they are enjoying the game enough, why can't they just play it again?&lt;br /&gt;&lt;br /&gt;I'm not a psychologist, so my answer is simply that humans are illogical and, as game designers, you must cater to this.&lt;br /&gt;&lt;br /&gt;Context provides this reward. What is the point of winning the battle on its own, where is the reward? However, if your battle contributes to winning the war, then suddenly it is worth while. Yes, this is ridiculous, what does winning the war grant you; nothing. But it doesn't matter any where near as much, as you don't finish the campaign half as often as you do a mission.&lt;br /&gt;&lt;br /&gt;A possible explanation for this need of context is that it helps immersion. In real life, there are no isolated fights, there must be some external purpose, no matter how basic.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alternatives&lt;/span&gt;&lt;br /&gt;OK, so context is needed, but what if you want all of your game to be fun. What alternatives exist to the campaign mode found in Empire and the like? Well obviously you have the traditional linear mission mode. Now sometimes, I think it is very easy to be snob like in your favourite genre. Recently, Resident Evil 5 came out. A lot of people lashed out at the controls. Immediately, Resi fans struck back with "this is how it has always been, you just can't HANDLE the controls". Just because this is how it has always been does not mean it isn't time for change.&lt;br /&gt;&lt;br /&gt;I make no such judgements over RTS fanatics, I have played enough to consider myself, at least partly, amongst them. I also freely admit that I don't normally bother with linear campaign missions.&lt;br /&gt;&lt;br /&gt;I think part of the attraction with these spiralling campaigns is they make an emergent story line (the best kind of story, in my opinion, when it comes to games). Also, I think with linear missions, some of the immersion, i.e. the point of not just playing the real time element, is lost. You can only win, if you lose, you restart, you will only advance in a set way and you cannot deviate from this. It isn't helped that the stories are usually predictable and unimaginative.&lt;br /&gt;&lt;br /&gt;One campaign I did like was Dawn of War 2. I think this excellently combined the two methodologies. It keeps the linear missions, which means you are very rarely distracted from the heart of the game, but keeps a strong sense of context. The whole campaign just feels more real than other real time strategies, including Dawn of War 1 (ignoring Dark Crusade and after, they suffered from a different problem entirely). The use of optional missions which provide optional benefits creates the reward system and interesting decisions for the player. As does war gear and levelling up your troops. True, there is a scripted series of events and you can't lose. The difference is, it feels like you have some control over the story and, because it is the same units with the same names, you get an emergent story that feels unique to you. Does your scout squad get annoyed they are often viewed as cowards? Do you try and balance which units get deployed so they don't get upset?&lt;br /&gt;&lt;br /&gt;The campaign is excellent for a number of other reasons which I detailed in &lt;a href="http://thkgamereview.blogspot.com/2009/02/dawn-of-war-2-review.html"&gt;my review of the game&lt;/a&gt;. However, the key thing is, it doesn't distract from the meat of the game, it just gives the missions context and reward.&lt;br /&gt;&lt;br /&gt;Overall, I don't think the campaign mode needs to be as complicated as Dawn of War (and believe me, that isn't complicated) All it needs to do is provide you with a believable back story before you begin the mission, and a reason to finish it other than pure advancement. Other great things include continuity between missions and interesting decisions that don't take hours to have visible effects. It is a real time game, and if your decisions don't have an immediate and obvious impact, then they become a drag and just taking you away from what you want to do. In some ways, I think this is where TW games fail. A turn can take as long as a turn in Civ. In Civ, that's what you want, in TW, it is taking you away from that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-2651799890175566704?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/2651799890175566704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=2651799890175566704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2651799890175566704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2651799890175566704'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/03/context-to-battles.html' title='Context to the battles'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-7752547074779654428</id><published>2009-03-09T23:02:00.004Z</published><updated>2009-03-10T22:41:14.456Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Frozen Kangaroo Concept: Proxy Nations</title><content type='html'>&lt;span style="font-style: italic;"&gt;In a series of posts I intend to explain the more detailed elements of Frozen Kangaroo, the real time strategy game that I am working on. You can &lt;a href="http://botworkstudio.blogspot.com/2008/10/frozen-kangaroo-quick-summary.html"&gt;read an executive summary here&lt;/a&gt;. I hope to make it so that the posts only rely on things explained before them. However, please excuse me if my posts either digress to explain some concept, or don't make any sense because of no digression. If you have any questions, leave a comment (if it is an old post, I would recommend posting it on a newer post) or email me @ &lt;a href="https://mail.google.com/mail?view=cm&amp;amp;tf=0&amp;amp;to=thekileyenator@gmail.com"&gt;thekileyenator@gmail.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As I explained in my summary, Frozen Kangaroo is set in a fictional second Cold War in 2046 (100 years after the start of the first Cold War). A Cold War is one without direct fighting between the two countries involved. At first, this may seem to be quite a crucial element to any war. Or even if it isn't, how do you plan to make an RTS without fighting?  In a Cold War, the two countries compete in other ways. For the original Cold War, the Space Race (the race to get a man on the moon) was a significant focus. These non-military competitions will be in Frozen Kangaroo. In this post, however, I will focus on the other main element of a cold war; proxy nations.&lt;br /&gt;&lt;br /&gt;Proxy nations in the real Cold War were nations that were in alliance with one of the two super powers. These nations then attacked either other proxy nations allied to the other side, or the other side itself. Through this, direct combat between the two super powers was avoided. Instead, they would advise, supply and help the proxy nation in every other way they could.&lt;br /&gt;&lt;br /&gt;In Frozen Kangaroo they will operate slightly different. Naturally, you will control one of the two super powers. Sadly, I do not believe the game would be much fun if all you could do was vaguely boss around some inadequate AI (because, whoever I am, it would end up being inadequate for what a player would want to do with them). Instead, I am going to take a slightly satirical view and give the player complete control of all their proxy nations; well, nearly.&lt;br /&gt;&lt;br /&gt;I am hoping to implement a change in game when fighting breaks out between American and Russian troops. However, I am not quite sure what it should be. While in theory the player will have control over where their units come from, this could be incredibly annoying to manage. What I will probably do is restrict diplomacy after this global event. I will be talking about diplomacy in a later post, where I'll explain what the implications for direct confrontation are.&lt;br /&gt;&lt;br /&gt;You will have control over your proxies as if they were your own troops... while they like you. If you upset them, they will cease to operate under your orders, and may even join the other side. Likewise, enemy proxies can be converted to your cause. This is done indirectly through your actions.&lt;br /&gt;&lt;br /&gt;There are three main elements that effect your standing with the proxy nations. Firstly, there is how well you are doing generally. If you are quite clearly more powerful, then they may wish to join you out of fear. Likewise, they might chuck in their lot with your enemy if it seems he is going to win. If you can't beat them, join them. This does create a design problem - once you start winning, you could become unstoppable. If it becomes too overwhelming, I may swap this round, as people would want to ally against the dominant force to bring back the status quo.&lt;br /&gt;&lt;br /&gt;The second factor is more directly tied to the nation. If you use their troops wisely, ie. low casualties for high kills, they will like you more. If, however, you seem to be sending their men in to pointless deaths, they may stop supplying you with troops.&lt;br /&gt;&lt;br /&gt;The other modifier is nuclear weapons. Using nuclear weapons is frowned upon by all nations. As I will explain in more details in a later post, you can either use nuclear missiles on provinces, or fire them directly at colonies. While targeting provinces can cripple your opponent, many nations will desert you as you are incredibly evil.&lt;br /&gt;&lt;br /&gt;Furthermore, it is possible to take action to reduce damage done by nuclear attack, as I will explain in a future post. If a leader neglects to do this, proxy nations may cease to want to be under your control.&lt;br /&gt;&lt;br /&gt;Each proxy nation has a score for both super powers. The proxy nation will ally with whichever score is higher. This means that if your opponent is treating a nation terribly, it will be easy for you to convert them.&lt;br /&gt;&lt;br /&gt;However, if both teams treat the country with disregard, the country can invoke sanctions and even withdraw completely to a state of neutrality. If, say, the score falls below 5 for either side, they cease to provide population for the construction of troops even if they are on their side. At 3, they may take away control for existing units, they can even block your troops advancing through their territory.&lt;br /&gt;&lt;br /&gt;So, to summarise, most of the fighting in this game is done through proxy nations. For the large part, this has little impact on how you play the game. However, if you are not careful with your allies troops, they might stop being your troops to control, or even your ally.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-7752547074779654428?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/7752547074779654428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=7752547074779654428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/7752547074779654428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/7752547074779654428'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/03/frozen-kangaroo-concept-proxy-nations.html' title='Frozen Kangaroo Concept: Proxy Nations'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-6288572898168527493</id><published>2009-02-27T23:02:00.006Z</published><updated>2009-03-01T12:21:30.403Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><category scheme='http://www.blogger.com/atom/ns#' term='Economics'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Dynamic economies in games</title><content type='html'>&lt;span style="font-style: italic;"&gt;Before reading this post on how dynamic economies can work within games, I recommend reading &lt;a href="http://www.designer-notes.com/?p=114"&gt;Soren Johnsons post on Game Economics&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;The Problem&lt;/span&gt;&lt;br /&gt;Due to the international credit crisis, stories about our worlds economics going wrong are rife. More relevantly there was a case in Eve Online. You can &lt;a href="http://news.bbc.co.uk/1/hi/technology/7256069.stm"&gt;read more about it on the BBC website&lt;/a&gt; but it basically involved some viscous back stabbing on the part of some players. I bring this up for two reasons. Firstly, Eve is a game which is heavily focused around a dynamic economy. However this story demonstrates both the pros and cons of a manipulatable economy. This Sandbox environment allows for cool, real life things, to happen. This keeps the game fresh and interesting. However, this comes with its downsides. While some people may have loved this twist in the galaxy, many players will have had there experiences ruined by 2 people who they probably don't know.&lt;br /&gt;&lt;br /&gt;While this isn't exactly synonymous with dynamic economies, particularly in single player, the problems are certainly similar. Even in a single player game, a dynamic &lt;span style="font-style: italic;"&gt;closed &lt;/span&gt;economy can bottom out. A closed economy is one which everything remains inside the system and nothing can be added.&lt;br /&gt;&lt;br /&gt;This is actually less common than you might think. Take any RPG, drops from monsters are being created when you kill them. In an otherwise closed economy, this will create hyper-inflation as you sell all the excess items you find, so you have more money to spend, so prices rise etc.&lt;br /&gt;&lt;br /&gt;However, even if you create a completely closed economy, you will hit problems. For example, in an RTS, most resources are finite, so the system is closed. At the start of the game, this can make for interesting trading; if you are fortunate enough to start next to lots of stone, you can trade it for wood. However, as the game goes on, supply will out-pace demand as other constraints come in to play, namely managing your troops. This causes the market to drop out with everything becoming worthless.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Advantages of a dynamic economy&lt;/span&gt;&lt;br /&gt;All this adds up to is, if you include a dynamic economy, you need to think carefully about a lot of things. Obviously, the reward is a dynamic game that features an extra layer of strategy. One of the main things that makes Civ 4 so re-playable is the different strategies that are available to you. Even the different victory conditions can all be broken down in to different ways of achieving them. A dynamic economy can become one of these ways; cripple the persons economy, then you can easily walk over them.&lt;br /&gt;&lt;br /&gt;Sins of a Solar Empire (a game which I will be mentioning a lot on this blog as in some ways [not setting] Sins is very similar to Frozen Kangaroo and there are many lessons to be learnt from it, both in its successes and failures) features a dynamic economy involving the buying and selling of resources. It doesn't immediately suffer from the above problems, but rather another thing that you need to consider when including an economy in to your game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Distractions can destroy economy&lt;/span&gt;&lt;br /&gt;Unless your game is entirely focused around the economy, then it is likely to be a small part of some other strategy. The problem with Sins isn't an economic one, but a game design one. To read the economy requires careful injections and extractions of resources to raise and lower the price. You have multiple options for buying and selling. However, you simply don't have time to figure out how it works. You are expected to do this whilst managing your fleet, your empire, your technology and your diplomacy. As a result, despite the fact it is quite cool, it slips down your list of priorities as the reward is simply not worth the time investment.&lt;br /&gt;&lt;br /&gt;What are the solutions to this? The first solution is to strip everything else out of the game, leaving only the economy. Obviously, this is not viable for Sins, the focus of the game is epic space battles.&lt;br /&gt;&lt;br /&gt;However, that doesn't mean that an economically focused game can't work. I read an interesting post on Gamedev.net about why all our games seem to be focused around violence or fighting. Part of it is certainly down to the human need to feel like we are winning. However, that does not mean that an economy driven game can't do that. Possibilities include either having to bankrupt your enemy, or, if you want to keep the war aspect, have a "war" being fought with you only managing the economy. Cornering resources secures you battlefield advantages etc. While you don't manage the battles, they are almost entirely play out as a result of your actions (the last thing you want is for your actions the feel irrelevant)&lt;br /&gt;&lt;br /&gt;The other solution is what I hope to implement in Frozen Kangaroo; automation. In some ways, this does not solve the problem; the fun is playing the economy and seeing the results. As a result, in Frozen Kangaroo it will be everything else that is more automated. While I describe Frozen Kangaroo as a real time strategy game, it is heavily focused on management and logistics of a war. As a result, I think that it is right to allow a greater focus on the economy. I'll be posting more about what the economic element is in Frozen Kangaroo soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;Back to my original point: can dynamic economies in games work. The short answer is yes. However, you must consider a number of different things. The first one is one you should ask yourself every time you add anything to your game, does it fit with what already exists and does it improve the enjoyment? If you can't confidentially say yes to both questions, chances are you are putting it in because it sounds quite cool.&lt;br /&gt;&lt;br /&gt;Next, you must asses whether the player will have enough time, and the reward great enough, to actually use it. If you think it passes these stages, then an economy can work in your game. Only then do you need to start working how keep the economy balanced and interesting throughout the duration of your game. Play testing is the key to this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;And finally, a "realistic" economy is not necessarily a fun economy, our economy is realistic, is unemployment or very expensive oil fun for anyone?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-6288572898168527493?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/6288572898168527493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=6288572898168527493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6288572898168527493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6288572898168527493'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/02/dynamic-economies-in-games.html' title='Dynamic economies in games'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-2941664806912303982</id><published>2009-02-24T22:38:00.004Z</published><updated>2009-02-24T23:00:38.558Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>Go With the Flow</title><content type='html'>Sorry for the lack of posts recently, I have been busy with my review(!) copy of Dawn of War 2. &lt;a href="http://thkgamereview.blogspot.com/2009/02/dawn-of-war-2-review.html"&gt;You can read my review here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Anyway, I had a game idea a while back that I think has some potential. Building on the success of many rhythm games and combining it with one of my favourite genres, I came up with: "Go with the Flow".&lt;br /&gt;&lt;br /&gt;You start off with a simple platformer. In this platformer, the map is constantly moving and you must use your 4 commands to avoid obstacles. These four commands are jump, duck (slide if you keep it held down) spin and moues grind (I'll explain in a second). Once you have built this, speed up the movement of the map so it is unplayable without lengthy memorization of the entire course, sounds terrible doesn't it?&lt;br /&gt;&lt;br /&gt;Then, you add the music. In theory it should work for any song. You craft the map around the song. The map is moving to fast for the players to play it blind, or deaf in this case. Instead, they must get in to the rhythm of the music and predict what they are going to have to do.&lt;br /&gt;&lt;br /&gt;This is probably the tripping point of the game. It is all very well if the programmer knows why he put such a block in, but the game will become very frustrating if you have to keep repeating the level to learn its foibles.&lt;br /&gt;&lt;br /&gt;The solution, at least in theory, is to stick to a logical implementation. If the note goes up, jump, if it is a low note, use down. Spin on beats .&lt;br /&gt;&lt;br /&gt;However, the second problem comes in two forms. Firstly, if you picture a jump animation, can you see the character landing before the next beat? And what if it is more extreme, with continuous variation?&lt;br /&gt;&lt;br /&gt;That is where the mouse grinding comes in. With continuous change in pitch, such as during a guitar solo, the user would use the mouse to keep the character in a broad path (that would rise and fall with pitch)&lt;br /&gt;&lt;br /&gt;Obviously, the best way to see if this idea would work (and be fun) is to implement a level. This is what  I aim to do if I get time during the next month. The problem is, the platformer element needs to be &lt;span style="font-style: italic;"&gt;really &lt;/span&gt;smooth. Having played Guitar Hero, there is nothing more frustrating that when the game lets you down. The last thing you want is some dodgy hit testing!&lt;br /&gt;&lt;br /&gt;In the mean time, I will post this idea on Gamedev.net and see what they think about it. Feel free to post your thoughts in the comments below.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-2941664806912303982?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/2941664806912303982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=2941664806912303982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2941664806912303982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2941664806912303982'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/02/go-with-flow.html' title='Go With the Flow'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-6132928501177699897</id><published>2009-02-03T17:52:00.008Z</published><updated>2009-02-03T23:53:47.424Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>London Global Game Jam 2009</title><content type='html'>Last weekend, I took part in an event called the "&lt;a href="http://www.globalgamejam.org/"&gt;Global Game Jam&lt;/a&gt;" in London. As the name suggests, it was part of a much wider, global event. Basically, you go along, teamed up with some people and then have 48 hours to make a game. This time includes time for sleeping (heh! like anyone did any of that) eating etc. Despite this, the quality of the games produced was incredible. It was a truly fantastic event and I am so pleased I went along, everyone was nice and incredibly talented.&lt;br /&gt;&lt;br /&gt;Here is how it went:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Day 1 (Friday)&lt;/span&gt;&lt;br /&gt;We arrive and meet up. There is a lot of expensive equipment just lying about, it was stunning. There were TVs, 360's, piano/keyboards and obviously hundreds of laptops. I have no idea how these people got this stuff here on the tube. We then received a couple of interesting key note speeches. The key message: Keep it simple! I have (some what embarrassingly) forgotten the names of both the speakers. One worked in a game development company where he programs console games. The second speaker talked about quick turn arounds and then admitted that "quick" normally meant three weeks rather than 48 hours!&lt;br /&gt;&lt;br /&gt;Then we got a third keynote speech delivered by the wonders of Youtube. The speaker was Kyle Gabler who created the successful indie game World of Goo.&lt;br /&gt;&lt;object width="350" height="215"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aW6vgW8wc6c&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/aW6vgW8wc6c&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Then, we were given the restrictions and theme for our game. These were:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A complete round must last no longer than 5 minutes&lt;/li&gt;&lt;li&gt;Your game should use this theme: "While we were together, there shall always be problems"&lt;/li&gt;&lt;li&gt;Your game should use on of these three adjectives: "Grow", "Hurry" or "In-between".&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Then it was discussing ideas. This was possibly my favourite part as it really was just a crazy brainstorm. Looking back at out post-stick notes later, it was difficult to believe that we didn't have a completely disjointed conversation.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_Z7nbHWgr8/SYiHQwy9-vI/AAAAAAAABEY/hWy1MluV_Ao/s1600-h/DSCN0496.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_P_Z7nbHWgr8/SYiHQwy9-vI/AAAAAAAABEY/hWy1MluV_Ao/s320/DSCN0496.JPG" alt="" id="BLOGGER_PHOTO_ID_5298633683647724274" border="0" /&gt;&lt;/a&gt;In the end we settled on a fish based game. I would like to point out, for my egos sake, that it was me that originally, right at the start, suggested the idea of a chain linking two things together. None the less, most of the credit for our idea goes to Yanhua, an undergraduate at Metropolitan University of London. From there, Jon, our genius programmer, showed us some actionscript physics type thing which was awesome, and we went from there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Day 2 (Saturday)&lt;/span&gt;&lt;br /&gt;Day two was largely spent programming away. Or in Chris's case, our musician, coming up with the amazing sound you find in our game. His trust worthy bucket and him spent many an hour recording sound effects to give the impression of the tranquil underwater. We also prototyped some of our sea creatures -  in plasticine!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SYjXs1MsmHI/AAAAAAAABEo/IgYt5Y9vQ4I/s1600-h/DSCN0503.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SYjXs1MsmHI/AAAAAAAABEo/IgYt5Y9vQ4I/s320/DSCN0503.JPG" alt="" id="BLOGGER_PHOTO_ID_5298722126795937906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Day 3(Sunday)&lt;/span&gt;&lt;br /&gt;Crunch day. What was really frustrating was at about 2 o'clock, Jon had got the game pretty much working. Then, in an attempt to do some minor change, he some how managed to break some other, unrelated, thing (so often the way with programming). In the end, the three o'clock deadline was a bit of an anti-climax. The upload failed (and did for a number of people) So, we carried on working on it till about 4. Then we watched, demonstrated and played the games. I videoed the demonstrations of all the games (except one - I ran out of memory) My personal favourite was a game called "MA", built in Unity (a 3D game making bit of software  costing £A,Lot). In essence, it was a maze game. The clever part was, you couldn't actually see the walls of the maze at all. Instead, you had little particles which you could send out which would bounce off the walls. I liked it because it was a neat mechanic and it just worked really well. Anyway, here are the videos:&lt;br /&gt;&lt;object width="350" height="215"&gt;&lt;param name="movie" value="http://www.youtube.com/p/440BB011E21911DD"&gt;&lt;embed src="http://www.youtube.com/p/440BB011E21911DD" type="application/x-shockwave-flash" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I strongly recommend that you &lt;a href="http://globalgamejam.org/category/london-england"&gt;check out these games&lt;/a&gt; (especially ours - the Deep) If you can't be bothered to download the zip, you can also &lt;a href="http://studweb.north.londonmet.ac.uk/%7Eyao0044/doc/the_deep.swf"&gt;view it here&lt;/a&gt;. You may want to restore your web browser, it can be quite processor intensive (there is a lot of physics going on!)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SYjWAoG1tsI/AAAAAAAABEg/VlJDweKlbQc/s1600-h/DSCN0515.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SYjWAoG1tsI/AAAAAAAABEg/VlJDweKlbQc/s320/DSCN0515.JPG" alt="" id="BLOGGER_PHOTO_ID_5298720267855836866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, just want to say a huge thank you to all my team, you guys were awesome! It was amazing to be in such a talented and nice team, thanks for letting me get involved. I hope all of you do it next year. If &lt;span style="font-weight: bold;"&gt;you &lt;/span&gt;didn't do the Global Game Jam this year, make sure to do it next year. It doesn't matter what you do or even how good you are, come along it is great fun and you will meet some really cool people!&lt;br /&gt;&lt;br /&gt;Until next time Game Jammers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-6132928501177699897?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/6132928501177699897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=6132928501177699897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6132928501177699897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/6132928501177699897'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/02/london-global-game-jam-2009.html' title='London Global Game Jam 2009'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_Z7nbHWgr8/SYiHQwy9-vI/AAAAAAAABEY/hWy1MluV_Ao/s72-c/DSCN0496.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-2537714798917571627</id><published>2009-01-26T13:40:00.000Z</published><updated>2009-01-26T13:43:20.938Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Moving in an RTS</title><content type='html'>In this post I will be discussing the theory behind the code in making a unit move from one location to another. This is not meant to be a complete tutorial, nor ground breaking. In fact, it won't even cover basic path finding. However, if you are having problems making a unit move between two points (namely, they move diagonally and then straight along) read on.&lt;br /&gt;&lt;br /&gt;Such a seemingly simple thing, moving a unit between two points in a straight line (ignoring path finding as FK will not have path finding) However,I struggled with it for quite some time.&lt;br /&gt;&lt;br /&gt;At first, I thought it would be really simple. See if the X co-ordinate of the object is bigger or smaller than the target X co-ordinate. Then, add/subtract the desired speed depending on whether the number is bigger or smaller (with bigger numbers being down and to the right). This works fine if the destination is as much above as it is to the right. However, if the target is not, the unit moves at 45 degrees toward the thing until either the X or Y co-ordinate are in line with the destrination (which ever is sooner) at which point, it moves horizontally/vertically. Apart from looking ridiculous, it is not the quickest way between the two points and so will be incredibly frustrating for the player. But then, if you are the target audience for this post, you knew this already.&lt;br /&gt;&lt;br /&gt;[Note: Another problem that you may encounter is that as the unit reaches it's destination, it jumps around it. This is because it is unlikely the player will click on a pixel that your units movement speed goes in to exactly. As a result, you unit will switch between being to the left and to the right of the target. I will explain my solution to this at the end of the post]&lt;br /&gt;&lt;br /&gt;I tried a couple of other things that, in hind sight, are long winded amd complicated; I won't bore you with the the details. They ended up working to a point, except when the unit had to move either vertically or horizontally, it would accelerate to near infinite speeds.&lt;br /&gt;&lt;br /&gt;The solution I finally settled on, at first seemed too complicated (and for all I know, there might be a better one) It relies on creating a right angled triangle with the destination point, finding the accute angle and creating proportional x/y speeds that add up to make a total (limiting the maximum speed) (See diagram)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SXetfl6eaeI/AAAAAAAABEQ/F87DrNaVEqs/s1600-h/unitMovement.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5293890645262232034" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: pointer; HEIGHT: 287px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_P_Z7nbHWgr8/SXetfl6eaeI/AAAAAAAABEQ/F87DrNaVEqs/s400/unitMovement.jpg" border="0" /&gt;&lt;/a&gt;Using trigonometry (Soh Cah Toa!) we can find the angle using xDist and yDist (which can be calculated by subtracting the larger x/y co-ordinate from the smaller of the unit and it's destination)&lt;br /&gt;&lt;br /&gt;Tan(Angle) = yDist/xDist&lt;br /&gt;&lt;br /&gt;Or...&lt;br /&gt;&lt;br /&gt;Angle = atan(yDist/xDist) //atan is the inverse of tan, called atan in most programming langauges.&lt;br /&gt;&lt;br /&gt;In most programming languages, this will actually give you the answer in radians (a way of numbering angles where pi represents 180 degrees). However, for the sake of simplicity (no PI key on my keyboard!) I will use degrees. You can either convert Angle in to degrees (*180 and then divide by PI) or when I say 90, use PI/2.&lt;br /&gt;&lt;br /&gt;Next, we work out how steep the hypotenuse (longest side of the trianlge) needs to be. By doing the angle/90 we can work out what proportions the 2 speeds need to be. If the angle is 90, then we know we want the whole speed to be vertical, whereas 0 needs to give the whole speed as horizontal.&lt;br /&gt;&lt;br /&gt;The way I did this was first calculate the Y speed.&lt;br /&gt;&lt;br /&gt;ySpeed = (Angle/90)*Speed //where speed is the distance in pixels that you want your unit to cover in one frame.&lt;br /&gt;&lt;br /&gt;In this, if the angle is 45, (ie. as far up as it is across) then you get (1/2)*speed resulting in half of your total speed to vertical.&lt;/p&gt;&lt;p&gt;The xSpeed is then calculated by taking the angle from 90 and putting that over 90. In the end, you will get two angles that add up to 90. Therefore, when you put them over 90 as two seperate fractions, they will add up to 1. So, when the two fractions are times by the speed, the two fractions of speed will add up to speed.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The problem with this is it will only work when both values are increasing (ie, the unit is moving right and down) To get around this (and deal with a second problem which I mentioned earlier) when the destination is selected, define two boolean variables to store whether the target is left/right and up/down. Then, when your regular function to move the unit is called, if movingRight == true, if != true, then subtract the number and so on.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-STYLE: italic"&gt;I realise that this is a little confusing, so here is a quick summary of what I mean&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Summary: By finding out the angle that the destination is from the current position, you can find the preportion that the two speeds need to be. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;The final issue is checking when a unit is arriving. By using your movingRight boolean variable, you can simply see whether the unit has passed the X co-ordinate. If movingRight==true then if curX &gt;= targetX then it has arrived. Likewise, if movingRight != true, then curX &lt;= targetX for it to have arrived. And you do not need to check y, as they should happen at the same time. &lt;/p&gt;&lt;p&gt;Here is my C#/XNA code if it is any help: (distASec is a Vector2 which stores the speed, curPosition is a Vector2 which has the units location and currentTarget is a Vector2 which is where the unit is heading. Vector2 is a XNA data type which stores X and Y co-ordinates(as floating point numbers, if your in to that sort of thing!).&lt;br /&gt;&lt;/p&gt;&lt;p style="FONT-FAMILY: courier new"&gt;if (currentPosition != newTarget)&lt;br /&gt;{&lt;br /&gt;Vector2 totDist;&lt;br /&gt;float refAngle;&lt;br /&gt;currentTarget = newTarget;&lt;br /&gt;&lt;br /&gt;//Calcuates total distance and direction&lt;br /&gt;if (currentPosition.position.X &lt; movingright =" true;" x =" currentTarget.position.X"&gt; &lt;p style="FONT-FAMILY: courier new"&gt;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;movingRight = false;&lt;br /&gt;totDist.X = currentPosition.position.X - currentTarget.position.X;&lt;/p&gt;&lt;p style="FONT-FAMILY: courier new"&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (currentPosition.position.Y &lt; movingdown =" true;" y =" currentTarget.position.Y"&gt; &lt;p style="FONT-FAMILY: courier new"&gt;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;movingDown = false;&lt;br /&gt;totDist.Y = currentPosition.position.Y - currentTarget.position.Y;&lt;br /&gt;}&lt;br /&gt;refAngle = (((float)(Math.Atan((totDist.Y / totDist.X))))*180)/(float)Math.PI;&lt;/p&gt;&lt;p style="FONT-FAMILY: courier new"&gt;&lt;br /&gt;distASec.Y = (refAngle / 90)*speed;&lt;br /&gt;distASec.X = ((90 - refAngle)/90)*speed;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Finally, to check if the unit has arrived.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;if((movingRight &amp;amp;&amp;amp; currentPosition.position.X &gt;= currentTarget.position.X)(!movingRight &amp;amp;&amp;amp; currentPosition.position.X &lt;= currentTarget.position.X))&lt;/span&gt;&lt;br  style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-FAMILY: courier new"&gt;//Code to be excuted upon arrival&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-2537714798917571627?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/2537714798917571627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=2537714798917571627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2537714798917571627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2537714798917571627'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/01/moving-in-rts.html' title='Moving in an RTS'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SXetfl6eaeI/AAAAAAAABEQ/F87DrNaVEqs/s72-c/unitMovement.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-1669106427909905853</id><published>2009-01-25T16:33:00.000Z</published><updated>2009-01-25T17:10:42.971Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>An interesting premise?</title><content type='html'>Today I was doing some research for an annoying (read: rubbish) physics homework, why it is rubbish is another story! Basically, we had to research how theories of light had changed through time. However, it was quite interesting reading about ancient (BC times) theories of atoms.&lt;br /&gt;&lt;br /&gt;The basic idea is that all things are made up of four atoms (indivisible things, not the modern scientific meaning of an atom, which is entirely divisible): Fire, Water, Earth and Air. Each of these has distinct shapes made up of triangles (not so indivisible then). Now obviously many games have used the idea of four elements before and it is largely just a different reality, usually one with fate, magic spells and goblins.&lt;br /&gt;&lt;br /&gt;However, what I am suggesting is, supposing they were correct from a scientific point of view. From this base, work through the whole of Physics, Chemistry and Biology to create a world based on these scientific truths. And to make it a bit more interesting, define a few rules. First, each of these atoms have unique properties that exhibit themselves in whatever they are in. The higher the ratio of them within the molecule, the stronger the effect, but even with one, there would still be some effect. Second, where scientific questions are ones that have been raised before, you use another theory that has also been superseded by something else. For example, if you get to the question of light, take the aether to be correct.&lt;br /&gt;&lt;br /&gt;The question is, would this create an interesting and believable alternate world to set your game in, or would it be minor differences that make no difference. Also, can interesting things come out as true, ie. can magic work?&lt;br /&gt;&lt;br /&gt;Here are a few ideas I have come up with, I might try to expand this at some point, but working through 2500 years of science without the ability to experiment may take some time!&lt;br /&gt;&lt;br /&gt;Earth (&lt;i&gt;prthivı) &lt;/i&gt;-Mass: 2, Fluidity: 0, Gravity: 3, Repulsion: 5, Temperature: 3, Temperature Resistance: 5&lt;br /&gt;&lt;br /&gt;Fire (&lt;i&gt;tejas)&lt;/i&gt; - Mass: 0, Fluidity: 0, Gravity: 0, Repulsion: 0, Temperature: 5, Temperature Resistance: 3&lt;br /&gt;&lt;br /&gt;Water (&lt;i&gt;apas)&lt;/i&gt; - Mass: 1, Fluidity: 4, Gravity: 1, Repulsion: 1, Temperature: 2, Temperature Resistance: 4&lt;br /&gt;&lt;br /&gt;Air &lt;i&gt;(vayu&lt;/i&gt;) - Mass: 0, Fluidity: 5, Gravity: 0, Repulsion: 0, Temperature: 1, Temperature Resistance: 2&lt;br /&gt;&lt;br /&gt;I'll quickly explain my thinking behind these labels. To find out an objects properties, you add up the figures of its containing elements and divide it by the total number of elements (except with mass, gravity and temperature). The mass of an object is how heavy to pick up. Fluidity is it's ability to stay together. If it's fluidity is greater than the repulsion of the thing surrounding it, then the excess fluidity is converted in to motion. For each point of gravity, the atom can attach to that number of atoms, (note, only requires one of the atoms to have it) Any left over draws objects near it (relative to the total size of the molecule) and a velocity equal to the amount left over. Temperature is the temperature of the object. If an object touches another object and the temperature is greater than the temperature resistance of the other object, the second object is annihilated.&lt;br /&gt;&lt;br /&gt;I quite like base rules and working up from them. A once read a description in a game design book (&lt;a href="http://www.amazon.co.uk/Game-Architecture-Design-Andrew-Rollings/dp/1576104257/"&gt;Game Architecture and Design, Andrew Rollings&lt;/a&gt;) giving an example of emergent game play. In the example, the players are travelling somewhere (I think it is an MMO, but definitely doesn't exist yet). It is cold and they are going to freeze. All they have on them is something that burns at a very cold temperature. However, one of the players remembers that being in the centre of a flame raises the temperature by a few degrees. Still cold, but enough to keep them alive. This would be taking emergent rules to the extreme.&lt;br /&gt;&lt;br /&gt;Sorry for the lack of posting, I have a couple of posts in the works. One on programming a unit to move from one location to another (surprisingly complicated) and the other on planning your project. FK, my current project, has had a couple of good weeks with solid progress being made. I hope to have a working province by the end of February, complete with animations and maybe even a building which actually creates the unit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-1669106427909905853?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/1669106427909905853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=1669106427909905853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/1669106427909905853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/1669106427909905853'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/01/interesting-premise.html' title='An interesting premise?'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-2948445962332455679</id><published>2009-01-03T23:45:00.000Z</published><updated>2009-01-04T00:20:53.950Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>The key to good game design</title><content type='html'>Sorry for not posting much, I have much to post about, but little time in which to do it (as all the time I am feeling constructive I spend on revision!) However, I saw a clever post of GameDev.net that I thought I'd share. You can &lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=519346"&gt;read the full thread here&lt;/a&gt;, not that interesting though!&lt;br /&gt;&lt;br /&gt;Anyway, here is the post, the poster describes what he thinks are key to good game design.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1) The game needs to be (or at least *seem*) fair.&lt;br /&gt;&lt;br /&gt;2) The player's character/avatar needs to control well and respond in a predictable fashion (this ties into the game being fair).&lt;br /&gt;&lt;br /&gt;3) The challenge of the game needs to match the player's skill level (note: no game is going to have the perfect challenge at all times, so this isn't going to always be true until adaptive difficulty is perfected).&lt;br /&gt;&lt;br /&gt;4) The player's goals (both long-term and, more importantly, short-term) need to be obvious at all times.&lt;br /&gt;&lt;br /&gt;5) The player needs to have clear feedback that allows the player to know at all times how well he is performing at the current task in the game. It's important to note that any negative feedback/punishment that is given to the player should be treated as information and not as mockery. A game with good design never concentrates too much on a player's mistakes. It's best to make the mistake obvious without badgering the player. Games like Bioshock that just automatically restart you without even having a death animation or text that essentially says, "Hey, even though it's completely obvious to you that you just died, I'm going to say it anyway... GAME OVER, LOSER!" have good game design in this respect.&lt;br /&gt;&lt;br /&gt;6) The rewards and punishments need to be structured properly. I.e. the player shouldn't be given a huge reward for a trivial task, and the player shouldn't be punished too much for a small mistake (one example of bad design in this regard that I constantly encounter is in platform games where you're in a vertical level traveling upwards, make one bad jump, fall for what seems like 5 minutes, and then start at the very bottom of the level all over again).&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Number 5 is quite clever and something I hadn't really thought of. Game Over screens are basically just rubbing something you already knew in your face.&lt;br /&gt;&lt;br /&gt;I would add to number four that it also needs to be made clear to the player why they are failing (if they are). For example, in Gear of War 2 in that sequence on the back of the cargo truck type things - I didn't know why I kept failing (I wasn't shooting the mortar fire) It was an incredibly frustrating experience and definitely not fun.&lt;br /&gt;&lt;br /&gt;The final thing I would add is that if puzzles/challenges use a new mechanic, should fit with everything that has gone before. Good games lay down the basic rules early and then just interpret them differently. If at the start, the player can't run, this should remain the case and not just be changed when it suits the puzzle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-2948445962332455679?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/2948445962332455679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=2948445962332455679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2948445962332455679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2948445962332455679'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2009/01/key-to-good-game-design.html' title='The key to good game design'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-3412189160865734633</id><published>2008-11-23T00:00:00.000Z</published><updated>2008-11-23T00:32:00.217Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>An Interesting Survey</title><content type='html'>Recently, a guy posted in the &lt;a href="http://www.gamedev.net"&gt;GameDev&lt;/a&gt; forums about a survey he was undertaking. He recently posted his results, you can view them &lt;a href="http://eggsandsuch.blogspot.com/search/label/survey"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The findings are very interesting and I highly recommend having a look, some of the results are quite surprising. The survey covered 7 key forum types and, while is by no means a complete demographic of everyone (2 different sections are to do with game content creation and they are all video game related), this is pretty much the target audience of any game that I will make in the next 5 years, so it is highly relevant for me. The survey recived a fairly impressive 1540 responses.&lt;br /&gt;&lt;br /&gt;There are a couple of things which are particularly intriguing. Firstly, I am pleased to announce that RTS's are still near the top in popularity (unsurprisingly FPS is the no. 1, especially considering one of the forums is a HL2 one!)&lt;br /&gt;&lt;br /&gt;Another result was that most people, unless they play for more than 24hrs, don't play more than for 12. Whether this is because games fail to hold their attention or because that after about 12 hours something else comes along is not clear. Should, as a developer, I use this as a guideline for how long the main portion of my game take to complete, or should I use this as a target? Ie. does it need to be about 12 hours or at least 12 hours.&lt;br /&gt;&lt;br /&gt;Another key area of the survey is the "Key Aspects" which is what people want from a game. Unsuprisingly, looking at the list of forums, gameplay is at the top. However, people will inevitably put this, because when you are not playing a game, it is clear that this is what SHOULD matter. I found what came second and third to be more insightful. High up is depth and story. The thing that I personally find imporant, game customisation, was not voted that important. Given the forums, I find this suprising. The story is something I hadn't really considered, as I find that the best stories are player created. Whether people who voted story meant a system that would allow the player to experience their story I don't know, but the implication is not.&lt;br /&gt;&lt;br /&gt;As for depth, I think this means things like back story continuity and things to do hours in to the game that you have only just found out about. Depth is somewhat of a buzz word, but ceartinaly something worth considering, as it came so high.&lt;br /&gt;&lt;br /&gt;The survey did ask what price would people be prepared to pay for a &lt;span style="font-weight: bold;"&gt;decent &lt;/span&gt;game. The implied meaning of decent is one in which there is reliable evidence that the game will be good and to their taste. A question I would like to see answered is how much would people be prepared to pay for a game which has a less proven record. Not that people said it is bad, as no one wants to pay for something rubbish, but as an Indie developer, what would people be prepared to pay for a game which looks potentially good, but is very much a gamble.&lt;br /&gt;&lt;a href="http://eggsandsuch.blogspot.com/search/label/survey"&gt;&lt;br /&gt;See the results in full&lt;/a&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/blank.gif" alt="Link" class="gl_link" border="0" /&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/3441415220254247330-3412189160865734633?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/3412189160865734633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=3412189160865734633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/3412189160865734633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/3412189160865734633'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/11/interesting-survey.html' title='An Interesting Survey'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-2537714927218504224</id><published>2008-11-16T23:08:00.000Z</published><updated>2008-11-17T22:09:57.701Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>A user created content centerd MMORPG</title><content type='html'>After reading &lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=514910"&gt;this post&lt;/a&gt; on Gamedev.net forums, a seed of an MMORPG (Massively Multiplayer Online Role Playing Game) was planted in my head. No, it is not a clone of World of Warcraft or any other current MMOG. The closest thing I can think of is Second Life, however, it is very much a game (as opposed to Second Life, where the game aspect is somewhat lacking)&lt;br /&gt;&lt;br /&gt;All users would be able to create both rooms and items. Rooms would be a 2D world for players to explore. Anyone who wanted to create a room would use a simple script editor and an image editor to create any world they wanted. Obviously, to keep maintenance down, rooms would be hosted remotely by anyone who wanted one. The central game would not be responsible for the rooms content. Connecting to a room would be as simple as find the rooms unique RP Address (spoof on IP) These rooms could be big or small.&lt;br /&gt;&lt;br /&gt;Users would also be able to create items. Once again, this would be made with a script editor and a image program. People could make these items do anything within the bounds of the game (and here is where it gets complicated) I thought about this game and concluded that to create items, the user must do something that requires time. Let me explain how I can see the item creator being used.&lt;br /&gt;&lt;br /&gt;What I really wanted to happen is someone use the game in an imaginative way (which could happen, have you seen what people have done with Forge?). They make an item which really pushes the boundaries of what can be archived. Then, they place it in their room. If the user was allowed to create them without any limit, however, the item would become worthless really quickly. If, on the other hand, the user had to spend time completing something every time he wanted to make the item - think of the emergent game possibilities.&lt;br /&gt;&lt;br /&gt;Rare items could become mere legend. Someone developed a way of doing something really cool (and this is where I am stuck - I can't work out what these things could be) but only made one. He placed it deep within his room, puzzles must be solved, mazes explored and maybe even enemies defeated. Then, he would make maybe one more, show it to people, show what it could do, and give them the RP. Everything is finite, so once someone has taken it, someone has taken it. Obviously, there are logistical issues with this - what if someone took the item and left the game. But there are solutions to these problems. But it would be like an ever evolving adventure.&lt;br /&gt;&lt;br /&gt;I have long dreamed of playing a game where you are finding stuff out and doing genuine research to get something. I got a real buzz when reading Harry Potter (laugh if you want!) and researching forgotten branches of magic.&lt;br /&gt;&lt;br /&gt;The problem that faces me is: what kind of things can you create. It is easy to say: "Let the user create what he wants". But there needs to be something to create. The only way I can see this working is through two layers. The network layer would be kept completely separate and no one would have access to it. However, the game play layer would be available to anyone. One would have to write a comprehensive top down RPG in it's own right. Everything would have to be soft coded (Using a variable instead of a number, eg, user moves a "speed" where speed can equal 10 as opposed to user moves at speed 10) Everything would have to be structured in a logical way in which most of the rules of the game were compeltly emergent (an outcome of building a base set of rules, for example, with a full physics engine, the behaviour of the objects is emergent, they weren't told to do specific things, just react to a set of rules)&lt;br /&gt;&lt;br /&gt;What needs to be done is work out different things that could be made by the user. None the less, I think their is potential in the idea, ask me again Jan 2010.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-2537714927218504224?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/2537714927218504224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=2537714927218504224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2537714927218504224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/2537714927218504224'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/11/user-created-content-centerd-mmorpg.html' title='A user created content centerd MMORPG'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-9054399063422185738</id><published>2008-11-05T18:29:00.000Z</published><updated>2008-11-05T18:36:35.437Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Boids in 3D</title><content type='html'>I did it. I have completed my Boids motion flash project. The boids now stay on screen pretty much, do not accelerate to stupid rates and all 3 laws do work as expected.&lt;br /&gt;&lt;br /&gt;I also managed to implement a depth motion as well. Although it is not perfect - boids are not rendered according to their depth (ie. boids can appear in front of boids they are actually behind) However, to fix this, I would have to re-draw every boid every frame, assigning them new MC (movie clip) names using the createMovieClip() function. However, everyone I asked said it was barley noticable.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://homepage.ntlworld.com/robert.kiley/thk/BoidSS.swf"&gt;You can view the finished result here&lt;/a&gt;&lt;br /&gt;&lt;a href="http://homepage.ntlworld.com/robert.kiley/thk/BoidFinal.exe"&gt;I also converted it in to a Windows32 screensaver, which you can download here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I created the screensaver using &lt;a href="http://www.instantstorm.com/"&gt;InstantStorm&lt;/a&gt;. Botworks does not take responsibility for any damage caused by downloading the screen saver - it worked on my computer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-9054399063422185738?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/9054399063422185738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=9054399063422185738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/9054399063422185738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/9054399063422185738'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/11/boids-in-3d.html' title='Boids in 3D'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-3266755749866897091</id><published>2008-10-23T17:36:00.000+01:00</published><updated>2008-10-23T17:51:48.369+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><title type='text'>Frozen Kangaroo: Quick Summary</title><content type='html'>In the coming months - as I will be busy - actual programming of Frozen Kangaroo will remain slow and mainly prototypes. I will be spending the time refining the finer points of the design - such as how you win, a hazy issue at the moment and something which I have glossed over. I want to be able to use this blog as a place where I can place my thoughts, in the hope that someone, somewhere, when they play the game, and understands why I made such a decision.&lt;br /&gt;&lt;br /&gt;However, to do this, I must explain, to a point, what this game is about so that my posts make some sense.&lt;br /&gt;&lt;br /&gt;OK, let's start with the basics. Frozen Kangaroo is the code name for the Real Time Strategy game I am making for the PC. It is set in the near future, allowing me to include cool futuristic units and technologies. However, as history repeats itself, it will be an alternative history (what could have happened) of the Cold War(1945-1990). You will take control of either America or the USSR in a modified map of the northern hemisphere.&lt;br /&gt;&lt;br /&gt;Although technically you will only be controlling either America or USSR, with them you can manipulate without restriction (nearly) all of their allies. This allows the game to represent a Cold War through the use of &lt;a href="http://en.wikipedia.org/wiki/Proxy_war"&gt;Proxy nations&lt;/a&gt;.  &lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;This was seen in the real Cold War in Vietnam. Although it was technically America vs. the Vietcong, Russia were supplying weapons and support to the Vietcong.&lt;br /&gt;&lt;br /&gt;The game's pace will take it's lead from Sin's of a Solar Empire. Although everything will be happening in real time (to create a sense of pressure that must surely have been felt in the more tense times during the Cold War), it will be slow enough that it is not like modern RTS's such as Dawn of War where the quickest clicker will win. Also borrowing from Sins (although entirely accidentally, I had not played the game until long after I started designing the game) you will be able to zoom in to the individual provinces which the map is divided in to and out to see the whole world.&lt;br /&gt;&lt;br /&gt;One of the key features of the game is to really invoke a feeling of immersion. Surely, all games do this? Well yes, to a degree, but, what I mean is you will be able see your deployable missiles moving about in real time, passing from province to province. You can use trucks to transport your men around. I am also toying with the idea of some resources that need to be transported to the front line, maybe even munitions, but this will depend of how complicated the game becomes.&lt;br /&gt;&lt;br /&gt;That really is just a brief (ed: disjointed and confusing) summary and there are loads of mechanics that I will need to explain. However, I hope that offers a taster of what FK is. Stay tuned for more updates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-3266755749866897091?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/3266755749866897091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=3266755749866897091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/3266755749866897091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/3266755749866897091'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/10/frozen-kangaroo-quick-summary.html' title='Frozen Kangaroo: Quick Summary'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-8851490894447323938</id><published>2008-09-26T10:52:00.000+01:00</published><updated>2008-09-26T10:58:38.059+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='Animation'/><title type='text'>Animation in Blender</title><content type='html'>Blended is an Open Source (ie. free!) 3D program.&lt;a href="http://www.blender.org/"&gt; You can download it here.&lt;/a&gt; I have always found it quite confusing, not least because it is 3D. However, I worked out how to do frame by frame animation. This is my result:&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-214d0a48923a5b2f" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v4.nonxt3.googlevideo.com/videoplayback?id%3D214d0a48923a5b2f%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329862828%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D7A3A213A7A94277604695229CE06D354C200D6B6.2F8FD3B5D71389C27D28DE52BCD2D00C2526EF75%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D214d0a48923a5b2f%26offsetms%3D5000%26itag%3Dw160%26sigh%3Du2YVE87x9Rl0-jFMzsPdvaKt07o&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v4.nonxt3.googlevideo.com/videoplayback?id%3D214d0a48923a5b2f%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329862828%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D7A3A213A7A94277604695229CE06D354C200D6B6.2F8FD3B5D71389C27D28DE52BCD2D00C2526EF75%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D214d0a48923a5b2f%26offsetms%3D5000%26itag%3Dw160%26sigh%3Du2YVE87x9Rl0-jFMzsPdvaKt07o&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;It isn't very impressive and, to make the video, I had to use Windows Movie Maker, but I am quite pleased with the result. I have done other animations using the particle effects, which are always quite cool, but this is my first proper animation.&lt;br /&gt;&lt;br /&gt;For those who had the same problem as me, to insert key frames, you select your object, click on the object menu at the bottom and press Insert Keyframe. Then, select the type of thing you want to check, loc (location) rot (rotation) and Scale. Then, move your object. Then, go to the next frame, with the arrow keys, move your object and once again insert a ket frame. Repeat, bake for a few minutes (Nerdy joke, baking appears to be what you do to render the animation!) and there you have it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-8851490894447323938?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=214d0a48923a5b2f&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/8851490894447323938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=8851490894447323938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/8851490894447323938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/8851490894447323938'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/09/animation-in-blender.html' title='Animation in Blender'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-7926329275702604364</id><published>2008-09-25T22:04:00.000+01:00</published><updated>2008-09-25T22:52:04.482+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Boids Motion</title><content type='html'>&lt;span style="font-family:arial;"&gt;Warning the post contains programming!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Ok, so the other day I stumbled across &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.metadecks.org/%7Econrad/boids/pseudocode.html"&gt;this website  &lt;/a&gt;&lt;span style="font-family:arial;"&gt;and decided to implement a basic boid flock in Flash. For those who don't know, Boid Flocking is a mathmatical way (ie. no random) way of moving a number (more than 3) objects that represents a flock. In this example, they move in 2D space, but it could easily to be expanded to 3D (or indeed simplified to 1D...). This theory was developed by Craig Reynolds. After creating a basic model, I created a simple game which I &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.newgrounds.com/portal/view/460525"&gt;submitted to Newgrounds&lt;/a&gt;&lt;span style="font-family:arial;"&gt;. From a game designers point of view, and clearly the reviews point of view, it is horrible, however, I built it mainly for demonstration purposes of boid stuff.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Boids run on 3 main rules. The first, and most important rule, is that they head towards the average mass of the boids.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;span style="font-family:courier new;"&gt;_root.toalPosX = 0;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    _root.toalPosY = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;    for(i = 1; i&lt;11;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        var numx:Number = _root["boid"+i+"_mc"]._x;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        toalPosX = toalPosX + numx;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        var numy:Number = _root["boid"+i+"_mc"]._y;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        toalPosY = toalPosY + numy;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    var averagePosX:Number = _root.toalPosX/10;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    _root.averagePosY = _root.toalPosY/10;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;This only works with 11 Boids, and I would like to, at some point, change to that to a foreach statement, however, as I have mainly been using C# recently, and I wasn't sure how you did it in Flash. So, as you can see, it defines two variables, one for X and one for Y (That is another thing you will miss going in to Flash from C#, things like Vector2s) Then, by cycling through each boid, and adding their x and y's to their respective variables, I was able to deduce the average location. This is placed within onEnterFrame, so the center of mass is always moving.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The thing that I think I did wrong was with how their velocities are handeled. As you can see from the NG movie, they tend to shoot off and the second their mass moves in one direction, it keeps moving, much like if you are swinging a bucket of water, the second the mass goes past the mid point you will suddenly lurch in that direction.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;However, I actually added a 4th rule (I will come back to the other 2) that means the mass moves towards the red dot in the game (normally I would have it roughtly tracking the mouse) However, it keeps shooting past at increasing velocity.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span style="font-family:courier new;"&gt;for(i = 1; i&lt;11;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if(_root["boid"+i+"_mc"]._x &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            _root["bVolX"+i]+=1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        else if(_root["boid"+i+"_mc"]._x &gt;averagePosX)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            _root["bVolX"+i]-=1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;      &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if(_root["boid"+i+"_mc"]._y &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            _root["bVolY"+i]+=1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        else if(_root["boid"+i+"_mc"]._y &gt;averagePosY)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            _root["bVolY"+i]-=1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;      &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;As you can see the numbers just keep getting bigger. I am trying to think of a way to stop them growing so huge, I am sure there must be something I missed in the implementation, because they are meant to basically stay within the bounds of the screen.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Anyway, back to my implentation. The next rule, which deffenitley has a noticable effect is a little bit of repulsion. I used twin for loops to check boid i against boid j where i != j. When I first did this, for reasons best known only to me, I put the signs as the same, so although they were repelling, they were both going the same way, so they just got a little bit faster. Better now.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for(i = 1; i &lt;11; j =" 1;" distancex =" _root[" distancey =" _root["&gt; -150)&lt;br /&gt;               {&lt;br /&gt;                   _root["bVolX"+i] -= 1;&lt;br /&gt;                   _root["bVolX"+j] += 1;&lt;br /&gt;               }&lt;br /&gt;               else if (distanceX &gt; 0 &amp;amp;&amp;amp; distanceX &lt;&gt; -150)&lt;br /&gt;               {&lt;br /&gt;                   _root["bVolY"+i] -= 1;&lt;br /&gt;                   _root["bVolY"+j] += 1;&lt;br /&gt;               }&lt;br /&gt;               else if (distanceY &gt; 0 &amp;amp;&amp;amp; distanceY &lt;&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Fairly self explanatory. The effect looks a little bit like opposite magnets. One thing to note is this does not prohibit collisions, if they are travelling fast enough this will merely slow them down. What I would be interested in seeing done is where the two boids involved in the collision spin off in a random direction. To do this, I would hitTest within these for loops. What might make more sense if if you times the bVolX by -0.8 to flip it, and bVolY to add a bit of variation so it doesn't go straight back, by -1.2. Then the other boid would be times by these two values switched for X and Y. Maybe I will try this, points to anyone who beats me.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The final rule, and probably the least important, is a speed checker. Boids will try to mimick other Boids average speed. If most boids are going faster, it will speed up and vice versa. The idea behind this is they should meet somewhere in the middle and not go to fast. Well, thats the idea anyway.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I did this simply by checking the boids velocity against the average velocity and adding or subtracting depending on this.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;avgVelX =0 ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    totVelX = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    for(i = 1; i&lt;11;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        totVelX += _root["bVolX"+i]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    avgVelX = totVelX/10;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    for(i = 1; i&lt;11;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if(avgVelX &gt;= 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if(_root["bVolX"+i] &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolX += 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            else if (_root["bVolX"+i] &gt; avgVelX)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolX -= 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if(_root["bVolX"+i] &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolX -= 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            else if (_root["bVolX"+i] &gt; avgVelX)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolX += 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span style="font-family:courier new;"&gt;avgVelY =0 ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    totVelY = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    for(i = 1; i&lt;11;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        totVelY += _root["bVolY"+i]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    avgVelY = totVelY/10;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    for(i = 1; i&lt;11;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if(avgVelY &gt;= 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if(_root["bVolY"+i] &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolX += 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            else if (_root["bVolY"+i] &gt; avgVelY)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolY -= 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if(_root["bVolY"+i] &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolY -= 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            else if (_root["bVolY"+i] &gt; avgVelY)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                bVolY += 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The only thing missing is the red dot you control in the game. I was trying to make something that followed the mouse, except just a bit slower, but ended up with a Boid you controlled. It works exactly the same as all the other boids, except the centre of mass is always the mouse and it does not copy speed, nor is it repelled by other boids.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I hope this has helped anyone trying to implement a Boid thing. It is a really nice programming challenge, trying to interpret the rules in to your programming lanaguage. The website I listed at the top was a great resource. Any questions, please leave a comment or email me @ thekileyenator@gmail.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Thanks for reading!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-7926329275702604364?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/7926329275702604364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=7926329275702604364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/7926329275702604364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/7926329275702604364'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/09/boids-motion.html' title='Boids Motion'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441415220254247330.post-4457599570317431924</id><published>2008-09-23T17:53:00.001+01:00</published><updated>2008-09-23T17:56:29.382+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frozen Kangaroo'/><title type='text'>Welcome to BotWorks</title><content type='html'>Bot Works is a game development studio set up by Thomas Kiley. On this blog you will find, not only the latest news for any Bot game, but also both coding and designing topics related to games.&lt;br /&gt;&lt;br /&gt;At the moment, we are working on a title which goes by the code name "Frozen Kangaroo" and I am hoping to release it Chirstmas 2010. I will have more details about it soon.&lt;br /&gt;&lt;br /&gt;I would also recommend you read my gaming blog for regular updates about the video game industry @ &lt;a href="http://www.veterangamer.co.uk"&gt;www.veterangamer.co.uk&lt;/a&gt;&lt;a id="publishButton" class="cssButton" href="javascript:void(0)" onclick="if (this.className.indexOf(&amp;quot;ubtn-disabled&amp;quot;) == -1) {var e = document['stuffform'].publish;(e.length) ? e[0].click() : e.click(); if (window.event) window.event.cancelBubble = true; return false;}"&gt;&lt;div class="cssButtonOuter"&gt;&lt;div class="cssButtonMiddle"&gt;&lt;div class="cssButtonInner"&gt;Publish Post&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441415220254247330-4457599570317431924?l=botworkstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://botworkstudio.blogspot.com/feeds/4457599570317431924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441415220254247330&amp;postID=4457599570317431924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4457599570317431924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441415220254247330/posts/default/4457599570317431924'/><link rel='alternate' type='text/html' href='http://botworkstudio.blogspot.com/2008/09/welcome-to-botworks.html' title='Welcome to BotWorks'/><author><name>thk123</name><uri>http://www.blogger.com/profile/12721921644663912935</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_P_Z7nbHWgr8/SKxQFm9RxdI/AAAAAAAAAz8/av-axvKYRFY/S220/Me.jpg'/></author><thr:total>0</thr:total></entry></feed>
