<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BIG ROBOT</title>
	<atom:link href="http://www.big-robot.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.big-robot.com</link>
	<description>...makes games!</description>
	<lastBuildDate>Wed, 16 May 2012 13:48:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>On Structuring Things In Unity</title>
		<link>http://www.big-robot.com/2012/05/16/on-structuring-things-in-unity/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-structuring-things-in-unity</link>
		<comments>http://www.big-robot.com/2012/05/16/on-structuring-things-in-unity/#comments</comments>
		<pubDate>Wed, 16 May 2012 13:48:02 +0000</pubDate>
		<dc:creator>Tom Betts</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General Blather]]></category>
		<category><![CDATA[tech stuff]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=535</guid>
		<description><![CDATA[Ok, so I&#8217;ve been using Unity to make games (and other interactive prototype work) for several years now. I&#8217;ve been the main coder on Fallen City (Our 15-month development for Channel4). Our audiovisual puzzler Avseq (which is en-route to Steam) &#8230; <a href="http://www.big-robot.com/2012/05/16/on-structuring-things-in-unity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ok, so I&#8217;ve been using Unity to make games (and other interactive prototype work) for several years now. I&#8217;ve been the main coder on <a href="http://www.e4.com/game/fallen-city/play.e4">Fallen City</a> (Our 15-month development for Channel4). Our audiovisual puzzler <a href="http://www.big-robot.com/av-seq/">Avseq</a> (which is en-route to Steam) was also rebuilt in Unity, and I&#8217;ve also coded a suite of android/iOS mobile games. Alongside these finished projects I spend a lot of time prototyping various procedural tech and other experiments, and of course working on our next game Sir, You Are Being Hunted.</p>
<p><img src="http://www.big-robot.com/images/11/fc_devsmall.jpg"><br />
I come from a C/C++ self taught programming background, and have used loads of IDEs like Visual Studio, Codeblocks, Eclipse and even stuff like Actionscript IDEs and Processing. Initially I shirked away from interface heavy IDE work, preferring to do everythign in code, but after a few years with unity I have come to appreciate the speed and prductivity benefits of using a more integrated environment, especially when working with a small team of developers, each with their own skills and project area ownership.</p>
<p>Anyway, when I first started with Unity one of my big concerns was, <em>how do i structure all this stuff?</em> I&#8217;d done a lot of object orientated design and quite a bit of component based stuff too, but the live editing of values in the inspector and the prepackaged object library use of prefabs was new to me. I asked on the forums, with little real result, as expected, the answer is generally that there are many ways to skin a cat. So Im just going to talk briefly about how I organise unity projects. This isn&#8217;t anything really do with specific programming paradigms or how to write better code, it&#8217;s more about how I structure things in a unity project to hopefully make things more readable and usable.</p>
<p><strong>Old fashioned guy</strong><br />
I am still a big fan of a decent naming policy for classes, and members. I dont mean Hungarian notation (where you use bMyBool etc to indicate variable type, because its a pain to have to change the type and then all instances of the name). I mean more to indicate ownership. Unity doesnt really support namespaces, so it can be difficult to figure out what classes (and their function) are from the core library or from user made code, people say that you can use the IDE functions on rollover to read the class heirarchy etc, which is true, but I sometimes still open files in textedit (especially since you cant have multple unity instances running) and I also like to be able to see at a glance who has written what. As a result of this I tend to name all my classes with a <strong>C_</strong> prefix, <strong>C_WorldMap, C_Gun, C_PlayerHealth.</strong> This might seem excessive, but its instantly obvious that the class and its fucntions are not part of any core library, or anyones third party work. It also avoids potential naming classes, calling one of your classes somethign like Map, PlayerHealth or Bullet, is unlikely to be a unique name, Ive imported several 3rd party code bases to Unity where Ive then had to rename classes due to a clash of this sort. Of course it shouldnt be C_ for everyone (or we&#8217;d all clash), but something that is distinguishable by yourself and others, perhaps linked to the project title. I know that code is ideally meant to be portable and non specific, but I think that games development is one of the areas where things almost always get specific and bespoke, due to rapid prototyping, time constraints ad the unique nature of requirements from game to game.</p>
<p>I also advocate naming in functionality nesting order. I mean by this that if a number of classes refer to the map, then use map as the initial naming element. So <strong>C_MapAreas, C_MapWater, C_MapHeat</strong> rather than <strong>C_AreaMap, C_WaterMap, C_HeatMap</strong>. It makes the scripts easier to group visually in the editor and helps you to mentally group them by their shared top level element.</p>
<p>Following this prefix approach I also name all member variables with <strong>m_ , m_BulletSpeed, m_BulletDamage, m_BulletType</strong> etc. I do this for exactly the same reason I <strong>C_</strong> my classes, so I can quickly distinguish between a local scope variable and a class member, either when reading or when using dropdowns to select (all my members are in a nice neat range of the dropdown list rather than mixed in with inherited values and functions). I&#8217;ll name them via nested terms too if I can remember (such as the m_BulletBlah examples above). It also lets other people see exactly what Im doing. Unity is nice for people to work together on seperate aspects of a project (one person doing textures , another modelling, sounds etc) but its not great for supporting multiple coders.</p>
<p><img src="http://www.nullpointer.co.uk/images/header.jpg" alt="header" /></p>
<p>I do a similar thing for other assets such as models, where i might prefix my test models with a <strong>T_</strong> so I can pick them out quickly in the list/grid array that the unity IDE provides you when making inspector assignments. In our Fallen City project we had so many models that having a decent naming convention really helped speed up the development. (Remember to stress this to your 3D modellers!)</p>
<p><strong>Grouping scripts:</strong><br />
I think when a project is small its more useful to group assets/scripts by type. So a folder for textures, folder for sounds, folder for scripts etc. This means you can easily replace and survey all the graphics for your project, or get a sense of how large the codebase is etc. However, once you find that a project is getting large enough it makes more sense to organise folder structure by functionality, a set of nested folders for Map or AI functions for eg. I also use a prefix convention for folders, to seperate them visually in the IDE (and on disk) from default assets or 3rd party packages. A simple example might have directories called <strong><br />
_Scripts<br />
_Textures<br />
_Models<br />
_Audio<br />
_Scenes</strong><br />
etc and then I might use<strong><br />
_World/_Scripts<br />
_World/_Prefabs,<br />
_World/_Maps</strong><br />
as an example of a folder structure nested primarily by function and then by type. This also helps if you have several people working on a project who can claim ownership of a specific area of functionality. Using underscore at the beginning also puts them at the top of the project list and helps to distiguish them from standard unity folders etc.</p>
<p><img src="http://www.nullpointer.co.uk/images/project.jpg" alt="project" /></p>
<p><strong>Prefabs and Pointers</strong><br />
I come from C++ as my main programming language, so unlike most people I actually like pointers! Of course C sharp doesn&#8217;t really use pointers, but it does use references. I was initially confused as to when a reference is used or not, it appears that most default types aren&#8217;t passed as reference, but anything more complex, like a class or list will be passed to functions as a reference, unless you code it otherwise (by creating your own intermediate object or some other form of deep copy). Another aspect of referencing in Unity is the way you can drag and drop elements onto script variable fields in the inspector. Because you often do this with prefabs it can be easy to end up referencing and changing a prefab or material that is actually in your project folder, rather than one you want to be altered for the actual runtime game. I tend to prefix my references with a <strong>m_p</strong> to help me remember that the object referred to is to be read only (when using prefabs as a basis for instantiation etc), such as<strong> public GameObject m_pSceneryTreePrefab</strong>. I also do a similar thing with references to scripts <strong>m_pC_PlayerHealth</strong> (heh, even though I dont do it properly in the example screenshot above), for instance (or for a quick local scope version <strong>_pC_PlayerHealth</strong>).</p>
<p><strong>Singletons &amp; Global stuff</strong><br />
I tend to use singleton instances for all the major classes in a project. I prefer this to making them static as I can still control when they are created and destroyed and other scripts can test to see if they exist or not (I might not want every singleton class to always be active). It also means that all scripts can access key (global) information and functions without having to maintain their own local script pointers. The drag and drop system to assign refernces to other gameobjects is great in the inspector, but if your scripts are being instantiated as part of a library prefab, then the appropriate references (specifically non local ones) can only be assigned in code on start or awake etc. Singletons help to avoid some overhead from GameObject.Find calls too. I do use static classes, but generally only for utility functions that arent linked to any specific game scenes or object management.</p>
<p><strong>Strong Typing</strong><br />
Strong typing is best, the clue is in the name, its STRONG, whereas other typing schemes are weak. Perhaps another result of my C++ heritage, but I can&#8217;t stand seeing a function and having no idea what arguments it is expecting. <strong>function myfunction(thing)</strong> &#8216;thing&#8217; could be a bag of chips for all I know, yes, casting is boring, but at least I can see whats happening. Theres nothing wrong with javascript, its got some great features, but you can declare typing in it and I think its better for everyone when you do.</p>
<p><strong>I don&#8217;t do all these things really</strong><br />
Of course I don&#8217;t really manage to stick to all these rules, generally rapid prototying and quick hacks make write all kinds of unreadable rubbish, but I do try, and when i do kep things more readable I can work for longer on project before i reach that saturation point (you know, where you have really lost track of your own code). Im also not claiming that my approach is either the most efficient, the most elegant or the most intelligent. Im a self taught programmer and to CS graduates I probably code like an idiot, but there aren&#8217;t many people talking about how they organise stuff in relation to unity development so I thought I would. So please don&#8217;t flame me for not adhering to the Geneva Convention Of Interfacing or the NATO Polymorphism Treaty.. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/05/16/on-structuring-things-in-unity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s The Interactive Village Name Generator!</title>
		<link>http://www.big-robot.com/2012/05/14/its-the-interactive-village-name-generator/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=its-the-interactive-village-name-generator</link>
		<comments>http://www.big-robot.com/2012/05/14/its-the-interactive-village-name-generator/#comments</comments>
		<pubDate>Mon, 14 May 2012 11:34:02 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General Blather]]></category>
		<category><![CDATA[Sir You Are Being Hunted]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=510</guid>
		<description><![CDATA[The villages in Sir, will not only be procedurally generated, they&#8217;ll be procedurally named. And they&#8217;ll have familiar British place name signs, as you can see above. We&#8217;ve put together a little name generator toy for you to mess around &#8230; <a href="http://www.big-robot.com/2012/05/14/its-the-interactive-village-name-generator/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.big-robot.com/images/12/village.jpg"><br />
The villages in Sir, will not only be procedurally generated, they&#8217;ll be procedurally <em>named</em>. And they&#8217;ll have familiar British place name signs, as you can see above. We&#8217;ve put together <a href="http://www.big-robot.com/coverstuff/webplayer/WebPlayer.html">a little name generator toy</a> for you to mess around with and you can <a href="http://www.big-robot.com/forum/showthread.php?38-Village-Name-Generation!">suggest new name components in the forums</a>. The names are made from three parts so break your suggestions up accordingly. We want a First Part (verbs and adverbs work well for this, &#8220;Poke&#8221; or &#8220;Lovely&#8221; for example), a Second Part (adjectives are good here, &#8220;Harping&#8221;) and then we have a collection of silly suffixes, &#8220;in-the-wold&#8221; or &#8220;Welcomes Careful Drivers&#8221;. Have a play then head <a href="http://www.big-robot.com/forum/showthread.php?38-Village-Name-Generation!">to the forums</a> to post your suggestions!</p>
<p>This is not made in the final game engine, it&#8217;s just us messing about in Unity. These are game assets, of course, but it&#8217;s woefully unoptimised, so older machines might wobble a bit. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/05/14/its-the-interactive-village-name-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On &#8220;The British Indie STALKER&#8221;  Thing</title>
		<link>http://www.big-robot.com/2012/05/07/on-the-british-indie-stalker-thing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-the-british-indie-stalker-thing</link>
		<comments>http://www.big-robot.com/2012/05/07/on-the-british-indie-stalker-thing/#comments</comments>
		<pubDate>Mon, 07 May 2012 14:10:09 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Sir You Are Being Hunted]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=505</guid>
		<description><![CDATA[When we first revealed our intentions with Sir, You Are Being Hunted, one of the descriptions which stuck in people&#8217;s imaginations &#8211; and therefore found its way into various articles on the game &#8211; was the phrase &#8220;British indie S.T.A.L.K.E.R.&#8221;. &#8230; <a href="http://www.big-robot.com/2012/05/07/on-the-british-indie-stalker-thing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When we <a href="http://www.big-robot.com/2012/03/12/and-now-sir-you-are-being-hunted/">first revealed our intentions</a> with Sir, You Are Being Hunted, one of the descriptions which stuck in people&#8217;s imaginations &#8211; and therefore found its way into various articles on the game &#8211; was the phrase &#8220;British indie S.T.A.L.K.E.R.&#8221;. Predictably, I wanted to explore what I meant by that.</p>
<p><img src="http://www.big-robot.com/images/12/poacher2s.jpg"><br />
The GSC series is one of many influences on what we&#8217;re doing. Specifically what we enjoy these kinds of open world games is their intention to have things going on in the world independent of the player. The philosophy of the Stalker games &#8211; which created FPS experiences in an open worlds that were available to explore and exploit, rather than being corridors of enemies that needed tidying away, is the sort of experience we aspire to. Just as Stalker&#8217;s bandits and monsters patrol their world, so our robot gentlemen are wandering our gloomy pastoral landscape looking for you, and for the vital bits of a machine that you are searching for.</p>
<p>The challenge for a tiny studio like us is how to produce large worlds without a team of artists and level designers to handcraft spooky valleys and ruined villages. Sir&#8217;s engine produces procedurally generated islands, which means each playthrough, and each individual player&#8217;s playthrough, will be rather different. We&#8217;re also not aiming to create a game with the most high end visuals and hi-res textures. Ours is a lo-fi approach that captures some of Stalker&#8217;s reliance on a unique atmosphere. </p>
<p>Like Stalker, combat in Sir will be lethal. But I should also mention our reliance on sneaking, stealth, and running away. We certainly feature guns &#8211; most notably a shotgun and a hunting rifle &#8211; but fighting will usually be a last resort. If you&#8217;re in a stand-up firefight, then you&#8217;ll probably die. Hiding, staying out of sight, setting traps, and shooting hunters in the back will all be recommended approaches to staying alive. Sir is more an open-world stealth and survival game than it is an open-world shooter.</p>
<p>Finally, the other reason we feel that we are spiritually connected with Stalker is that we are mythologising something close to us. The Kiev-based team took on the nearby real-world Chernobyl zone, mixed it with post-Soviet myth-making and the Tarkovsky/Strugatsky fictions, and created a uniquely-flavoured game which they had personal resonance with. We live in the English country-side, love robots, tea, and class-war, and want to make something funny and sinister from the offbeat materials of British science fiction and fantasy.</p>
<p>Ultimately, though, we want to make a game that has the same kind of significance for people. We know that&#8217;s a big challenge, and there&#8217;s only four of us. Nevertheless I can promise that you will see more on Sir, You Are Being Hunted quite soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/05/07/on-the-british-indie-stalker-thing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Procedural Villages Are In The Works</title>
		<link>http://www.big-robot.com/2012/04/30/procedural-villages-are-in-the-works/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=procedural-villages-are-in-the-works</link>
		<comments>http://www.big-robot.com/2012/04/30/procedural-villages-are-in-the-works/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 14:36:54 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=500</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.big-robot.com/images/12/sir3.jpg" rel="lightbox[500]"><img src="http://www.big-robot.com/images/12/sir3s.jpg"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/04/30/procedural-villages-are-in-the-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fallen City Is Live! And Free&#8230;</title>
		<link>http://www.big-robot.com/2012/04/23/fallen-city-is-live-and-free/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fallen-city-is-live-and-free</link>
		<comments>http://www.big-robot.com/2012/04/23/fallen-city-is-live-and-free/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 13:40:25 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Fallen City]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=498</guid>
		<description><![CDATA[Fallen City is our educational game about cities, as commissioned and published by Channel 4. You can download it from the E4 games page.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.big-robot.com/images/12/falln3s.jpg"><br />
Fallen City is our educational game about cities, as commissioned and published by Channel 4. You can download it <a href="http://www.e4.com/game/fallen-city/play.e4">from the E4 games page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/04/23/fallen-city-is-live-and-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tom Talks Procedural Stuff, Big Robot Games</title>
		<link>http://www.big-robot.com/2012/04/05/tom-talks-procedural-stuff-big-robot-games/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tom-talks-procedural-stuff-big-robot-games</link>
		<comments>http://www.big-robot.com/2012/04/05/tom-talks-procedural-stuff-big-robot-games/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 10:07:36 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General Blather]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=495</guid>
		<description><![CDATA[Tom recently spoke at London Unity Usergroup 10, and you can watch four videos of his presentation here. He talks about a number of Big Robot projects, and some of his own projects which stem from academic research. Worth a &#8230; <a href="http://www.big-robot.com/2012/04/05/tom-talks-procedural-stuff-big-robot-games/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.big-robot.com/images/12/tom.jpg"><br />
Tom recently spoke at London Unity Usergroup 10, and you can watch four videos of his presentation <a href="http://blogs.unity3d.com/2012/04/02/london-unity-usergroup-10/">here</a>. He talks about a number of Big Robot projects, and some of his own projects which stem from academic research. Worth a watch if you&#8217;re interested in our stuff, or in procedural and generative systems in game design, or in some of the work Tom has had to do to get all this stuff working in Unity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/04/05/tom-talks-procedural-stuff-big-robot-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sir&#8217;s Splendid Coverage Bonanza!</title>
		<link>http://www.big-robot.com/2012/04/01/lovely-coverage-bonanza/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lovely-coverage-bonanza</link>
		<comments>http://www.big-robot.com/2012/04/01/lovely-coverage-bonanza/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 11:04:13 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General Blather]]></category>
		<category><![CDATA[Sir You Are Being Hunted]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=482</guid>
		<description><![CDATA[The response to the announcement of Sir, You Are Being Hunted has been fantastic, and we&#8217;re enormously pleased. Here&#8217;s a list of the articles so far: Jim being interviewed on Rock, Paper, Shotgun. Kotaku, and again. ShackNews. GameSpy, and again. &#8230; <a href="http://www.big-robot.com/2012/04/01/lovely-coverage-bonanza/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The response to the announcement of Sir, You Are Being Hunted has been fantastic, and we&#8217;re enormously pleased. </p>
<p>Here&#8217;s a list of the articles so far:</p>
<p><a href="http://www.google.co.uk/url?sa=t&#038;rct=j&#038;q=&#038;esrc=s&#038;source=web&#038;cd=2&#038;ved=0CDwQFjAB&#038;url=http%3A%2F%2Fwww.rockpapershotgun.com%2F2012%2F03%2F30%2Finterview-jim-rossignol-on-sir-you-are-being-hunted%2F&#038;ei=nzR4T4lGibryA6zP2MgO&#038;usg=AFQjCNF0105GejD4SP0O-7VnFJENIGiJmw&#038;sig2=_LwVPE4yr7y0MbDCJaYGzg">Jim being interviewed on Rock, Paper, Shotgun</a>.<br />
<a href="http://kotaku.com/5897743/how-the-human+hunting-robots-in-this-tweedpunk-shooter-will-find-and-kill-you">Kotaku</a>, and <a href="http://kotaku.com/5893019/prepare-to-be-hunted-by-killer-british-robot+gentlemen">again</a>.<br />
<a href="http://www.shacknews.com/article/72829/sir-you-are-being-hunted-announced-open-world-survival-fps">ShackNews</a>.<br />
<a href="http://uk.pc.gamespy.com/articles/122/1220604p1.html">GameSpy</a>, and <a href="http://uk.pc.gamespy.com/articles/122/1221588p1.html">again</a>.<br />
<a href="http://www.indiegamemag.com/big-robot-unveils-sir-you-are-being-hunted/">Indie Games Magazine</a>.<br />
<a href="http://www.edge-online.com/news/heres-thing-sir-you-are-being-hunted">Edge Online</a>.<br />
<a href="http://www.strategyinformer.com/news/17029/sir-you-are-being-hunted-announced">Strategy Informer</a>.<br />
<a href="http://indiegames.com/2012/03/set_your_sights_on_sir_you_are.html">IndieGames.com</a>.<br />
<a href="http://www.incgamers.com/News/30738/big-robot-says-sir-you-are-being-hunted">IncGamers</a>.<br />
<a href="http://www.vg247.com/2012/03/12/big-robots-teases-new-game-shows-hunters/">VG247</a>.<br />
<a href="http://truepcgaming.com/2012/03/12/sir-you-are-being-hunted-will-track-you-down/">TruePCGaming</a>.<br />
<a href="http://www.fpsguru.com/article/1918/Sir,-You-Are-Being-Hunted-Announced.html">FPSGuru</a>.<br />
<a href="http://beefjack.com/news/sir-you-are-being-hunted-revealed-by-big-robot/">BeefJack</a>.</p>
<p>There are a couple more interviews coming up next week with other outlets, too.</p>
<p>I suppose the pressure is on, now. We&#8217;re also keen to stress: <em>we&#8217;re just three guys with some art help.</em> A few comments have been imagining we&#8217;re a big dev studios with &#8220;teams&#8221; for stuff. We are just a UK indie, and most of the programming is being done solo by Tom.</p>
<p>Also we don&#8217;t have comments on the blog here, so please direct any questions or Big Robot related chatter to <a href="http://www.big-robot.com/forum/">the forums</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/04/01/lovely-coverage-bonanza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Hunted&#8217;s AI: Some Fundamental Elements</title>
		<link>http://www.big-robot.com/2012/03/30/building-hunteds-ai-some-fundamental-elements/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-hunteds-ai-some-fundamental-elements</link>
		<comments>http://www.big-robot.com/2012/03/30/building-hunteds-ai-some-fundamental-elements/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 12:27:22 +0000</pubDate>
		<dc:creator>Tom Betts</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=473</guid>
		<description><![CDATA[So Jim has been going on about how dynamic AI combat is the heart of Sir, You Are Being Hunted &#8211; let&#8217;s look at what that means from the perspective of the development work we are actually doing. I&#8217;ve illustrated &#8230; <a href="http://www.big-robot.com/2012/03/30/building-hunteds-ai-some-fundamental-elements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So Jim has been going on about how dynamic AI combat is the heart of Sir, You Are Being Hunted &#8211; let&#8217;s look at what that means from the perspective of the development work we are actually doing. I&#8217;ve illustrated this with a few shots from the AI testscenes build, which shows some of the &#8220;scene view&#8221; elements of Unity&#8217;s editor. Obviously the scenery and so forth is placeholdery and not actually intended to be seen as the sort of scale or density we&#8217;re expecting for a final game.</p>
<p><img src="http://www.big-robot.com/images/12/combatdebug2.jpg"><br />
One of the key features we wanted in Hunted, was the ability for enemy AI to behave as autonomously as possible. Rather than groups of AI being introduced at scripted intervals and exisiting only to provide staged skirmishes for the player, we wanted to see them wandering about the landscape with their own objectives. This adds a significant level of complexity to any AI design.</p>
<p>The enemy NPCs in hunted come in several varieties. The main class are the mobile hunters &#8211; the red visored chaps you&#8217;ve seen in the first few screenshots &#8211; these guys patrol from one location in the world to another, and on arrival will rest, interact with one another and perhaps search the local area for tresspassers or loot. To facilitate this I designed a procedural generation system that places detailed areas of interest (hubs) across the world, connected by trails across the intervening terrain. The hunters move in squads of different factions and travel along these pathways between the hubs. Navigation is done via a nodebased a* network, which is created and stored at the same time as the world is generated. Hubs contain a much higher level of detail in terms of obstacles and waypoints. Hubs generally attract both the player and NPCs as they are generally the location of valuable resources and cover/safety. The wandering hunters have several states of behaviour, governed by a simple <a href="http://en.wikipedia.org/wiki/Finite-state_machine">Finite State Machine</a> manager. The states are:</p>
<p><img src="http://www.big-robot.com/images/12/combatdebug1.jpg"><br />
<strong>Wander:</strong> NPCs move between hub locations based on various internal reasoning algorithmns, sometimes they will stop for a while and rest, or even loiter on roads outside of the settlements.</p>
<p><strong>Alert/Search:</strong> If an NPC hears a nearby sound, or sees either the player or another NPC from a rival faction, they will switch into this state. In this state the hunter approaches locations close to the last heard sound or last sighting, their viewcone detection increases and they will continue exploring nearby areas until they encounter an enemy or eventually get bored and return to wandering.</p>
<p><strong>Combat:</strong> If a hunter sees a target and can approach to within combat range (dependent on the range of their weapon etc), they will do so. In this state NPCs will reload and move to keep in range of their target and when losing sight of the target they will attempt to round appropriate corners to track them down. </p>
<p><strong>Cover:</strong> Every time an NPC is injured they have a chance of switching to a cover-seeking state (more likely as they become more heavily wounded). When in this state they abandon all combat and run to the nearest cover location (essentially calculated from a list of locations that are out of sight of the enemy that is pursuing them). Once in cover they will constantly look around themselves to spot any chasing enemy. If found and attacked they will run on to another potential safe spot. If safe for long enough they will regain their courage and return to either a combat or search state.</p>
<p><img src="http://www.big-robot.com/images/12/hunted1s.jpg"><br />
When two opposing squads meet at a hub they react to each other in the same way as they would to the player, a skirmish occurs and one side will usually end up wiped out (though occasionally they may pass safely by each other or a few stragglers may escape to wander onwards). Debugging this sort of AI is a tricky task, as the character models don&#8217;t (currently) easily indicate what state they are in. To remedy this I draw a number of helpful indicators in the scene window. Icons above NPCs show their states, their HP and their faction. Viewcones, target lines, shot lines and sound lines are also available. The system is going to require Jim and James to spend a lot of time working on balancing, as we have to deal with situations where other players and NPCs also enter the fray (at the moment hunters that are infighting will only switch to the player if they are significantly closer and not already engaged).</p>
<p><img src="http://www.big-robot.com/images/12/combatdebug3.jpg"><br />
Right now the framework for all this behaviour is in place, and we now need to start making it function as games usually do &#8211; with visual feedback that can understood in the context of the game, and the appropriate behaviours for a player to work out what is happening, and successfully interact with the AI. We&#8217;re hoping to have a &#8220;test village&#8221; up soon, and from there we&#8217;ll be able to show off some of the behaviour in motion &#8211; complete with some more tech bells and whistles that will make the factional battles believable and compelling.</p>
<p>In future we&#8217;ll talk in a bit more detail about combat behaviours, and also the way in which we intend to enable to hunters to actually track down the player.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/03/30/building-hunteds-ai-some-fundamental-elements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poachers, TweedPunk, And Clever Materials</title>
		<link>http://www.big-robot.com/2012/03/26/poachers-tweedpunk-and-clever-materials/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=poachers-tweedpunk-and-clever-materials</link>
		<comments>http://www.big-robot.com/2012/03/26/poachers-tweedpunk-and-clever-materials/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 16:08:41 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Sir You Are Being Hunted]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=461</guid>
		<description><![CDATA[Click images for full size! Sir, You Are Being Hunted is focused on dynamic AI combat across an open world. We want encounters to occur naturally rather than being scripted. The heart of the project is therefore based around our &#8230; <a href="http://www.big-robot.com/2012/03/26/poachers-tweedpunk-and-clever-materials/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.big-robot.com/images/12/poacher1.jpg" rel="lightbox[461]"><img src="http://www.big-robot.com/images/12/poacher1s.jpg"></a><br />
<em>Click images for full size!</em></p>
<p>Sir, You Are Being Hunted is focused on dynamic AI combat across an open world. We want encounters to occur naturally rather than being scripted. The heart of the project is therefore based around our robot enemies hunting you, and each other. That means developing some interesting global and local AI behaviour, which Tom will be talking more about later this week. </p>
<p>What you can see in today&#8217;s screenshots is our second AI character, called The Poacher. These are stealthy, ambush-based baddies, who lay in wait for you across the landscape. The Hunters, which we&#8217;ve posted a few screenshots of <a href="http://www.big-robot.com/2012/03/12/and-now-sir-you-are-being-hunted/">previously</a>, are much more active, and pursue you across the landscape, heading to where there has been player activity, to seek you out and take a scalp.</p>
<p><a href="http://www.big-robot.com/images/12/poacher3.jpg" rel="lightbox[461]"><img src="http://www.big-robot.com/images/12/poacher3s.jpg"></a><br />
Of course when robots from different factions meet, there&#8217;s likely to be a fight. The Poachers happily take down tresspassing Hunters if they encroach on their territory. Poachers tend to carry and use traps, which can render their opponents wounded and immobile &#8211; dangerous for an exposed Hunter, or the unwary player. Cunning Hunted players will be able to re-purpose these traps for their own devices. Some Poachers will even carry dynamite &#8211; you know, for fishing and stuff.</p>
<p><a href="http://www.big-robot.com/images/12/poacher2.jpg" rel="lightbox[461]"><img src="http://www.big-robot.com/images/12/poacher2s.jpg"></a><br />
You might notice that some of the objects in these new scenes have different levels of shader detail. This is because we&#8217;re experimenting with some essential tools for world-creation, such as substance textures. You can see that on the wall that the Poacher is shooting over. Rather than creating a final texture, we are able to play with variables and generate vastly different-looking walls by using a single material. This is a technology we&#8217;re hoping to apply to a number of procedural features in our sinister countryside, such as hedgerows and walls.</p>
<p>Finally, we&#8217;ve had a few comments on the &#8220;Steampunk&#8221; nature of our world &#8211; we&#8217;re not entirely happy with that. It is, perhaps, in some ways steampunky, but certainly not Victoriana. There are elements of high modernity &#8211; the laser visors on the Hunters, wind turbines, and so on. If such labels must be applied, we&#8217;d like to appeal for you to use &#8220;TweedPunk&#8221;, &#8220;ToffPunk&#8221;, or &#8220;UncannyChapPunk&#8221;. Thanks!</p>
<p>More soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/03/26/poachers-tweedpunk-and-clever-materials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And Now: Sir, You Are Being Hunted</title>
		<link>http://www.big-robot.com/2012/03/12/and-now-sir-you-are-being-hunted/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=and-now-sir-you-are-being-hunted</link>
		<comments>http://www.big-robot.com/2012/03/12/and-now-sir-you-are-being-hunted/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 14:42:19 +0000</pubDate>
		<dc:creator>rossignol</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Sir You Are Being Hunted]]></category>

		<guid isPermaLink="false">http://www.big-robot.com/?p=442</guid>
		<description><![CDATA[[Click images for a larger version.] Yes, Big Robot is going to make a game featuring robots. It&#8217;s called Sir, You Are Being Hunted, and it taps into a rich seam of tweed-loving British science fiction to conjure a sinister &#8230; <a href="http://www.big-robot.com/2012/03/12/and-now-sir-you-are-being-hunted/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.big-robot.com/images/12/hunted1.jpg" rel="lightbox[442]"><img src="http://www.big-robot.com/images/12/hunted1s.jpg"></a><br />
[Click images for a larger version.]</p>
<p>Yes, Big Robot is going to make a game featuring robots. It&#8217;s called <em>Sir, You Are Being Hunted</em>, and it taps into a rich seam of tweed-loving British science fiction to conjure a sinister reality where artificial gentlemen hunt humans for sport.</p>
<p><a href="http://www.big-robot.com/images/12/hunted2.jpg" rel="lightbox[442]"><img src="http://www.big-robot.com/images/12/hunted2s.jpg"></a><br />
From a development point of view, Hunted is a stepping stone to what we want to do with our procedural-world generation project, Lodestone. The world-building tech for Lodestone is well developed, but actually we wanted to do so much with it that breaking down some of the tasks into entire spin-off games made sense. Hunted, therefore, is an experiment in the kind of intelligence required for robots to hunt each other &#8211; and you &#8211; in a dynamic open world.</p>
<p>Hunted is set in a recognisably British landscape. Its inhabitants are a mockery of the aristocratic country gent and his ecosystem. Robots that ape tea-drinking, poachers that lurk in reed-beds, and red-eyed hounds that patrol the moor: these are the things you will be dealing with as you fight for survival. The game gathers up elements of my favourite things: exploration, AI interaction, survival, robots, hot drinks, and blends them into a rich pixelly pulp. (A &#8220;British indie S.T.A.L.K.E.R.&#8221; might have been something we said in the design meetings&#8230;)</p>
<p>So that&#8217;s Hunted. You can expect tonnes of detailed information on this &#8211; videos, details about the release of it, and so on &#8211; in the coming days. We&#8217;re also going to update this blog with a load of details about how we&#8217;re making this game. Regular development diaries will become a feature, and we hope to give everyone an insight into the process we&#8217;re going through to get this lo-fi indie open-world shooter made.</p>
<p>More soon! But while you wait, have a browse of these pieces of concept art by the wonderfully talented <a href="http://www.frogames.net/">Christophe Canon from Frogames</a>.</p>
<p><a href="http://www.big-robot.com/images/12/hunter_concept.jpg" rel="lightbox[442]"><img src="http://www.big-robot.com/images/12/hunter_concept_s.jpg"></a></p>
<p><a href="http://www.big-robot.com/images/12/poacher_concept.jpg" rel="lightbox[442]"><img src="http://www.big-robot.com/images/12/poacher_concept_s.jpg"></a></p>
<p><a href="http://www.big-robot.com/images/12/guns_concept.jpg" rel="lightbox[442]"><img src="http://www.big-robot.com/images/12/guns_concept_s.jpg"></a></p>
<p><a href="http://www.big-robot.com/images/12/clothes_concept.jpg" rel="lightbox[442]"><img src="http://www.big-robot.com/images/12/clothes_concept_s.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-robot.com/2012/03/12/and-now-sir-you-are-being-hunted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

