<?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-2164301193151191531</id><updated>2012-01-31T01:00:12.250Z</updated><category term='art assets'/><category term='net'/><category term='ai'/><category term='shader'/><category term='development'/><category term='strategy'/><category term='cod'/><category term='environment'/><category term='lightmap'/><category term='demo'/><category term='dijkstra'/><category term='t3d'/><category term='game deconstruction'/><category term='test'/><category term='normals'/><category term='node'/><category term='download'/><category term='start'/><category term='animation'/><category term='textures'/><category term='bsp'/><category term='TGEA'/><category term='video'/><category term='performance'/><category term='drawcalls'/><category term='c++'/><category term='targeting'/><category term='backup'/><category term='mods'/><category term='scripting'/><category term='astar'/><category term='garagegames'/><category term='camera'/><category term='gameplay'/><category term='example'/><category term='tutorial'/><category term='inventory'/><category term='teflon'/><category term='mapping'/><category term='game'/><category term='X-Com'/><category term='pureLight'/><category term='gaming'/><category term='gui'/><category term='call of duty'/><category term='Theora'/><category term='fog of war'/><category term='dx9'/><category term='tactics'/><category term='team'/><category term='pathfinding'/><category term='model'/><category term='content'/><category term='progress'/><title type='text'>YorkshireRifles</title><subtitle type='html'>One bloke, in his bedroom, making computer games</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>66</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3792429419775854742</id><published>2012-01-27T22:03:00.000Z</published><updated>2012-01-27T22:03:20.165Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tactics'/><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='inventory'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='X-Com'/><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='camera'/><category scheme='http://www.blogger.com/atom/ns#' term='fog of war'/><title type='text'>Something That Vaguely Resembles A Game ...</title><content type='html'>&amp;nbsp;Does exactly what it says on the tin! I've got a full blown ... if rather rough ... battle with the Ai on the go - and it all works! Well, apart form the bits when it crashes - but I'll see about fixing that later.&lt;br /&gt;&lt;br /&gt;Well, it took 8 months but it's something that vaguely resembles a game. At least the single battle part is, which will eventually be squeezed into work with the larger &lt;i&gt;Strategy-Flying-Around-Conquering-Stuff&lt;/i&gt; part.&lt;br /&gt;&lt;br /&gt;But anyhoo, it works "just as planned" ... only rougher 'cos there's various parts which need tweaking, changing or just downright fixing.&lt;br /&gt;&lt;br /&gt;I'd struggled for some time ... and pontificated considerably longer ... about how to get the Ai opponent to choose a team of troopers from the available resources of cash, veterans, 6x classes, and class-level based equipment. Initially it seemed easiest to make pre-defined teams with minor variations ... right up to the point when it became clear that this was obviously a rubbish way of doing things.&lt;br /&gt;&lt;br /&gt;After a few morale boosting sessions where I charitably lined the Chancellor of the Exchequer's pockets in a country pub ... and trying to kill a seagull that oblitered the procedurally generated algorithm I was dreaming about, it all became quite clear.&lt;br /&gt;&lt;br /&gt;I created a simple yet awesome system which procedurally generated an opposing force within the constraints of available cash, veterans and class levels based on weather, strategy, objectives and multiple squad tactics. No, I don't remember how ... it was all a dislocated haze, but then for Stevie, &lt;i&gt;Real Life ™&lt;/i&gt; gets fainter and fainter everyday ... &lt;i&gt;(I find it helps if you say that in a strained and high pitched voice)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;So there it is, an Ai team playing to the strengths afforded to them, using one of 8 different tactical approaches. These are fairly regular sort of tactics and are as follows:&lt;br /&gt;&lt;br /&gt;1. Extended Line - sweep down across the battlefield, advancing on the enemy ... it worked in the Great War! Oh wait ... no ... no it didn't ...&lt;br /&gt;2. Frontal Assault - group everyone together and go straight for the enemy ... and hope they don't have to many MGs, mortars or anything else that makes a mess out of a large group in open terrain ...&lt;br /&gt;3. Hook and Line Left - central support group with flanking assault group to the left.&lt;br /&gt;4. Hook and Line Right - guess what this is the mirror image of?&lt;br /&gt;5. Horns of the Buffalo - Zulutastic. Dual assault groups flanking on either side with a central support team.&lt;br /&gt;6. Pincer Movement - twin flanking assault groups.&lt;br /&gt;7. Flank Support - twin flanking support groups engaging at range.&lt;br /&gt;8. Skirmish Line - like extended line but made up of long range support gunners, keeping their distance as much as possible.&lt;br /&gt;&lt;br /&gt;Needless to say, weather and terrain conditions are taken into account when the Ai are choosing tactics and classes. So if it's pitch black and everyone is tripping over each other in the dark, there's a lot more chance of their being assault groups than support groups, and likewise, if it's a barren, featureless desert with visibility stretching for miles/kilometers/leagues/cubics they're not going to create vast numbers of assault squads armed with pistols. This doesn't mean that they won't occassionally pick a less suitable tactic - just that they are a lot less likely. History is filled with plans which "&lt;i&gt;seemed like a good idea at the time&lt;/i&gt;".&lt;br /&gt;&lt;br /&gt;Anyhow, as I mentioned, it plays like a game ... except when it doesn't and crashes. Upgrading to the newest version of the engine might help - still using a customized previous version ...&lt;br /&gt;&lt;br /&gt;I've still got 4 post-it notes full of bugs to sort out. And the player really does require a lot more feedback on what is happening during the enemy turn. At the moment reactive fire works fine, the camera mvoes to the player's trooper being targeted and positions itself so you can see who is shooting at him. Ideally this also needs to track visible enemies whilst they move. Talking of visible enemies, spotting works fine, showing and hiding opponents as they move in and out of sight, so no rotating the camera around an obstacle to try and spot an opponent that your team members cannot see.&lt;br /&gt;&lt;br /&gt;Reactive fire works both ways, requiring the passive team to successfully spot and have enough initiative (based on distance, stance, angle) to either fire first or fire as the opponent moves.&lt;br /&gt;&lt;br /&gt;The Tactical-PlayGUI (as opossed to the StrategicOverview-PlayGui) is the only one which still requires to be overhauled, and there's a definite need to highlight the start of the player's next turn as I've spent a while staring at the screen before realising that I had control of my buttons back.&lt;br /&gt;&lt;br /&gt;I also need some sort of victory/loser screen detailing what your troops did and what sort of performance you had.&lt;br /&gt;&lt;br /&gt;I'd been concerned over a few things and had halved the weight of ammo for fear it was too easy for playesr/Ai to run low. Turns out they don't actually use that much (either human or Ai) in any of my test battles. Also, battles are over a lot quicker than I had expected. Initially I was a bit disturbed at the ease I won my first battle 10-3, but then lost both my next battles 5-10 and 7-10 respectively when the Ai used different tactics and the terrain was less open. With both forces equal it's a fairly nice challenge.&lt;br /&gt;&lt;br /&gt;Gah ... enough typing ... video of a battle, with the boring bits edited out. Features plenty of spotting, reactive fire, some healing and some panicking in both teams over the deaths of team-mates.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Easier to see what the hell is going on in HD but you knew that ...&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="233" src="http://www.youtube.com/embed/hQJzWG0280I" width="400"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Next to do is improve how the Ai decides how to start each turn, which weapon to go with when they have multiples. They already do pretty well when deciding on grenades or bullets. Currently I have the "Meeting Engagement" gametype working pretty well, but also need Assault and Defence. Also tanks/armoured cavalry needed or the Sapper class isn't going to have too much to do with it's specialized explosives. Finish up my save/load solution and eventually cram it all into the strategy part of the game so that the campaign mode works fully. And of course art ... which all comes last after the damn thing works properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3792429419775854742?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3792429419775854742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3792429419775854742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3792429419775854742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3792429419775854742'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2012/01/something-that-vaguely-resembles-game.html' title='Something That Vaguely Resembles A Game ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/hQJzWG0280I/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1288316016927682602</id><published>2011-12-21T03:39:00.000Z</published><updated>2011-12-21T03:39:32.778Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='X-Com'/><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='tactics'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='inventory'/><title type='text'>Data, Data, Data, 28 Items, Multi-Purpose Ammo, Artillery</title><content type='html'>&lt;i&gt;Item data overload! All items finally done, at least the data and how they all work in game - still placeholder models ---&amp;gt; Art is last on the list. Also multi-purpose ammunition, for people who are tied of not being able to use similar bullets in multiple weapons.&lt;/i&gt;&lt;br /&gt;--------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Weapons, items, armour, artillery ... done, finally. Or at least the data and testing for them all it done, if not the final 3D modeled form of them - that's for last on the list of &lt;i&gt;"What Needs To Get Done And In Order To Have Done Everything"&lt;/i&gt;. So everything is still placeholder in the visual department. No pics this time, but cue vids.&lt;br /&gt;&lt;br /&gt;So, here's a quick recap.&lt;br /&gt;&lt;br /&gt;There are 6 classes. &lt;br /&gt;&lt;br /&gt;Each Class has 4 levels of items. &lt;br /&gt;&lt;br /&gt;There's also a "generic" class of 4 items everyone can use without penalty.&lt;br /&gt;&lt;br /&gt;Ammunition of a each caliber can be used in any weapon of that caliber.&lt;br /&gt;&lt;br /&gt;There are booby traps which can be placed before the battle for the enemy to walk into, and thewse can be detected and captured by the Sapper Class.&lt;br /&gt;&lt;br /&gt;Most items are weapons of some form, some are equipment, and some are defensive (like armour).&lt;br /&gt;&lt;br /&gt;Light armour is ... er, light. Heavy armour is ... er not light. Stealth armour is camouflaged. Whilst thinking up various defensive equipment for the classes, I also thought it might be fun to have some "non-conventional". I decided on a certain type of armour, which defended the user not by stopping damage, but by reducing accuracy of the firer by dazzling them. For a visual, I decided on some sort of energy shield, and was drawn to the old WW1 battleship "razzle-dazzle" camouflage schemes - only with a bit more colour in it and a moving pattern.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="233" src="http://www.youtube.com/embed/I54CJj9bxpI" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;Amongst the variety of standard and conventional weapons I thought up a few exotic ones such as a badly spelt "flammenwaffen" - since renamed Flammenwerfer - a lightning gun that fries things - unless they're in a faraday cage ... say totally metal heavy armour ... in which case they don't do any damage at all - various rifle grenades, portable mortars, flamerockets, sniper rifles and machine-guns ... there was also the Railgun, which punches a hole through everything for 200 metres, reducing damage as it goes.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="233" src="http://www.youtube.com/embed/NbkilwsHU6I" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;And artillery, in fact a few different types of artillery, each with different damage, blast radius, accuracy, but also a concussion radius to stun. There are rockets which are all noise and no trousers but scare the hell out of everyone nearby and cause large morale loss and panic. More standard artillery strikes and heavy mortars, guided flame bombs, and also carpet bombing by dirigible.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="233" src="http://www.youtube.com/embed/zAZksg87I0I" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;And for all of this hurty-hurty stuff, I needed a healy-healy system. So aid-kits are dual purpose, healing wounded squad members as you'd expect by increasing health - but also being available to create medivac. I rejigged the damage system so that disabled squad members who are not killed outright will fall wounded and slow bleed to death ... unless you can get someone with an aid-kit to heal them and call in medivac. Eventually they'll be a nice screen for this medivac but right now there isn't. Medivac-ing also boosts everyones morale a little as it's good to see your mates saved to fight another day.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="233" src="http://www.youtube.com/embed/VlB857V0cnE" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;And throw in a shed load of bug fixes and general improvements.&lt;br /&gt;&lt;br /&gt;------------------------------------------&lt;br /&gt;&lt;br /&gt;My original deadline of completion by 1st January 2012 will be missed by a mile - but I'm still vaguely on course for completed gameplay with placeholder art. After a few rewrites that were costly in time, and the occurance of total burnout around October that caused an end to continuous crunch, it's still not a bad effort and should be completed early in the new year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1288316016927682602?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1288316016927682602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1288316016927682602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1288316016927682602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1288316016927682602'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/12/data-data-data-28-items-multi-purpose.html' title='Data, Data, Data, 28 Items, Multi-Purpose Ammo, Artillery'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/I54CJj9bxpI/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1618773211774161926</id><published>2011-11-09T17:41:00.003Z</published><updated>2011-11-09T17:45:31.769Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='X-Com'/><category scheme='http://www.blogger.com/atom/ns#' term='tactics'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><category scheme='http://www.blogger.com/atom/ns#' term='inventory'/><title type='text'>Kitting Up, Deploying Out, Inventorial reFlummoxing</title><content type='html'>Interface for "one-off battle-mode", choosing your squad and tooling them up to the nines. Also a total rewrite of the inventory system ... again.&lt;br /&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;&lt;br /&gt;With the vast majority of the dirigible moving, hex gobbling, Strategy Campaign Mode gamelogic completed, it was back to the Squad Tactical stuff.&lt;br /&gt;&lt;br /&gt;To make testing and debug rather easier I developed the "one-off Battle Mode" to cut out having to go through the Campaign mode to spark a battle. In the final version, the single Battle Mode will be the training mode for the player to familiarize themselves with squad combat, or just if for a quick and casual "get to the actung, baby" mode.&lt;br /&gt;&lt;br /&gt;There are various preferences with this, from squad objectives of clearing the area of the enemy, to defending or assaulting team headquarters ... which will probably end up as being a sort of first to grab the enemy colours wins when I get it sorted out.&lt;br /&gt;&lt;br /&gt;Difficulty controls how much money, veterans, quality of veterans, class based items are available. It works as a balance, "Easier" gives more of the opponent's default ratings to the player, "Harder" strengthens the opponent and reduces what is available to the player.&lt;br /&gt;&lt;br /&gt;There are also options for terrain type and weather conditions, with weather reducing visibility and spotting chances. Weather also acts as a factor to which of the eight offensive strategies the Ai opponent squad will decide to use.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img269.imageshack.us/img269/2510/battlemodeprefs.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 273px;" src="http://img269.imageshack.us/img269/2510/battlemodeprefs.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And of course the player can choose which ever of the six factions to play as.&lt;br /&gt;&lt;br /&gt;This then leads to the "deployment and equipment screen" which is the same before any battle regardless of game mode. Here you can select which veterans, or untested militia troops to deploy, areas where they'll start, and all the equipment and ammunition that they'll be carrying into battle.&lt;br /&gt;&lt;br /&gt;There are six individual classes of squad member - each with four levels of specialized equipment, which in Campaign Mode have to be researched and purchased, and in Single Battle Mode are dependant on the Difficulty Setting. Save for a few highly specialist items, any class can use another's equipment, but they will usually incur some form of penalty. For weapons this is usually a reduction in accuracy, for armour a penalty in the squad member's Action Points. For some very basic items there is no penalty, eg: everyone can throw the Recce's flashbang without penalty as it's used just like a standard grenade.&lt;br /&gt;&lt;br /&gt;This equipment and deployment section brought me round to the terrible task of redesigning the whole inventory system ... again.&lt;br /&gt;&lt;br /&gt;Terrible because apart from it being fairly convoluted and time consuming ... it's also as boring as hell.&lt;br /&gt;&lt;br /&gt;But it does look and work better now, being much more user friendly. Gone are the segregation of weapons, ammo and equipment - now replaced with a scrollable up-down list of everything together. Originally I'd seperated so that you could have weapon and ammo displayed together - but the fact is that you can do that with this method AND show an additional 60% of items with a lot less scrolling involved to get through them all.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img404.imageshack.us/img404/8786/newinventorynov2011.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 272px;" src="http://img404.imageshack.us/img404/8786/newinventorynov2011.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The squad member deploys into the game with the first weapon or item in-hand that was in it's deployment equipment list. And the deployment equipment order is now matched in the in-game inventory.&lt;br /&gt;&lt;br /&gt;I've also prevented live explosives from being picked up. There's a two-fold reason for this; firstly, putting something that is about to explode in your backpack is a &lt;span style="font-style:italic;"&gt;very bad idea&lt;/span&gt; and secondly, I wanted to eliminate the "live grenade relay" that was common in the original X-Com, were you lead scout spotted the enemy, and then the guy furthest away pulled the pin on a frag, and tossed it from one side of the map to the other, along a chain of squad members in a highly unrealistic and rather cheaty manner. This is now a no-no.&lt;br /&gt;&lt;br /&gt;And that's about it for this blog. Next up is sorting out the enemy Ai team to successfully use one of the eight different offensive tactics I've come up with for them, and generally sort out the whole tactical battle system and make sure it works. Also work out a formula to how the Ai opponent decides to deploy and equip it's forces. After that it's integrate it into the campaign mode with team member promotions for successful survivors with extra experience, and adding militia who did well (got a kill and survived) to the core of veterans.&lt;br /&gt;&lt;br /&gt;In the meantime, vidya of the above in action.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="233" src="http://www.youtube.com/embed/7eso8wgPijM" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1618773211774161926?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1618773211774161926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1618773211774161926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1618773211774161926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1618773211774161926'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/11/kitting-up-deploying-out-inventorial.html' title='Kitting Up, Deploying Out, Inventorial reFlummoxing'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/7eso8wgPijM/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5319695124773857512</id><published>2011-10-22T02:13:00.002+01:00</published><updated>2011-10-22T02:15:47.401+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X-Com'/><category scheme='http://www.blogger.com/atom/ns#' term='tactics'/><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='fog of war'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='inventory'/><title type='text'>Fog Of War, Classes, Militia, Deployment, Making It All Work</title><content type='html'>It's been a hectic month, there's been a real ale festival, I watched my local footy team actually win a game - thus breaking the gypsy curse of never seeing the team I'm supporting win - whilst standing in an all seater stadium amongst a crowd with mis-spelt tattoos on their faces and listened to some interesting chanting, often directed at the supporters of the same team in the seating opposite. There was also a mini-heatwave that saw me sat outside at 1am in a t-shirt, wondering how the hell my friend the teacher was surprised to learn that stars were suns ...&lt;br /&gt;&lt;br /&gt;... and I even got some dev-ing done ...&lt;br /&gt;&lt;br /&gt;After finishing off the strategy component of the game, it was time to sort out how to hook up the squad tactical combat into it all. This needed a fair a few things - mainly a squad. So I've devised a "Core Veteran Squad" of troopers who gain experience depending on their mission performance (and continued survival obviously). Any time that there is a battle, the player can deploy a certain number of troops depending on whether attacking/defending, vehicle type in use, terrain type being fought over, whether it's garrisoned, etc, etc.&lt;br /&gt;&lt;br /&gt;The deployed troops can also partly or wholey include members of the "Native Colonial Militia", who, should they do well and survive the battle, can be upgraded to your team of "core veterans" with an assignable class.&lt;br /&gt;&lt;br /&gt;Initially I was thinking of just letting the player hire as many troops as the wanted ... but with the class system it seemed more strategic to limit the number of available veterans and allow a constant supply of militia, who can earn a place in the core team. In the end, I decided that 16 was the best number, thus forcing the player to choose exactly which classes were deemed important and in what ratio. 6 Classes / 16 slots.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img713.imageshack.us/img713/753/hiddenhextest1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img713.imageshack.us/img713/753/hiddenhextest1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;British Dirigible Deep In Unknown Territory Flees The Attentions Of The Austro-Hungarian Empire -Only To Run HeadLong Into The US Republic's Area Of Control.&lt;br /&gt;&lt;br /&gt;Because of the relatively small core number I've also introduced a "saving throw" concept in the tactical battle, where a downed veteran can be saved by a comrade with a aidkit if they get to them within 2 turns, and then call in medevac to evacuate them from the battle. After 2 turns of lying in near death, the unfortunate trooper will finally succumb to their wounds - and you'll need to get a surviving militiaman who's shown a bit of gumption in battle to start a new career as a veteran. Names and initial abilities of Militia are randomized (names depending on factions). Skills are:&lt;br /&gt;Accuracy - shooting, throwing, not missing, etc.&lt;br /&gt;Courage - guts and glory, sussi, determines if they panic, flee, freeze or go nuts when their Moral Fibre drops due to injury, team losses, etc.&lt;br /&gt;Reactions - who shoots first, can they get a shot off before the enemy runs from cover to cover, etc.&lt;br /&gt;Strength - how much they can carry, how far they can throw.&lt;br /&gt;Vision - spotting the enemy, and in the case of Sappers and Recces, spotting booby traps before your whole squad walks into one and vanishes in a big flash.&lt;br /&gt;&lt;br /&gt;I've introduced the "Class Progression System" where the player can buy blueprints of new technology for each of the 6 different squad member classes. This goes in 4 tiers, each tier's research doubles in cost. Whilst most items/weapons can be used by other classes, doing so imparts a penalty. Surviving veterans gain experience which increases rank, and rank increases all attributes with x4 and x2 modifiers on primary and secondary Class based skills. So, here's a quick overview of the Class System:&lt;br /&gt;&lt;br /&gt;Grenadier - (heavy infantry) mighty beefcakes of battle equipped with the large calibre stuff.&lt;br /&gt;Primary - Reactions, Secondary - Strength&lt;br /&gt;Fusilier - (light infantry) More guile than brute force.&lt;br /&gt;Primary - Reactions, Secondary - Accuracy&lt;br /&gt;Gunny - (heavy weapons) BFGs all round for fire support. Weighed down with too much ammo to run when attacked, Gunny has balls of steel - and is more likely to go nuts than any other panic type.&lt;br /&gt;Primary - Strength, Secondary - Courage&lt;br /&gt;Marksman - (sniper) Cool and calm, Marksman's languid pulse allows for accuracy at long range and always goes for the headshot. Marksman has a smooth aiming style and cannot do reaction fire during the enemies turn unlike all other classes.&lt;br /&gt;Primary - Accuracy, Secondary - Vision&lt;br /&gt;Recce - (scout) the guys at the front pointing the enemy out for everyone behind them. Can also spot booby traps at 25% Vision skill to yards/metres. &lt;br /&gt;Primary - Vision, Secondary - Reactions&lt;br /&gt;Sapper - (engineer) removing stuff from Earth with cool explosions, also spotting, laying and disarming booby traps. Is the best bet for tackling tanks/land ships/panzers if I get round to implementing them.&lt;br /&gt;Primary - Strength, Secondary - Vision&lt;br /&gt;&lt;br /&gt;Your chosen team of guys deploy to battle at one of the sides of a square map, going North-South, East-West, etc. In the deployment menu you can decide which area left/centre/right each guy starts at, so you can create little squads from the off.&lt;br /&gt;&lt;br /&gt;The terrain type of the hex being fought over determines the battle terrain, which is then decided by randomly choosing a mission with that terrain type. Weather is again randomized and affects the vision skill. Clear gives full vision, cloudy reduces it to 200 units, stormy 100 units and night just 50. Various weapons have different levels of accuracy, range, damage, shots per attack and reloading time. No point giving everyone long rifles at night when firefights take place at sneezing range.&lt;br /&gt;&lt;br /&gt;And back to the strategy part of the game ...&lt;br /&gt;&lt;br /&gt;The game logic for this is complete. The Ai teams level up and spread out, basing their actions on one of 5 different strategic approaches. If the player's battles are set to automatic, the game plays through completely to the finish.&lt;br /&gt;&lt;br /&gt;I've introduced a "fog of war" element, done over a few US IPAs last night ... nice when things work without too much fixing. The Ai dirigbles in the pic and video are only visible to help me see what they're doing in testing. In-game they'll be hidden unless near territory the player has uncovered.&lt;br /&gt;&lt;br /&gt;Next up:&lt;br /&gt;I've got to sort out the buying of equipment for deploying the squad to battle, and also artillary support.&lt;br /&gt;Come up with a method for the Ai to decide exactly who and what gets deployed for it's part in the battle - 10+ Ai battle tactics are already done.&lt;br /&gt;Maybe ... Come up with a system for deploying a tank / land ship / panzer in the tactical battle.&lt;br /&gt;Maybe ... Cause resources of hexes to dwindle over time ... by 20 turns you can really be bringing in some cash.&lt;br /&gt;Smooth out a few remaining issues between how the strategy and tactical gametypes relate to each other.&lt;br /&gt;&lt;br /&gt;After which, all the gameplay will be done, and I'll be on to replacing all of the placeholder art with the real stuff.&lt;br /&gt;&lt;br /&gt;Vaguely ... still on for something close to resembling a finished ... or at least finalized game by 1st January 2012.&lt;br /&gt;&lt;br /&gt;tl;dr - here's a video. The terrain is blue to show me that it's loaded the urban hex battle type.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="233" src="http://www.youtube.com/embed/XtZVfXP6YLI" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5319695124773857512?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5319695124773857512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5319695124773857512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5319695124773857512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5319695124773857512'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/10/fog-of-war-classes-militia-deployment.html' title='Fog Of War, Classes, Militia, Deployment, Making It All Work'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/XtZVfXP6YLI/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5729520626504499401</id><published>2011-09-14T00:30:00.003+01:00</published><updated>2011-09-14T00:35:54.075+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Strategic Ai Player Logic Finished - Cue 9000 Day BugHunt</title><content type='html'>As a great believer in "attacking the difficult boring stuff now", I'd worked out the gameplay logic required to have my Ai factions work their own strategies in the "strategy" part of the game ... for that is where strategy happens.&lt;br /&gt;&lt;br /&gt;And then it took me 9000 days to reduce the level of embuggeration from &lt;span style="font-style:italic;"&gt;"rather high"&lt;/span&gt; to a mere &lt;span style="font-style:italic;"&gt;"bugger all"&lt;/span&gt; &lt;- I'm from Yorkshire, in England, old England, not the one in America, which though I have no idea what the weather is usually like there, I doubt it gets anything like the amount of drizzle that the original gets ... we use this colloquial terminology a lot, not usual about bugs or bughunting, just life in general.&lt;br /&gt;&lt;br /&gt;But bugs there were.&lt;br /&gt;&lt;br /&gt;9000 days of bughunting ... or over 9000 days of bughunting? Actually it was more like 18 hours a day for 2 weeks of bughunting ... and I made a serious attempt of going through a pack of post-it notes recording them all. Which is how I tend to work.&lt;br /&gt;&lt;br /&gt;Write codeyscriptythings, playtest, record failings on post-it note, rewrite codeyscriptythings, playtest, cross off fixes, concentrate on recurring issues, then rinse, wash, lather, scrub and repeat. &lt;span style="font-style:italic;"&gt;post-it note to self: in future use "imaginary" soap and water for wash/rinsing euphermisms ... also check if euphermism is the word I think it is ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, with bugs fixed and my liver thinking that I've been held hostage away from the pub against my will, let's recap on what actually works.&lt;br /&gt;&lt;br /&gt;In the "Main Campaign", the Player has a team/faction/nation, with Ai taking the other 5. The idea is to carve out your little empire, bringing in cash with resources, that are mined by the native population, that are fed with agriculture. More natives than food = unhappy workers, less work, less income, and eventually sedition of urban territories.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img21.imageshack.us/img21/2043/badmanagement.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img21.imageshack.us/img21/2043/badmanagement.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Poor management of colonial types leads to dastardly acts of piracy and sedition! Just ask any American ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Each faction expands through territories, creating new garrisons to keep down unhappy natives, as well as helping to reinforce nearby areas with additional troops. If a Faction loses all of it's Garrisons, it's booted off the map and the remainder fight over the spoils.&lt;br /&gt;&lt;br /&gt;Each faction can also save up for more dirigibles ... or can simply capture one by winning some aerial combat, thus depriving the enemy of either the cost of a new one, or the time it takes for their sponsor nation the send a replacement (5 turns). No dirigible means no "fast action response" to attack, and they're left to defend their territories with just native militias. And with no dirigible available to zip around the colonies and keep the locals in check, the natives slack off from the jobs and income halves.&lt;br /&gt;&lt;br /&gt;Each of the Ai Factions has their own strategy randomized at the beginning, to determine how that Faction will play the game, ranging from aggresively expanding and looking for enemies to strike, to carefully protecting their territories, keeping natives happy for a steady stream of income and building up their defenses.&lt;br /&gt;&lt;br /&gt;Currently the battles are all sorted out by a simple "resistance table" roll ... played Call of Cthulhu/ StormBringer/Runequest with pen/paper? Then you know what I mean ... [/oh_teh_nostalgia] ... for the moment it's based on simple troop numbers versus population with garrison modifiers, but eventually it'll be expanded to choose veteran troops from the sponsor faction/nation, local militias (for cheap and cheerful) and fought out over the tactical squad-tactics part of the game.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Tactical squad-tactics ... because Take That Grammar!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyhow, that's to come next ... when things get bafflingly complicated and I have to do stuff with "files" and variables that I'm never attempted before ...&lt;br /&gt;&lt;br /&gt;In the meantime ... video ... not very exciting video ... as it just shows the turns being taken by Player and Ai and all of the battles are resolved by hidden dice throws ... but you get the gist ...&lt;br /&gt;&lt;br /&gt;... in fact it was so "not very exciting" that for the first time ever I attempted to replace the audio on the YouTube video ... &lt;span style="font-style:italic;"&gt;I don't know what I chose, but the first 15 seconds sounds like something a Windows platform developer listens to ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="255" src="http://www.youtube.com/embed/SCGJednFK2U" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5729520626504499401?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5729520626504499401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5729520626504499401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5729520626504499401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5729520626504499401'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/09/strategic-ai-player-logic-finished-cue.html' title='Strategic Ai Player Logic Finished - Cue 9000 Day BugHunt'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/SCGJednFK2U/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-9208995387683684036</id><published>2011-08-25T01:24:00.003+01:00</published><updated>2011-08-25T01:29:24.731+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X-Com'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='astar'/><title type='text'>Strategy Gameplay  CivLite Hexagon Hell also Dirigibles</title><content type='html'>&lt;span style="font-style:italic;"&gt;Does exactly what it says in the title ... I think ... Behold the wonder of hexagons! Behold not very good mathematics for procedural placement. Also behold Dirigibles. Have you beheld? Then good.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The idea is &lt;span style="font-style:italic;"&gt;StrategyLite-TacticalHeavy&lt;/span&gt; ... to be honest I just made that up right at this moment - which is probably exactly how marketing departments work in huge, lumbering, faceless multinational corporations ... maybe I'll patent it ... and then sue everyone who ever used a hyphen ...&lt;br /&gt;&lt;br /&gt;I'd ummed and ahhed about how to make a world map for the strategy campaign section of my squad tactics game idea - and after about 30 seconds decided on hexagon models, mostly due to them having less sides than octogon models. I proceeded to quickly make said models because I had nothing hexagonal to use as a placeholder. Then a slapped a load of them together to see how it looked.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="255" src="http://www.youtube.com/embed/NX0EtVPn7v8" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Each area is supposed to give a random amount of resources (agriculture, population, natural resources) based on geographical type of Temperate, Urban, Mountainous, Arid and Jungle. It works in a simple rock/paper/scissors (don't run with the last one!), so agriculture feeds population, population gathers natural resources, natural resources = spending money from your chosen Regime.&lt;br /&gt;&lt;br /&gt;Obviously having a manually placed campaign world isn't terribly interesting for replayability, so I came up with a half-arsed procedural generation scheme, which after much bafflement of mathematics and only one cup of tea since stumbling out of bed, gave me a fully randomized giant hexagon of hexagons. With it being a giant hexagon I thus had 6 corners to place the starting garrisons of each of the 6 factions/regimes I'd decided on.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img803.imageshack.us/img803/2716/airship2011aug.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img803.imageshack.us/img803/2716/airship2011aug.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Majestic ... and that's just the Ambient Occlusion map! Textures to come ...&lt;br /&gt;&lt;br /&gt;I knocked out the basic idea of gameplay for this section, with the player's vehicle moving around in a Pac-Manesque manner, eating up unoccupied groups of hexagons, and slapping his sponsor's flag on it. The idea is that when the avatar hits a blank hex, it lays claim to all free hexes that are touching. Eventually they'll come across a hex which is occupied by a rival faction or get raided by dastardly zeppelin pirates, and then it's combat in the squad tactial gameplay bit. Troop numbers for defenders will depend on the population of the hex under attack, and bonus troops if it's in protective range of a dirigible or garrison. The attacking troop numbers will depend on what type of dirigible is attacking the area. Rinse and repeat until each Regime has had all of it's garrisons blown-to-buggeration and only one Faction is left.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="255" src="http://www.youtube.com/embed/ZB6Aw91nPpY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Still a fair bit to finalize, I've got to sort out various Ai strategies for this gametype, the whole cash flow thing, creating new garrisons (game over if you lose them all!), and obviously some save system is rather neccessary. Also I need to work out the ins-and-outs of moving from the strategy zone to the tactical zone and back again, with the score, character losses, promotions, etc.&lt;br /&gt;&lt;br /&gt;And of course all of the finalized art for this ...&lt;br /&gt;&lt;br /&gt;In other news, back to the tactical zone for a moment as I decided it would be fun to have secondary explosions. So if any cache of weapons/ammo that's been dropped has an explosive (eg: grenade) in it, and then it gets caught in a blast - it'll go bang too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="255" src="http://www.youtube.com/embed/B81JJ1fNL3A" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the end, I'm sure it'll all be ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.imgur.com/U7Fod.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 90px;" src="http://i.imgur.com/U7Fod.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-9208995387683684036?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/9208995387683684036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=9208995387683684036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/9208995387683684036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/9208995387683684036'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/08/strategy-gameplay-civlite-hexagon-hell.html' title='Strategy Gameplay  CivLite Hexagon Hell also Dirigibles'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/NX0EtVPn7v8/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6307691356837173353</id><published>2011-07-17T03:38:00.002+01:00</published><updated>2011-07-17T03:42:34.503+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X-Com'/><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='inventory'/><title type='text'>TorqueTactics: Magnets! How Do They Work?! I Mean Inventories ...</title><content type='html'>&lt;span style="font-style:italic;"&gt;Fuuuuu --- Magnets!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;TorqueTactics/Torque X-Com Style GamePlay Month 2:&lt;br /&gt;&lt;br /&gt;So I sorted out a custom inventory system ... eventually ...&lt;br /&gt;&lt;br /&gt;Not wanting a gazillion items spilling out and rolling around the game-world, I decided on a simple system &lt;span style="font-style:italic;"&gt;(it wasn't)&lt;/span&gt;. I'd have 3 item types that could be scrolled through back and forth - weapons (guns! etc), ammunition (bullets! etc), items (Hankerchief! etc), and this would be mimicked in the "dropped item cache" which is a bag full of whatever got dropped.&lt;br /&gt;&lt;br /&gt;Caching dropped items at a location obviously prevents having to render all of them together, especially useful when ammunition was divided into 5 round stripper clips and a dead team member could drop an imperial tonne of them the moment they left this mortal coil.&lt;br /&gt;&lt;br /&gt;So that's 3 arrays of objects for the playerObject's internal inventory, and another 3 for whatever has been dropped (if anything) at that location. And then there are another 3 options that you can do, pickup, drop and use ... somehow it just seemed like more than the 27 possibilities that it was ...&lt;br /&gt;&lt;br /&gt;And boy did it take some bughunting to get everything working within those 27 combinations ... I promptly massacred a pack of post-it notes ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img39.imageshack.us/img39/6556/inventory2011jul.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img39.imageshack.us/img39/6556/inventory2011jul.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've also got a system of attributes for each little in-game chap which affects various gameplay parameters. Strength is the important one when it comes to lugging stuff around and off-setting your aquired encumberance. (though in the above pic, that guy ain't going anywhere!) When encumberance exceeds strength it'll start to eat into your available action points.&lt;br /&gt;&lt;br /&gt;"Throw" button isn't currently sorted out as it's going to use the same equation as hurling grenades. Everything visible is placeholder artwise for the time being. Everything else in the inventory works as expected and the big missing preview will be an image of the "Class" of the team member rather than individual portraits cos that'd just be nuts considering how fast you can go through fellas when your tactics all go wrong ...&lt;br /&gt;&lt;br /&gt;Pior to this little hiccup, I was hoping for inventory completion in just one week &lt;span style="font-style:italic;"&gt;(lol, yeah right)&lt;/span&gt;, it's taken about 17 days ... including a few go slow days where I went to the pub for a couple of &lt;span style="font-style:italic;"&gt;small ales&lt;/span&gt; and a sit in the sun to top up my vitamin B or F levels or whatever the hell solar radiation gives out that's good for you ...&lt;br /&gt;&lt;br /&gt;Anyhoo, back on track for July - the remaining of which will be spent sorting out the Ai ClientPlayer/commander and turning the enemy squad into some sort of team-based, tactically co-ordinated entity capable of using different strategies dependant on mission objective, battlefield conditions, weapons available, etc, etc.&lt;br /&gt;&lt;br /&gt;As the Ai are also going to be using this custom inventory system, it was important to get it functioning.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="257" src="http://www.youtube.com/embed/AnjprADaXbU" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Fuuuu - magnets! Why are they so hard to debug!?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6307691356837173353?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6307691356837173353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6307691356837173353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6307691356837173353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6307691356837173353'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/07/torquetactics-magnets-how-do-they-work.html' title='TorqueTactics: Magnets! How Do They Work?! I Mean Inventories ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/AnjprADaXbU/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6536570427962239937</id><published>2011-06-28T17:25:00.003+01:00</published><updated>2011-06-28T17:33:32.282+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tactics'/><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>TorqueTactics: X-Com T3D - Go Project 2! Month ONE</title><content type='html'>&lt;span style="font-style:italic;"&gt;Rudi Unger has Panicked&lt;br /&gt;Astra Petrov has Panicked&lt;br /&gt;Stefan Faeber has Panicked&lt;br /&gt;Sumi Iwasaki has gone Beserk&lt;br /&gt;Fuuuuuuuu-&lt;br /&gt;&lt;br /&gt;[nostalgia]Great days, great days ... [/nostalgia]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So 28 days after starting bang on the 1st of June, we ... that's the &lt;span style="font-style:italic;"&gt;Royal "we"&lt;/span&gt; ... have got the basic gameplay of Project 2 (the "speed" project ... &lt;span style="font-style:italic;"&gt;allegedly&lt;/span&gt;) sorted out.&lt;br /&gt;&lt;br /&gt;What we've got:&lt;br /&gt;&lt;br /&gt;Turnbased squad tactics gameplay, somewhat in the vein of &lt;a href="http://en.wikipedia.org/wiki/Laser_Squad"&gt;Laser Squad&lt;/a&gt; and the &lt;a href="http://en.wikipedia.org/wiki/UFO:_Enemy_Unknown"&gt;original X-Coms&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Individual attributes for all team/hostile members, such as vision, accuracy, reactions, morale fibre, etc. Also rank which will be dependant on personal experience throughout multiple missions. Health never goes up, being more experienced does not make you any less susceptible to bullets ...&lt;br /&gt;&lt;br /&gt;Vision: For spotting targets and is based on a whole host of variables from angle to range. Reactions are for who gets initiative and thus has the opportunity to shoot first.&lt;br /&gt;&lt;br /&gt;Morale Fibre: Losing team members or getting wounded drops morale, which may cause a sudden outburst of unreasonableness brought on by a "Lack of Moral Fibre" and the team-member going &lt;span style="font-style:italic;"&gt;LMF&lt;/span&gt;, which could result in them panicking and fleeing, freezing up in shock, or going nuts and blazing away at - hopefully, but not neccessarily - the enemy.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img88.imageshack.us/img88/412/ttmonth1a2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img88.imageshack.us/img88/412/ttmonth1a2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Attributes get a bonus based on Class, with each Class having different Primary and Secondary skills. For example: Marksman Class has Accuracy (for shooting) as the Primary Skill and Vision (for spotting targets) as the Secondary Skill. Gunner Class has Strength for Primary (for carrying the BFG and all the ammo) and Bravery for Secondary (machine-gunners don't bottle it and run!).&lt;br /&gt;&lt;br /&gt;Individual Tactic For That Turn: Each team-member can choose their tactic for that turn, this is between "Cautious", "Standard" and "Charge!". "Cautious" tactic puts them in a crouch (smaller target) and gives them better spotting and accuracy bonuses whilst reducing movement speed. "Charge!" tactic doubles movement speed and gives the enemy less chance to fire at them, but reduces vision, reactions and hardest hit is accuracy (difficult to aim when you're bouncing around in a sprint). Most useful for crossing open ground quickly and storming into an enemy position for point-blank attacks after they've had their fire drawn by other team members.&lt;br /&gt;&lt;br /&gt;Classes also affect usage of equipment and weaponry. A Recce Class (scout) is going to have negative modifiers when using Gunner Class weapons, Sapper Class will be the only one to plant mines (hidden from opponent view until &lt;span style="font-style:italic;"&gt;oh-dear-they-stepped-on-it-bang&lt;/span&gt;) and Sappers and Recces will be the only Classes capable of spotting enemy mines (with Sappers able to disarm them and then reuse them).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've been reusing the map from the &lt;a href="http://www.garagegames.com/community/resources/view/20995"&gt;Torque Valkyria Chronicles GameStyle Tutorial&lt;/a&gt; for the time being, and everything artwise is a stock placeholder.&lt;br /&gt;&lt;br /&gt;And after copious "test as you go with echoes and HudMessages EVERYWHERE" I ironed out the bugs, fixed the broken loops, stopped the crashes and am pretty pleased with the result of "Month ONE".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img841.imageshack.us/img841/1091/ttmonth1a1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img841.imageshack.us/img841/1091/ttmonth1a1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Which brings us to Month TWO (even though I've still a few days of June left).&lt;br /&gt;&lt;br /&gt;Month TWO will mostly involve creating an inventory system for team-members, with carry capacity based on individual strength with negative modifiers to energy/action points for going over the personal limit. Each item of equipment will require a weight variable.&lt;br /&gt;&lt;br /&gt;I'll need firstAid kits and also some sort of "wound monitor", as well as the ability to "medivac" fallen team-members. Get to them and apply firstaid within 2 turns and they get medivaced, any longer or if they're wounded whilst down, then they've had it for good.&lt;br /&gt;&lt;br /&gt;Flesh out more of the Class based system with variable equipment, abilities. &lt;br /&gt;&lt;br /&gt;Sort out pathfinding and Ai squad tactics based on mission objectives (assault/defend, advance/delay, meeting engagement, raid). Ideally the Ai player/commander would have a range of stock tactics that they could use dependant on terrain, weather, squad strength, splitting squad into smaller sections for pincer movements etc, preferable tactics based on opponent faction (more on factions later).&lt;br /&gt;&lt;br /&gt;Sort out a better "final score/mission over" GUI which details team performance, casualties, individual performance, mentions in dispatches, awards, experience, promotions, etc.&lt;br /&gt;&lt;br /&gt;If I get time start the "Cavalry" Class of Lancer, Huzzar, Dragoon and get some tanks on the go. Create an armour penetration system, with mobility, gun and crew kills.&lt;br /&gt;&lt;br /&gt;And finally it tested in action, with a small "experienced" 3-man squad, against multiple small squads of "lesser enemies"&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="257" src="http://www.youtube.com/embed/m2gc0o5E7LI" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6536570427962239937?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6536570427962239937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6536570427962239937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6536570427962239937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6536570427962239937'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/06/torquetactics-x-com-t3d-go-project-2.html' title='TorqueTactics: X-Com T3D - Go Project 2! Month ONE'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/m2gc0o5E7LI/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8098676264292709517</id><published>2011-05-30T05:27:00.007+01:00</published><updated>2011-05-30T06:20:34.879+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><title type='text'>Dubious Demo 2.1 Released! Vow of Sobriety Ends!</title><content type='html'>&lt;span style="font-style:italic;"&gt;Dubious Demo 2.1 is out! My vow of sobriety is over ... but it's 4am and there's no liquor in the house ... this is what happens when you don't plan ahead ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;... WINNING ... TIGERBLOOD ...&lt;/span&gt;&lt;br /&gt;... but enough about &lt;a href="http://url=www.garagegames.com/account/profile/7715"&gt;Omroth&lt;/a&gt; and &lt;a href="http://www.frozensynapse.com"&gt;Frozen Synapse&lt;/a&gt; ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Dubious Demo 2.1 is released!&lt;/span&gt; Finally! And considering it was 2 years between my first and second demos, this one has been a mere 6 months.&lt;br /&gt;&lt;br /&gt;So, whilst you twiddle your thumbs - perhaps as an Indy Dev waiting for the release of Torque3D 1.1 Final (and the opening up of a new bug forum for it :P ), and if you can pull yourself away from &lt;a href="http://www.frozensynapse.com"&gt;Frozen Synapse&lt;/a&gt; for a moment, have a little go on Stevie's new demo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 375px; height: 734px;" src="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It's had quite an overhaul, new info sections on the GUIs, an intro system, the start of the Narrative Campaign mode featuring level 1 single player scripted level. This has a checkpoint system for saves in-game (not to an external file, gotta work that out yet) so you'll respawn on death at the last checkpoint, and all static pickup items will also respawn to help you out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PLOT!&lt;/span&gt; &lt;span style="font-style:italic;"&gt;Not just the sound of a pig diving into mud ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's also got a vague narrative to the action some meaning ... you probably don't need meaning to blow aliens to bits ... but nonetheless it has a world beyond shooting to ground the action. Cue cutscenes! Some are player driven with next/back buttons, some are automated to music, these have countdowns telling you how long you have to wait ... all have skip buttons. Nothing worse than not knowing how long a cutscene is gonna take ... except for not being able to skip it!&lt;br /&gt;&lt;br /&gt;And now there are 2 levels to play through on the randomized battle mode, and now you've a proper enemy - "The Thing From Ur-anus" ... hordes of nasty little alien beasties desperate to stick the tentacles where you don't want tentacles sticking ... &lt;span style="font-style:italic;"&gt;shudders&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc01.deviantart.net/fs71/f/2011/149/c/0/indy_game_comic_joke_by_ackers-d3hkmho.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 481px;" src="http://fc01.deviantart.net/fs71/f/2011/149/c/0/indy_game_comic_joke_by_ackers-d3hkmho.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;And of course my perchant for jokes ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There's flares, airstrikes, and loads more "stuff". Catchick gets joined by the East Riding of Yorkshire Constabulary, and 3 types of seriously unfriendly alien menace over 2 different, huge levels, 1 narrative campaign mode and 2 randomized battle modes featuring 6 different gameplay mode/styles.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://torque.abigholeintheweb.com/public_system/useruploads/Optimistic_Indy_Dev.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 360px; height: 360px;" src="http://torque.abigholeintheweb.com/public_system/useruploads/Optimistic_Indy_Dev.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyhow, it's in the same place and has the same name as before - &lt;a href="http://yorks.deta.in"&gt;yorks.deta.in&lt;/a&gt; , weighs in at 170mb download - just click the picture of CatChick and read the info on installing (best not to install to program files as I've not sorted the UAC out yet). &lt;br /&gt;&lt;br /&gt;And if you're really lazy - here's the direct download: &lt;a href="http://yorks.deta.in/download/YR_demo2_setup.exe"&gt;http://yorks.deta.in/download/YR_demo2_setup.exe&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Many thanks to &lt;a href="http://www.garagegames.com/account/profile/45142"&gt;Admiral Akba... er ... Ronny&lt;/a&gt; for the webspace and bandwidth. :)&lt;br /&gt;&lt;br /&gt;Anyhow, this demo gives off a much better "feel" of how I want things to be and a general direction that I am aiming for.&lt;br /&gt;&lt;br /&gt;And that's enough rambling ...&lt;br /&gt;&lt;br /&gt;Here's some action showing the 2 main set-piece areas of the scripted Campaign Mode (level 1). Look at that tracer fly!&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="257" src="http://www.youtube.com/embed/KFFE9DIvbeg" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8098676264292709517?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8098676264292709517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8098676264292709517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8098676264292709517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8098676264292709517'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/05/dubious-demo-21-released-vow-of.html' title='Dubious Demo 2.1 Released! Vow of Sobriety Ends!'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/KFFE9DIvbeg/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-53832459198144395</id><published>2011-05-14T02:12:00.003+01:00</published><updated>2011-05-14T02:21:04.342+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='garagegames'/><title type='text'>Move Rock - Circumnavigate Rock - Go Off On Tangent</title><content type='html'>Those pesky rocks eh? We all have our rock ... some of these rocks might even be real rocks ... but for most of us it's a metaphycisal rock ... or at least it's not real anyhow.&lt;br /&gt;&lt;br /&gt;Okay ... enough about rocks, real or imaginery.&lt;br /&gt;&lt;br /&gt;Game development is a bit like a Japanese RPG - everyone is slightly squashed and absurdly cute ... no wait ... that's not right! There's a lot of GRINDING and leveling up can get to be a real pain in the &lt;span style="font-style:italic;"&gt;derriere&lt;/span&gt;.  Everyone gets burned out after a while, especially when your on an "all hours the Great Magnet sends" routine. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://torque.abigholeintheweb.com/public_system/useruploads/Optimistic_Indy_Dev.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 360px; height: 360px;" src="http://torque.abigholeintheweb.com/public_system/useruploads/Optimistic_Indy_Dev.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;It's even worse if you're making an MMO!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So rather than spend ALL week down the pub or ALL my time reading mildly interesting but mostly inane Wikipedia articles about what someone I've never heard of was rumoured to have done on a particular date in the 17th Century, I decided to have a look at the &lt;a href="http://docs.garagegames.com/torque-3d/official/index.html?content/documentation/Scripting/Advanced/RTSPrototype.html"&gt;RTSprotoype information in the stock documentation&lt;/a&gt; and see how the camera system and screen-to-terrain input worked - two things which I didn't know anything about.&lt;br /&gt;&lt;br /&gt;And from there I decided to build another Tutorial series, detailing how to create a 3rd person, turnbased, squad tactics/action hybrid gametype which follows the gameplay style of "Valkyria Chronicles" ... which I've never actually played, but have watched the whole game streamed. Originally I was thinking of writing a Tutorial for full turnbased tactical game but thought that Valkyira Chronicles" mix of turns and action was quite novel.&lt;br /&gt;&lt;br /&gt;The whole tutorial is complete in theGarageGames  Resources Section &lt;a href="http://www.garagegames.com/community/resources/view/20995"&gt;here&lt;/a&gt; and also in the &lt;a href="http://tdn.garagegames.com/wiki/Torque3D"&gt;T3D Tutorials Section of TDN&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And here's a video of what it looks like:&lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" height="257" src="http://www.youtube.com/embed/4aokwq6BV2o" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, the next time you hear somebody say that :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Torque can only make Tribes style FPS games&lt;/blockquote&gt;&lt;br /&gt;Link them with that.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 375px; height: 734px;" src="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Oh hi, Catchick ... who still doesn't have a real name and maybe will always be known by what a certain Mr.Kiss first refered to her as ...&lt;br /&gt;&lt;br /&gt;... so back to getting this demo out ... which I could've finished a  month ago if I hadn't been looking for something else to do instead ... cue pub and wikipedia. The demo itself is nearly finished, it's &lt;span style="font-style:italic;"&gt;"that close"&lt;/span&gt; - but you cannot see me holding my thumb and finger a little way apart to demonstrate, so you'll have to take my word that it's about four inches or ten centimeters in &lt;span style="font-style:italic;"&gt;new money&lt;/span&gt;. And the demo is going to get finished and then released.&lt;br /&gt;&lt;br /&gt;It's been a long time and a shed load of work involving a shed load of assets, but that's kinda what a FPS narrative campaign is about, and because of this I've also been thinking of "procedural content" more. In my &lt;a href="http://www.garagegames.com/account/profile/101767"&gt;GarageGames profile&lt;/a&gt; it reads:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;One Bloke ... In His Bedroom ... Trying To Make Computer Games ... eventually ...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;... Trying To Make Computer Games ... eventually ...&lt;/span&gt; was kinda in there as a joke about how long it takes to actually complete anything, but someday I'd like to edit it to read &lt;span style="font-style:italic;"&gt;... Making Computer Games&lt;/span&gt;. So to that aim, post next demo release, FPS project is going on the back burner, and an old skool (I hate that phrase!) turnbased, tactics game featuring an entirely procedurally driven campaign system will come to the fore with the intention of shipping before the year is out - in other words, six months. I did previously moot the idea in a &lt;a href="http://yorkshirerifles.blogspot.com/2011/01/post-demo-another-year-where-do-they.html"&gt;previous blog&lt;/a&gt; about an X-Com style game idea I had, and my recent "Valkyria Chronicles" style game Tutorial gave a rough proof of concept for the combat/gameplay control system.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://torque.abigholeintheweb.com/public_system/useruploads/Optimistic_Indy_Dev.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 360px; height: 360px;" src="http://torque.abigholeintheweb.com/public_system/useruploads/Optimistic_Indy_Dev.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It'll still be massive - I just won't have to script every single fart an Ai makes ... but first, finish off Dubious Demo 2.1, cos this time, it's got the start of a Narrative Campaign ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-53832459198144395?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/53832459198144395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=53832459198144395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/53832459198144395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/53832459198144395'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/05/move-rock-circumnavigate-rock-go-off-on.html' title='Move Rock - Circumnavigate Rock - Go Off On Tangent'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/4aokwq6BV2o/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-323774493565866819</id><published>2011-03-23T19:45:00.005Z</published><updated>2011-03-23T23:57:58.898Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='drawcalls'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><title type='text'>Death of Drawcalls - Birth of Cutscenes, also Flares, Checkpoints</title><content type='html'>First up, after years of spamming the site with jokes and the occaissional helpful post, I joined the hallowed ranks of the &lt;span style="font-style:italic;"&gt;Titans&lt;/span&gt;, striding the earth with inflated ego and a pair of socks pushed down the front of their pants ...&lt;br /&gt;&lt;br /&gt;... that's the GarageGames Associate program to normal folks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.wikia.com/superman/images/6/60/NonZodUrsa.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://images.wikia.com/superman/images/6/60/NonZodUrsa.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Steve joins the other Associates for hor d'oeuvres at their Fortress of Perpetual GrimDark&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, on to drawcalls ... and ... oh wait ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 375px; height: 734px;" src="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;That's better ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, back to them drawcalls. I've a vague recollection of mentioning the damn things before in about a &lt;span style="font-style:italic;"&gt;gazzillion&lt;/span&gt; blogs, but I'm always on the lookout for screwing every last bit of performance out of the engine. I'd been looking at my last demo and wondering if I could amalgamate more of the textures on the buildings. There's a lot of &lt;span style="font-style:italic;"&gt;tiling&lt;/span&gt; going on with them ... so I decided to try a few experiments in reducing the sizes and adding more sections on to a single image. There was obviously going to be a fair bit of a loss in detail quality, especially close up - but as my work has obviously never been about heavy psuedo-realism, I figured I'd be able to live with it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img715.imageshack.us/img715/1567/oldnewmegamap.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 440px;" src="http://img715.imageshack.us/img715/1567/oldnewmegamap.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Original prop building at the top (5x 512 tileable textures), new single 1024 texture at the bottom.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And live with it I can. I still need up to 4 meshes for an enterable building (exterior, lightmapped interior, lightmapped props, and transparent windows). But for "prop" buildings I managed to get away with a single 1024 texture. I wasn't always able to get a mesh into a single drawcall, occaissionally requiring more, but over all my worst saving of drawcalls was 50% and my best 80% for enterable, lightmapped buildings. All my prop buildings had their drawcalls reduced to 1 from around 5. I also decided to cut out a lower LOD and suffer a few more polys at mid-range now that there's less drawcalls.&lt;br /&gt;&lt;br /&gt;I'd also tried the same thing with my many road sections - but visually they really seemed to suffer in a much more noticeable way. So I decided to make a "supermesh" roadsystem which promptly truncated because I'd turned all the warnings of in Blender ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2514/4167368235_ec73079e63_z.jpg?zz=1"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://farm3.static.flickr.com/2514/4167368235_ec73079e63_z.jpg?zz=1" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So after splitting the new supermesh up a bit I'd added 130K polys to the scene for the loss of a poxy 31 drawcalls and no performance improvement with some dodgy shadowing along the now more open meshes ... which wasn't really win ... and promptly reversed the roads to how they were.&lt;br /&gt;&lt;br /&gt;After seeing Brian Mayberry have lots of &lt;a href="http://www.garagegames.com/community/blogs/view/20713"&gt;fun with glowsticks&lt;/a&gt; - I decided on more function creep and created flares for my player. I'd wanted to avoid a torch (US: flashlight) as it's a bit obvious and always availalbe in a HL2 type manner --- nice &lt;a href="http://www.garagegames.com/community/resources/view/20898"&gt;flashlight resource&lt;/a&gt; though CSMP. The flares are actually quite useful as some of my levels are intending to be "dark" - in fact Level 1 corridor crawl is fairly dark - and I've hidden pickups in various dark corners.&lt;br /&gt;&lt;br /&gt;Which actually brings me to Level 1 of my Campaign - which is about done, just a bit more drawing to do for plot devices., but all the action is scripted and tested and tweaked and retested. There's 2 routes through it, it's got a nice ebb-and-flow of action, from scary melee based monsters creeping about in the dark, to intense, open firefights and back again.&lt;br /&gt;&lt;br /&gt;My single player narrative campaign mode did throw up a few new issues. I created a checkpoint system so that a deceased player didn't have to restart at the beginning ... which would be fairly annoying as it takes a good 30 minutes to get through the level regardless of which path you take, and you can crossover between them in a few parts. My checkpoint respawning threw up another problem of finite pickups. Yes the dead Ai drop ammo, grenades, etc - but if you're already bulletless then it's kinda hard to get at a whopping great big alien tooled up to the nines with an automatic weapon from 100 units away when you have a melee ranged cricket bat. So I had all the "static" pickups respawn with the player, via a new permanent field that I added to the code (I'm still slowly chipping away at the cpp before getting around to making a full frontal assault on programming at a later date -- I did try to create a custom "thin" version of shapebase but it didn't go well).&lt;br /&gt;&lt;br /&gt;All in all it works quite nicely, the extra ammo helps if the player is finding it tough. The player respawns into the continuing game rather than a reloaded one, so if you've killed half the bad guys at a position before being sent beyond the mortal coil yourself, you only have the remainder to get past. I've still to sort out a full "external" save system for campaign progress or restarting a game half way through.&lt;br /&gt;&lt;br /&gt;And so on to cutscenes - or really player controllable in-game comics. There's next/back buttons so that the player can flick through triggered plot scene. These are mostly for story, my jokes, and occaisional hints/tips. The story boards and in-game comics  are there to "complement" the gameplay - but there's a big old "Skip" button if the player would rather just get back to the action without flicking through them all.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img690.imageshack.us/img690/2280/gamejoke1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img690.imageshack.us/img690/2280/gamejoke1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Never let it be said that I ain't a sucker for dry wit ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other news, I added a visual indicator of the number of player lives remaining in the "random battle" mode (3 lives for each area - previously you had to read the info to know this and then keep count), and will also add this to a selectable "challenge" mode for the campaign levels. Eventually I'll figure out some sort of scoring system for all modes as well - not particularly important in campaign, but it takes on more significance in "random battles" and any possible, future co-op mode.&lt;br /&gt;&lt;br /&gt;Anyhoo - vidya! Here's the comicbook and flares in action ...&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" width="400" height="255" src="http://www.youtube.com/embed/ago2UE3YxVg" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;And here's an older one without them which features a play through of the first 5 minutes of one of the routes through the level.&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" width="400" height="255" src="http://www.youtube.com/embed/18fHcZYCGGA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;I've a few more things to sort out yet, a bit of GUI refaffing for various menus, and finishing off level 1, plus creating a randomized battle mode for that map. And then I'll release a new demo, probably next blog - which will be done when it's ready.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-323774493565866819?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/323774493565866819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=323774493565866819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/323774493565866819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/323774493565866819'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/03/death-of-drawcalls-birth-of-cutscenes.html' title='Death of Drawcalls - Birth of Cutscenes, also Flares, Checkpoints'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/ago2UE3YxVg/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4497409398868090024</id><published>2011-02-17T02:23:00.005Z</published><updated>2011-02-17T02:44:14.425Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='garagegames'/><title type='text'>Creates Tutorials, Conquers Resources and TDN, Slays localClientConnection Hax</title><content type='html'>I use the Torque 3D indy game engine, and to be honest it always had a rather steep learning curve. The site is a mine of 10 years of coding and scripting information ... but rather disjointed and scattered, so I decided to make a tutorial on creating a simple, single player first person shooter game to help ease the initial bewilderment. It's the "&lt;a href="http://www.garagegames.com/community/resources/view/20829"&gt;Simple FPS Tutorial&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;On the &lt;a href="http://www.garagegames.com"&gt;Gargegames/Torque3D Indy Game Engine Site&lt;/a&gt;, my profile's &lt;a href="http://www.garagegames.com/community/resources/authorID/101767"&gt;"submitted resources"&lt;/a&gt; count has increased hugely. Admittedly the sheer scale of this expansion ended up being driven by the character and word count associated with the blogs/resources rather than my own quest to fill an entire page and bit of the resources section with my own graven image.&lt;br /&gt;&lt;br /&gt;Resource word count had shrunk somewhat, no doubt down to the new servers and general on-going web flux and reorganization that came about with sinking of IA and the rising of GG. Plus the return of the "backslashes eating posting bug".&lt;br /&gt;&lt;br /&gt;So an inititally planned three part series, which was then extended to a four part series, in the end became a &lt;span style="font-style:italic;"&gt;twelve &lt;/span&gt;part series with a considerable amount of waffle stripped out, ending up being a "just the facts, ma'am" set of 12 tutorials that answer some of the most repeated questions posed by&lt;span style="font-style:italic;"&gt; scum-sucking, whining, noobs&lt;/span&gt; ...&lt;br /&gt;&lt;br /&gt;... er ... I mean ...&lt;br /&gt;&lt;br /&gt;... &lt;span style="font-style:italic;"&gt;valued and respected newcomers to the GarageGames and Torque Community&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So, by the time it takes to publish 4 or 5 &lt;span style="font-style:italic;"&gt;Penny Arcades&lt;/span&gt; - which is about my last remaining tenuous grip on the actual concept of measurable lengths of time - all parts were written, tested, tweaked, refused uploading, seperated into more parts, tweaked, tested and forced down a copper wire. And then converted into a rather dodgy pdf format (having not done that before) using some &lt;a href="http://sourceforge.net/projects/pdfcreator/files"&gt;open source stuff&lt;/a&gt; I found lurking around the net, before finally shoving it into the newly created T3D tutorials section of TDN ... which I also had no idea how to do, and made a right mess of &lt;a href="http://www.garagegames.com/account/profile/45142"&gt;Ronny&lt;/a&gt;'s formating in the Tuts section until he fixed it.&lt;br /&gt;&lt;br /&gt;And so, it is done ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 375px; height: 734px;" src="http://fc00.deviantart.net/fs70/f/2011/047/4/c/mfw_hell_yeah_by_ackers-d39phiu.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;mfw ... minus the ears ... and boobs obviously ... and good teeth, I'm British ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It's a step by step tutorial covering what is required to make a simple single player FPS:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Starting a New Project (also covered in docs but I wanted to start the beginning at the very beginning)&lt;br /&gt;Creating the game area for the level&lt;br /&gt;Making Custom Weapons (Art and Script) files for semi-automatic and full-automatic weapons&lt;br /&gt;Having both weapons share a common file for particle effects and audio&lt;br /&gt;Making a custom Player&lt;br /&gt;Making a custom gametype&lt;br /&gt;Making a custom Ai and associated simplistic combat scripts &lt;---- often asked question by &lt;span style="font-style:italic;"&gt;scumsucking n00-&lt;/span&gt; community newcomers. Previously the answer was both esoteric and hidden in forums/TDN.&lt;br /&gt;Using paths for the custom Ai&lt;br /&gt;Scripting gameplay &lt;---- triggers FTW!&lt;br /&gt;Creating a cool explosion in-game &lt;---- games love explosions!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the end, only three files are ever edited by the user (datablockExec, scriptExec, default.bind), all others are custom created from scratch ... so there is no overwriting of stock data.&lt;br /&gt;&lt;br /&gt;Anyhow, the stock response to new forum posts asking about any of the above should now be: &lt;blockquote&gt;TDN is your friend&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Obviously I had to bang this &lt;span style="font-style:italic;"&gt;"Simple FPS Tutorial (single player)"&lt;/span&gt; out as fast as possible, especially after what &lt;a href="http://url=www.garagegames.com/community/blogs/view/20820"&gt;Renee had been threatening to unleash upon the world&lt;/a&gt;. Simple FPS Tutorial would have appeared to possess a puny manhood post release of such a monster. So first blood to Steve.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://t2.gstatic.com/images?q=tbn:ANd9GcQs-LNCzV-CSH97cNa-UsetpJi-KWiH7FVHsMVoHJ2ViSf3rRlb"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 225px; height: 225px;" src="http://t2.gstatic.com/images?q=tbn:ANd9GcQs-LNCzV-CSH97cNa-UsetpJi-KWiH7FVHsMVoHJ2ViSf3rRlb" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Steve Pictured After Final Tutorial Upload&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And the pdfs (with the accompanying custom files for reference) are availabe on &lt;a href="http://www.garagegames.com/account/profile/9216"&gt;eb&lt;/a&gt;'s &lt;a href="http://torque.abigholeintheweb.com/public_system/useruploads/Simple_FPS_Tutorial_for_T3D.zip"&gt;Unofficial Torque Community Upload System&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Phew!&lt;br /&gt;&lt;br /&gt;So with that done and dusted, and basking in the warm glow of my supernova'd ego, it's time to return to my own project, originally codenamed &lt;span style="font-style:italic;"&gt;"Badger of Doom"&lt;/span&gt; but possibly about to be renamed &lt;span style="font-style:italic;"&gt;"Steve's Folly"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Steve's Badger"&lt;/span&gt; ... no, let's not call it that ... has been somewhat of an organic creation, learned on the job, from the school of hard-knocks, studied in the sweltering miazma of &lt;insert another cliche&gt; here. Suffice to say there's been some hax made over the years, just to get stuff working and not have to think about. It was either that or whine incessantly in the forums. But, &lt;span style="font-style:italic;"&gt;with the stars right&lt;/span&gt; it was the Penny Arcade upload to bring forth the mighty sword of spanking, and begin the momentous task of slaying every custom use of the dreaded ... &lt;br /&gt;&lt;blockquote&gt;%hax = localClientConnection();&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Said mighty task ... ended up not being quite as fearful as first thought, and was wrapped up in time to see Arsenal score the last goal against Barcelona on the telly. There was some amusing moments to the task though, the highlight of which was:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;function serverCmdUnmountWeapon(%client)&lt;br /&gt;{&lt;br /&gt;  echo("Server Command to UnMount Weapon - " @ %client.player.getname() @ ".noFiddling = " @ %client.player.noFiddling);&lt;br /&gt;  if(%client.player.noFiddling != 1)&lt;br /&gt;  {&lt;br /&gt;      %client.getControlObject().unmountImage($WeaponSlot);&lt;br /&gt;    LocalClientConnection.getControlObject().setarmthread(looknw);&lt;br /&gt;//...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Did you see what I did there :P &lt;br /&gt;Oh how we laughed!&lt;br /&gt;&lt;br /&gt;And now we have fully functional networking, regardless of the fact that it's single player, nice to have stuff working properly with pretty script rather than ... that. In fact there's still one small issue but that's 'cos I've got a little hack to interrupt "player move" in code using a global and we'll have to let that wait before we attempt a frontal assault against the code.&lt;br /&gt;&lt;br /&gt;So, back to gameplay creation it is. I've had an enormous, completed, but rather empty of action corridor crawler level for what seems like eternity, and it needs turning into a working single-player FPS level.&lt;br /&gt;&lt;br /&gt;Video of the play-through of the completed Simple FPS Tutorial&lt;br /&gt;&lt;iframe title="YouTube video player" width="400" height="255" src="http://www.youtube.com/embed/8FQeJI6i9Yg" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;a href="http://www.garagegames.com/community/resources/view/20829"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4497409398868090024?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4497409398868090024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4497409398868090024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4497409398868090024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4497409398868090024'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/02/creates-tutorials-conquers-resources.html' title='Creates Tutorials, Conquers Resources and TDN, Slays localClientConnection Hax'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/8FQeJI6i9Yg/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5921129380822693155</id><published>2011-02-07T23:39:00.012Z</published><updated>2011-02-08T00:22:30.558Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='Theora'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='garagegames'/><title type='text'>Drawing, More Drawing, More Ruddy Drawing - also Theora, GUI</title><content type='html'>The previous few weeks have consisted of drawing, more drawing, and even more drawing, interspaced with faffing, more faffing and even more faffing, around with various ways to get a Theora video, and then not liking the quality and deciding on a GUI replacement instead.&lt;br /&gt;&lt;br /&gt;----------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[gravelly_American_voiceover]&lt;/span&gt;&lt;br /&gt;Previously on Steve's rambling dev blogs:&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[/ gravelly_American_voiceover]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I might have mentioned something about drawing an intro sequence for the narrative campaign part of my game. All the big games have them ... not that I've played any of those things in aeons, infact the previous weekend consisted of Penny Arcade (which I quite liked - a bit grindy though, shame the series got canned) and X-Com Enemy Unknown (which is X-Com UFO Defense ... not sure why the name change between UK/US but hey ...), a game which I actually had on &lt;span style="font-style:italic;"&gt;floppy&lt;/span&gt; (no really kids, games used to come on plastic squares ... and before that it was tape!), and which I rebought from Steam ... not having a floppy drive anymore ...&lt;br /&gt;&lt;br /&gt;Interestingly to mention or not as the case may be 'cos it's just occured to me ... these games all have animated intros, with the 1994 X-Com being closer to the static comic page style one bloke in his man-cave ended up using.&lt;br /&gt;&lt;br /&gt;I'd had the overall idea taking up unnecessary amount of room in my brain fro a few years ... admittedly more in gazzillion dollar production values rather than one guy with a cheap and intermitantly malfunctioning A4 tablet from Win98 days who had completely forgotten how to draw ... and line drawing is somewhat less simple when your tablet isn't the same aspect ratio as your widescreen monitor ... A4 does not perfectly divide by 16:9 ...&lt;br /&gt;&lt;br /&gt;I never managed to get the speed of completion down to anything reasonable but proceeded to "bang stuff out" and the line graph of "production" rose as the variable of "give a toss" sank. I ended up having to cut a few sequences/jokes due to not being able to fit them into the constraint of the music I wanted to play over.&lt;br /&gt;&lt;br /&gt;The art style is supposed to be fairly fast to produce and easily replicapable - at least the last bit worked :P -, as I want to include the occaisional triggered comic page event in-game - but not too many of them, and most will either be plot or joke related, with the idea that narrative should give the gameplay a background in which to exist rather than just a &lt;span style="font-style:italic;"&gt;"Ramirez, take down that X with your Y"&lt;/span&gt; ... plus that's why it's called the Narritive Campaign section ...&lt;br /&gt;&lt;br /&gt;I also wanted a more naturalistic art style, but something not entirely heading in the opposite direction of my in-game 3D art, and I wanted to avoid the whole Japanese style ... talking of which ... brace for jokes!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img152.imageshack.us/img152/8118/japanesecartoonwtf.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 444px;" src="http://img152.imageshack.us/img152/8118/japanesecartoonwtf.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In fact I ended up throwing in a pun on japanese comics.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img600.imageshack.us/img600/6021/dotsjoke.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img600.imageshack.us/img600/6021/dotsjoke.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyhoo, job done on that, and I set the whole thing to music as originally envisioned, and then converted it to Theora ... which didn't go as well as hoped. The Theora codec had a real hard time of coping with the subtler light/dark contrasts and a lot of the backgrounds ended up looking hazy and with visible moving errors on them. Even maxing out the bitrate didn't clean it up (but it did look better) and came in at around 17mb, my actual image files are 8.5mb ... so I reckon I might as well keep the quality and have them display as a scritped GUI sequence - with a skip button obviously, so the player can get straight to the action.&lt;br /&gt;&lt;br /&gt;Whilst venturing around the interwebz on Theora related hunts, I did come across a whole load of Theora stuff including a &lt;a href="http://dev.streamnik.de/74.html"&gt;slideshow creator&lt;/a&gt; which is basically what my intro is. It wasn't any use to me in the end but there's the link incase anyone fancies a look, and there's a load more Theora stuff at that site.&lt;br /&gt;&lt;br /&gt;With &gt;9000 hours of drawing finally out of the way (or at least, the huge load for the intro bit done, they'll be more of it in much smaller chunks in the future), it's back to actual game deving, and scripting the action for level 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In other news, I seem to have fixed a fair bit of issues that I'd experienced when I released Demo2 (not updated but still available for &lt;a href="http://yorks.deta.in"&gt;download&lt;/a&gt; courtesy of someone else's bandwidth) and after a fair bit of testing ... things seem better ... oh wait ... when I say &lt;span style="font-style:italic;"&gt;"I seem to have fixed"&lt;/span&gt; I of course mean ... &lt;span style="font-style:italic;"&gt;other people&lt;/span&gt; in the &lt;a href="http://www.garagegames.com"&gt;GarageGames&lt;/a&gt; bug forums have ... I just implement and test stuff I find lying around ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" width="400" height="255" src="http://www.youtube.com/embed/AY0DoKd6HZU" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Looks better in HD, but you knew that.&lt;br /&gt;Also spot the balls up, one of the image isn't in a panel but gets a full screen stretch (fixed for in-game).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5921129380822693155?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5921129380822693155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5921129380822693155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5921129380822693155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5921129380822693155'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/02/drawing-more-drawing-more-ruddy-drawing.html' title='Drawing, More Drawing, More Ruddy Drawing - also Theora, GUI'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/AY0DoKd6HZU/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8899522039107156006</id><published>2011-01-25T21:22:00.005Z</published><updated>2011-01-25T21:30:26.699Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Post Demo ... Another Year ... Where do they come from!?</title><content type='html'>&lt;span style="font-style:italic;"&gt;Another year, I'm not exactly certain why they keep arriving or where the hell they come from in the first place, but the damn things just keep coming. Also back to the grind post tech demo release.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.garagegames.com"&gt;GarageGames&lt;/a&gt; has been reborn as ... &lt;a href="http://www.garagegames.com"&gt;GarageGames&lt;/a&gt; ... which is nice, 'cos now all of those bug reports I filed on the engine are getting fixed.&lt;br /&gt;&lt;br /&gt;In other news I've been loafing. Post demo of my &lt;span style="font-style:italic;"&gt;"randomized FPS gameplay idea and test of how much I could world size, complexity, view distance and still have something playable"&lt;/span&gt; (still available for download &lt;a href="http://yorks.deta.in"&gt;hither&lt;/a&gt; 120(ish)mb )I loafed. And loafed I did.&lt;br /&gt;&lt;br /&gt;It was Xmas time and a certain amount of loafing was required but that appeared to spill over somewhat into me not really working for month. And from reading other peoples blogs I've noticed that I'm not the only person who seems to have hit the seasonal speedbump with a sudden wane in enthusiasm.&lt;br /&gt;&lt;br /&gt;This only got amplified with a sudden urge to make a "strategy and tactics" game. Think sort of in the vein of the original X-Com (not the forthcoming X-Com as a 1950s First Person Shooter ... I mean, who thought ... &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"You know what X-Com should really be about? A First Person Shooter set in the 1950s! Fund it!"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;... and I think I need a &lt;span style="font-style:italic;"&gt;close bracket&lt;/span&gt; here).&lt;br /&gt;&lt;br /&gt;With an overall strategic map that gives way to individual battlezones for turnbased squad tactics, but ditching the isometric view for a mixture of overhead map and over-shoulder cam for the actual action. With multiple playable factions and a sort of steampunk setting. Steampunk not about matching a leather bodice up to a tophat with a couple of cogs on it, but &lt;span style="font-style:italic;"&gt;strapping a deathray to a zeppellin and invading Antartica ... For the glory of a cybernetic Queen Victoria, cos if the British Empire doesn't, the Kaizer will, or worse still ... Americans ... with their preposterous ideas of Republic, freedom, democracy and all people being equal ... I mean they don't even have a goddamn royal family, powerless figureheads who have been specially developed through a thousand years of inbreeding ...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I had a very brief &lt;span style="font-style:italic;"&gt;um-and-ah&lt;/span&gt; about the logistics of doing it all in psuedo-script, and wondered if I'd make a quick demo as a basic playtest ... and the answer was &lt;span style="font-style:italic;"&gt;no&lt;/span&gt;. Or at least, not now ... regardless that "commercially" I reckon it's likely to hold a far better time-&gt;work-&gt;possible profit ratio, though that might just be the &lt;span style="font-style:italic;"&gt;"familiarity breeds contempt"&lt;/span&gt; thing - I've been learning on the job for 2 years, and refining the narrative idea/levels progression concept for 3-4.&lt;br /&gt;&lt;br /&gt;I had replayed my demo and rather enjoyed, though need to sort out the armour-&gt;damage effect on the player as I think it's overly harsh now.&lt;br /&gt;&lt;br /&gt;Back to the grind of my original gameplan, namely one first person shooter, single player narrative campaign with associated replays of all levels in randomized all-action mode.&lt;br /&gt;&lt;br /&gt;Anyhow, I wanted an intro sequence, something set to music, why not, everything else has. And I figured long ago that drawing the damn things as comics would be a lot better than disasterously animated 3D manikins with poor voice acting - cos that was the only alternative one bloke in his bedroom can come up with. So I figured that I needed a system of doing full colour drawings, and being able to knock them out fairly quickly ... hence the new avatar.&lt;br /&gt;&lt;br /&gt;Actually I despised everything about it initially ... but after staring at it on the forums for a couple of weeks I've "grown accustomed/given up caring/find it less hateful" to it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc02.deviantart.net/fs71/f/2011/007/b/3/speed_self_portrait_2011_by_ackers-d36moqe.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 256px; height: 256px;" src="http://fc02.deviantart.net/fs71/f/2011/007/b/3/speed_self_portrait_2011_by_ackers-d36moqe.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But it took me over9000 hours in MSPaint ...&lt;br /&gt;&lt;br /&gt;Which isn't so great. And as I'm going to have a fair few of these liberally scattered about as cut sequences, time is of the essence. So, after much practise ... it's not really got any faster ... and nowhere near the 30 minutes I was hoping for. So post completion of intro sequence, we'll be cutting back on the number drawings - though I was already of the mind to make them "reuseable".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://torque.abigholeintheweb.com/public_system/useruploads/need_a_drink.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://torque.abigholeintheweb.com/public_system/useruploads/need_a_drink.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Which brings me to the logistics of actually doing the intro sequence. Initially I thought that I should just script a GUI sequence but have now decided that video is the probably the way to go. Hyperthetically speaking - the player starts the campaign, theora video plays inside a gui. There is a "skip" button, because no one likes intros or cut scenes that can't be skipped, and there is a countdown timer telling the user exactly how long they have to sit there if they don't want to skip - because nobody likes watching cut scenes when they need the loo and aren't sure how long they are going to have to hold it in for ...&lt;br /&gt;&lt;br /&gt;---------------------------------&lt;br /&gt;&lt;br /&gt;And that's enough reading for you, me thinks.&lt;br /&gt;&lt;br /&gt;Intro Sequence isn't completed and still needs some more drawings, then it's sort out the action for my "premade many moons ago" corridor crawl, which was always supposed to be level one ... actually the demo level was supposed to be level one originally, done as a full exploration no shooty-shooty level but I thought I'd throw in 2 earlier ones for a more varied all action beginning (with short range and long range based gameplay respectively), so level one is now level three.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="243"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JfFsyRHm-Rg&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JfFsyRHm-Rg&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Remember this? Wow, that was a long time ago ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8899522039107156006?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8899522039107156006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8899522039107156006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8899522039107156006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8899522039107156006'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2011/01/post-demo-another-year-where-do-they.html' title='Post Demo ... Another Year ... Where do they come from!?'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3122429732137675750</id><published>2010-12-09T15:42:00.015Z</published><updated>2010-12-09T22:49:13.020Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><title type='text'>Dubious Demo 2 Released!</title><content type='html'>I won't pretend that it hasn't almost killed me ... but after a gazzillion issues ... it's up. A fast and long gametype to play, doubled by having day and night missions. Entirely randomized enemy and tactics, should be good for a few replays.&lt;br /&gt;&lt;br /&gt;Dubious Demo 2 &lt;span style="font-style:italic;"&gt;... this time ... it's random ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm6.static.flickr.com/5121/5246293337_42b0dd371e_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm6.static.flickr.com/5121/5246293337_42b0dd371e_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Function creep appeared, and instead of a fast and long game ... you've got 2 fast and 2 long games. Technically it's the same level, but now there are also night missions.&lt;br /&gt;&lt;br /&gt;Talking of function creep, I also came up with a basic hit detection for close range which I wasn't originally planning.&lt;br /&gt;&lt;br /&gt;Anyhow, it goes like this:&lt;br /&gt;&lt;br /&gt;You've 2 gametypes, night and day, night is short ranged weapons only&lt;br /&gt;&lt;br /&gt;This is a demo of a randomized gameplay concept, it's a first person shooter, and the idea was to make it somewhere inbetween the all action silliness of "Call of Lawyers" and the unfair realism of Arma/Operation Flashpoint". Weapon ranges go out to 400m and bullets are dangerous than in most Shooters.&lt;br /&gt;&lt;br /&gt;There are 4 availabe gametypes:&lt;br /&gt;Clear Area&lt;br /&gt;Clear Area Night&lt;br /&gt;Fast Assault&lt;br /&gt;Night Assault&lt;br /&gt;&lt;br /&gt;Clear Area is split into 5 areas, each one must be cleaered of enemy before you can proceed to another. Start area is random, after that each area is chosen by the player by entering it - check your map. Inside each area there is a random playtype - "Clearance" (enemy randomly placed throughout area), "Strongpoint", enemy are all around one building (or sometimes 2), and "Counterattack", as "Clearance" but the enemy will aggressively defend and counterattack. Even without counterattack, all short ranged enemies will defend around their area.&lt;br /&gt;Player starts with random weapons, one longrange, one shortrange.&lt;br /&gt;&lt;br /&gt;Night missions are the same, but with reduced vision and shortranged weapons only. &lt;br /&gt;Player starts with random weapons, one shotgun, one smg.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;... infact ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://yorks.deta.in/RTFM.jpeg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 350px;" src="http://yorks.deta.in/RTFM.jpeg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There's a readme ... so read it ... there's also a license on install with tips ... read them too ... also there's info in the game on how to play it ... it should all be fairly straight forwards ... hopefully. And if you spam me with issues which I've listed in the readme ... I will kill you ... to death! &lt;span style="font-style:italic;"&gt;(flares nostrils)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Many thanks to orb for the bandwidth. There's a full list of credits in the readme, and also in the Credits page of the game which details pretty much everything I've used in constructing this.&lt;br /&gt;&lt;br /&gt;Download page.&lt;br /&gt;&lt;a href="http://yorks.deta.in"&gt;http://yorks.deta.in&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And the direct link.&lt;br /&gt;&lt;a href="http://yorks.deta.in/download/YR_demo2_setup.exe"&gt;Dubious Demo 2 (125mb)&lt;/a&gt;&lt;br /&gt;Windows only ... I'm not fashionable enough for a Mac ...&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2L6OV1lyTsA?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2L6OV1lyTsA?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I was about to go to a little country pub to celebrate ... but there's black ice all over the drive and after a bit of wheel spinning I'll be staying in with a beer and chilli.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3122429732137675750?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3122429732137675750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3122429732137675750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3122429732137675750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3122429732137675750'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/12/dubious-demo-2-released.html' title='Dubious Demo 2 Released!'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5121/5246293337_42b0dd371e_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6725431896687714871</id><published>2010-11-18T17:05:00.004Z</published><updated>2010-11-18T17:14:15.300Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><title type='text'>Splosh Screens, Selection Screens, Demo Screens</title><content type='html'>With construction of a vaguely working alpha demo in progress, I was hammering away at the splash screen license obligations ... a glance to irc and wtf everybody's just got sacked that worked on the engine tech I use ...&lt;br /&gt;&lt;br /&gt;So, it's been user interface work recently, and additional gametype ... err ... types.&lt;br /&gt;&lt;br /&gt;I'd been quite chuffed with my implementation of a randomized gametype, and had expanded on the initial idea. There were 5 open areas of a 2km level, the player was randomly equipped and initially randomly spawned at one area and each area had to be cleared in any order the player fancied. Random numbers of Enemy Ai were randomly spread through each area, and randomly armed with either short or long range weapons depending on what sort of view they had. Hiding inside a house = short range, view from a window or rooftop = long range.&lt;br /&gt;&lt;br /&gt;I figured I could throw in a few more random ideas to increase gameplay, and so came up with strongpoints and counterattacks on top of clearance ... which happen ... randomly. Thus each area could be a standard clearance operation where the player had to hunt down each Enemy spread throughout the area, but now it could also be an assault against a randomly chosen building crowded with hostile Ai, or the enemy Ai would come looking for trouble when they heard allies shooting ... but only halfway from their defensive position to player spawn area to prevent spawnkills. Regardless of random tactic type, all short-range weaponed Ai always counterattacked over a very short distance to prevent themselves being picked off at range, that way long-ranged Ai would stay put to provide supporting fire whilst short-ranged would be mobile around the goal node.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/eMcJGPImbX4?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/eMcJGPImbX4?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;First attempt at Ai pathfinding in level&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And I'd managed to fit in my "anti last man standing" idea, where the allied Ai swarm over the location of the last remaining enemy, thus preventing those frustrating "can't find the last bad guy to finish the level" type issues which can occur with such things.&lt;br /&gt;&lt;br /&gt;I gave the player 3 respawns per area, and had dead Ai drop either ammunition, grenades or a small health pack. Each area took me around 20 minutes to play through, and taking down all 5 areas of the map could take 2 hours. So I made a "fast gametype".&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-WQAFfWzmCI?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-WQAFfWzmCI?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Level Selection and Fast Game Mode&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Fast gametype was a random strongpoint attack in a single area, with a slightly more beefed up number of random enemies to guarentee plenty of action. This made me think of a few variations for additional gametypes ... but ... y'know ... one thing at a time.&lt;br /&gt;&lt;br /&gt;As ever, I found a gazzilion issues with everything I did, great swathes of script wrote at 5am that were never going to function properly in the cold light of day, and various other bugs that got stomped on and features that got relentlessly tweaked.&lt;br /&gt;&lt;br /&gt;All this new stuff needed a user interface. Not just for mission selection, but also the type of instructions and info that you'd expect, such as what the controls are and what the differences between the various weapons are.&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/y8fuaEtsN74?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/y8fuaEtsN74?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;First Attempt at user interface that vaguely makes sense&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also thought that it might be a good idea to explain what the hell the whole thing is ... plus I then had to look through all of my stuff to see what I'd used. Now, I have attempted to do as much as I can almost all of the audio is my own - but I couldn't get a good fire/burning loop, but everything else is self done. All of the models are hamfistedly made, rigged, textured, animated by myself. I used various self shot photos for base texture templates and tiled them myself ... and then got the rest of the templates from on-line. Fonts and music weren't even worth my attempting and so were straight off licensed from the start. I haven't even looked at Fmod Ex yet, having just thrown in the audio dll. And that's all this stuff takes so much time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4154/5186796343_dbd4602d88_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4154/5186796343_dbd4602d88_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Credit Page attempt 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And then there were some annoying issues. My pathfinding is based on a waypoint resource, though it hasn't scaled well to such a large and open environment. I've got a level with a lot of changes in height and direction and the sheer number of waypoint style objects for the Ai to navigate around the whole thing has eaten 25 percent of my performance - which is annoying ...&lt;br /&gt;&lt;br /&gt;But currently ... that's how my alpha demo will be going out. Afterwards I'll have to take a look at nodegrids and maybe other solutions as a replacement.&lt;br /&gt;&lt;br /&gt;Also I need to do a bit of 2D artwork to "tart" it up a bit, and 2 of my buildings are still placeholders. And there's some functions hacking I think I might try as a performance test ...&lt;br /&gt;&lt;br /&gt;But all in all, we're well on our way ... and  ... allegedly ... I should be able to crank out a rough but playable demo full of issues by the end of November. Which is 12 days away ... awww hell ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6725431896687714871?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6725431896687714871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6725431896687714871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6725431896687714871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6725431896687714871'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/11/splosh-screens-selection-screens-demo.html' title='Splosh Screens, Selection Screens, Demo Screens'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4154/5186796343_dbd4602d88_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5115873790903862790</id><published>2010-10-21T02:57:00.004+01:00</published><updated>2010-10-21T03:37:42.380+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Environment Completed ... Sort Of ---&gt; oh wait ...</title><content type='html'>Environment Completed ... Sort of - oh wait ... haven't I already used that &lt;a href="http://yorkshirerifles.blogspot.com/2009/01/environment-completed-sort-of.html"&gt;blog title&lt;/a&gt;? And actually it's the same level! But things have slightly changed ... if "slightly" really meant "quite a jolly lot". 2km of open game world, with 838 random AI spawnpoints - count 'em.&lt;br /&gt;&lt;br /&gt;Click the pics to view them full size if you're squinting.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img63.imageshack.us/img63/6631/completewold3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img63.imageshack.us/img63/6631/completewold3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right-ho, so what have we got? One 2km map with full drawdistance. 88 buildings, 34 of which are fully open, furnished and lightmapped for a bit of extra vavavoom - because blank shadowed interiors are boring on the eye. 178 random props such as telephone boxes and pillar (post) boxes - it just wouldn't be England without big red things in the street - regardless of the fact that the red telephone box has been killed off and replaced by things that look like transparent urinals ... which they often become at 2am on a Friday night.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img175.imageshack.us/img175/2804/completewoldprops1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img175.imageshack.us/img175/2804/completewoldprops1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Bus stops, benches, litter bins with amusing messages, petrol (gas) stations with amusing messages, other stuff with amusing messages, old style lamp-posts (which you can still find in places - in fact I know a pub that doesn't have electricity, but is still using Victorian gas lighting! It's as dark as hell and you get stoned off the fumes but it's "quaint" and they do a good pale ale) ... and then there's trees and shrubs, which all gently rustle in the wind thanks to the wind vertex shading. In fact there's 1600+ of them ... thank &lt;a href="http://www.sickheadgames.com/About"&gt;Sickhead&lt;/a&gt; for imposters.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img841.imageshack.us/img841/8939/completewold6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img841.imageshack.us/img841/8939/completewold6.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;LOD like hell!&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And then there's the actual gameplay kinda stuff. I did promise ... possibly just myself ... brain far too frazzled by all of this, for correct retrieval of memories ... to have something resembling the randomized gameplay which I'd conceived.&lt;br /&gt;&lt;br /&gt;So to such an affect, I had a good long hard think about how best to do it. Spawning a shedload of AI at the startup seemed out - both in terms of playability and performance. So I decided to split the whole level into areas - 5 of them.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img837.imageshack.us/img837/4756/completewold2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img837.imageshack.us/img837/4756/completewold2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, there's 5 areas, and the player starts off in one of them - randomly. That area then becomes active, and spawns a random number of enemy Ai which seek to defend that area. They're randomly armed depending on their goal position - so if they've got a long view they'll have a long range weapon (rifles, lmgs), and if they're hiding in a small room away from the windows they'll have a short range weapon (shotguns, smgs). And there's a random chance of them having grenades. Each area has between 150 and 200 random spawn/goal nodes. So there's a fair bit of available randomization.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img812.imageshack.us/img812/496/completewoldprops2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img812.imageshack.us/img812/496/completewoldprops2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Never let it be said that I'm not a sucker for a crap joke :P&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There's a random number of these Ai spawning, anywhere between 5 and 24, so each play-through an area will be different, sometimes a "bughunt" with lots of jumping around corners quietly hunting the enemy down at close range (which does get quite tense when the prolonged silence suddenly shatters with closeby gunfire), to large scale firefights at multiple ranges from many directions. There's also the trouble of spotting and identifying targets at long ranges, often a case of following the incoming tracer back to it's origin, the enemy all but hidden, crouched behind a window cill or lying under a bush at 200-300 metres, so at long ranges you end up putting a lot of fire down on "areas" rather than targets, a la Full Specturm Wariior or IRL as it's also called. :P &lt;br /&gt;&lt;br /&gt;It does give the feel of battle which I've been looking for ... dangerous and confusing without being unfair (ArmA I'm looking at you!). It's coming along and as much as "one bloke, in his bedroom, trying to make computer games" can create the halfway house between the arcade style of Call of Lawyers and the anal (if blatantly unfair) realism of ArmA/original-OFP.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img177.imageshack.us/img177/2901/completewold5.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img177.imageshack.us/img177/2901/completewold5.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this style of working gameplay also showed up a few issues with my Ai. Mainly that it took a while for them to go through their attention routines at close range, they'd hear you walking up the steps, but it'd take a while to increment through their thought processes to become panic-range alert, and a fast moving player could confront them before they were as ready as they should have been, and thus get a few seconds drop on them. So this, I fixed, and instead of incrementing the alert, they jump to which ever is neccessary (but not from full unalert status so they can still be surprised - though in this type of "all action - non narrative" gameplay I use a hack so they're always on-guard).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img168.imageshack.us/img168/3427/completewold8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img168.imageshack.us/img168/3427/completewold8.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The slogan was going to be "Bringing Oil To Your Shores!" but I thought that joke might be too subtle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once one area is clear, you can choose another by simply moving into it. And to give you some help, there's a map which shows the areas ... in fact an entire SitRep overlay, where your weapons/ammo and mission status are displayed. The map shows all tehhe roads and major buildings as well as anything else of interest (first aid stations!), but it's a static map, no updating dynamic object positions. You have to use your view of the objects around you to orientate yourself to where you are ... just like real life! And yes, I am a cartographyvert. &lt;span style="font-style:italic;"&gt;Google Earth ... oh baby ... you're so hawt ... show me those hillocks ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img16.imageshack.us/img16/2749/completewold1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img16.imageshack.us/img16/2749/completewold1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Okeedokee, that's what I've done ... now what I still need to do.&lt;br /&gt;&lt;br /&gt;Models - still need a church, and one other "special building" that can get reused for a few things, think slightly grand, I still need a train station, a general building with an open interior and internal balcony (like a pub I know in Scarborough).&lt;br /&gt;&lt;br /&gt;A couple of other props, a coach/minibus which I'll probably convert from a truck and a police car, which will be a USAFB Security car with a different paint job.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img87.imageshack.us/img87/4580/completewold4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img87.imageshack.us/img87/4580/completewold4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;AI - Currently my Ai is static, there's no pathfinding in this level, and the sheer size and openness of the environment is gonna take a bit of extra thinking about ... not least how to get a gazzilion pathnodes in there in the easiest manner possible - though limited early tests went fairly well.&lt;br /&gt;&lt;br /&gt;Then it's sorting out a friendly Ai system, and I don't think the classic system of "trigger-directs-to-nodes" is going to work on something of this scale ... or they'd be a whole lot of triggers and nodes ... and there's already plenty of them. So I'm currently thinking of having the allied Ai as a sort of "escort force", dynamically keeping themselves to pathfinding within a short distance of the player, and then rushing off to target threats which reveal themselves. I've also thought long and hard about "lastguy-itus", where the player has swept through an area but just missed the final, lone enemy. If it gets down to just one badguy left, I'm thinking of having the ally Ai just charge his position. There is nothing as annoying as searching for one last asshole hidden behind a closet ...&lt;br /&gt;&lt;br /&gt;As for the enemy Ai, I need to stop them spawning where the player can see them when a new area is activated - easy enough to have them spawn away from their goal and then move to it. I also need to setup a counterattack situation where hostile Ai may randomly enmasse charge the player team. I also need them to be more proactive at defending their own positions, thus randomly again, having some short-range based Ai hunt the player down through their house when they hear them enter it, rather than just wait for the player to run into their room.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img267.imageshack.us/img267/2445/completewold7.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img267.imageshack.us/img267/2445/completewold7.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And that's about it so far. I do have "some" kind of gameplay in a large, 2km open area. And performance is good for it all too, looking at the magical 60+ fps at x1080 with normal settings.&lt;br /&gt;&lt;br /&gt;And here's a little vid of said randomized gameplay, looks better in &lt;a href="http://www.youtube.com/watch?v=_gs5UKrH8FE"&gt;720 HD @ youtube&lt;/a&gt; of course. I've been toying with a "zoom/ADS mask" which features in this vid, but I've since changed it as the original restricted vision way too much. This is unedited and lasts about 8 minutes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_gs5UKrH8FE?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_gs5UKrH8FE?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5115873790903862790?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5115873790903862790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5115873790903862790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5115873790903862790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5115873790903862790'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/10/environment-completed-sort-of-oh-wait.html' title='Environment Completed ... Sort Of ---&gt; oh wait ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6245618979915324180</id><published>2010-09-30T22:52:00.003+01:00</published><updated>2010-09-30T23:05:12.689+01:00</updated><title type='text'>ReTowned ReWorked Redux Redone ReSomething ... ReAgain</title><content type='html'>&lt;span style="font-style:italic;"&gt;ReTowned ... ReWhat ??? Urban ... town ... level ... thing ... originally done wayback when, get's new life as rejigged, rethingymabobed ... er ... something ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;September not the most productive of months as the stars gave forth a terrible alignment of feeling rundown, still suffering a neck problem since July &lt;span style="font-style:italic;"&gt;(I blame society! Or maybe bad posture ... or something)&lt;/span&gt; and ... er ... I don't know &lt;span style="font-style:italic;"&gt;stuff&lt;/span&gt; ... but anyway it got so bad I've been as sober as a judge - and considering how many news articles feature judges being arrested for driving whilst inebriated, that should probably read as &lt;span style="font-style:italic;"&gt;more&lt;/span&gt; sober than a judge. &lt;br /&gt;&lt;br /&gt;Anyhoo, whilst not feeling terribly enthusiastic with anything or everything, I did work out the logistical concepts of creating an urban roadnetwork. After more &lt;span style="font-style:italic;"&gt;umming and ahhing&lt;/span&gt; than you can wave the first five minutes of a TorqueTalk podcast at ... I decided mesh sections were the way forwards ... something I kinda experimented with &lt;a href="http://yorkshirerifles.blogspot.com/2008/08/yellow-brick-pavements-and-red-pillar.html"&gt;way back when&lt;/a&gt; and here in &lt;a href="http://yorkshirerifles.blogspot.com/2009/01/environment-completed-sort-of.html"&gt;ye olde bsp&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img299.imageshack.us/img299/7254/newwold1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img299.imageshack.us/img299/7254/newwold1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I eventually decided on large sections that could be bolted together in-editor via junctions at set mathematical divisions, and with a couple of multipurpose shorter pieces for matching up areas that I didn't want a whole new system of roadnetwork atttaching too. So everything is perfectly reuseable in more than one level, and gets used multiple times throughout that level. Thus ... hopefully ... less work in the future ... allegedly ...&lt;br /&gt;&lt;br /&gt;One of my earlier issues was how to match the whole thing up to the terrain without a mamouth amount of tweaking of heightmaps to get it level, and thus decided on surrounding all roads with a low wall which drops down further on the otherside, with steps/ramps giving access to the terrain ... and the terrain can happily ride up the ramps without overflowing on to the roads and sidewalks.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img829.imageshack.us/img829/5835/newwold2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img829.imageshack.us/img829/5835/newwold2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Clearly it's not finished, only the outlying terrain is "done", the inner terrain needs sorting out, it needs painting up with some more textures, needs more trees lining some of the avenues, some urban props, a few rocks for rocky outcrops, &lt;span style="font-style:italic;"&gt;a shrubbery!&lt;/span&gt;, a couple of additional building types (grand public building for use as a multipurpose railway station, town hall, etc - a grand church - gotta &lt;a href="http://yorkshirerifles.blogspot.com/2010/08/mortality-test-we-are-not-immortal.html"&gt;chapel&lt;/a&gt;) ... you get the picture - but the roads and houses and the dividing walls are all done and in-place. The overall vibe is for a large, spread out, rural village in a leafy, green and pleasant land with rolling hills and a crag in the middle.&lt;br /&gt;&lt;br /&gt;... metrics ...&lt;br /&gt;&lt;br /&gt;I've always liked big spaces ... and stuff in big spaces ... and been annoyed at the incredibly short ranges general FPSes, where sniper rifles go out to a poxy 100 metres. I can throw a rifle further than that ... with a catapult. This is because it's kinda difficult to populate a large area with lots of shiny 3A hi-res stuff and still get a playable framerate ... also console controllers are hideously inaccurate. I stopped using gamepads in Xwing ... and apparently they still aren't as pixel perfect as a mouse. Of course I'm not concerned with shiny hi-res stuff or the graphics opinions of twelve year olds who mistake me for a black homosexual in online play at the latest 3A shooter ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img338.imageshack.us/img338/8068/newwold3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img338.imageshack.us/img338/8068/newwold3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Which kinda brings us on to Beta 3 ... and then back to Beta 2 because Beta 3's scripted LOD stuff got defixed between versions. And seeing that that's how I've been putting my mulitple meshed and lightmapped buildings-&gt;interiors-&gt;furniture, I've been doing dual testing in beta2 and beta3 for performance comparision. Not comparing beta2 and beta3 ... but comparing facade buildings with fully enterable ones (which are said multimeshes dropped in as prefabs).&lt;br /&gt;&lt;br /&gt;So here's the upshot (level not finished remember). The only difference between the versions is that one uses facades (cos scripted LOD is bust) and the other has fully enterable LODed intertiors with furnishings and collisions etc.&lt;br /&gt;&lt;br /&gt;2.4 dual core&lt;br /&gt;GTS250 512mb&lt;br /&gt;2gig ram&lt;br /&gt;1080p (40 inch HD TVs are the way to indy dev and play games! I was gonna get a 50inch ... but it wouldn't have fit on my table)&lt;br /&gt;FPS is minimum not max ... standing in an area with many shadowcasting objects.&lt;br /&gt;Viewdistance is 2km&lt;br /&gt;&lt;br /&gt;Beta 3 - 80 facade buildings&lt;br /&gt;All Quality Normal:   70+ FPS&lt;br /&gt;All Quality MaxedOut: 40+ FPS&lt;br /&gt;&lt;br /&gt;Huzzar for Facades!&lt;br /&gt;&lt;br /&gt;Beta 2 - 80 enterable, furnished buildings&lt;br /&gt;All Quality Normal:    60+ FPS&lt;br /&gt;All Quality MaxedOut:  25+ FPS&lt;br /&gt;&lt;br /&gt;Huzzar all round!&lt;br /&gt;&lt;br /&gt;And your looking at 90-120 FPS if you switch to basic lighting.&lt;br /&gt;&lt;br /&gt;Now, I don't need 80 fully furnished, fully enterable buildings for a level ... it's &lt;span style="font-style:italic;"&gt;nice&lt;/span&gt; but rather overkill.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img255.imageshack.us/img255/6326/newwold4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img255.imageshack.us/img255/6326/newwold4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've also come up with a (theoretical working) concept as how to make a gametype that has randomized enemy positions, strengths and aggressiveness for replayability, with a team of say 6 allies (possibly co-op ... but that's for the far future, singleplayer for now ... one thing at a time ...) clearing area by area of map (throw in a hold area from counterattack gametype) which would cause any single game to vary between a bughunt to a huge firefight. This idea of reusing the levels with standalone gametypes on top of my main idea of a scripted story/campaign mode.&lt;br /&gt;&lt;br /&gt;Anyhoo, one man dev machine back to the grind ... and eventually ... I might actually get some gameplay done ... y'know ... that thing I &lt;a href="http://yorkshirerifles.blogspot.com/2008/04/dubious-demo-gameplay-video.html"&gt;first tested 2 years six months ago&lt;/a&gt; ...&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;... never did ask my folks how Jefferson Starship was ...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6245618979915324180?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6245618979915324180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6245618979915324180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6245618979915324180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6245618979915324180'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/09/retowned-reworked-redux-redone.html' title='ReTowned ReWorked Redux Redone ReSomething ... ReAgain'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-2038359769421212431</id><published>2010-08-28T00:57:00.003+01:00</published><updated>2010-08-28T01:06:58.114+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='lightmap'/><category scheme='http://www.blogger.com/atom/ns#' term='drawcalls'/><category scheme='http://www.blogger.com/atom/ns#' term='pureLight'/><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Blender-PureLight-Jefferson Starship-ShapeEditor-Prefabs-LOD</title><content type='html'>Yep, I think that sums up this posting quite accurately ... and if it doesn't, well hell, I ran out of space in the title anyhow.&lt;br /&gt;&lt;br /&gt;Blender ... scourge of Damocles, liberator of ... er ... I don't know ...&lt;span style="font-style:italic;"&gt; stuff&lt;/span&gt; ...&lt;br /&gt;Also Jefferson Starship.&lt;br /&gt;&lt;br /&gt;As free goes, Blender's awesome, but rather lacking of a working DAE importer (no, I haven't tried 2.5 yet). But it's free - so workarounds should be expected. It's not like you've forked out a shovel full of cash for PS and then have to &lt;a href="http://www.fnordware.com/superpng"&gt;patch the PNG exporter&lt;/a&gt;, can't say freebie &lt;a href="http://www.gimp.org"&gt;Gimp&lt;/a&gt; ever suffered from not being able to export a standard format ...&lt;br /&gt;&lt;br /&gt;I'd been thinking of ways to (re)build a town (&lt;a href="http://yorkshirerifles.blogspot.com/2009/04/its-economy-stoopid.html"&gt;again&lt;/a&gt; ... and &lt;a href="http://yorkshirerifles.blogspot.com/2009/01/environment-completed-sort-of.html"&gt;again - BSP lol!&lt;/a&gt;) since making various test versions, and had come up the idea of using a few stock buldings, repeated through-out the landscape. Basically a detached house, a semi-detached (dual building), a cottage, a large manor house, a church and chapel, a multipurpose large public building with changeable props, and a couple of other things.&lt;br /&gt;&lt;br /&gt;And whilst knocking up a detached house in Blender (with 140 collision meshes) I cam across a formula. Exterior Mesh - heavily LODed, Interior Mesh - (just the rooms no details) lods out completely at distance and the exterior takes over, and Props - furniture, stairs and details which lod out once the player is a bit outside. Props is the biggy 5500tris of beds, wardrobes, sofas, toilets, stairs, window ledges - uses 3 textures. Interior is a simple 700 tris, but uses 6/7 textures, and the Exterior has a fair few textures, but quickly LODs down to a simplified single texture (by amalgamating all the materials into a single low-res texture) and Interior also does this, so all good for performance there.&lt;br /&gt;&lt;br /&gt;Of course there's one problem ... and that's that the unlit interior looks kinda flat, and in Lowest Lighting is just bloody awful. &lt;br /&gt;&lt;br /&gt;PureLight Huzzar. So I decided to tonemap the Interior and Props meshes, giving a little depth and interest to the ambient. Nothing fancy, just a light ambient through the windows, something that doesn't look too out of place if you have in-game sunlight coming in as well.&lt;br /&gt;&lt;br /&gt;Also Jefferson Starship.&lt;br /&gt;&lt;br /&gt;Now in Max or something, you'd reimport your tonemapped meshes and stitch the whole thing into a file ... but Blender ain't gonna do that, so I cranked out the Shape Editor for a test run. I found that it was easy enough to add a new mesh LOD to my Interior (2 meshes remember, same tris but one has only 1 material) and then a dummy LOD of a single triangle to force the mesh to LODout completely. I soon found that sharing a dummy LOD object with another mesh causes &lt;span style="font-style:italic;"&gt;issues&lt;/span&gt; so each new LOD/Dummy requires it's own individual dummy LOD object (might've helped if I'd renamed them but nah ...).&lt;br /&gt;&lt;br /&gt;Anyhow the upshot was :&lt;br /&gt;Exterior - fully Loded, no tonemaps&lt;br /&gt;Interior - Loded with ShapeEditor, tonemaps&lt;br /&gt;Props - single Lod, Lodsout fast, tonemaps&lt;br /&gt;&lt;br /&gt;Also placed correctly, the only thing remaining is to zip them up into a prefab, and drop them into a level as I please. RESULT!&lt;br /&gt;&lt;br /&gt;And then I found that somethings can affect lightmapping. SubSurface scattering seems to help lightmaps fight off the power of the ambient and preserve their vibrance.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://a.imageshack.us/img821/128/lightmapping.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 1200px;" src="http://a.imageshack.us/img821/128/lightmapping.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And as you can see from the above pic, various settings alter the way ambient and tonemaps interact ... and boy, does BasicLighting look nice now! Not that I'm ever going to be using it personally ... but someone ... somewhere will.&lt;br /&gt;&lt;br /&gt;Also Jefferson Starship.&lt;br /&gt;&lt;br /&gt;Did I mention Jefferson Starship? (caution:Flash)&lt;a href="http://www.clovismusicfestival.net"&gt;Clovis Music Festival&lt;/a&gt;. Tip the parking attendants, if they speak with a funny accent that includes words like &lt;a href="http://www.youtube.com/watch?v=nth4rZZM5tQ"&gt;"ee bye gum"&lt;/a&gt; they might be my folks - don't ask my dad to explain cricket ... Last year featured my mum holding back a horde of hysterical middle aged women as they tried to rush the stage and tear the clothes of a teenage Richie Vallens impersonator ... &lt;span style="font-style:italic;"&gt;the lucky young bastard!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of course some of us poor buggers aren't retired so it'll be business as usual on the &lt;span style="font-style:italic;"&gt;one man -who's not entirely sure what he's doing- game development&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Talking of which, I had a quick test of close range combat against a melee based foe.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rYMMTyriE1k?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rYMMTyriE1k?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Which was geniunely quite panicky - so I was pretty chuffed with myself.&lt;br /&gt;&lt;br /&gt;Now ... do I really need to make roads with sidewalks/pavements as models ... if I don't have curbs then I could just use decal roads ... but curbs do give a rather urban feel ...&lt;br /&gt;&lt;br /&gt;... decisions, decisions the pressures of command ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-2038359769421212431?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/2038359769421212431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=2038359769421212431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/2038359769421212431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/2038359769421212431'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/08/blender-purelight-jefferson-starship.html' title='Blender-PureLight-Jefferson Starship-ShapeEditor-Prefabs-LOD'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7232744387854180668</id><published>2010-08-08T13:20:00.004+01:00</published><updated>2010-08-08T13:33:25.900+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='lightmap'/><category scheme='http://www.blogger.com/atom/ns#' term='camera'/><category scheme='http://www.blogger.com/atom/ns#' term='pureLight'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><title type='text'>Mortality test - We Are Not Immortal ... allegedly ...</title><content type='html'>&lt;span style="font-style:italic;"&gt;Death comes to us all ... admittedly that's not been proven IRL yet ... but chances are it's a safe bet. In games, you tend to have the option to respawn ... not sure about IRL ...&lt;br /&gt;&lt;br /&gt;Apparently ... you who are reading this ... may actually be mortal ...&lt;br /&gt;&lt;br /&gt;I know, it's obviously incredibly unfair - why are you and me getting singled out like this? The world might actually continue without us ... clearly a grevious bias against us personally ... well, me anyway ... I mean ... what if there isn't a respawn option? And even if there is ... you're gonna lose all of your loot! And restart at level one! You might as well just rage-quit the concept of reincarnation all together, settle for a cloud and learn to play a harp ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But enough about IRL, in gaming you respawn ... or at the very least restart the game, it doesn't just delete from your hard-drive when you avatar bites the dust and then refuse to redownload another copy. If it did, people would be at your door with pitchforks ...&lt;br /&gt;&lt;br /&gt;But rather than just "pop back" into the game, I decided to make a little death sequence everytime the player buys the farm ... and keep it short, because the player might get to see it quite a bit if they're having a bad day at the keyboard ...&lt;br /&gt;&lt;br /&gt;Initially this worked ... okayish ... not used to messing around with camera functions or the sort, and then in the new build it broke. But rather than my usual tactic of try every combination of events and scripts which I could possibly think of - then trawl the forums for info that usual relates to redundant engine versions, I just looked up the new docs and found all the camera functions and then linked my system to corpse mode. And it was better than before. Yes those folks at &lt;a href="http://www.garagegames.com"&gt;GG&lt;/a&gt;, &lt;a href="http://www.torquepowered.com"&gt;TP&lt;/a&gt;, or WTF it's called now, have finally got out a full engine API and script reference. Docs for teh win! as our cousins across the pond tend to shout ... &lt;span style="font-style:italic;"&gt;a lot ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XnNHabybIFk&amp;amp;hl=en_GB&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/XnNHabybIFk&amp;amp;hl=en_GB&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;And what's more restful than a chapel of rest? As long as it's only a few seconds, or else it'll get annoying.&lt;br /&gt;&lt;br /&gt;Once again, Huzzar for &lt;a href="http://www.purelighttech.com/"&gt;PureLight&lt;/a&gt;. Just 2 tonemaps and 3 meshes. Outside of the chapel is a straight unlightmapped mesh, with the interior and interior props, collected together as a Prefab (first prefab I've used, and boy do these thigns look useful!). And it's a fully enterable building too, so I can use it in-game as a prop as well.&lt;br /&gt;&lt;br /&gt;Originally I'd used a realistic lighting technique for the tonemaps ... but thought it looked a bit dull, so I arty'd the whole thing up with shadow blockers and multiple spotlight through each window, casting varying degrees of light intensity around the interior.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4073/4858827472_1cba243d18_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4073/4858827472_1cba243d18_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Admittedly this screenie is a bit dark on the ambient ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4138/4871720090_136c4da402_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4138/4871720090_136c4da402_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;So here's another ...&lt;br /&gt;&lt;br /&gt;Window on the left took me over nine thousand hours in&lt;a href="http://www.gimp.org/"&gt; MS Paint&lt;/a&gt; ... and the one on the right took my about 9 seconds after I remembered how to draw ... out of practise ...&lt;br /&gt;&lt;br /&gt;Repawn/quit dialogue is still just a stock GUI, so I'll need to replace that with something completely custom, but all in all, I thought it was quite a nice touch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7232744387854180668?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7232744387854180668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7232744387854180668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7232744387854180668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7232744387854180668'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/08/mortality-test-we-are-not-immortal.html' title='Mortality test - We Are Not Immortal ... allegedly ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4073/4858827472_1cba243d18_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5127124048120844360</id><published>2010-07-26T17:22:00.003+01:00</published><updated>2010-07-26T20:38:45.306+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><title type='text'>GUI Feedback Tweaks</title><content type='html'>Made a few tweaks after feedback, adding an icon for the ammunition and grenades and a selected weapon indicator in the inventory.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4098/4828784744_44ce9e5818_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4098/4828784744_44ce9e5818_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And had a little "field test" for in-game use with a shortrange battle test with team- based Ai.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/A2Z8yw6Lc1s&amp;amp;hl=en_GB&amp;amp;fs=1?hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/A2Z8yw6Lc1s&amp;amp;hl=en_GB&amp;amp;fs=1?hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;And tweaked the damageHud so the danger warning now flashes/pulses. In the future I think I'll put in an audio alert of some kind when the player gets injured, as well as an audio for healing at an aid station.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bsqUz3tfySc&amp;amp;hl=en_GB&amp;amp;fs=1?hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/bsqUz3tfySc&amp;amp;hl=en_GB&amp;amp;fs=1?hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5127124048120844360?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5127124048120844360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5127124048120844360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5127124048120844360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5127124048120844360'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/07/gui-feedback-tweaks.html' title='GUI Feedback Tweaks'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4098/4828784744_44ce9e5818_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3944475724739532087</id><published>2010-07-23T00:43:00.006+01:00</published><updated>2010-07-26T17:29:23.519+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><title type='text'>Gooey ... Very Gooey ...</title><content type='html'>&lt;span style="font-style:italic;"&gt;BBBBBBBBBBZZZZZZZZZZZZzzzzzzzzzzzzZZZZZZZZZZZZzzzzz&lt;br /&gt;when the hell does this buzzing in my ears go away!?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gooey gooey gooooooey .... I'm not saying Gooey - it's just too &lt;span style="font-style:italic;"&gt;"world of double entandres"&lt;/span&gt;. So, been working on GUIs for general gameplay. Can't say that I really knew much about GUIs previously, so I taught myself with a bit of the old "trial and enormous ballsup". Made a list of various things I'd need on screen at any one time. It's mostly the "usual suspects", health, energy, stance, inventory, info HUD ... that kinda stuff.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4077/4799073771_903a7efe2d_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4077/4799073771_903a7efe2d_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the top left - toggleable inventory, displays all 20 available weapon slots, using a HL2 style weapon selection system, and their relevant loaded ammunition/extra ammuntion. Displays a blank space if you haven't picked up the weapon. Hold down the key to display, release to hide ... cos it takes up a sizeable amount of screen space.&lt;br /&gt;&lt;br /&gt;Below left - Compass and Bearing. Originally from a community resource on the Torque site, I have since designed my own because I only needed the basic functionality.&lt;br /&gt;&lt;br /&gt;Left Bottom - chat HUD, single line of info telling the player what they've picked up or selected.&lt;br /&gt;&lt;br /&gt;Right Side Top - Directional Hit Detection Warning, get hurt, and this warning texture pops up to show which area you got hit in, fades out after a moment.&lt;br /&gt;&lt;br /&gt;Lower Right Group - from the top - Aiming (doubles as walk) icon, and stance icon (stand/crouch/prone). Below that is grenades and ammuntion weapon/in backpack. And the lowest line is energy and health. Energy works but isn't actually hooked up to do anything yet ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4099/4813231481_1f9fd2362b_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4099/4813231481_1f9fd2362b_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warning texture border is used to alert the player that they are in danger. Comes in two stages, amber/black when player health has dropped to the point when a single shot from the most powerful weapon would be fatal, and then red/black when a single shot from most weapons would prove fatal.&lt;br /&gt;&lt;br /&gt;In the upper right hand corner is the Communication HUD, loosely based on the idea from Freespace where you'd get a little animated pic of who was talking to you over the radio. Thus the Comms HUD displays a static picture of the messenger and 5 lines of text to hold whatever the player needs to be told dynamically.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4101/4819023273_d889bfecfc_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 188px;" src="http://farm5.static.flickr.com/4101/4819023273_d889bfecfc_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And finally maps which toggle on when you hold down the "show map" button. I'd had a bit of an um-and-ah about maps and radar and the sort, and eventually decided against what most games have - the dynamically updating radar showing the player's position. Instead I've decided to go down the map reading route - the player would have to orientate themselves using visual clues such as heightmap and buildings and then move from one point to another using the compass and heading as "dead reckoning", akin to realistic map reading.&lt;br /&gt;&lt;br /&gt;Currently the map on the left is only a heightmap for testing, but would include buildings and roads/tracks like a real map as well as possibly target/goal information. The map on the right is what displays when no map is available.&lt;br /&gt;&lt;br /&gt;That about wraps the gameplay HUD up, apart from maybe linking energy to something like a sprint/breath underwater/shielding/energy weapon/etc ... have to have a bit more of a think on that one.&lt;br /&gt;&lt;br /&gt;Next up, that demo I might have mentioned aeons ago ... and I've also got an idea about using dynamic, random placement of enemies as a way of increasing replayability for it. And eventually get back to looking at the save/load game system I mentioned many moons ago ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3944475724739532087?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3944475724739532087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3944475724739532087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3944475724739532087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3944475724739532087'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/07/bbbbbbbbbbzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.html' title='Gooey ... Very Gooey ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4077/4799073771_903a7efe2d_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1156126710324159209</id><published>2010-06-30T23:28:00.005+01:00</published><updated>2010-07-01T05:33:41.905+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><title type='text'>The Big Ai Test -&gt; Post Debug Hell - Corporate Devs Free Beer!?</title><content type='html'>&lt;span style="font-style:italic;"&gt;BBBBBBZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzzzzzzzzzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ&lt;br /&gt;Anyone else got a funny buzzing in their ears ... ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Whoa - almost missed a monthly update ... so ignoring the sudden outbreak of tinitus ...&lt;br /&gt;&lt;br /&gt;So ... Ai is ... about sorted ... there's a few rough edges here and there ... but it's about sorted.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4120/4749994400_7d93cb64db_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 292px;" src="http://farm5.static.flickr.com/4120/4749994400_7d93cb64db_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's got Dijkstra pathfinding ported over from my original ancient demo and it's got basic dynamic avoidance for when they run into each other ... something more high tech than my previous "bounce off each other" that dated from &lt;a href="http://yorkshirerifles.blogspot.com/2008/04/dubious-demo-gameplay-video.html"&gt;way back when&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And it's really 3 Ai routines in one. There's my originally conceived &lt;span style="font-style:italic;"&gt;Call of Lawyers&lt;/span&gt; style trigger based, squad Ai movement goals -&gt;. It's a scripted design to get Ai exactly where they are wanted.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="241"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XnScaMpoTl0&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/XnScaMpoTl0&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="241"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;It was supposed to be "gratuitous bunny slippers" but turned into "gratuitous bum shots" ... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And then there's two fully dynamic routines.&lt;br /&gt;&lt;br /&gt;First up, is a simple "move towards nearest enemy", think of it like &lt;span style="font-style:italic;"&gt;rubber banding&lt;/span&gt;. The Ai selects the nearest target and moves towards it regardless of whether it could  actually be detected or not. It's supposed to be a little trick to force action to happen, and can be used against a specific target - eg: the player.&lt;br /&gt;&lt;br /&gt;The second method is purely dynamic, with the Ai deciding it's goals visually and then with an audible fallback if it cannot see anything. Failing to detect any targets at all means that it will patrol randomly.&lt;br /&gt;&lt;br /&gt;Visual targeting, whether for dynamic goal decisions or just plain shooting is decided across a number of visual factors from how alert the Ai is, the angle at which the would be target is, the distance, the target's pose - lying in a bush being a lot harder to see than jumping up and down, whether the target is firing itself (aim for muzzle flash at long range), and so on and so forth.&lt;br /&gt;&lt;br /&gt;Hearing is done by a mixture of Ai alertness, target noise - if it's shooting, or close range movement - creeping around just behind. There is also a state of "global alertness" so if an Ai is far away but can still hear gunfire they'll stop chilling and start to investigate. All of this enables the most basic use of stealth possible.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4078/4749350951_ea869ef23a_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://farm5.static.flickr.com/4078/4749350951_ea869ef23a_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Each of these 3 methods come off the main Ai routine and allows for instant changing between them if required --- it also helps to keep the Ai integrated, and avoids many different datablock/functions from being created for seperate types of Ai --- &lt;span style="font-style:italic;"&gt;though it also might have just been me wanting to try and keep things tidy and integrated together as one&lt;/span&gt;. After so much going back and forth between things as I teach myself development - I didn't fancy doing that with my Ai, so it's pretty much everything that I can think of, which I would need.&lt;br /&gt;&lt;br /&gt;In testing this integration works fine for both ranged-based and melee-based Ai.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4074/4750361154_bde955e407_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://farm5.static.flickr.com/4074/4750361154_bde955e407_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Zulus! ... I mean, PathNodes! ... thousands of 'em&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ai have stress and threat levels (one used to check the other) so depending on how much threat they are facing depends on how they act, from running around normally -&gt; to ducking and being cautious -&gt; to being pinned down -&gt; falling back -------&gt; to full blown rout with accompanying cover head and flee animation.&lt;br /&gt;&lt;br /&gt;All of these states can also be scripted/triggered rather than engage organically, and of course they can also be ignored.&lt;br /&gt;&lt;br /&gt;Needless to say all this took a fair bit hammering away at the old keyboard - and then even more time debugging all of my errors - especially as it seems far too easy to get one thing working, go on to another, and then break the first. Mr Fairfax has my sympathies ...&lt;br /&gt;&lt;br /&gt;After much happily hunting around a maze working all the issues out -  &lt;br /&gt;&lt;br /&gt;... like &lt;span style="font-style:italic;"&gt;isObject&lt;/span&gt; really means &lt;span style="font-style:italic;"&gt;doesExist&lt;/span&gt; which technically isn't the same thing ...&lt;br /&gt;&lt;br /&gt;- it was time for some large scale testing and a chance to try out a community script snippet for automated pathnode grid creation, which works quite nicely out of the bag.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="241"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6Vi63xVAwqc&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6Vi63xVAwqc&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="241"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;First up is something I seem to have recorded at entirely the wrong size - cos that ain't 720p. It's an initial outdoor test with a fairly widely spaced nodegrid. &lt;br /&gt;&lt;br /&gt;There are 32 Ai, split into 2 teams, all of whom are using the Dynamic audio/visual Hunting routines. It's a bit laggy with the forward rendering of the shadows, and the paths were not precompiled but getting built from the node grid when requested. Without the extra overhead of the video it was giving around 40fps in-game. It does give quite a nice "organic feel to a battle".&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="241"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qna5SJ3coBU&amp;amp;hl=en_GB&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/qna5SJ3coBU&amp;amp;hl=en_GB&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="241"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;1080p test - but you'll have to click the YouTube sidn to get the HiDef source ... though YT insists on chewing on my quality&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Second up is the same battle but with shadows disabled to lessen the stress on the GPU and 50 dynamically hunting Ai to heighten the stress test for the CPU. Paths are precompiled this time. Even in the midst of one helluva firefight, fps keeps between 60-90, depending on how many Ai have to render LOD_0 up close to the camera.&lt;br /&gt;&lt;br /&gt;So all in all, I'm pretty chuffed, --- or maybe that should just be relieved ... and talking about blowing your own trump-vuvazela... stuff!&lt;br /&gt;&lt;br /&gt;Also stuff - BBBBZZZZZZZZZZzzzzzzzzzzZZZZZZZZZZZZ and a big ball of fire in the sky the likes of which this part of cloudy Auld England doesn't get terribly much of, have been vying for my attention this month. As had a weekend break --- No use of a &lt;span style="font-style:italic;"&gt;contomiter&lt;/span&gt; for three days! Possibly a new personal record though I did get to go to some Corporate Dev's own bar &lt;span style="font-style:italic;"&gt;(instead of a sign advertizing the company building, they just have a normal brass name/number plate with the face buttons of their controller in the corner)&lt;/span&gt; ... and the booze is subsidized! 6 bottles of imported Euro lager and free popcorn for 7 quid (10bucks). It is still just a glorified canteen with coloured chairs though. &lt;br /&gt;&lt;br /&gt;I was the only person wearing a tie and suit jacket. &lt;span style="font-style:italic;"&gt;... goddamn hippies ...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1156126710324159209?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1156126710324159209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1156126710324159209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1156126710324159209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1156126710324159209'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/06/big-ai-test-post-debug-hell-corporate.html' title='The Big Ai Test -&gt; Post Debug Hell - Corporate Devs Free Beer!?'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4120/4749994400_7d93cb64db_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7496510036620212809</id><published>2010-05-23T01:27:00.005+01:00</published><updated>2010-05-24T19:32:56.387+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><title type='text'>The Lads versus The Thing That Crawled From U.r.anus</title><content type='html'>&lt;span style="font-style:italic;"&gt;What should I hang my head in shame over the most? The awful joke? Or the fact that I swiped it from an ancient repeat of The Simpoes? Either way - we're expanding AI, and boy did we find a few silly errors from our original AI script from 2 years ago...&lt;br /&gt;&lt;br /&gt;terrible title deserves a quick - &lt;a href="http://www.instantsfun.es/badumtss"&gt;badumtss&lt;/a&gt; - and whoever posted that on IRC has ruined my life as I now spend far too much time immaturely linking those stupid things ... I really need to get out more ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ignoring the fact that it's beyond the middle of May and I'm wondering where the hell my time is going - I'd like to blame it on my new regime of exercise and sobriety after recently feeling particularly lardy &lt;span style="font-style:italic;"&gt;(technically that counts as multitasking for a man!)&lt;/span&gt; but I did spend today lounging in the sun, watching soccer and drinking beer ... &lt;span style="font-style:italic;"&gt;that also counts as multitasking for a fella!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- we've picked up where we left off with our AI ... which was approximately &lt;a href="http://yorkshirerifles.blogspot.com/2008/03/do-ai-dream-of-electric-llamas.html"&gt;blog2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And boy did we find some rudimentary errors ... but spotting these sorts of things shows that we've not just learned how to incrementally rebuild our solution with VS. &lt;span style="font-style:italic;"&gt;which we only got told about yesterday ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Anyhoo ... after a quick clear up of previous script, I set about adding all of the variables I figured I'd need, and probably most importantly an "alertess" and "threat" system. AI can get pinned down under fire, and now decide to "bottle it" and fallback, and they can also become completely routed and flee in disarray if hard pressed by hostile gunfire. Currently "pinned" is a bit of an issue as they just stand still and turn away from the action because I've not been able to work out how the player move update (setPose function) can be used to affect AI ... &lt;br /&gt;&lt;br /&gt;Alert deals with spotting and shooting, from &lt;span style="font-style:italic;"&gt;bimbling&lt;/span&gt; around not paying attention --&gt; being alerted to "this sh*t just got real" --&gt; to long range sniping (don't waste bullets if you've not got a good chance of hitting them) --&gt; close range full auto frightfests. This should ... aledgedly ... be about enough to allow me create variations on a theme with low tech stealth/evade missions where the player could slip quietly past the blind side of an AI, but standing in-front of a &lt;span style="font-style:italic;"&gt;bimbling&lt;/span&gt; enemy whilst firing into the air and shouting "LEEROY!!!!!!!!!!!11!" would probably move the AI's alert status up somewhat ...&lt;br /&gt;&lt;br /&gt;Apart from these obvious "biggies" of AI control I've also added a host of new fields to deal with various aspects of scripted gameplay, many of which I expect bear a striking similarity to &lt;span style="font-style:italic;"&gt;"Call of Lawyers"&lt;/span&gt; which is the SinglePlayer game I heavily modded before deciding that rather than mod, I wanted to make one myself ... from scratch ... on my own &lt;span style="font-style:italic;"&gt;(save for all the help I scrounge out the community and the resources!)&lt;/span&gt; so there's lots of pacifist, favetarget, fearless, spawncount, etc.&lt;br /&gt;&lt;br /&gt;Also I've got my Ai utilizing the powers of whatever weapons they have - and that now includes grenade launchers. When I say "I" ... I of course mean I found a resource that someone else had post and thus beat me to finishing something which is on my "todo" list. &lt;span style="font-style:italic;"&gt;Wasn't Todo that bald bloke who did the theme music to Karate Kid back in the '80s ... ???&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;RifleGrenades initially had the same issue listed in the available design docs for Killzone (link where?), that they were just too terrifyingly accurate when used by AI. Of course the proper thing to do for any 3A studio is to then pull the function as it mentions in the Killzone design doc (never played it, can't say how accurate the info in the doc is) --- but being a stupid guy on his own in his bedroom trying to make computer games ... I just made riflegrenades less accurate so the player doesn't get pwned every shot but they still get used by Ai - which is quite exciting when the ground shakes and smoke flies up and your not suddenly a disembodied, static camera inside a mausoleum with a Gui asking if you'd like to respawn or quit... which is what I've decide happens on player death.&lt;br /&gt;&lt;br /&gt;I've got the functionality for that death sequence --- just need to model the mausoleum, with some nice stained glass windows and candle light ...&lt;br /&gt;&lt;br /&gt;No pics this blog, but to prove stuff happened - vidya of 50 Ai using alert, threat and riflegrenades in action ... though it's probably kinda hard to tell what the hell is going on.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="241"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aDKrj0FDW5c&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/aDKrj0FDW5c&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="241"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Also I redid how impulses affect players/Ai 'cos I thought it looked kinda silly if you shot a character in the foot and they leapt 10 feet upwards due to the projectile impulse. I prefer my players to get knocked backwards on the XY axis when hit ... which might be some sort of early fps nostalgia ...&lt;br /&gt;&lt;br /&gt;[edit]&lt;br /&gt;It just occurred to me that when an Ai is routed rather than retreating it would be a helpful visual clue if it did an animation, so I've knocked up a quick "flee" animation which plays on a setArmThread, so the Ai covers his head and sprints away from danger, going back into normal combat pose once they've calmed down a bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7496510036620212809?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7496510036620212809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7496510036620212809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7496510036620212809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7496510036620212809'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/05/lads-versus-thing-that-crawled-from.html' title='The Lads versus The Thing That Crawled From U.r.anus'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6735463597856029052</id><published>2010-04-25T00:13:00.005+01:00</published><updated>2010-04-25T00:26:16.770+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><title type='text'>Guns, Guns, Guns, Guns, Guns, Guns, and err ... Guns</title><content type='html'>Did I mention guns at all? In case not ... then I've been working on guns and reloading systems for guns and animations for reloading of ... guns. Oh, and a cricketbat ... which isn't really a gun ... unless it shoots fireballs ... which it doesn't ...&lt;br /&gt;&lt;br /&gt;After much thinking about the best way of doing things, and generally reading up on what others had posted previously, I drew up an ammunition_pool-&gt;weapon_magazine-&gt;reloading_system which I was vaguely happy with and bugtested the hell out of it.&lt;br /&gt;&lt;br /&gt;Even though, some little issue did slip through for a few weeks, when the whole thing would fail on very high rate of fire weapons if the player pressed various buttons in a certain sequence ... the sort of sequence which would only happen in the panic of gameplay when something leaps out of shadows and tries to stick it's tentacles in you ... but that's what playtesting is there to catch.&lt;br /&gt;&lt;br /&gt;I'd been trying to use an integrated automatic and manual reloading system from the top tier of the process, and had it check so that they wouldn't clash ... except under a certain combination of mouse presses it all failed, and I'd thought it was because of something else and had remedied that - except I'd only jiggled the failure around so that it was waiting to be triggered by an even more elaborate set of mouse button mashing. In the end dividing the top tier of the reloading into seperate manual/automatic check functions before reintegrating them into the main control function sorted out this little issue.&lt;br /&gt;&lt;br /&gt;How many hands does it take to reload a gun? Four ... just not showing all at once.&lt;br /&gt;&lt;br /&gt;And with a working reloading system, I knocked up some reloading animations. Nothing fancy, just whip the mag/clip out and slap another one in. I'd previously decided against my initial plan of using the full 3rd person model in first person due to the aiming issues that I had faced when going past 56 degrees. I'd modded the code so that the EyeOffset settings didn't stick to the screen and so the weapon jigs around in first person as the player model animates.&lt;br /&gt;&lt;br /&gt;Slap in some "bonus" hands solely for first person, attached to the weapon and animating with it, and reload animations came along. Whilst I made my first person "bonus" hands animations, I might need to rejig them a touch in places to deal with the explanation of floating point precision in NearClip that &lt;a href="http://coderhump.com/"&gt;Ben Garney&lt;/a&gt; expained - in a nice idiot proof explanation ... which always helps - or rejig my first-person rendering into a seperate pass ...&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="241"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MTGbgxnD8dA&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/MTGbgxnD8dA&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="241"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;All audio custom done with a bit of help in Audacity - more open source goodness.&lt;br /&gt;&lt;br /&gt;I also did a fair bit of "field testing" my 12 finalized(ish) weapons, tweaking them for balance so that everything has a strength and a weakness based on accuracy, rate of fire, damage, recoil, ammunition capacity and range. Weapons are generally split into short and long range types (and melee incase of ... well, melee weapons ...). Short range was fairly easy to balance and keep each weapon with it's own unique identity, but the longer range stuff required considerable more thought, not just for the player but also for how the Ai would use it.&lt;br /&gt;&lt;br /&gt;Still a few weapons to do, I've previously installed a HL2 type double keybind so the player can carry 20 weapons and the kitchen sink, though I'm thinking of keeping carryable ammunition levels fairly lowish, 4 mags for each weapon. I've got 12 done and so need another 8, though currently they're not priorities. I've got them planned out and need a couple of explosive weapons, a super-sniper rifle, a rechargeable lazzor (balancing the plus of not needing ammo with the con of a charge up time) and a couple of BFGs (I'm thinking of something like a hand-held version of the "Hornet" swarm missile system from FreeSpace -&gt; cos that was cool!) - then I just need 2 things which are bigger than a BFG ...&lt;br /&gt;&lt;br /&gt;Whilst trying to keep my weapon textures simple ... I'm back to umming-and-ahhing on whether I need to add just a bit of edging detail/wear ... as they are quite blank ...&lt;br /&gt;&lt;br /&gt;I knocked up another alien humanoid model - something that could use humanoid animations so that they could use humanoid firearms - which took a bit of time as I wasn't entirely certain of my creature design and ended up modeling it "organically" in Blender until I came up with something which wasn't entirely hateful. Still umming-and-ahhing on a texture and colour scheme for that, thinking of using a conplementary scheme and probably something fairly bright. I had an idea about a frill or something sporting an eye motif like butterflies do to try and make themselves look scary ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4010/4549319386_c1c5c8ef5c_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 256px;" src="http://farm5.static.flickr.com/4010/4549319386_c1c5c8ef5c_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also fixed an issue of mesh penetration with knee related animations on my player/Ai models - can't believe I hadn't noticed that before. And made another material for lower LODs which doesn't cast shadows - uses the exact same texture, so no extra texture memory, but doesn't cost anything in dynamic shadowing at distance - didn't really see the point in a human sized lowpoly shape using up resources to cast a tiny shadow that may be hundreds of metres away from the camera and almost unnoticeable to the player. Then I promptly went and did the same thing for the lower LODs of all small objects.&lt;br /&gt;&lt;br /&gt;And after all of my previous performance testing, I am now quite convinced that I can put worrying about drawcalls to bed.&lt;br /&gt;&lt;br /&gt;Also redid my lightmaps with the new PureLight version after some mesh tweaking to make the materials more productive for performance ...&lt;br /&gt;... and did a bit of custom script render/hide areas on my initial level to compliment the zoning...&lt;br /&gt;... and made a start on my custom player death-camera-respawn/quite UI sequence ...&lt;br /&gt;... and gave a singleplayer load/save system the first thoughts ...&lt;br /&gt;... and did various tweakings ... in general ...&lt;br /&gt;... and went to a real ale festival ... and think I might go to some more ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6735463597856029052?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6735463597856029052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6735463597856029052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6735463597856029052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6735463597856029052'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/04/did-i-mention-guns-at-all-in-case-not.html' title='Guns, Guns, Guns, Guns, Guns, Guns, and err ... Guns'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8235051869223109542</id><published>2010-04-06T01:29:00.004+01:00</published><updated>2010-04-06T01:45:56.884+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='drawcalls'/><category scheme='http://www.blogger.com/atom/ns#' term='pureLight'/><title type='text'>Fluppin' Drawcalls and Forget How to Use Blender and PureLight</title><content type='html'>&lt;span style="font-style:italic;"&gt;And an end to said fluppin' testing of Drawcalls. I was going to use fluffin' but after a quick check on the interwebz, it turns out "fluffer" has a rude conotation --- I mean, who would of thought it? So flup it is.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No pics. Just the facts, ma'am.&lt;br /&gt;&lt;br /&gt;I had a quick test --- read that as far too much time --- ripping the whole drawcall/performance thing to bits and seeing what I could get it down to.&lt;br /&gt;&lt;br /&gt;In previously mutterings on the whole performance thang I'd made it clear "why" I'd done things in a certain way previously, older tech, older hardware, a paranoia of &gt;512px.&lt;br /&gt;&lt;br /&gt;First off I amalgamated a few of 512 and few 256 non-tiling textures into larger 1024s. And drawcalls fell, fps went up by a bit.&lt;br /&gt;&lt;br /&gt;I'd also extended the fixation with 512 to my lightmaps, splitting up meshes into ever smaller pieces to get the texture size down, so next up was to stitch all those meshes back together into larger ones to reduce instancing.&lt;br /&gt;&lt;br /&gt;This meant realising that I'd forgot how to use pureLight ... and after a fair bit of jiggery-pokery, remembered that I had to delete the object in PL before replacing it if I'd changed materials or UVs (or it'd import with mixed by UVs), and if the mesh-object in Blender wasn't at 0 0 0 then the object/node it's parented to bloody had better be - even though that thing isn't getting exported - such as price to pay for using Open Source apps for these sorts of things. Oh, and collada doesn't do curvy and thus ase is needed. And ase needs materials and UVs, and collada sorts it's materials from it's UVs so time saver there ... as long as you don't want soft edges...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;*note to self: write this stuff down on more than post-it notes sometime*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And finally, I took a look at what renders and what occludes. Previously I'd used zoning to split my corridor-crawler of a level into 3 main areas, and kept to the same principle with scripting, just dropping the zoning (though they might come back, at the moment there's a bit of an issue with portals at certain acute angles and things suddenly not rendering that should).&lt;br /&gt;&lt;br /&gt;And so the up shot was this.&lt;br /&gt;&lt;br /&gt;(GTS250 - Advanced Lighting @ 1024px without shadows / with shadows)&lt;br /&gt;old drawcall average = 783 / 1076&lt;br /&gt;new drawcall average = 410 /602&lt;br /&gt;&lt;br /&gt;And the biggy - busy scene @ 1080p with everything maxed out&lt;br /&gt;old drawcalls / minfps = 2295 / 57&lt;br /&gt;new drawcalls / minfps = 869 / 80&lt;br /&gt;&lt;br /&gt;So, as a total average of all my recordings, drawcalls were reduced by a third, and fps increased by a fifth. Which was nice...&lt;br /&gt;&lt;br /&gt;In other news I saw ... well, heard some music I liked, and had to approach the guy on spec for commercial licensing (same chap I used on my &lt;a href="http://www.youtube.com/watch?v=JfFsyRHm-Rg"&gt;lightmap video&lt;/a&gt; under CC). He appeared reasonable, so we'll see how that goes once this Easter break thing is out of the way.&lt;br /&gt;&lt;br /&gt;Also, I redid my weapons with first person hands and reloading animations, and dug out an old (deactivated - don't call teh Fedz!) lever-action rifle for the metal scraping audio. At which point I discovered nearClip and the fact that it defaults to 10cm, which causes all kindsa hassle with camera penetration on aim-down-sight animations. If only I'd realized that before. I set it to 1cm and things are better. Still need to do a couple more bangsticks for my proposed demo, and so video of all of this later.&lt;br /&gt;&lt;br /&gt;End of rambling stream of conciousness...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8235051869223109542?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8235051869223109542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8235051869223109542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8235051869223109542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8235051869223109542'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/04/fluppin-drawcalls-and-forget-how-to-use.html' title='Fluppin&apos; Drawcalls and Forget How to Use Blender and PureLight'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6312051739805464003</id><published>2010-03-07T04:58:00.004Z</published><updated>2010-03-07T05:13:47.161Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Raging Texture Terror Usurped By Drawcall Delerium!</title><content type='html'>February flew ... fled ... or fffffff .... apparently ... or at least I didn't get a blog done anyhow. This may or may not be the same thing.&lt;br /&gt;&lt;br /&gt;But we've been busy, 'cos ... well ... we're always busy ... and not just with talking about myself in 3rd person.&lt;br /&gt;&lt;br /&gt;Having had a good read through some resources, I appropriated all the bits I liked into a custom weapon-&gt;clip-&gt;inventory system. Figured it'd take a good effort, say 16 hours, so settled in for a mammoth stint. And I did then iron out all the bugs after around 60 hours ... not quite what I'd planned on and hard to say how much of that time was actually spent rewriting the same thing from scratch after various mess ups as it's all a bit hazy but it did all get done in that week, and every possible way that the player could try to break the cycle and cause a bug has been covered. It's really all about logical arguements ... and me not considering all of them before starting. What happens if you have auto-reload and the player hits manual reload? Or tries to change weapons? Or aims down sights in mid reload? Or ... any of a number of things which cropped up as bugs and had to be squashed.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4003/4412047987_10c3d4b248_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 255px;" src="http://farm5.static.flickr.com/4003/4412047987_10c3d4b248_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Still have to sort out my first person weapon, arm animations, and it will have to be a seperate arm attached to the weapon model in first person, as expanding on my previous synchronize aim-down-sight with 3rd person model hasn't proved successful.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4049/4371147872_89359e2137_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4049/4371147872_89359e2137_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Ripples - Automatic weapon fire - the perfect skipping stone?&lt;br /&gt;&lt;br /&gt;And whilst messing with the whole weapon stuff, we've also had a good go at particle effects in general. Redoing all my weapon impact particles, ditching muzzle flashes in favour of mesh ones, and sorting out the impacts. I also "pooled" as many datablocks as possible for both particles and sounds, rather than having all individual ones listed in the individual weapons' cs files.&lt;br /&gt;&lt;br /&gt;After browsing around I found that Indy Games company "Sickhead" had mentioned about the &lt;a href="http://farm3.static.flickr.com/2732/4289194598_ce166aba0b_b.jpg"&gt;incompatibility of dogs and particle effect sources&lt;/a&gt;, and it hadn't occured to me to use actual effects like water or smoke for source material for particles before, as opposed to just trying to draw them, which I had done previously. And it all appeared much better.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2724/4412832966_8f3987fe07_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm3.static.flickr.com/2724/4412832966_8f3987fe07_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Fire and Smoke particles made with real smoke&lt;br /&gt;&lt;br /&gt;I also knocked up a little script to loadup specific datablocks for specific missions/levels in an attempt to keep preloading overhead down. I worked out a bit of info on audio and mainmenu music, as well as started to build the basis for my final play GUI. This involved a certain amount of umm/ah about how much GUI to actually have and especially the fate of the dreaded "crosshair". In the end I settle on a fair bit of GUI clutter on-screen, as I'm not after supposed realism. Most of it will be achieved as pop-ups - think inventory system akin to HL2, and I decided on an empty circular reticle as opposed to crosshair/no crosshair, which can be toggled and faded through 4 iterations or turned off completely. I've still a few more design decisions to make on the whole GUI thing ... but most of it is sketched into the cunning plan.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4054/4404356004_5d5befd018_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4054/4404356004_5d5befd018_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I also started to think about terrains and environments more, knocking up some terrain textures and fiddling with various settings. In the end I decided against parallax and continued to err on the side of numbers of stuff rather than eyecandy. I came up with a painterly style for skyboxes ... all very artistic and not half as difficult to make the sides join up seamlessly as I had initally feared. Also found out/had forgotten that relfection maps need to be rotated 180 degrees from the skybox, so you can't just use the same thing.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4023/4412815802_63700e9e18_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4023/4412815802_63700e9e18_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Did I mention textures?&lt;br /&gt;&lt;br /&gt;As a remnant of TGE/A, when I found my texture memory being devoured by large textures, I've had a bit of paranoia about texture sizes, and had always tried to use as small an image size as I could (max 512) and split UV maps between multiple small textures. Of course this doesn't take into account drawcalls, and so I had a bit of a rearrange, merging a number of UVmaps into single textures. Most noticeably in my AI/Player models, which I had previously split into boots/trousers/jacket/armour/hands/headgear/face/extras - and that all produces a fair few extra drawcalls. Amalgamting all of that into a single UVmap (still only x1024) gives me a reduction of around &lt;span style="font-weight:bold;"&gt;1500 drawcalls per 25 Ai characters&lt;/span&gt;, and a mild boost to fps on my current GTS250. So, texture memory paranoia has been vanquished! Or at least replaced with drawcall paranoia ...&lt;br /&gt;&lt;br /&gt;And I did the same on a number of props which use several textures.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2774/4412047863_896e1a8a58_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 255px;" src="http://farm3.static.flickr.com/2774/4412047863_896e1a8a58_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Groundcover is currently placeholder I knocked up quickly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also did some general tweaking, made more models, messed around with my AI scripts a little, and started to contemplate how best to create an in-game save/load system. And some other stuff ... which I can't remember. Did I mention doubling up weapon selection on the 0-9 buttons a la HL2 so you can choose 20 weapons with 10 keys in a previous blog? If not, that's done too and bug squashed.&lt;br /&gt;&lt;br /&gt;The engine I'm using (Torque3D) is another beta and it is shaping up nicely, and I've already been modding how the quality options of the  new OptionsGUI works, to make some of the changes more noticeable in both terms of performance/eyecandy gain/loss.&lt;br /&gt;&lt;br /&gt;Still on my list of not yet accomplished, are to redo the weapons (for the ump-frickin-teenth time) and have them work with animated 1st person arms which render/no render on 1st/3rd person camera, sort out clip/ammo reloading animations for all of this (12 weapons so far - 20 planned), make some more AI models (say 2 distinct types). After that it's tweaking AI scripts, and then soem actual gameplay making! Which has been so long I might have actually forgetton how to do it!&lt;br /&gt;&lt;br /&gt;So ... not too much in February which was planned but didn't get done, and plenty that didn't get planned that did get done --- but that's the adhoc production nature of being one bloke, in his bedroom, trying to make computer games.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4038/4412047491_338686a4e6_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://farm5.static.flickr.com/4038/4412047491_338686a4e6_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;If I actually manage to get my proposed demo out by April ... it'll be exactly 2 years since my last demo.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6312051739805464003?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6312051739805464003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6312051739805464003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6312051739805464003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6312051739805464003'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/03/raging-texture-terror-usurped-by.html' title='Raging Texture Terror Usurped By Drawcall Delerium!'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4268208782086043602</id><published>2010-01-20T19:31:00.004Z</published><updated>2010-01-20T19:44:13.967Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='example'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>Cliche versus unCliche! Also Less Squinting and Forget How to Draw</title><content type='html'>I decided to take advantage of the New Year Sales - also getting in before VAT was going to go back up to 17.5% - to rid myself of the constantly malfunctioning Dell RAID setup which I've spent 3 years complaining about ... but not done anything decisive to stop complaining about it. Well I have now, getting a single Western Digital with more cache than the RAID, and also the new working copy of Vista ... I think it's called Windows7 ... but basically it's Vista without the bugs.&lt;br /&gt;&lt;br /&gt;Also, whilst my folks had spent a month in the States jamming with 1950s rock stars, I'd swiped their digital TV to use as a monitor. I had quite liked this on the grounds that previously, on my old 20inch monitor I couldn't read text on the internet at full resolution and modeling in Blender was a pain. So I invested in some screen real estate and bought a 1080p TV to replace my monitor, and I can now see what I'm doing in full resolution without squinting. Or drop a resolution and everything is HUGE.&lt;br /&gt;&lt;br /&gt;After a bit of "faffing", I got the brightness, contrast, colour to be the same as my monitor.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img268.imageshack.us/img268/2761/newmonitor.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img268.imageshack.us/img268/2761/newmonitor.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I feel a sudden need to explain that I don't &lt;span style="font-style:italic;"&gt;really&lt;/span&gt; have the illustrated desktop background ...&lt;br /&gt;&lt;br /&gt;Right, that's my budget for the next decade blown - back to deving.&lt;br /&gt;&lt;br /&gt;I'd needed to come up with some sort of bad guys of a scary humanoid nature. So, I started on the &lt;span style="font-weight:bold;"&gt;Cliche&lt;/span&gt;. Scary Humanoid Monsters come in a variety of cliched forms ... they're cliches because they're humanoid and thus familiar, they look a bit like "us" because that's basically what they're based on (not to mention often in film they actually are a guy in a sweaty rubber suit), they are familiar and yet alien.&lt;br /&gt;&lt;br /&gt;They are most often slow moving hunters, stalking their prey, creeping out of the background to eat/maul/shag the stupid human who is centre screen, waving a flashlight around to draw attention to themselves (apparently it all adds tension). They do come in sub-sections, zombie, Nosferatu (as opposed to &lt;span style="font-style:italic;"&gt;sparkling&lt;/span&gt; vampires ... &lt;span style="font-style:italic;"&gt;bawwwww!&lt;/span&gt;), and the humanoid alien monster aka guy sweating in a rubber suit.&lt;br /&gt;&lt;br /&gt;Mostly I just plan the visual stuff in my head and then model/texture it &lt;span style="font-style:italic;"&gt;stream-of-consciousness&lt;/span&gt; style. However I decided to do a bit of pre-planning.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img407.imageshack.us/img407/994/stalker1small.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 205px; height: 308px;" src="http://img407.imageshack.us/img407/994/stalker1small.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Which is when I forgot how to draw ...&lt;br /&gt;&lt;br /&gt;The problem with the humanoid alien is that there is no way of avoiding the cliche of a certain HR Giger designed humanoid alien. It's either that or Blue Space Furries --- or a guy with pointy ears and blue blood.&lt;br /&gt;&lt;br /&gt;At first I wanted a fairly smooth mix of grey bone and pink skin - and tried to swipe the mouth shape from the "pink thing" in Pan's Labyrinth. I didn't quite manage to get the same "choked look", but never mind (probably should have bloated the tongue out more).&lt;br /&gt;&lt;br /&gt;Anyhow, this all caused plenty of frustration and I just couldn't get something that I liked --- so instead I decided to do something that was &lt;span style="font-style:italic;"&gt;bearable&lt;/span&gt;, ditched the smooth bone/skin idea (the whole "grey" thing stank too much of cliche for this particular cliche) in favour of a rough, almost oxidized look with a hefty metal shine. Animations seemed okayish, I wanted a it to sort of strut or "mince" -- yes, "mince" -- as it lopes slowly(&lt;--cliche) torwards at it's prey.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4017/4290181987_2547261421_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://farm5.static.flickr.com/4017/4290181987_2547261421_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's got big hands ... all the better for flailing around and battering the player ... like a zombie ...  Giger's alien ... the rest of the slow moving humanoid monster cliches. So I decided to throw in an &lt;span style="font-style:italic;"&gt;unCliche&lt;/span&gt; ... which might actually be a cliche in itself ... or ... something ...&lt;br /&gt;&lt;br /&gt;Anyhow, the slightly glowing bits are the hint, and they wash around the model's body. Fade isn't currently functioning, so it's a bit on/off when it happens.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="243"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Tr524a0muGA&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Tr524a0muGA&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The initial tests were just based on collision events, and then redone so that it attacks via a raycast based on range from target (only about 4 metres). Purple Swirlyness, some damage via a smartbomb effect (doesn't hit teammates) that goes out to an area of around 8 metres rather than just hitting it's target, lots of impulse, no clawing. And as an added cliche - ondeath, it goes out with a bang! Energy Explosion Audio provided by my GPU fan running Torque - and then &lt;span style="font-style:italic;"&gt;flanged&lt;/span&gt; in Audacity (if it sounded like that normally I think that there would be something very wrong!).&lt;br /&gt;&lt;br /&gt;All-in-all, not as bad as it could have turned out, and the colourful explosion effect is quite nice, distracting and I think can generally cause some confusion in-game. Guess I need a variation on the theme, players love variety, and some sort of &lt;span style="font-style:italic;"&gt;fast-moving-but-easier-to-kill-hunter-cliche&lt;/span&gt; is probably on the cards, some more humanoid aliens that can use guns, and then the really awkward task of making some scary starfish aliens which really look &lt;span style="font-style:italic;"&gt;alien&lt;/span&gt; (pulls out the Lovecraft books) --- hope I remember how to draw by then ... I'm really out of practise.&lt;br /&gt;&lt;br /&gt;And what they look like in action against a conventional army.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="243"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pu2JAk2sQVI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pu2JAk2sQVI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4268208782086043602?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4268208782086043602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4268208782086043602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4268208782086043602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4268208782086043602'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2010/01/cliche-versus-uncliche-also-less.html' title='Cliche versus unCliche! Also Less Squinting and Forget How to Draw'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6137000957707621564</id><published>2009-12-24T22:31:00.005Z</published><updated>2010-01-17T17:09:08.047Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><title type='text'>Organic Modeling Redux Rehashed Rinsed and Repeated</title><content type='html'>Back to remodeling my remodeled models ... models.&lt;br /&gt;And LODing, lots of LODing.&lt;br /&gt;And we're not going to be rejiggering the pokery again, this is the final cut of character models.&lt;br /&gt;&lt;br /&gt;This was what changed the last big alteration, as posted in &lt;a href="http://yorkshirerifles.blogspot.com/2009/03/textured-chaps.html"&gt;this old blog&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img8.imageshack.us/img8/2525/soldier1x800.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img8.imageshack.us/img8/2525/soldier1x800.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But frankly there were still plenty of issues, especially with dodgy deformation around the arms, so after &lt;span style="font-style:italic;"&gt;fluffy bunny slipper catgirl&lt;/span&gt; got scratch built, then tweaked for better joints, everyone else has needed a bit of a rebuild from scratch too.&lt;br /&gt;&lt;br /&gt;Obviously the best way to do this is to have a set of standard "base" characters to act as a blueprint, one for male and one for female. With deformation going to be as good as I could get, it was time to plough on with rebuilding my base soldier model. Still sticking to the principals of keep things fairly simple, most characters are sharing the same pants and footware textures. I beefed up the body armour considerably, and so it no longer looks like a leather jerkin from Henry V. So, once more into the breach, dear friends ...&lt;br /&gt;&lt;br /&gt;Old versus new version as seen in Blender.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4040/4168129866_e558dc6d14_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://farm5.static.flickr.com/4040/4168129866_e558dc6d14_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Actually, I trimmed a few polys off the head, it was much too detailed under the cap, and as the cap isn't coming off there was no point in having a full head of hair underneath it. So LOD_0 weighs in at 4958 tris.&lt;br /&gt;&lt;br /&gt;I ended up 7 LODs in total, cutting down polys and texture numbers as they go - the last one blank to make sure that the model will disappear totally at 8 pixels. I've found that without having an empty level of detail the last LOD will always display. It hadn't previously occured to me that textures should be LODed out too, but I saw someone ... somewhere ... in the forums mention that the last LOD should only have one texture to reduce draw passes.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;LOD_0 - 4958 tris - 8 textures - detail 400&lt;br /&gt;LOD_1 - 3732 tris - 8 textures - detail 300&lt;br /&gt;LOD_2 - 1849 tris - 5 textures - detail 200&lt;br /&gt;LOD_3 -  764 tris - 3 textures - detail 80&lt;br /&gt;LOD_4 -  120 tris - 2 textures - detail 40&lt;br /&gt;LOD_5 -  108 tris - 1 textures - detail 8&lt;br /&gt;LOD_6 -    0 tris - 0 textures - detail 2&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Now the reason why 4 and 5 are so similar is that skin reflects, and I found it a bit of a jump when the pale skin colour popped into view, so I made an extra LOD which was basically the same blocky, stick figure as 5, but carried the skin texture for the face, thus easing the popping of the contrasting tone of the two remaining textures.&lt;br /&gt;&lt;br /&gt;Bent over Gimp and feverishly scrawling on my tablet, I'd also redrew the textures up to scratch a little more.&lt;br /&gt;&lt;br /&gt;And what it looks like skinned in comparison to the old model.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2677/4190689603_e7dbb34854_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://farm3.static.flickr.com/2677/4190689603_e7dbb34854_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Righty-ho, now I need to knock up a security guard, and then probably work on &lt;span style="font-style:italic;"&gt;bad guys of a scary disposition.&lt;br /&gt;&lt;br /&gt;Merry Ruddy Crimbo&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6137000957707621564?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6137000957707621564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6137000957707621564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6137000957707621564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6137000957707621564'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/12/organic-modeling-redux-rehashed-rinsed.html' title='Organic Modeling Redux Rehashed Rinsed and Repeated'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-2740140784741730078</id><published>2009-11-30T02:38:00.003Z</published><updated>2009-11-30T02:45:05.570Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><title type='text'>Organic Modeling Redux, WM(in)Ds, Melee, Dewicious Spam</title><content type='html'>The problem with an organic approach, particularly to modeling, is that it's rather synonymous with not knowing what you were doing, but you still needed to get something out.&lt;br /&gt;&lt;br /&gt;So, I've remodeled and animated my player models "correctly", dropped my previous "hax" after finally working out how blended files are supposed to work, sorted out the various blend animations, and done a fair bit of "rejigging" to remove various issues of bad deformation. &lt;br /&gt;&lt;br /&gt;In short, stuff I'd done previously ... and then redone previously. And this time it's done properly ... after a whole load more reading up and experimentation to find out what the hell "properly" actually was. This ... is the &lt;span style="font-style:italic;"&gt;organic approach&lt;/span&gt; to modeling. The modeling done by someone who doesn't do modeling. It deals with small pushes forwards culminating in a far off strategic victory, and thus - global domination. After all what is the point of being a tinpot dictator, if you can't be tinpot. Surely one for&lt;span style="font-style:italic;"&gt; Philosiraptor&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Whilst this all takes a great deal of elbow grease, the results aren't particularly good in a screenshot, so you'll just have to take my word for it when I say I've been doing all of this ... and not just playing annoying PuzzleBobble Soccer flash games - which I'm now firmly on the All Time High Score list for.&lt;br /&gt;&lt;br /&gt;But the Interwebz demands pics, or something didn't happen, so here is not so much W-M-Ds as W-Min-Ds.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2631/4145012227_5aaa5d031f_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 466px;" src="http://farm3.static.flickr.com/2631/4145012227_5aaa5d031f_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Cricket bat with a split in it held together with electrical tape.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Melee ... does the engine come with melee ... &lt;br /&gt;&lt;br /&gt;Of course it does, it comes with everything ... everything which you can make - so I did.&lt;br /&gt;&lt;br /&gt;Classic (and I use the term in the widest possible sense) FPS melee. Animation plays (via the recoil state no less - makes sure it doesn't get blended with other blends), delayed raycast (to take into account time for the swing back) goes out 2 metres along the eye vector, damage and impulse done to anything hit exempting self and weapon.&lt;br /&gt;&lt;br /&gt;As part of my "bring player model up to speed" efforts, I'm including player gameplay attributes - which is probably the same thing really - and that of course means weaponry. I've gone for the old school approach of allowing the player to be &lt;span style="font-style:italic;"&gt;"tooled up to the nines"&lt;/span&gt; with bags of weapons ... probably 20 in all. That's 2 weapons per numerical key a la HL2. SO I wrote a little script for that, trying to do it on the cheap. It worked fine, though someone pointed out that it's not networked - and whilst MP isn't really my thing, I did want to make nice script, so redid it so it'll work in multiplayer.&lt;br /&gt;&lt;br /&gt;Also thoughts of finalizing my AI, something which I'll do once I've completed my player gameplay attributes.&lt;br /&gt;&lt;br /&gt;In other news ... it's cold, someone ordered Winter ... it wasn't me. Also Chinese Haxxorz? On my Box? Apparently so, though the old Mark.1eyeBall nailed the suspicious files before AV or Defender got their act together. Eventually security agreed with me that something was wrong regardless of initially saying everything was fine which it clearly wasn't, until it tried to dial out to some spamsite in China. &lt;br /&gt;&lt;br /&gt;Disaster averted ... only for some days later my file structure to corrupt. Retrieved ... I feel some nice new HDs coming on, and not the type I've spent 3 years complaining to Dell about. And if I'm going to have to install everything from scratch again - I might as well ditch Vista for W7. We shall see. Amidst all of this fervour bent over a keyboard, lack of benchpressing has turned shoulders to jelly and the first twinge of trapped nerve has reared it's ... I don't know, nerves don't really have heads ... but if they did it would have reared it. Hot water bottle down the jumper.&lt;br /&gt;&lt;br /&gt;Didn't I promise you good folks Spam?&lt;br /&gt;&lt;br /&gt;Mummzy has got a book out, first in years. Published on the cheap, you have to do your own cover - cue the &lt;span style="font-style:italic;"&gt;BA Hons PGD&lt;/span&gt; in Fine Arts which I don't put behind my name because they look silly. Originally she wanted some sort of terrible Conanesque 1970s fantasy boobz-and-swords cover ... I managed to talk her out of that. Haven't plugged the old tablet in for a freehand draw in aeons - it's been all texture making recently. But good practise for my ideas of comicbook cutscenes/intros/etc.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2489/4145772358_ecbbb6df56_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 323px; height: 512px;" src="http://farm3.static.flickr.com/2489/4145772358_ecbbb6df56_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Over9000 hours in MS Paint - honest&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The publishers asked for a bleed, I gave them one, then they didn't use it, making the cover slightly off centre. [/RAEG]&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lindaacaster.co.uk"&gt;Spamwich available from Amazon US or UK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[/end_of_spamwich]&lt;br /&gt;&lt;br /&gt;Righty ... next up will be completing the player methods, sorting out some more weapons and tweaking the ones I've done. I'm up to 6 types at the moment. I'm thinking along the lines of keybinds sharing 2 types of vaguely similar weapon types:&lt;br /&gt;1. Melee Weapons&lt;br /&gt;2. Shotguns&lt;br /&gt;3. Close Range Firearms&lt;br /&gt;4. Rifles&lt;br /&gt;5. AssaultRifle w/ GrenadeLauncher&lt;br /&gt;6. Light MGs&lt;br /&gt;7. Rocket Launchers&lt;br /&gt;8. Energy, laser, sci-fi rifles&lt;br /&gt;9. BFGs&lt;br /&gt;10. ... er ... not sure. Grenades? Or I might put them somewhere else.&lt;br /&gt;&lt;br /&gt;The there's a little case of remodeling all the other player/AI types, I've got one romper-suited, bunny slippered, comedy player model finalized, but the others require anywhere between redux and starting. And then bad guys of a scary nature ... and then AI sorting out, and the pathfinding tweaking. And then gameplay in the first level, and guis, and some other stuff.... and eventually a demo, just to get some performance feedback. Oh, and learn Fmod I guess. And ... &lt;span style="font-style:italic;"&gt;you know the score...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--------------&lt;br /&gt;&lt;br /&gt;Also, &lt;span style="font-style:italic;"&gt;Ball of Fruity 6 &lt;/span&gt;is out - I have not purchased. Not because of any Interwebz Picket Line over the PC user getting a beating, but because I've been busy (read the above bit ... it details this stuff).&lt;br /&gt;&lt;br /&gt;Now - this got me thinking:&lt;br /&gt;If one of the leading PC multiplayer experiences has ditched modding ... will other 3A franchises follow? It could be that ... at some time in the future ... the only way to mod, map-make or customize ... may be with an Indy game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-2740140784741730078?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/2740140784741730078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=2740140784741730078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/2740140784741730078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/2740140784741730078'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/11/organic-modeling-redux-wminds-melee.html' title='Organic Modeling Redux, WM(in)Ds, Melee, Dewicious Spam'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7612203089434443406</id><published>2009-10-25T02:20:00.003Z</published><updated>2009-10-25T02:38:49.231Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='lightmap'/><category scheme='http://www.blogger.com/atom/ns#' term='pureLight'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Lights, Lightmaps, Levels, Lorries, Lying Down Animations</title><content type='html'>&lt;span style="font-style:italic;"&gt;Grasping at straws for another "L" word in the title. Licensed Fraps could have been it. &lt;br /&gt;&lt;br /&gt;Level geometry complete-ish, lit, lightmapped, populated with stuff.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Stuff has mainly been pipes, lot of brass stuff lying around on walls and ceilings, to make the corridors look a little less bare. Various signs, some helpful with directions, some for comedy. I've also repolyed my cars and trucks, so that they look somewhat better but still stay away from overt realism. And I've got some simple flashing two-tones.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2693/4040576537_61fd2cf71b_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 287px;" src="http://farm3.static.flickr.com/2693/4040576537_61fd2cf71b_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;It was looking a bit clean, some damage decals took care of that&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'm a great believer in dog-legs and multiple height overlays in level design, giving the player the chance to see places that they want to go, have already been, alternative routes, and places which they can't get to but adds to the ambiance, illusion of immersion.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2714/4040576621_1a13a5d05f_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 287px;" src="http://farm3.static.flickr.com/2714/4040576621_1a13a5d05f_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Multilevel Crossover Madness - with the opportunity to jump/fall through damaged railings onto other catwalks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There's two seperate routes through from the start and finish of roughly equal length, various chances to crossover and swap them by jumping, falling, not looking where you're going. Both routes are a mile long and come together for a final sequence, plenty of signposting to avoid running around endlessly in circles - because being frustratingly lost is not fun.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3484/4041324098_003b583341_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 287px;" src="http://farm4.static.flickr.com/3484/4041324098_003b583341_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lightmapping has been great, and the ability of &lt;a href="http://www.purelighttech.com/"&gt;pureLight&lt;/a&gt; to design everything at once in Blender and then export it in position -rather than lining it all up as I had previously in the world editor - allowed me to add more stuff, like pipes to the walls without having a nervous breakdown about placement.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2592/4040576825_bb707a9bf7_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 287px;" src="http://farm3.static.flickr.com/2592/4040576825_bb707a9bf7_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Feeling decidedly unfit, I embarked on a masochistic hike over the roughest part of the Yorkshire Wolds, and only just made it back alive. I did however grab some nice reference pics of the area for future use, and the abandoned medieval village with ruined church at Warram Percy. &lt;a href="http://www.flickr.com/photos/yorkshirerifles/sets/72157622317029061"&gt;linky&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2627/4041324266_9b4a95fd76_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 287px;" src="http://farm3.static.flickr.com/2627/4041324266_9b4a95fd76_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Ooooh, spooky&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Having worked out how the particle editor functions for a bit of smoke and fire and with my intro levels geometry pretty set, I've turned my attention back to the gameplay, player models and AI. Crouch and prone animations have been done, and the necessary changes to the code implemented to get them to work and also to get the side/back animations for swimming. Still a few things require sorting out, rebuilding of the joints to deform better, some decent arms and hands, etc.&lt;br /&gt;&lt;br /&gt;And needless to say the weapons also need a bit of an overhaul. Not just with a few extra polys here and there but also some scripting to get them to work via magazines rather than just an ammunition pool. Save that they're fairly done though.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2746/4041324368_91c791fb9e_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 311px;" src="http://farm3.static.flickr.com/2746/4041324368_91c791fb9e_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Choice of comedy hairbands&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And to the AI. I've got some pathfinding crammed in, and it seems to work fine, regardless of the day I spent trying to destroy it by getting the wrong end of the stick. So my AI will need a bit of an overhaul too from their ancient origins back when I made my first demo in TGE &lt;a href="http://yorkshirerifles.blogspot.com/2008/04/dubious-demo-gameplay-video.html"&gt;some 16 months ago&lt;/a&gt;. No doubt this will take a bit of brain work, and it'd be useful to have a look in the code and see what controls the stances available to the AI, so that I could script a doPose(crouch); function and the like. It'd be nice to force the AI to hit the dirt when they're getting shot at, rather than constantly crawling around in a scary way as they default to the prone stance for reasons only known to themselves.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2486/4040577161_aa9e610c75_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 287px;" src="http://farm3.static.flickr.com/2486/4040577161_aa9e610c75_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Trapdoors never have enough amusing warning signs on them&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And after all of that it's scripting actual in-game play. And sort out a gui, mission progression, bits inbetween, a savegame() function, a ton of other things, and a new demo. Don't hold your breath on the last one ...&lt;br /&gt;&lt;br /&gt;Did I mention lightmapping? And licensing FRAPS - no more 30 second vids with a watermark then.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="324"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4TNvp24bjG0&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4TNvp24bjG0&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="324"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;A quick run around in Advanced Lighting as a test. 44 seconds.&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=4TNvp24bjG0"&gt;Link for HD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="243"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JfFsyRHm-Rg&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JfFsyRHm-Rg&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;And an abbreviated run through in &lt;span style="font-weight:bold;"&gt;Basic Lighting&lt;/span&gt; - no spec, no normals, just a crappy PC. 8.28 minutes.&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=JfFsyRHm-Rg"&gt;Link for HD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this brings me to something else - moozik. It ain't the sort of thing I can do myself, so I've been spending lots of time listening to licenseable royalty free tracks, mostly from sites that I've seen linked in blogs here. Looped twice to fit the length of my vid is "Time" by Milkman-Dan, here used with newgrounds.com non-commercial/share/attribute license. I also noticed that he's listed on AudioJungle.net for licensing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7612203089434443406?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7612203089434443406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7612203089434443406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7612203089434443406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7612203089434443406'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/10/lights-lightmaps-levels-lorries-lying.html' title='Lights, Lightmaps, Levels, Lorries, Lying Down Animations'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7113436612044838449</id><published>2009-09-15T23:21:00.003+01:00</published><updated>2009-09-16T00:37:26.732+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lightmap'/><category scheme='http://www.blogger.com/atom/ns#' term='pureLight'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>No Deer For A Month</title><content type='html'>Homer: "You got it, no deer for a month"&lt;br /&gt;Marge: "Did you say beer or deer?"&lt;br /&gt;&lt;br /&gt;No blog for a month, August passed by unblogged. So this is megablog ... or not, as the case may be. But there is &lt;span style="font-style:italic;"&gt;stuff&lt;/span&gt; and quite a bit of it. &lt;br /&gt;&lt;br /&gt;Also no Swiss Toni this time &lt;span style="font-style:italic;"&gt;... or ... &lt;span style="font-weight:bold;"&gt;ever&lt;/span&gt; ... again.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'd made a whole load of stuff, props and the such. And then gone back and resorted my original ultra-low poly car because all my newer stuff really made the very old models look bloody awful, so I need to bring a few of the older &lt;span style="font-style:italic;"&gt;stuff&lt;/span&gt; up to scratch so it doesn't look out of kilter. Whilst I was at it, I stuck a little scripted flashing &lt;span style="font-style:italic;"&gt;blues and twos&lt;/span&gt; in there, so the emergency lights loop a consecutive red to blue on. For dramatic exaggeration I slapped a "corona" on to the flashes, just a few intersecting planes of translucent texture. Though it makes a rather nice effect. The models now also have glass and an interior.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3481/3923305065_15ba55475a_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://farm4.static.flickr.com/3481/3923305065_15ba55475a_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;New motors ... still lowpoly, with a base texture for the body until I do something more&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'd set about populating my initial huge level with various new &lt;span style="font-style:italic;"&gt;stuff&lt;/span&gt;, as well as blocking in the portals and zones, and then testing various versions/sizes/numbers of zoning. I'd also thrown a huge load of triggers out, controlling simgrouped lights for each area, turning them on/off as required with the player's progression/backtracking, and this saved a great amount of fps. Not having submeshes rendering when out of view would do the same, and I know there has been some talk amongst the devs on this, but in the meantime this proved a good performance boosting workaround.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style:italic;"&gt;stuff&lt;/span&gt; is your standard low-poly sofa, bed, piping, consoles, wardrobes, toilets, showers, etc. As well as a host of monitors, some with helpful information like directions, and some with various scripted flashing messages using hidemesh rather than ifl. Also thought a bit more about player related gameplay, and decided to go &lt;span style="font-style:italic;"&gt;old school&lt;/span&gt;, so no recharging health and you'll be able to carry 20 ridiculously large BFGs. However none recharging health means medkits, and I don't really fancy have tonnes of them lying around. There are plenty of games which have a finite amount of these things, meaning if you're not doing well, you can soon run out of supplies in the game world, making completion of a dangerous task impossible due to low health.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2670/3923240911_b846d283be_b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 439px;" src="http://farm3.static.flickr.com/2670/3923240911_b846d283be_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Aidstation with clear and amusing instructions  - in Advanced and Basic Lighting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I came up with the cunning plan to have AidStations dotted about my game world. A bit like HL2 does, but with infinite reuses - only it takes them 60 seconds to recharge. Fine if you're hurt and have to run back/forwards away from the danger to get healed, but rather more tense if you're being chased by a big beastie and are trying to avoid getting hit whilst the timer ticks down to recharge. I'd had a look at how the "heal" function in stock T3D worked, and it's really more of an incremental health increase, I fancied something a bit fast and made a simple setdamagelevel call during onCollision. Run into an AidStation when wounded and get up to 60 health back, the blue button turns amber and depresses, the AidStation is unuseable for 60 seconds. Plus it's got the instructions written on it, so the player will understand what is going on in-game even though they didn't read the readme.txt manual.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3465/3923240901_da0030daa5_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 439px;" src="http://farm4.static.flickr.com/3465/3923240901_da0030daa5_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, I'd pretty much populated my initial level, when pureLight gets released, which makes sticking stuff in a whole lot easier, and also makes Basic Lighting so much nicer. Not that we were going to buy it initially, T3D was this years' major purchase, and I'd set the rest of my cash aside to pursue the great British crusade of trying to kill myself with booze. But after trying the demo - and working through Blender's &lt;span style="font-style:italic;"&gt;exporting issues&lt;/span&gt; - I was pretty damn impressed.&lt;br /&gt;&lt;br /&gt;Hence no deer for a month ... or probably longer. Having said that we haven't got off to an auspicious start and there was much deer last week due to the English soccer team qualifying for next year's World Cup.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3438/3923240905_592ac11fd7_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 439px;" src="http://farm4.static.flickr.com/3438/3923240905_592ac11fd7_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But we have got off to an auspicious start with pureLight, which is pure&lt;span style="font-style:italic;"&gt;Win&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Basic Lighting with toneMaps now looks just like Advanced Lighting minus spec/normals, which is pretty damn excellent. To dip my toe, I have exported the first area of my big level, filled it out in Blender, minus any dynamic objects such as flashing screens etc which aren't in the screenshots - though I have placed the occaissonal amber or blue ambient glow on the lightmaps to show where they're going.&lt;br /&gt;&lt;br /&gt;So the key for the screenshots is Advanced Lighting as the top image with Basic Lighting underneath. I divided the scene into just a few meshes, props/ablusions (all down one end for culling), props/area1 (almost everything which isn't wall/floor), props/bedroom (key point, requires extra stuff), emissive matierals (glowing numbers), translucent double sided materials (scrolling, floating console screens), and the main area geometry (everything you walk around on).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2613/3923240893_29359f716c_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 439px;" src="http://farm3.static.flickr.com/2613/3923240893_29359f716c_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then I slapped in a few lights, mimicking the illumination in the lightmaps, but also in Advanced Lighting it gets teh specular and normal maps to work. And it's this extra specular effect which makes the Advanced Lighting screenies look more 3D with the normals, and also a little brighter than the Basic Lighting, which is just using the lightmaps for geometry illumination. Of course anything without a lightmap (dynamic object like the player), still get the pointlights of the game engine shining on to them to provide illumination.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3516/3923240883_6ac6eb367e_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 439px;" src="http://farm4.static.flickr.com/3516/3923240883_6ac6eb367e_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The ability to export an entire scene from Blender and have it arrive in the same XYZ in T3D with lightmaps is fantastic, no more messing around trying to line things up in the editor, no more worry about an absence of shadows, and objects looking too stuck on one another. I'm hardly going for realisim, but the painterly lighting effect that pureLight gives are opposingly subtle, dramatic and artistic.&lt;br /&gt;&lt;br /&gt;It was also nice of the guys at PL to send me a better ASE plugin for Blender. I haven't had time to see what difference the newest PL version has with the Blender's terrible attempts to manage the Collada format, but hopefully Blender2.5 will address some of these.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7113436612044838449?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7113436612044838449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7113436612044838449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7113436612044838449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7113436612044838449'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/09/homer-you-got-it-no-deer-for-month.html' title='No Deer For A Month'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2670/3923240911_b846d283be_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7427036679768522135</id><published>2009-07-27T19:09:00.008+01:00</published><updated>2009-07-27T20:04:41.136+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Compensating</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img195.imageshack.us/img195/391/swisstoni1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 357px;" src="http://img195.imageshack.us/img195/391/swisstoni1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;This is Toni. You would never think it to look at him ... but Toni has a problem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img195.imageshack.us/img195/6646/lovelyjag.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://img195.imageshack.us/img195/6646/lovelyjag.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;But Toni also has a lovely Jag to compensate for his problem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img195.imageshack.us/img195/196/swisstoni2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 357px;" src="http://img195.imageshack.us/img195/196/swisstoni2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;So Toni never has to worry about his tiny winkle.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I don't have a lovely Jag. To compensate for my lack of a lovely Jag, I have an enormous level.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3446/3762109565_59b666c585_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm4.static.flickr.com/3446/3762109565_59b666c585_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My enormous, lovely Jag compensating level doesn't actually have any "stuff" in it yet, it's just the outer geometry. It's designed to have two main routes, routes which overlap and cut into each other, the idea being to give a variable pathway that the player can choose how to navigate from A to B. All nicely signposted at junctions to stop the whole thing from becoming one great, frustrating maze. Because being lost and walking endlessly in circles is &lt;span style="font-weight:bold;"&gt;not fun&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2517/3762907518_6ccb5d5a18_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm3.static.flickr.com/2517/3762907518_6ccb5d5a18_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Whilst this environment is clearly a "corridor crawler", I've sought to vary the length and depth of the passageways, from very tight, airduct style tunnels to vast, open roadways, criss-crossed with walkways. I'm a great believer in showing the player the places where they may go later on, but also to show places which are inaccessible and whose existence is to add to the illusion that the place is flippin' huge. Which it is.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3438/3762109993_a35bb2a6b7_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm4.static.flickr.com/3438/3762109993_a35bb2a6b7_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My player model (currently) moves at 8 metres per second on the flat, if you want to get really boring, I can tell you that running through the level gave an average speed of 7.69 metres per second. If you're still awake I can also tell you that it took 420 seconds for a run through one of the two routes (they're about the same give a few of seconds). 8 minutes a second is kinda fast, a bit faster than Roger Bannister averaged. But anyhow, that's around a 2 mile or 3.2km run through. Without things trying to eat me.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3489/3762110249_48f536071e_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm4.static.flickr.com/3489/3762110249_48f536071e_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next up I think I'll be making a few props, cause it is awfully bare, especially within the larger expanses. Performance is good, the model is around 300k polys, and with (hopefully) mesh culling for portaling to come, it'll get a boost as well as keeping all of the extra polys of the props and details at bay.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2538/3762908156_f98a38ed08_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm3.static.flickr.com/2538/3762908156_f98a38ed08_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And after populating the whole place with "stuff", I'll redo my player/AI models a bit, as I especially need to fix the arms and sort out some varied setArm animation threads as I've discovered that previously I'd been barking (mad) up the wrong tree on the whole, arms-to-look animations. Also I reckon I can make my models appear more detailed but perform better, which does sound like a contradiction in terms but hey ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2596/3762908322_bcc91a0831_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://farm3.static.flickr.com/2596/3762908322_bcc91a0831_o.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And then it'll be back to doing outdoor environments and ... stuff.&lt;br /&gt;&lt;br /&gt;Also HD video of geometry. There's a big, sweeping outer, vista, whole, er ... shot of it all from afar near the end. Goes on for 7 minutes so feel free to take a nap in the middle.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="243"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BikJYg3UYDI&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BikJYg3UYDI&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;In other news, July nearly over? How the hell did this happen? Why wasn't I informed? And just who is reducing the hours in a day? It can be the only explanation.&lt;br /&gt;&lt;br /&gt;At least I've got an enormous Jag.&lt;br /&gt;&lt;br /&gt;... I mean lovely level geometry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7427036679768522135?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7427036679768522135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7427036679768522135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7427036679768522135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7427036679768522135'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/07/compensating.html' title='Compensating'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6768631743550677731</id><published>2009-07-07T23:32:00.006+01:00</published><updated>2009-07-07T23:57:04.465+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><title type='text'>Shits and Giggles</title><content type='html'>Somebody sent me a cute dino for a pet. Daaaaaaw, it's SWEEEEET!&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qluvd4VdMoI&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/qluvd4VdMoI&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Just for shits and giggles&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6768631743550677731?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6768631743550677731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6768631743550677731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6768631743550677731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6768631743550677731'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/07/shits-and-giggles.html' title='Shits and Giggles'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5829235548580231775</id><published>2009-06-15T02:08:00.009+01:00</published><updated>2009-06-15T03:58:51.041+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><title type='text'>Fluffy Bunny Slippers</title><content type='html'>A mild reorganization, not so much of what I'm doing more how I'm approaching it. Priority is now a multi-level demo, polished to how the whole thing will eventaully/allededly/hopefully look and play. This can act on a number of levels. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img3.imageshack.us/img3/3825/trilightcorridor1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img3.imageshack.us/img3/3825/trilightcorridor1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Normals and spec, with basemap standing in for diffuse for the time being&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gametest, make sure the damn thing actually works, get feedback, extra bughunting in case I've missed anything (though I'm usually on the ball on how a player will attempt to break the game), see how it works across multiple types of box for I have only one, and state of the art it ain't. &lt;br /&gt;Act as publicity, getting something out there, showing existance, get known.&lt;br /&gt;Backstory. Narrative is an important element in my plan, and I don't want it to appear tact on as an after thought (think practically any major 3A big-budget release) or as some sort of shallow excuse for action and mayhem. It needs to be integrated, but not overwhelming. You can't play narrative, but you should be able to experience it as part of a unified whole, and it should complement the gameplay. Not be 5 hours of cutscene gobbledigook (I'm looking at you Hideo).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img34.imageshack.us/img34/8826/nekogirl1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img34.imageshack.us/img34/8826/nekogirl1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Also, fluffy bunny slippers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I figured it was safe to increase polycount a notch and watched Jonathon Williamson's tuts on modeling a head in Blender at &lt;a href="http://www.cgcookie.com/articles/2009/03/02/human-head-modeling-complete-series"&gt;CGCookie&lt;/a&gt;. I recommend it greatly, though after watching it, I did ignore it and work my own, slightly organic way ... which brought a few extra problems but hey ... the general process was taken.&lt;br /&gt;&lt;br /&gt;After that, more messing trying to sort out a decent body. I'vestill a few problems with deformation in various areas (like anywhere the mesh deforms ... ) but I now understand what is wrong, and if I don't I've a pretty good idea of how to fix it. Things are looking/working better. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img200.imageshack.us/img200/230/lightsnormals4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img200.imageshack.us/img200/230/lightsnormals4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And still no bald spacemarines ... infact, getting further away from the cliche every bunny slipper. Surely more awesome moustaches to come. Possibly twizzled.&lt;br /&gt;&lt;br /&gt;Game characters that are recognisable, are more often than not devoid of character. Lara was huge boobs. Master Chef of Hallo was a suit of armour barking gruff orders down the spaceship's mess hall. Gordon was mute but at least he was speccy and had a facial hair. How come his specs never fell off? And just how good was his eyesight without them. Was that why he carried that damn crowbar instead of a BFG, couldn't see anything until it was right on top of him .... [/tangent_of_doom]&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img200.imageshack.us/img200/860/lightsnormals1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img200.imageshack.us/img200/860/lightsnormals1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I had also been thinking about reflective ambient lighting --- on the cheap. Back when I was &lt;a href="http://img237.imageshack.us/i/maykop2ce1.jpg/"&gt;modding&lt;/a&gt; I used to like to put in subtle lighting effects, to catch the edges of models from opposite angles and help create depth on screen in the shadows. This was usually a cold, bluish backlight to complement warm, yellowish sunlight, but on a night level, I could go a little artier with pinks and blues and greens. It all looked rather nifty.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img200.imageshack.us/img200/2749/lightsnormals3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img200.imageshack.us/img200/2749/lightsnormals3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I decided to do it again. I'm not aiming for realism or 12 million shades of grey/brown, so why not ...&lt;br /&gt;&lt;br /&gt;Which was when I noticed a forum thread on the same sort of idea, but with a fancy, technological solution. But it did mention using primary colours, which I thought was a rather good idea. So I've setup a rather basic triangluar crossfire of RYB to pose as arty reflective ambient lighting.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img7.imageshack.us/img7/8237/triambient1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://img7.imageshack.us/img7/8237/triambient1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Triangular Crossfire of Psuedo-Reflective Ambient Colours&lt;br /&gt;&lt;br /&gt;As a foil to my previously developed plans of large, rural and urban, open areas, I've been designing a bit of claustrophobia. Tight, industrial style tunnels and interiors. Currently they are textureless, with teh basemap I used for the normals being used as diffuse, so it all looks a bit metallic and shiny. But I'll colour coordinate them to the seperate areas for variety and artiness.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img200.imageshack.us/img200/7550/lightsnormals2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img200.imageshack.us/img200/7550/lightsnormals2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;T3D beta2 seemed to have a whole lot of initial issues sorted -- which is what a beta is for. It still all looks rather promising. And after a fair bit of messing, I transported the basics of my AI system over and let them have a good run about.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="243"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZeFeHXnyQ5k&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZeFeHXnyQ5k&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Roll on beta3, and can I haz more hours in a day, plox, it's flippin' nearly monsoon season, better known as Wimbledon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5829235548580231775?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5829235548580231775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5829235548580231775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5829235548580231775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5829235548580231775'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/06/fluffy-bunny-slippers.html' title='Fluffy Bunny Slippers'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1758806558786017675</id><published>2009-05-07T14:19:00.004+01:00</published><updated>2009-05-07T14:24:31.698+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Son of Thmexthy Lewt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img2.imageshack.us/img2/9436/towntestlight1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img2.imageshack.us/img2/9436/towntestlight1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ig44Pudf44Q&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Ig44Pudf44Q&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KkBX-YwVgoI&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/KkBX-YwVgoI&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1758806558786017675?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1758806558786017675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1758806558786017675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1758806558786017675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1758806558786017675'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/05/son-of-thmexthy-lewt.html' title='Son of Thmexthy Lewt'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3040742304036762442</id><published>2009-05-06T03:21:00.005+01:00</published><updated>2009-05-06T04:08:00.834+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='t3d'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><title type='text'>Thmexthy Lewt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img504.imageshack.us/img504/1695/fullofwin.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 256px; height: 201px;" src="http://img504.imageshack.us/img504/1695/fullofwin.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Thmexthy Lewt&lt;/span&gt; - as a girl once described the spoils of a WoW raid to me.&lt;br /&gt;&lt;br /&gt;So, we now have Beta1 of new tech. And very promising it looks too. It's got shiny bits, quite a lot of shiny bits. They don't all work, which is why it's Beta1.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img18.imageshack.us/img18/9356/theguys1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img18.imageshack.us/img18/9356/theguys1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Chaps! My chaps, off for a bit of jog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The tools are nice, mostly realtime editing, and thus give a lot of decent close control, especially with the Materials Editor which is a real time saver. No more exiting the app to type stuff into files, only to reload it and not like it, and thus exit to tweak it all again.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img6.imageshack.us/img6/2664/theguys2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img6.imageshack.us/img6/2664/theguys2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;It's a first port - and it works ... which is nice ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After a fair bit of playing with the tools, I've made a superfast port of my TGEA stuff, some of it anyhow. It doesn't require too much rejigging, a few folder/destination changes in files, moving the spec map from the diffuse to the normal. The textures themselves will need a bit of a retouch to cope with the new lighting system, they're a bit dark now, but at least everything I've moved across seems to work at a base level.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img6.imageshack.us/img6/4186/theguys3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://img6.imageshack.us/img6/4186/theguys3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Wait till you see the whites of their eyes ... or not ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I've had my AI running about, shooting the crap out of each other. It's always nice to know that it works. I've also fixed a couple of memory leaks I found in my base AI script.&lt;br /&gt;&lt;br /&gt;Still got a host of textures to rejigg specmaps over to normals. After which It'll be time to stick my previously built mesh town in and see how it works.&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4WVDa6pQWAY&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4WVDa6pQWAY&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="243"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;A shiny bit.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Roll on bugs fixes and Beta2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3040742304036762442?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3040742304036762442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3040742304036762442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3040742304036762442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3040742304036762442'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/05/thmexthy-lewt.html' title='Thmexthy Lewt'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3142818267219864656</id><published>2009-04-15T16:51:00.006+01:00</published><updated>2009-04-15T17:55:28.899+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='example'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='TGEA'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Tris versus Textures</title><content type='html'>A long time ago, in a galaxy far, far away, someone made a post on the forums or in a blog which gave the memory useage for various texture sizes. I noted that useage did not double with size, but was on a much more aggressive scale. Thus 1024x gave a lot more of a kicking to Vram than two 512x.&lt;br /&gt;&lt;br /&gt;So, town2 version (counts on fingers) er ... 4? is done. It's a mesh model, with all of the buildings enterable. No facades this time. The 2 storey facade textures (1024x) have been ditched in favour of standard 512x brickwork textures (which the facades were previously based on and had been used around the map for low walls). All doors and windows are now modeled, and are proper openings. All buildings are now fully enterable and made up of multiple rooms. Each building has at least one staircase, large buildings have two. Access to and from upstairs is granted. Access through all buildings now exists.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img150.imageshack.us/img150/3848/housetypes1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://img150.imageshack.us/img150/3848/housetypes1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Prefab houses&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are currently 6 building types being used as prefabs, with a couple of custom ones (eg: church and chapel - church is still a facade, the only one left). All have at least one front and back external door, a minumum of 8 windows and 7 rooms. All have at least one staircase. &lt;br /&gt;&lt;br /&gt;There are 50 buildings in the village. That's &lt;span style="font-weight:bold;"&gt;641 windows, 180 external doors, 578 rooms, with 81 staircases&lt;/span&gt;, all linked, all useable, all explorable. I didn't count how many internal doors there were, but obviously they are what seperate the rooms so work it out (it might even be the same number as the rooms).&lt;br /&gt;&lt;br /&gt;Needless to say this has affected the tris &lt;span style="font-style:italic;"&gt;slightly&lt;/span&gt;. Tris now stands at around 48k up from 15k. And it's also affected performance - for the &lt;span style="font-weight:bold;"&gt;better&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img523.imageshack.us/img523/1717/townwindow1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://img523.imageshack.us/img523/1717/townwindow1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;From all closed facades to 1399-ish openings for view and movement.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Previously, with most of my Vcard (256mb 7900GS) settings on "performance" with x2 AA and Anisotropic OFF and display on x768, I was recording 165fps with the polysouped, facade mesh.&lt;br /&gt;&lt;br /&gt;Dispensing of the services of the 1024x facade textures, and increasing the polysouped mesh by over 500%, I get the following results.&lt;br /&gt;&lt;br /&gt;New Vcard settings are "quality" including x2 anistropic and AA. At x768 it gives a whopping 196fps, and at x1050 it gives an equally impressive 127fps.&lt;br /&gt;&lt;br /&gt;I did have a few issues with exporting the model. I had to split the model into 6 seperate meshes, as together they exceeded the max vertices count. But as seperate meshes within the same model they exported fine.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img523.imageshack.us/img523/962/townwindow2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://img523.imageshack.us/img523/962/townwindow2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;There's lots more opportunites to worry about being ambushed. 1399 of them.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, point proven on Vram and texture size against tris count. This was conducted on TGEA1.7.1, 1.8.1 would probably gain more of a performance boost (maybe 10%). How this will work with new tech remains to be seen, but I'd be quietly hopeful that all will be well.&lt;br /&gt;&lt;br /&gt;In the meantime I have a Campaign for Real Ale Festival to go to, the last refuge of Saint George Flag waving, folk singing, Morris Dancing, sandal wearing, unkempt beardies who have a deep understanding of the different forms of droppings excreted by the monstrous badger of doom.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;BADGER_OF_DOOM is also the current codename for my project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;God save England, 'arry and Saint George!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3142818267219864656?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3142818267219864656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3142818267219864656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3142818267219864656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3142818267219864656'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/04/tris-versus-textures.html' title='Tris versus Textures'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5318017859264671526</id><published>2009-04-06T21:39:00.006+01:00</published><updated>2009-04-06T23:22:57.113+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bsp'/><category scheme='http://www.blogger.com/atom/ns#' term='example'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='TGEA'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>It's The Economy Stoopid</title><content type='html'>Actually, it's the lightmaps. Map crashes on export? Bets are it's the lightmaps. Funny dark cuts along the edges of the brushes visible from certain angles and certain distances? Not brush borders, but lightmap borders.&lt;br /&gt;&lt;br /&gt;Why does this all happen? Because geometry scale is 32, small scale lightmaps (like 8) cause trauma on larger brushes when calculating the lightmap. Keep brushes smaller for less lightmap calculation map crash trauma. Compressed edges of lightmaps visible? Make lightmap scale the same as geometry to dispell (though to be honest you'll probably still see a few of the little critters lurking out in the far distance if you have a long, long surface like a road). There's also an occaisonal light bleed in some interiors with this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img17.imageshack.us/img17/6874/level2idea.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img17.imageshack.us/img17/6874/level2idea.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;What the world looks like immediately after it spawns from my id&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, with that finally realised, we set out to design Map2. Map1 (aka High Wold, the pics of an urban environment in my previous blogs) was created as a large test BSP using large facade blocks as the buildings. Rather urbanized, terrace streets. Map2 was designed for more individual buildings, detached, semi-detached housing. The idea being to create a series of prefabs which I can then drop into editor/modeling program, arrange and then export en mass as a single object (BSP or mesh model).&lt;br /&gt;&lt;br /&gt;And it all seemed to go okay like that. I did attempt a new method of creating a mesh model in Blender and then exporting it as a mapfile, but Blender's map exporter isn't up to anything particularly complicated, and the end result looked like a mangled, disjointed mess on close inspection. Blender can export mapfiles fine - if you stick to the basic rules of being BSP friendly (build it using individual blocks - think lego).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img253.imageshack.us/img253/3264/l2wip1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://img253.imageshack.us/img253/3264/l2wip1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Church tower is 400m away, just out of rifle range but not sniper or lmg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, establishing that prefabbing really is the way to go, and with a BSP version knocked up, I recreated the whole thing as a mesh model. Whilst polysoup collision (what you see is what you bang into) has been available for a while, the lack of lightmaps has meant that it just didn't cast realistic shadows onto itself or other meshes. This can look a bit odd to say the least. However, there is new tech on the horizon which may well sort this problem out, and which includes scandulous mention (it's not really scandulous, I'm just using a random adjective for teh interwebz draaama) that BSP will be more performance friendly. With Map2 copied into both BSP and Polysouped Mesh versions, it'll be interesting to what the difference is in-game using said new tech.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img253.imageshack.us/img253/8391/l2wip2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://img253.imageshack.us/img253/8391/l2wip2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;BSP version, roofs are NULLed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To be honest I was having so much fun building the mesh version that I imbellished it quite a bit, so it's got 7k faces instead of 5k as the BSP version. Performance-wise in current tech (TGEA1.7.1 'cos I haven't transfered all of my custom scripts over to 1.8.1 yet) the meshed polysoup wins out with an FPS of 30% higher than BSP (based on 5 locations and views at 1280x768 resolution with 1700m visibility). That's an max-average fps of BSP 125 and Polysoup 165.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img134.imageshack.us/img134/6721/l2wip3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://img134.imageshack.us/img134/6721/l2wip3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Polysouped Mesh version - Spot the Difference!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Apart from the mesh lighting issue there are also a couple of other problems, such as the model vanishing when the fog/maxvis hits the centre of the bounding box (problematic with large meshes in low visibility environments - but fine with a long maxvis like I'm currently using). I'm a great believer that in making large environments as a single object is better for performance than making hundreds of individual objects and then sticking them in-world together. No matter how many surfaces it has, it is still just one object for the processor to initialize and then worry about, instead of 50. Another issue I've noticed with current tech's polysoup is that the colour/tone/intensity of the textures aren't as vibrant as they are when applied to BSP, probably because of the lack of lightmaps.&lt;br /&gt;&lt;br /&gt;Anyhow, it'll be interesting to see what the new tech brings. Roll on Beta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5318017859264671526?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5318017859264671526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5318017859264671526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5318017859264671526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5318017859264671526'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/04/its-economy-stoopid.html' title='It&apos;s The Economy Stoopid'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4918382355275269498</id><published>2009-03-02T23:17:00.003Z</published><updated>2009-03-02T23:38:16.106Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Textured Chaps</title><content type='html'>I've been busy to the extent that February passed without a single blog post. Busy sorting out a host of &lt;span style="font-style:italic;"&gt;chaps&lt;/span&gt; - and not the sort of &lt;span style="font-style:italic;"&gt;chaps&lt;/span&gt; exotic dancers may wear either, but &lt;span style="font-style:italic;"&gt;manly chaps&lt;/span&gt; - and no, not male exotic dancers, although it does feature men in uniform. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img8.imageshack.us/img8/2766/policeman1x800.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img8.imageshack.us/img8/2766/policeman1x800.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Officer Dibble looking a lot less like a two-tone blue blob&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Having never actually done anything like this before, it was all a bit of an unknown quantity - but having said that I'm new to almost every part of game design beyond BSP level design and &lt;span style="font-style:italic;"&gt;scripting gameplay events&lt;/span&gt; (player hits trigger = bad guys spawn/action ensues/badgers attack)&lt;br /&gt;&lt;br /&gt;Included in the top left of each series of images is the original, raw version of the model type, as used in my &lt;a href="http://yorkshirerifles.blogspot.com/2008/04/release-dubious-demo.html"&gt;old Dubious Demo&lt;/a&gt; way back in April'08.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img8.imageshack.us/img8/2525/soldier1x800.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img8.imageshack.us/img8/2525/soldier1x800.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Generic Bald Space Marine Free Zone - Moustaches and Mullets - the sign of a man so manly he drinks Old Spice and sweats Brut&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Being a great believer in &lt;span style="font-weight:bold;"&gt;K&lt;/span&gt;eep &lt;span style="font-weight:bold;"&gt;I&lt;/span&gt;t &lt;span style="font-weight:bold;"&gt;S&lt;/span&gt;imple &lt;span style="font-weight:bold;"&gt;S&lt;/span&gt;toopid I based as much as possible off each other to reuse things like normal maps and share the same basic blueprints. There are 4 base face types, 3 base jacket types, 5 base hat types on a single image file, everyone wears the same gloves and everyone loves denim and hiking boots.&lt;br /&gt;&lt;br /&gt;I was also concerned with the horror of stereotype which is the crime against decency and intellect better known as the &lt;span style="font-weight:bold;"&gt;generic bald space marine&lt;/span&gt; that plagues 3A gaming. So everyone has hair and plenty of it, both on head and face. Everyone wears a hat. More game characters should have lush and bountiful moustaches and bad teeth.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img8.imageshack.us/img8/5225/civilians1x800.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://img8.imageshack.us/img8/5225/civilians1x800.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Heroes may occaisonally get stuck in a lift armed only with a string vest, but no-one ever puts a cheap suit with a bretton cap.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That's about it on the character modelling front for the time being. There's still a bit of tweaking required when the models pose, a few animations to sort out (though I did alter/faff with some in the last month), and some other related work yet to do. But I'm planning on sorting that out at a later date as I don't want to find something else that needs fixing later on and then have to refaff with it all again. So it'll get finished in one fell swoop.&lt;br /&gt;&lt;br /&gt;Next up is back to level design and a specific test. Now that I have pretty much all of the required textures/maps/models/assests/etc for an environment prebuilt, I need to see how fast I can &lt;span style="font-style:italic;"&gt;"knock up"&lt;/span&gt; a complete level. Also, prior to this &lt;span style="font-style:italic;"&gt;but possible at the same time&lt;/span&gt;, I have an idea to try on building a BSP in a slightly different manner to my first level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4918382355275269498?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4918382355275269498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4918382355275269498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4918382355275269498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4918382355275269498'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/03/textured-chaps.html' title='Textured Chaps'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1106266301949158025</id><published>2009-01-23T00:15:00.008Z</published><updated>2009-01-23T04:11:48.051Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Environment Completed - sort of ...</title><content type='html'>Environment &lt;span style="font-style: italic;"&gt;about&lt;/span&gt; done. We've got roads, facade terraced streets, enterable buildings, trees, lights, signs, boards, parked vehicles, traffic lights, extra facades, benches, bins, train track, train station, bus station, police station, petrol/gas station, ... &lt;span style="font-style: italic;"&gt;you get the idea&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img156.imageshack.us/img156/1863/env1hc9.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://img156.imageshack.us/img156/1863/env1hc9.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Hallelujah! I don't have to mess about with this anymore ... much&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The vast majority of textures for an urban landscape are done, as are most of the models needed to fill such an environment. They're all textured with normal and spec maps to receive lighting/shadowing information. It looks good in DRL (dynamic range lighting), has good performance with a high visibility level. &lt;span style="font-style: italic;"&gt;And&lt;/span&gt; it looks good in standard lighting, has excellent performance with a high visibility level. It's a full, square-mile wide (1600m in new money), open environment.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img156.imageshack.us/img156/7475/env2dn8.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://img156.imageshack.us/img156/7475/env2dn8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Just like real life, your going no-where with British Public transport....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And just as importantly - (&lt;span style="font-weight: bold;"&gt;more&lt;/span&gt; importantly) - it has shown a methodology for making such an environment. I now know how to push things to their limit without everything return to primordial soup &lt;span style="font-style: italic;"&gt;(oh the triumphs and tribulations of trial and error!)&lt;/span&gt;. In effect I don't have to waste my time in a heroic but somewhat pointless struggle with the &lt;span style="font-style: italic;"&gt;Second Law of Thermodynamics&lt;/span&gt;. I know what pitfalls to avoid, because I've already fallen down the bloody pit, slapped the hungry tiger, and climbed back out.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img156.imageshack.us/img156/9426/env3fy6.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://img156.imageshack.us/img156/9426/env3fy6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Big amber signs are the clue to use the bridge and not fry on the electrified track&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And I've created my models, the little things I can now throw into a world and manipulate as needed. They pretty much cover all of the essential objects to throw into an urban or rural environment &lt;span style="font-style:italic;"&gt;(see first paragraph)&lt;/span&gt;. I'll still have to knock out a few extra "level/gameplay specific" models as needed, but the vast majority of &lt;span style="font-style: italic;"&gt;"stock"&lt;/span&gt; models are completed. All 70+ of them.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img156.imageshack.us/img156/5071/interiortest1ne9.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://img156.imageshack.us/img156/5071/interiortest1ne9.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The world's most spartan pub - at the moment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So now it's on to people - or more, back to people, as I'm re-jigging my models and (tweaking a couple of) animations. Re-jigging in this case primarily revolves around remodeling the joints for better mesh deformation via advice given to me from the guy who worked on the new TombRaider for Wii and PS2 (and good advice it was too). I've had a tinker with a couple of animations and sorted out my previous problems keeping direct alignment down a sight whilst aiming at an acute angle along the Y axis (delicate tweaks every 5-10 minutes for 9+ hours until I fixed it). A bit more modeling and a rehash of my LODs and it'll be on to base, diffuse, normal and specular texture mapping them.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img156.imageshack.us/img156/3771/signs1he6.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 216px;" src="http://img156.imageshack.us/img156/3771/signs1he6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The exact places where my story (yes there is one, it's supposed to be an action-adventure, and adventure needs plot) takes place may be fictitious, but they're based within a real landscape. And yes, &lt;a href="http://en.wikipedia.org/wiki/Wetwang"&gt;Wetwang&lt;/a&gt; is a real place.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also I need to make a few "static people", basically a character model in an unanimated pose. These aren't &lt;span style="font-style: italic;"&gt;(just)&lt;/span&gt; for filling an environment currently devoid of life, but to be an event marker and allow a digi-painted, comic book style, cut-scene to be triggered &lt;span style="font-style: italic;"&gt;(by some sort of GUI ... I guess ... but I'll come up with a solution for that later when I'm working on the gameplay mechanics on the adventure side of things, the action has already been tested)&lt;/span&gt;. This will enable plot (and humour) to be imparted and will also sidestep dodgy voice-overs (nothing ruins immersion like bad voice-overs) or convoluted 90 minute machinima &lt;span style="font-style: italic;"&gt;re. Mr Kojima&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;. And it'll help reinforce the overall art style, as I will eventually get round to digi-painting the skyboxes in the same manner (as do the environment textures in general, but it does get hidden a little by the normal mapping). But for now the graphic tablet will continue to gather dust.&lt;br /&gt;&lt;br /&gt;So, methodology learnt, skills acquired, temperamental &lt;span style="font-style: italic;"&gt;"stuff"&lt;/span&gt; identified and solved or avoided or tweaked or battered into working.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2TpEhCDVVwA&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/2TpEhCDVVwA&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="222"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Available in HD if you click the vid - then click the timeline or it'll keep showing a loading symbol every few seconds if you start up from zero. (Dang YouTube - I'll try mpeg4 instead of H264 avi next time)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And there's a couple of extra vids showing &lt;a href="http://uk.youtube.com/watch?v=5oXubC2tNRc&amp;amp;feature=channel_page"&gt;long range weapons&lt;/a&gt; out to &lt;a href="http://uk.youtube.com/watch?v=sNPPY0xAVwg&amp;amp;feature=channel_page"&gt;400 metres&lt;/a&gt;. Available in HD with the &lt;span style="font-style: italic;"&gt;"nuance"&lt;/span&gt; listed above.&lt;br /&gt;&lt;br /&gt;Right, back to modeling those knobbley knees....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1106266301949158025?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1106266301949158025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1106266301949158025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1106266301949158025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1106266301949158025'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/01/environment-completed-sort-of.html' title='Environment Completed - sort of ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-2060954703621930497</id><published>2009-01-08T20:33:00.009Z</published><updated>2009-01-08T22:06:34.967Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='bsp'/><category scheme='http://www.blogger.com/atom/ns#' term='TGEA'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><category scheme='http://www.blogger.com/atom/ns#' term='garagegames'/><title type='text'>Dark Night Soul Hammy Melodrama</title><content type='html'>The ever decreasing list of &lt;span style="font-style:italic;"&gt;things to do&lt;/span&gt; is .... ever decreasing. In fact we (that's the royal &lt;span style="font-style:italic;"&gt;we&lt;/span&gt; or the Gollum &lt;span style="font-style:italic;"&gt;we&lt;/span&gt;, whichever &lt;span style="font-style:italic;"&gt;we&lt;/span&gt; prefer) are not only down to a single yellow, sticky, Post-It note (which is what passes for design docs around here), but are now just down to the tiny scrawled print at the bottom corner. And after that, we'll have a full, big-old environment completed. At last.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img300.imageshack.us/img300/4106/saintboycott1hc1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img300.imageshack.us/img300/4106/saintboycott1hc1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Low Poly FTW!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's mostly a matter of detailing those little things which would look amiss if they were not there. Sign posts to give the locale a place in a world beyond it's own existence, a public street map saying "you are here" and then no arrow to go with it, a closed down Post Office because of government funding cuts. And a walkway bridge which I forgot to do in the beginning and have just realised that there's an electrified railway track with no way to get from one side to the other. And a few other &lt;span style="font-style:italic;"&gt;bits&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img253.imageshack.us/img253/4417/saintboycott2mm8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img253.imageshack.us/img253/4417/saintboycott2mm8.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Bits" are allowed to have humour&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And it's &lt;span style="font-style:italic;"&gt;bits&lt;/span&gt; which have preoccupied the last 2 or 3 or so months. Warning signs just to make sure that people know that the bit of railway track which does not have a barrier blocking it is electrified - and thus is blocked (until I stick the footbridge over it anyway). Benches, tables, timetables, waiting lists, telephone kiosks, a baker's dozen worth of signage, parked vehicles, and all the base, texture, normal, specular mapping and multi-level_of_detail modelling which goes with it all. It's all &lt;span style="font-style:italic;"&gt;bits&lt;/span&gt;, and not the most fun &lt;span style="font-style:italic;"&gt;bits&lt;/span&gt;. It's not the intellectual stimulation of writing AI scripts or scripting gameplay sequences which is my real forte. It's all a bit like donkey work.&lt;br /&gt;&lt;br /&gt;And as a &lt;span style="font-style:italic;"&gt;creative&lt;/span&gt;, we hit "&lt;span style="font-style:italic;"&gt;The Dark Night of The Soul&lt;/span&gt;" (cue &lt;span style="font-style:italic;"&gt;stabby-shower-scene-from-Psycho-music&lt;/span&gt;!). It's when fatigue sets in, morale plummets and &lt;span style="font-weight:bold;"&gt;rum&lt;/span&gt; intake goes through the roof. It's probably what pro's call burn-out. I've been blogging/in full dev mode since March, and I don't do holidays.&lt;br /&gt;&lt;br /&gt;Of course there's an easy solution to this - keep going. Don't stop and do something else  because it's more interesting/fulfilling/entertaining, putting off the enivatable and the neccessary is the worst thing to do. Get the horror over with now and look forward to the fun stuff later - infinitely better than having the horror constantly lurking on the horizon, brooding at you. Just slog through. As an obese, chain-smoking, alcoholic, former opium-user once said; "&lt;span style="font-style:italic;"&gt;If you're going through hell, keep going&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img253.imageshack.us/img253/7972/pubsignaj8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img253.imageshack.us/img253/7972/pubsignaj8.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;PUB!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The slog continues, but is nearing the end. A new year has dawned, rum consumption has dropped off, morale leveled out, fatigue is ... well, pretty much where it always is, so no great shock to the system there. The one good thing about donkey-work is that it doesn't take up all your creativity, thus allowing the mind to quietly handle future ideas and plots on it's own, allowing them to ferment and evolve with no actual help from oneself, 'cos oneself is busy doing something frustrating and long-winded. And my hard-drive blowing up in the middle of all this wasn't exactly helpful.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img253.imageshack.us/img253/8256/policesignap7.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img253.imageshack.us/img253/8256/policesignap7.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;It might not look much but it imparts plot - and helps cover a bare wall&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So 89 textures currently finished (multiply that by 3 for normals and specular mapping), 49 completed models (multiply that by 3 to 5 for level_of_detail), and one huge .map/bsp with 9752 surfaces (which still needs a bit of tweaking here and there), and one considerably smaller low poly church and chapel. A bit more work (mostly texturing) and this environment will be completed, along with most of my core models, and just as importantly, a methodology for working efficiently and effectively designed from our trials-and-errors.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img142.imageshack.us/img142/5320/hilolightgb7.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img142.imageshack.us/img142/5320/hilolightgb7.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;DRL for shininess, Normal for performance (or to combat migrane)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;261 individual models in use, an extra 300 in replicated trees, the enormous bsp of the town itself and excellent fps with visibility set to draw all, and it's still good with a load of AI running through their raycasting routines for targets in a little shoot-through test I conducted.&lt;br /&gt;&lt;br /&gt;And Torque Game Engine Advanced was voted best engine of '08. &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=21683"&gt;Linkage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[/end_of_stream_of_what_passes_for_consciouness]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-2060954703621930497?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/2060954703621930497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=2060954703621930497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/2060954703621930497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/2060954703621930497'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2009/01/dark-night-soul-hammy-melodrama.html' title='Dark Night Soul Hammy Melodrama'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-9041270658180750683</id><published>2008-12-09T00:23:00.010Z</published><updated>2008-12-10T01:48:58.363Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Sweeney Todd</title><content type='html'>&lt;span style="font-style:italic;"&gt;"Go on, run 'em over!"&lt;br /&gt;"I can't just do that..."&lt;br /&gt;"Why not, you're a Policeman, aren't you?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Environment coming along nicely, and fairly satisfied with the trade off of clutter-versus-space. Too open and it'll look empty and sterile, too cluttered and there's no point in having large view distances and weapons that can reach 400 metres.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img412.imageshack.us/img412/2937/sweeneytodd1wn3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img412.imageshack.us/img412/2937/sweeneytodd1wn3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Sweeney Todd = Flying Squad (rhyming slang)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Having all of these streets with avenue style trees, street lights, telegraph/telecom poles, signs, roadworks and other ... well street objects, parked vehicles were somewhat noticeable by there absence. And they make good, large obstacles to use as cover.&lt;br /&gt;&lt;br /&gt;So I modelled a basic, low-poly car (just 600 tris and then gets sharply LODed at 205 and 46) which comes in a police and civilian flavour - neither of which are textured as of yet beyond a basic UVmap. The car is basically the same for both versions, the civilian type just missing the lights off the top and the intercooler/radiator/bump-in-the-bonnet/I'm-not-a-car-nut/whatever-it's-called. Based rather loosely (as in unsueably loosely) on late 70s, early 80s Fords like the Consul-and-Cortina/with-a-heavy-dose-of-Capri. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img151.imageshack.us/img151/2184/sweeneytodd2yu0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img151.imageshack.us/img151/2184/sweeneytodd2yu0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;British Armed Police. Not a musical about a serial killing barber&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Policecar will have the old British "jam sandwich" colour scheme. I can't stand all the modern British police paintjobs - quite a surprise when I came back to the UK after living abroad. You wouldn't automatically think that they're police ... maybe some sort of bizarre doctor-on-call or just some boyracer (hotrodder) with a fancy paint scheme and strange bodykit. They're slate grey with day-glo yellow/green strips. Whatever happened to white/red/white layers? (hence "jam sandwich")&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img151.imageshack.us/img151/2491/sweeneytodd3vl3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img151.imageshack.us/img151/2491/sweeneytodd3vl3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Though talking of &lt;a href="http://uk.youtube.com/watch?v=D99O6oTJVHo&amp;feature=related"&gt;music&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Civilian version will be &lt;span style="font-weight:bold;"&gt;biege&lt;/span&gt;. Strange to think that &lt;span style="font-weight:bold;"&gt;biege&lt;/span&gt; is no longer considered a cool colour for a car. &lt;span style="font-style:italic;"&gt;Oh the whims of fashion&lt;/span&gt;! &lt;span style="font-weight:bold;"&gt;Biege&lt;/span&gt; - the sort of awesome colour that should have it's own theme tune! &lt;a href="http://uk.youtube.com/watch?v=PCFVEvZvo3g"&gt;Link&lt;/a&gt;. (There's a fleeting glimpse of a biege facsimile in the background of this clip at 0:0.27 - and check out the size of computers!)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img151.imageshack.us/img151/5663/sweeneytodd4kl6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img151.imageshack.us/img151/5663/sweeneytodd4kl6.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;a href="http://uk.youtube.com/watch?v=rcfprTzcQLM&amp;feature=related"&gt;Sweeney - dinner = a kicking&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'll also get round to a truck of some sort (a bigger thing to hide behind) which will come in civilian and military motifs. I've had a quick um-and-ah (that's thinking to most people) about whether to make these vehicles static obstacles or have them dynamically blow-up when damaged. I'm not sure the latter would really bring anything special to gameplay. Also wondered about making them driveable vehicles but aren't planning on it (though there is no boundary to feature-creep unless you set one).&lt;br /&gt;&lt;br /&gt;After that it's a case of some road signs to set my fictional town in a factual location, two shop fronts (one a post office) and finalize a few textures for the big DIF (the town model). And after that it's a case of postmortem on how to build a level and lessons to be learnt. To be honest they're all pretty obvious and involve planning, listings, anti-faffing measures (as in going down the lists and not jumping back and forth fiddling with things) and less um-and-ah-ing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;And that's enough indulging '70s/80s British TV. .... I'm a child of my time .....&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-9041270658180750683?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/9041270658180750683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=9041270658180750683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/9041270658180750683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/9041270658180750683'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/12/sweeney-todd.html' title='Sweeney Todd'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1881708921422828792</id><published>2008-11-19T23:16:00.006Z</published><updated>2008-11-27T22:31:43.073Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>We Built This City on Rock and Roll</title><content type='html'>My new hard drive appears to be working fine, no problems since reinstalling my &lt;span style="font-style:italic;"&gt;entire life.....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img262.imageshack.us/img262/2462/wip191108bjh2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img262.imageshack.us/img262/2462/wip191108bjh2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Been down in London (&lt;span style="font-style:italic;"&gt;Where? Lon-don? Could you spell that please? L....?&lt;/span&gt;) and paid 12 quid (18USD) for a Mojito, which appeared to be a long glass full of ice. Consumed a good Magnum PI worth of free champers at a wedding so I guess it all evened itself out. Lon-don quite nice, but wouldn't want to live there.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img262.imageshack.us/img262/2712/wip191108aop7.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img262.imageshack.us/img262/2712/wip191108aop7.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Slowly but surely environment takes shape. Got street lights in, avenue style trees, and .... stuff. Still more .... stuff ... to do, mainly signs, benches and a few interior props before I'm happy. Had a further &lt;span style="font-style:italic;"&gt;fiddle&lt;/span&gt; with the facade textures of buildings, and have finally decided on an art style.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img262.imageshack.us/img262/5264/wip191108dkg2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img262.imageshack.us/img262/5264/wip191108dkg2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also been playing around with DRL and HDR lighting, and how the whole thing works with 200+ models (not batched) and visible range. And the answer appears to be ... fine. There really isn't much performance saving to be gained from cutting the visibility right down, or much to be lost from moving it right up.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img262.imageshack.us/img262/9721/wip191108czr2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img262.imageshack.us/img262/9721/wip191108czr2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I've decided on just over a mile view at 1800 metres. Originally I was planning on half of that, but the performance change is fairly negligible. I'll see how the whole thing works when I have an extra 3-400 trees in the background (using batching to speed it all up).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1881708921422828792?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1881708921422828792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1881708921422828792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1881708921422828792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1881708921422828792'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/11/we-built-this-city-on-rock-and-roll.html' title='We Built This City on Rock and Roll'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6284118330758870031</id><published>2008-11-04T23:07:00.002Z</published><updated>2008-11-04T23:11:42.934Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Nigou Backup!</title><content type='html'>&lt;span style="font-style:italic;"&gt;Apologies for the truly awful Japlish - at least that's what it sounded like phonetically if not literally ....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And how come the japanese don't have their own word for &lt;span style="font-style:italic;"&gt;Backup&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;By default it seems cavalier to apropos words from other languages like some sort of doppleganger.&lt;br /&gt;&lt;br /&gt;So, death of my hard drive --- again..... sends an accusing glance in the direction of Dell and mutters &lt;span style="font-style:italic;"&gt;"reconditioned"&lt;/span&gt; under his breath. At least the replacement arrived promptly.&lt;br /&gt;&lt;br /&gt;Out with the Samsung of Korea and in with a Seagate of Thailand ...... but the first corruption of NFTS and I'm ditching the lot and buying my own decent quality drives (as opposed to constantly getting malfunctioning replacements from Dell).&lt;br /&gt;&lt;br /&gt;But this is why we &lt;span style="font-style:italic;"&gt;backup&lt;/span&gt; (that's the &lt;span style="font-style:italic;"&gt;Royal "we"&lt;/span&gt; ..... or possibly the &lt;span style="font-style:italic;"&gt;Gollum "we"&lt;/span&gt; --- depending on how often I'm eating raw fish heads). &lt;br /&gt;&lt;br /&gt;A privately bought Seagate Freeagent is the main backup - main cos it's the biggest, and I've got a couple of drive pens after that, and then it's burning info to CDs. It's all part of a system designed to fight obliteration of blood, sweat, tears, nervous breakdown, etc of time and effort put in to development.&lt;br /&gt;&lt;br /&gt;They might have sent men to the moon on something a little more powerful than a calculator, but they never had to reinstall 600 megs of Vista patches. No wonder no-one fancies chancing a Mars mission with Microsoft as the software flagship.....&lt;br /&gt;&lt;br /&gt;And then there was all my programs, and then all the codecs, and other stuff that I don't really keep too much of an eye on. And then the development SDKs, at least TGEA (game engine - up for vote alongside the hugely expensive Cryengine2 on the Game Developer Magazine Awards)just slides across as is. Then what drivers did I have?&lt;br /&gt;&lt;br /&gt;My usual forest of yellow, sticky, &lt;span style="font-style:italic;"&gt;post-it&lt;/span&gt; notes had become overgrown into a thicket of the damn things. But anyway, we're back, after 12 hours of updates, reinstalls and reconfiguring settings to what I like. No WMA, you don't open anything, get off! It's Winamp and MPClassic, and what the hell codec did I have Mpeg4 playing with? And why can't I read anything at this resolution?&lt;br /&gt;&lt;br /&gt;Anyhoo, drama over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6284118330758870031?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6284118330758870031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6284118330758870031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6284118330758870031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6284118330758870031'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/11/nigou-backup.html' title='Nigou Backup!'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1113268915607602101</id><published>2008-10-30T12:18:00.003Z</published><updated>2008-10-30T20:57:36.026Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='game deconstruction'/><title type='text'>Bored by Far Cry 2</title><content type='html'>After four days, I've come to the conclusion that like many big budget releases, it wasn't quite what it was billed as .....&lt;br /&gt;&lt;br /&gt;Nice game world, very pretty graphics, plenty of space to explore. And it definately said huge draw distance on the box ...... well, not really, apart from some parts of open savannah it's still pretty claustrophobic, battles still take place at what in reality is very short range, and dense foliage and meandering cliffs keep the visual range down.&lt;br /&gt;&lt;br /&gt;But it is pretty, and graphics are something which have always been spurred on by the FPS genre. And the world is big and open, &lt;span style="font-style:italic;"&gt;but with what Ubisoft give with one hand, Ubisoft take away with the other....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The plot is utterly linear, not quite the freedom of choice to work for which ever group I wanted to. The AI cheats (acceptable only when you can't tell it's doing it - a horrifying blow to game world immersion when it's so blatant). There's the slightest of excuses when you accept a mission for a faction and are then told it's secret so everyone you are working for will shoot at you.&lt;br /&gt;&lt;br /&gt;That's just a poor excuse for not having to bother with thinking, teams, or real tactics. And then there are sequences were you are set up to be trapped and fail because the devs couldn't think of a more imaginative way to get you from section of the game to another. Again the open ended nature of the gaming environment circumnavigated to linear progression.&lt;br /&gt;&lt;br /&gt;So, it's accept mission, blast way across country to objective area, blast objective area, blast way back through respawned enemies and checkpoints exactly as they were the first time to get to debriefing. Repeat.&lt;br /&gt;&lt;br /&gt;And if Rambo wasn't bad enough, random encounters. I mean &lt;span style="font-weight:bold;"&gt;random encounters&lt;/span&gt;?! The bane of RPGs since inception. Nothing happening? Enjoying the view? Doing an impression of Attenborough and spotting the cute zebras? Random spawning truck appears and crashes into you all guns blazing.&lt;br /&gt;&lt;br /&gt;I don't take Ritalin, I don't have a deficit in my attention, I don't fiddle with my gun if I don't move in 10 seconds. But the game does. Keep still for 10 seconds, feel free to look around with the mouse, but don't use the walk/movement keys. When lying in wait to ambush an enemy or simply enjoying the scenery your view is suddenly obscured by your character fidgeting with their firearm for no good reason. It takes literally seconds, not of inactivity, but not walking for this to happen. Back in the day when trolling meant something, games used to play animations or dialogue after several minutes of complete inactivity (i.e. Tomb Raider - "Are you still there?"), but really..... seconds?&lt;br /&gt;&lt;br /&gt;And that is a good illustration of the mentalitly of the game. It's not the &lt;span style="font-style:italic;"&gt;Thinking Man's FPS&lt;/span&gt;, it's a shallow Rambo game with pretty trees and linear, repetitive game play.&lt;br /&gt;&lt;br /&gt;At least the dialogue was superior to most games.&lt;br /&gt;&lt;br /&gt;"Wait for my signal, then you come in &lt;span style="font-weight:bold;"&gt;all Vin Diesel like&lt;/span&gt; and top the &lt;span style="font-style:italic;"&gt;See You Next Thursday&lt;/span&gt;" - that made me laugh, though I've noticed that British characters get a lot more vitriolic swearing in games than other nationalities. Can't remember hearing an American accent in a game say &lt;span style="font-style:italic;"&gt;See You Next Thursday&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;At least the swearing in this doesn't seem off, unlike in say my pet hate Crysis. The hackneyed dialogue was the real crisis there, not North Koreans or an alien invasion. It seemed to have been written by a petulant teenager who had read the &lt;span style="font-style:italic;"&gt;Big Red Book of Cliches&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Remember kids, swearing isn't big or clever, regardless of whether the desperate execs of big games publishers happen to think it's how to corner the "mature" market. &lt;br /&gt;"We need to make our games seem more exciting, darker (&lt;span style="font-style:italic;"&gt;I hate that term...&lt;/span&gt;), throw in the F-bomb and plenty of claret so we get the nc-17/rated18. That way the kids'll think it's really mature to play it."&lt;br /&gt;Maybe they just listen in on XBL too much.....&lt;br /&gt;&lt;br /&gt;Anyhow, four days off, so back to my own devepment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1113268915607602101?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1113268915607602101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1113268915607602101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1113268915607602101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1113268915607602101'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/10/bored-by-far-cry-2.html' title='Bored by Far Cry 2'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8647015765649759364</id><published>2008-10-24T16:36:00.005+01:00</published><updated>2008-10-24T21:47:09.486+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Town Planning</title><content type='html'>Up to my eyeballs in antibiotics and codine for the last two weeks courtesy of the sinus infection from beyond Hell, I've actually made a fair decent bit of progress.&lt;br /&gt;&lt;br /&gt;Texturing, using the facades, a technique swiped from all of those old Westerns were the buildings were only wooden fronts to hide the skyline of LA as seen from the backlot of the movie studio. It's a good way to get detail without using excessive amounts of polygons, faking the little extras of reality, which is what virtual reality is anyhow.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img390.imageshack.us/img390/4941/yrtown7ac0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img390.imageshack.us/img390/4941/yrtown7ac0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Not real windows, normal mapped facades&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So my idea of one huge BSP model with &lt;span style="font-style:italic;"&gt; &gt;9000 &lt;/span&gt; surfaces seems to have paid off. It fogs nicely, it culls well, there's no need for LODing every building because the whole thing is 1600 metres wide.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/174/yrtown3mw7.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img148.imageshack.us/img148/174/yrtown3mw7.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Big levels, we like biiiiiig levels&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It was also a good learning exercise, it might not win any prizes for best thought out BSP geometry, but it all works, and it gives good performance. And my interior zoning works nicely.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/9076/yrtown2jf9.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img148.imageshack.us/img148/9076/yrtown2jf9.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The untexured church is actually the only seperate model here&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A few (5 to be pedantic) brickwork textures with built in doors and windows add a sense of depth (thank the Great Magnet for normal and specular mapping), and the whole thing plays across 4 levels of height. So there can be plenty of running in Z aswell as the usual XY. I like hills, hills break up the monotony of being on the XY plane.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img390.imageshack.us/img390/666/yrtown6ew5.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img390.imageshack.us/img390/666/yrtown6ew5.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Throw in a few models and it'll look more like an environment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Still lots to sort out, think I've come up with a way to get road textures to go around corners without looking too bad (curse the straightness of BSP), roof tiles, exterior walls - and of course it's a bit barren without urban models like lamposts, mail boxes, dust bins, etc.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/3853/yrtown4tv0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img148.imageshack.us/img148/3853/yrtown4tv0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Trees models and wood facades help breakup the skyline&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've thrown in a few trees in the distance, just to break things up in the landscape. The furthest groups are facades, nearer ones individual models, all LODed and thrown in as a batch for performance.&lt;br /&gt;&lt;br /&gt;I've had a quick play through as an urban shooter, and it's sure difficult to pick out snipers at 400m when all you can hear is the bullet going past. Watch for the flashes is the key. Though when I turn it into a working level (level 1! The actually beginning!) there won't be any scrapping, just story/plot events. It's called build-up. However I might use it as a basis for another play through demo of my AI.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img227.imageshack.us/img227/3466/yrtown1ma5.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://img227.imageshack.us/img227/3466/yrtown1ma5.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Vista, of a type that doesn't need constant patching....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also seems to have turned halfway to being 70, which I guess is officially middle age. I don't remember all of that time going by and demand a recount!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8647015765649759364?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8647015765649759364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8647015765649759364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8647015765649759364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8647015765649759364'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/10/town-planning.html' title='Town Planning'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8136346891530079823</id><published>2008-10-13T19:53:00.003+01:00</published><updated>2008-10-13T21:26:59.633+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>If it's not one thing ...</title><content type='html'>&lt;span style="font-style:italic;"&gt;.... then it's err.... more than one thing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So exporting a road system or town enmass (or either in fairly large sections) came to a juddering halt, or more, the model format was the juddering halt.&lt;br /&gt;&lt;br /&gt;Meshes don't fog correctly (I knew that anyhow), they fog along total model size rather than individual plane, but I wasn't too concerned about that or the lack of lightmaps (in hindsight I was probably looking to create too much work for myself). But when the far side of the bounding box hits the max visibility - &lt;span style="font-style:italic;"&gt;*piff*paff*poof*&lt;/span&gt; the whole model vanishes. It's called pop-up, bane of games since 3D appeared - or in this case &lt;span style="font-style:italic;"&gt;pop-off&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img379.imageshack.us/img379/9412/basictest1in1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img379.imageshack.us/img379/9412/basictest1in1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;How much trouble can a square mile of town cause? Errr ... loads.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pop-up occurs when things suddenly come into view, out in the distance. Unless you want a fairly low visible draw distance. Like fog or night, anything other than a clear day. It's all the more noticeable then, especially if your models are fairly large.&lt;br /&gt;&lt;br /&gt;So, back to Binary Space Partition. It fogs correctly (or at least by per plane), it has lightmaps (yay, correct shadowing), per plane collision, and to be honest it's not that much of a processor load. But it is Old School (&lt;span style="font-style:italic;"&gt;no, I'm not spelling it with a K&lt;/span&gt;) BSP, and it likes it's straight polygons (tweaking vertexes annoys it) and there's no bezzier meshes - which essentailly was what I was using the model mesh for (nice curves). &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img220.imageshack.us/img220/8245/basictest4lo4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img220.imageshack.us/img220/8245/basictest4lo4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;BSP FTW!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's a bit temperamental --- or more the exporter is a bit temperatmental (&lt;span style="font-style:italic;"&gt;*crash*bang*wallop* emphasis on crash&lt;/span&gt;). Like all things the exporter is a WIP (apart from human evolution allegedly, which I read somewhere might have stopped - that means this is as good as it gets, folks! &lt;span style="font-style:italic;"&gt;I want a refund! And the prehensile tail back!&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;But the good news is that Blender can export as an old Quake3 dotmap, so all the work done in modelling roads is not lost. A bit of tinkering to make my meshes a little more BSP friendly and then pass it on to Constructor for exporting (fingers crossed whilst it takes it time to work out lightmaps for 8000 surfaces without crashing) to a BSP format (with a reduction in scale to 34% for some reason). And it all seems to work fairly nicely.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img379.imageshack.us/img379/9704/basictest2xk0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img379.imageshack.us/img379/9704/basictest2xk0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;'Ave it!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And the framerate is good. For one huge BSP it runs at well over 200+ frame per second --- with a whopping visible distance of 1000 metres. And of course it self culls when visibility is reduced, thus eliminating unseen surfaces.&lt;br /&gt;&lt;br /&gt;With a road network sorted out, I started to add a few basic buildings to my source file in Blender. And the fps was still fine, so I worked out it'd be better to model all my static buildings (one's you can't go inside) enmass (&lt;span style="font-style:italic;"&gt;that word again&lt;/span&gt;) with my road network.&lt;br /&gt;&lt;br /&gt;Buildings that can be entered will have to sperate BSPs, slotted carefully into place in-game. This is because of portalling (culling via line-of-sight view) and the need to prevent portals from one side of the dotmap being able to see into others - thus nullifying the portals and the extra fps gain.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img379.imageshack.us/img379/3118/basictest3ru9.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img379.imageshack.us/img379/3118/basictest3ru9.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Whilst I'm still sorting out the town and it's buildings, I do have a 1600 metre square area accessible to the player as a single BSP. The textures are all still placeholders and are just a little difference for testing purposes. For a further quick test, I threw in 4 varities of 350 trees (with basic LODs) and found the fps was still a good 170-250 with 800 metres visibility.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img515.imageshack.us/img515/1097/aimzoom200myq0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img515.imageshack.us/img515/1097/aimzoom200myq0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Bad guy at 200m: the realistic size of the target is an explanation of why I'm such a cack shot in real life&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To be honest it's the urban environments that have been causing all the problems recently. For rural environments I've already come up with a working design solution.&lt;br /&gt;&lt;br /&gt;So, yet another problem (hopefully) solved. Finish off my town basics, then sort out a few interactive buildings, throw in some models, knock up some working textures (still &lt;span style="font-style:italic;"&gt;umming-and-ahhing&lt;/span&gt; about the art style a bit), and I should have a proper environment. The just to script it into a playable level.&lt;br /&gt;&lt;br /&gt;All this whilst suffering from the dreaded lurgy. (&lt;span style="font-style:italic;"&gt;that's flu to most people --- and that's a common cold to women&lt;/span&gt;)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;;P&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8136346891530079823?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8136346891530079823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8136346891530079823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8136346891530079823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8136346891530079823'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/10/if-its-not-one-thing.html' title='If it&apos;s not one thing ...'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4271672111480273166</id><published>2008-09-24T23:08:00.005+01:00</published><updated>2008-09-25T00:13:07.950+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Pink Eye!</title><content type='html'>&lt;span style="font-style:italic;"&gt;There's a Cartman quote somewhere in that title...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I figured that the whites of my eyes turned bloodshot like a Christopher Lee movie from the swinging sixties was a clear hint I was spending far too much time working ... or at least what passes for working. Staring at a plasma screen anyhow.&lt;span style="font-style:italic;"&gt; I did read something ages ago that plasma screens lower the rate your eyes blink compared to old tv/monitors.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, eyedrops, lowering the contrast on my monitor, and a general break have been in order. The weather in Yorkshire has been kack so venturing outside was somewhat off putting. So that meant milling about the house feeling slightly under-occupied which leads to Ravenswood Zinfandel or some Kiwi Sauvignon Blanc. Or pale ale. But it was also a good time to get some planning done.&lt;br /&gt;&lt;br /&gt;Also had a walking tour of Berlin for a weekend (mate's stag party), which was nice. Will have to return at a later date with a list of things to see instead of a list of bars to hit. Still saw plenty of the city though, and have the blisters to prove it.&lt;br /&gt;&lt;br /&gt;When my eyes turned white again I started testing on finalizing a game level. Planned my road and rail network and built it from my previously made prefabs in Blender. Exported it as a single (HUGE) model for a test.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img530.imageshack.us/img530/7566/town1plan1a8x6xw4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img530.imageshack.us/img530/7566/town1plan1a8x6xw4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That all seemed to work okay, though I'll obviously have to section it down into areas so the whole thing doesn't get drawn at once in-game, which would be a tad wasteful in resources.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img301.imageshack.us/img301/3282/town1plankey8x6rp9.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img301.imageshack.us/img301/3282/town1plankey8x6rp9.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then it was a case of planning out building types and game events. I'd like to prevent things from being utterly linear giving the player a little more freedom to explore, giving myself more work to do. Currently I've got 1.5km square of available gameplay area.&lt;br /&gt;&lt;br /&gt;Next up us to add a bit of height (hills) to the transportation network, as it's currently all a bit flat and in desperate need of some undulation. Then conform the terrain to the height of the roads.&lt;br /&gt;&lt;br /&gt;After that it's time to work out my facade buildings, followed by enterable buildings, then landscape props. After that it's triggers and gameplay. And eventually I might get round to my idea of baked shadow decals (fake lightmaps for none supported models).&lt;br /&gt;&lt;br /&gt;It's all just the same as buying flatpack furniture: You've got all the bits, and now it's a titanic struggle to assemble it into something that you can put a cup of tea on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4271672111480273166?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4271672111480273166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4271672111480273166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4271672111480273166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4271672111480273166'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/09/pink-eye.html' title='Pink Eye!'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3814170886896000046</id><published>2008-08-24T01:08:00.005+01:00</published><updated>2008-08-24T02:20:28.254+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Yellow Brick Pavements and Red Pillar Boxes</title><content type='html'>Webster's Dictionary describes&lt;span style="font-style:italic;"&gt; content &lt;/span&gt;as "Stuff"...&lt;br /&gt;&lt;br /&gt;Okay, so it doesn't really, but content is what I've been hammering away at recently. More to the point stuff out on the street.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img389.imageshack.us/img389/4959/roadhill1az0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img389.imageshack.us/img389/4959/roadhill1az0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Yellow Brick Pavement&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I started scrawling a list of "stuff". Road surfaces and pavements - all the stuff to walk on - were fairly obvious and I reckoned a "bolt-together-a la-scaletix was the best way to go. Straights, curves, junctions, crossroads and of course the dreaded "traffic calming measures" -responsible for scores of jarred suspensions and vertebrae- which the UK seems to be covered in, often accompanied by the most ludicrous priority-of-way declarations. &lt;br /&gt;&lt;br /&gt;(I'm specifically thinking of Walkington village - there's a chicane which changes priority of traffic &lt;span style="font-weight:bold;"&gt;inside&lt;/span&gt; the chicane, leaving you no where to go in the face of oncoming vehicles who have a sign telling them the have priority to enter the chicane, but once in find that they also have no priority ahead and no where to go to avoid oncoming traffic --- sounds confusing? It's not just my explanation, it really is bloody gibberish)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img389.imageshack.us/img389/2504/trafficmeasures1ls0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img389.imageshack.us/img389/2504/trafficmeasures1ls0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Congestion Causing, Spine Compacting, Suspension Wrecking, DeathMongers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Specifically I set out to make some urban cover, stuff that gets in the way of raycast scans, small stuff to hide behind. Sign posts - another blight visually congesting the UK - and public bins, telephone boxes, pillar/post boxes, bus stops and er... yeah you get the idea.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img134.imageshack.us/img134/6053/trafficlights1wq8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img134.imageshack.us/img134/6053/trafficlights1wq8.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;No amusing or smug tagline with this picture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometime I'll get around to reading up on IFL and animate those traffic light textures so they change correctly. I did knock up a telephone kiosk but it seems a bit too modern and ergonomic, so I'll probably replace it with an old style red phone box.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img134.imageshack.us/img134/214/publicbinct0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img134.imageshack.us/img134/214/publicbinct0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Keep Yorkshire Tidy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also figured that level crossings could be used as a great device to blocking routes. Train tracks - &lt;span style="font-style:italic;"&gt;electrified train tracks&lt;/span&gt; - create a natural barrier. I also read a couple of articles on bad barriers in games at &lt;a href="http://www.gamasutra.com/view/feature/3709/defining_boundaries_creating_.php"&gt;Gamasutra&lt;/a&gt; and &lt;a href="http://gamecareerguide.com/features/593/invisible_.php?page=1"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img389.imageshack.us/img389/1605/levelcrossing1my8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img389.imageshack.us/img389/1605/levelcrossing1my8.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Train Spotters Paradise  - Where's My Anorach?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I went for a swing-gate style barrier that's popular with older, rural crossings. Initially the warnings were in the usual red and white but then I changed it to black and yellow. It's more striking. And then I changed that to black and amber, it's Hull City's football strip colours.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img134.imageshack.us/img134/899/yorkspillarboxxi6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img134.imageshack.us/img134/899/yorkspillarboxxi6.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;YorkshireRifles Mail - regular deliverys when we can be bothered&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Found out a bit about customizing mipmaps on a forum, and thus have clearer textures at distance. Also been practising a bit more with normal mapping. Still yet to mess about with a proper specular shader, so spec is auto-worked off the normal.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_r9BDGHIhIE&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_r9BDGHIhIE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Bouncing Bomb - 'Ave It!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also made a grenade launcher with a delayed fuse projectile so you can bounce it off walls for a laugh.&lt;br /&gt;&lt;br /&gt;More &lt;span style="font-style:italic;"&gt;stuff&lt;/span&gt; to do, signs, barriers, etc. And then back to buildings. And then on to a full, working, one kilometre square environment for a test. And then enlarge it to say... 5 km square and see how that plays.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3814170886896000046?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3814170886896000046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3814170886896000046' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3814170886896000046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3814170886896000046'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/08/yellow-brick-pavements-and-red-pillar.html' title='Yellow Brick Pavements and Red Pillar Boxes'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6845287424223075200</id><published>2008-08-06T19:13:00.005+01:00</published><updated>2008-08-06T19:38:33.550+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><title type='text'>Walk and Chew Gum Conundrun</title><content type='html'>Actually that should be run an aim-down-sight animation so that when the player looks up and down it aligns correctly with the eye node. &lt;span style="font-style:italic;"&gt;It ain't as straight forward as it sounds...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This counts as multi-tasking, as does walking and chewing gum. Multi-tasking seems a big thing in the games development industry - &lt;span style="font-style:italic;"&gt;which kinda makes you wonder why there aren't more women working in it.....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a one-man dev machine, multi-tasking is rather essential, regardless of the average male's inability to perform it. The average male in this case is my player/ai model.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img529.imageshack.us/img529/4397/aimdownsight1yf3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img529.imageshack.us/img529/4397/aimdownsight1yf3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;I mean how hard can it be? and ignore the terrible hands model&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So what I needed was an aim anim - easy enough, boot-up Blender, align eye, mount0 and where the weapon sight would be. Then it's a simple case (it wasn't) of having my aim anim play over the blended look animation. And this is where it all went wrong.&lt;br /&gt;&lt;br /&gt;My aim aligns fine in the root along the horizontal, and it aligns fine at the extremities of the look anim (that's up and down for real people), it's just the bits in between where the aim wandered out of alignment. Unfortunately that makes up 160 degrees of 180. Ah....&lt;br /&gt;&lt;br /&gt;There appeared to be a disparency between the angle of looking and the speed at which the animation plays, it's just not a constant speed as the mouse moves. It's quicker at the 45 degree angles than the 90s where it slows down. Time consuming trial-and-error tweaking of my look animation was called for, but it soon became apparent that wasn't going to work - or if it was, it wasn't going to work this decade.....&lt;br /&gt;&lt;br /&gt;So locking the view at every 45 degree angle and then tweaking the animation until it lined up at each interval proved to be the way forward.&lt;br /&gt;&lt;br /&gt;I did cause myself a few extra problems. Having a single bone to the spine just wasn't going to cut it and I reckon at least 2 are a must. The real human spine isn't a flat board and is rather flexible - it's just that mine keeps trapping nerves and jamming (and I'm not talking about my model here). And of course I wanted a fairly nice third person aim too for my &lt;span style="font-style:italic;"&gt;patented ;P &lt;/span&gt; &lt;span style="font-weight:bold;"&gt;Gears of Yorkshire&lt;/span&gt; vibe.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img529.imageshack.us/img529/7122/aimthirdpersonmi3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img529.imageshack.us/img529/7122/aimthirdpersonmi3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Aim goes down - aim goes up - aim keeps pointing at centre of screen&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The crosshair only shows up when the player aims &lt;span style="font-style:italic;"&gt;and&lt;/span&gt; is in Third Person view. In both First and Third person the HUD (in my case currently just the health bar) disappears to give a clearer and less distracting view and the camera zooms in dependant on what weapon is being used.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Dj3qW1bKjEg&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Dj3qW1bKjEg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Obligatory poor quality YouTube vid of it all in action&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It all took a bit longer than planned --- though considering everything takes longer than planned it probably took just the right amount of time. There are many &lt;span style="font-style:italic;"&gt;techniques&lt;/span&gt; available to make life easier in developing (with the TGEA 1.7.1 engine in my case) - it's just a question of finding them.&lt;br /&gt;&lt;br /&gt;Now, back to environment content creation like I was supposed to be doing before I got distracted by animation tweaks and gameplay elements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-6845287424223075200?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6845287424223075200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6845287424223075200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6845287424223075200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6845287424223075200'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/08/walk-and-chew-gum-conundrun.html' title='Walk and Chew Gum Conundrun'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8346727365807326318</id><published>2008-07-28T23:37:00.004+01:00</published><updated>2008-07-29T00:14:54.145+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='environment'/><title type='text'>Gears of Yorkshire</title><content type='html'>Been playing around with Third Person Camera for a Gears of Yorkshire feel - not much of a feel obviously, cos it ain't all &lt;span style="font-style:italic;"&gt;brown.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img233.imageshack.us/img233/4127/gearsofyorkshire1bt6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img233.imageshack.us/img233/4127/gearsofyorkshire1bt6.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Only two shades of brown, I promise&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Environments are made of stuff ... lots of stuff. Unfortunately stuff costs &lt;span style="font-style:italic;"&gt;tris&lt;/span&gt; so there's been a fair bit of playing around to see what works best. Currently I've hit a few problems with the Z-Buffer on overlapping transparencies - which is why everything that has anything to do with foliage has a bit of a jaggy edge at the moment. Textures are placeholders but tonal range is the general idea.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img207.imageshack.us/img207/3492/trees1nf1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img207.imageshack.us/img207/3492/trees1nf1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Fix that jaggy Z-Buffer later for nice soft edges&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rural modelling is pretty much done (minus grass which is getting left for the time being because of the overlapping Z issue), and it'll be on to a bit of the urban environment; roads, pavements, signs warning of fines for letting your dog foul a public area and er .... stuff. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img233.imageshack.us/img233/438/gearsofyorkshire2pj6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img233.imageshack.us/img233/438/gearsofyorkshire2pj6.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;There's LODs and Billboards in them there hills&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And once there's some semblance of a full environment built, it'll be back to those character models for some tweaking, extra animations and substitute all of those blank textures. And more messing with the player code. And eventually there's a little something called plot involving a tablet, Gimp (or PainterX if I buy it), and more of my X years as an alcoholic bum ... er, I mean &lt;span style="font-style:italic;"&gt;classically trained artist&lt;/span&gt; ... to make cut-sequences in the style of a &lt;span style="font-style:italic;"&gt;Graphic Novel&lt;/span&gt; --- which is a pretentious name for a comic --- which is a lowbrow name for an illustration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8346727365807326318?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8346727365807326318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8346727365807326318' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8346727365807326318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8346727365807326318'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/07/gears-of-yorkshire.html' title='Gears of Yorkshire'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4955372336767055963</id><published>2008-07-12T22:55:00.004+01:00</published><updated>2008-07-13T01:07:15.558+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bsp'/><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='normals'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><title type='text'>8 million shades of brown</title><content type='html'>My first developed game was a text adventure on the Spectrum 48k, way back in the early-to-mid-1980s (history's greatest decade!). The humble Specky, brainchild of boffin Sir Clive Sinclair (when inventors wore white coats and still looked like mad scientists), had a range of 10 colours. My text adventure was black and white.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img141.imageshack.us/img141/2429/rollinghills1xx0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img141.imageshack.us/img141/2429/rollinghills1xx0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;There's Colour in Them There Rolling Hills&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then came the Amstrad 64k, initially with a green screen, but then a colour one. Little more than a glorified Specky, but those extra 18k gave a whole new world of colour.&lt;br /&gt;&lt;br /&gt;The appearance of the Amiga was a big boost to colour (1-2meg memory!). I remember a graphics/art package with 4096 colours!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/4352/shootyshootyrk9.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img148.imageshack.us/img148/4352/shootyshootyrk9.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;UV mapped characters are on the to-do list - which is piggin' huge&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And finally the PC (with good old DOS), and future -- or rather the present -- was here. My first PC had a 25mhz processor and whopping 4megs of RAM - my current has a dual 2.3ghz chips with 2gigs of RAM. And the games are more visually realistic than ever. Call of Duty 4 has 2 million shades of grey whilst Gears of War 2 promises to break new boundaries in the shade of brown. HDR lighting means every glance to a virtual sky burns out the player's retina as the screen fills with the burning brilliance of a supernova - which is odd, 'cos I look up at the sky all the time and it doesn't seem to damage my sight. Nor do I see lense flare from every angle.&lt;br /&gt;&lt;br /&gt;So what is the Indie Dev to do with this march of monotone progress?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/4346/nonormals1rx0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img148.imageshack.us/img148/4346/nonormals1rx0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Base Painted Texture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well, the Indie Dev could play along with hyper-real world of grey and brown psuedo-photorealism. I've got a pretty decent digital camera, I know how to edit images and understand colour (I should do, I got a degree and post-grad and then spent X years bumming around the arse-end of the Mediteranean as a Bohemian artist type). &lt;br /&gt;&lt;br /&gt;And then get lost in the haze? I expect the brownness of GOW2 is costing the outstanding national debt of a small impoverished country - Hallo3 certainly did. Then there's the team numbers - which is pretty much the same thing as cost. One bloke in his bedroom, furiously hammering away at a graphics tablet and keyboard, is not a 100-300 strong development team spread across multiple studios (a la GTA4).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/412/normals1ug4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img148.imageshack.us/img148/412/normals1ug4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;And with Normal Mapping&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, back to that tablet and digital painting for textures, and tile and reduce detail in photos to make normal maps for brickwork and surfaces. My first attempts at striking a balance between artistic paint style (textures) and realism (normals) is pretty okay ..... ish. Though I might like them to be a tad rougher.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img148.imageshack.us/img148/8214/skyboxtry1ix0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img148.imageshack.us/img148/8214/skyboxtry1ix0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;After further practise/messing I worked out a technique to make a painted skybox by hand.&lt;br /&gt;&lt;br /&gt;Colour - and only 2 shades of brown!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img141.imageshack.us/img141/8607/moorlandle6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img141.imageshack.us/img141/8607/moorlandle6.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Roads and foliage next me thinks, and the creation of an actual environment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4955372336767055963?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4955372336767055963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4955372336767055963' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4955372336767055963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4955372336767055963'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/07/8-million-shades-of-brown.html' title='8 million shades of brown'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-8129396527267584013</id><published>2008-06-18T03:35:00.004+01:00</published><updated>2008-06-18T03:40:24.128+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='example'/><category scheme='http://www.blogger.com/atom/ns#' term='shader'/><category scheme='http://www.blogger.com/atom/ns#' term='dx9'/><title type='text'>Shader Play</title><content type='html'>Worked out how to get better looking and less over-the-top normal maps. Started having a quick mess with shaders like emissive and glow, giving some tracer which really traces.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/n4Bvrq7hn-A&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/n4Bvrq7hn-A&amp;hl=en" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Also think I've worked out a level/environment building solution that should look good without sacrificing performance.&lt;br /&gt;&lt;br /&gt;Now to try and port over all my AI scripts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-8129396527267584013?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/8129396527267584013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=8129396527267584013' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8129396527267584013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/8129396527267584013'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/06/shader-play.html' title='Shader Play'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4068333979841545026</id><published>2008-06-13T00:42:00.002+01:00</published><updated>2008-06-13T00:51:02.742+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Dx9 overkill</title><content type='html'>Upgraded my game engine to Dx9, allowing fancy effects, normal map overkill (need to tone them down) and huge megaterrains.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img240.imageshack.us/img240/8726/dx9test1cu5.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px;" src="http://img240.imageshack.us/img240/8726/dx9test1cu5.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right now I'm trying to work out the best way of building environments with the inevitable trade off between loads of lovely stuff and performance.&lt;br /&gt;&lt;br /&gt;Ooooh, shiny.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4068333979841545026?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4068333979841545026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4068333979841545026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4068333979841545026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4068333979841545026'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/06/dx9-overkill.html' title='Dx9 overkill'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7272244672225103990</id><published>2008-05-16T02:44:00.008+01:00</published><updated>2008-11-13T19:20:25.877Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='bsp'/><category scheme='http://www.blogger.com/atom/ns#' term='textures'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>More Fun With Clone Stamp Than Is Decent</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TPeMBHNGOeo/SCzq6RK15SI/AAAAAAAAACQ/cgAomy4lD_8/s1600-h/housetest1a.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_TPeMBHNGOeo/SCzq6RK15SI/AAAAAAAAACQ/cgAomy4lD_8/s400/housetest1a.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5200789956468270370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After sorting out my workflow and best practise for building ...er, buildings - taking into account the nuances/pain-in-arses of multi portaled old-gen Binary Space Partitions (modding the CoD series was more forgiving) - I've been work on textures and the problems associated with getting them to tile correctly (hence clone stamp).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TPeMBHNGOeo/SCzq_BK15TI/AAAAAAAAACY/PFe3WiWnxdE/s1600-h/housetest1b.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_TPeMBHNGOeo/SCzq_BK15TI/AAAAAAAAACY/PFe3WiWnxdE/s400/housetest1b.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5200790038072649010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are some good, free, lgpl base-textures (base as in non-tiling) available on the interweb, and I've also got my own trusty, fake-SLR Fuji for getting more custom stuff. The finished results are basic seamless-textures - no normal mapping or anything fancy, though I did a bit of freehand editing for light and shadow.&lt;br /&gt;&lt;br /&gt;No windows or doors as such yet - just the appropriately sized holes, I'm gonna model them (Blender - it's free) rather than opt for more BSP (it's actually easier for me to differentiate collision detection that way). Buildings still need LODing.&lt;br /&gt;&lt;br /&gt;And I got some decent feedback after releasing my "Dubious Demo v.02".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7272244672225103990?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7272244672225103990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7272244672225103990' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7272244672225103990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7272244672225103990'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/05/more-fun-with-clone-stamp-than-is.html' title='More Fun With Clone Stamp Than Is Decent'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TPeMBHNGOeo/SCzq6RK15SI/AAAAAAAAACQ/cgAomy4lD_8/s72-c/housetest1a.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-1398100455883795789</id><published>2008-05-06T02:29:00.005+01:00</published><updated>2008-11-13T19:20:26.061Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='bsp'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='art assets'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Content Creation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TPeMBHNGOeo/SB-0nNZqRbI/AAAAAAAAACI/0IAuLcRClso/s1600-h/buildings1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_TPeMBHNGOeo/SB-0nNZqRbI/AAAAAAAAACI/0IAuLcRClso/s400/buildings1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5197071080714028466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Building Buildings. With garish placeholder textures.&lt;br /&gt;Back to Binary Space Partitions - portal and detail the hell out of it, but remember those Old School 90 degree angles.&lt;br /&gt;&lt;br /&gt;After much messing, I sorted the best practise for workflow, finally got those textures to align easily.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-1398100455883795789?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/1398100455883795789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=1398100455883795789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1398100455883795789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/1398100455883795789'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/05/content-creation.html' title='Content Creation'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TPeMBHNGOeo/SB-0nNZqRbI/AAAAAAAAACI/0IAuLcRClso/s72-c/buildings1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-3683918322112352222</id><published>2008-04-26T23:08:00.002+01:00</published><updated>2008-04-26T23:11:49.305+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='gameplay'/><category scheme='http://www.blogger.com/atom/ns#' term='example'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Dubious Demo GamePlay Video</title><content type='html'>&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LD0HhoH8f4o&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/LD0HhoH8f4o&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://files.filefront.com/YorkshireRifles+Demo1zip/;10080513;/fileinfo.html"&gt;The Demo Download&lt;/a&gt; (14Mbs)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-3683918322112352222?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/3683918322112352222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=3683918322112352222' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3683918322112352222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/3683918322112352222'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/04/dubious-demo-gameplay-video.html' title='Dubious Demo GamePlay Video'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-4710565756366807844</id><published>2008-04-17T12:03:00.004+01:00</published><updated>2008-11-13T19:20:27.051Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><title type='text'>GUI Tinkering</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TPeMBHNGOeo/SAcvC3_Gx7I/AAAAAAAAABI/hoIl_ohWQn8/s1600-h/demomenu.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_TPeMBHNGOeo/SAcvC3_Gx7I/AAAAAAAAABI/hoIl_ohWQn8/s400/demomenu.jpg" alt="" id="BLOGGER_PHOTO_ID_5190168822002665394" border="0" /&gt;&lt;/a&gt;Messing around with transparency, colour schemes, et al.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TPeMBHNGOeo/SAcvDH_Gx8I/AAAAAAAAABQ/CKAVGBokHYg/s1600-h/demooptions.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_TPeMBHNGOeo/SAcvDH_Gx8I/AAAAAAAAABQ/CKAVGBokHYg/s400/demooptions.jpg" alt="" id="BLOGGER_PHOTO_ID_5190168826297632706" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TPeMBHNGOeo/SAcwsX_Gx-I/AAAAAAAAABg/eAfEWk1psRc/s1600-h/democonsole.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_TPeMBHNGOeo/SAcwsX_Gx-I/AAAAAAAAABg/eAfEWk1psRc/s400/democonsole.jpg" alt="" id="BLOGGER_PHOTO_ID_5190170634478864354" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-4710565756366807844?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/4710565756366807844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=4710565756366807844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4710565756366807844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/4710565756366807844'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/04/gui-tinkering.html' title='GUI Tinkering'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TPeMBHNGOeo/SAcvC3_Gx7I/AAAAAAAAABI/hoIl_ohWQn8/s72-c/demomenu.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-925052644374806540</id><published>2008-04-08T02:17:00.007+01:00</published><updated>2008-04-08T04:06:34.582+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='teflon'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><category scheme='http://www.blogger.com/atom/ns#' term='astar'/><title type='text'>Integrated AI Routines Test</title><content type='html'>A(nother) test of pathfinding (from previous post) which is now using Astar, my new targeting and combat routines, and a basic "Teflon" script to stop the AI bumping into each other and getting stuck. They do try to check for a clean shot but I've still had to use a friendly-fire suppression script for blue-on-blue projectile collisions, especially with the spread of shotguns.&lt;br /&gt;&lt;br /&gt;I had followed a tutorial on how to make decent quality videos for posting on YouTube, but it's still not great quality once uploaded. The audio files are placeholder sounds scrounged from games I own. Sorting my own audio out is currently a low priority. Getting a working-but-dubious-demo is the priority.&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1UFfVPhgvsI&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/1UFfVPhgvsI&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Not a commentary on China and Tibet. It's just riot coppers fighting armed civilians (who need their LODs fixing).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-925052644374806540?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/925052644374806540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=925052644374806540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/925052644374806540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/925052644374806540'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/04/integrated-ai-routines-test.html' title='Integrated AI Routines Test'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-7952588546380240708</id><published>2008-03-26T18:38:00.005Z</published><updated>2008-05-20T23:19:40.570+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='node'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><category scheme='http://www.blogger.com/atom/ns#' term='net'/><title type='text'>Pre-Compiled Node Graph Pathfinding</title><content type='html'>After much "jiggery-pokery" I've managed to get a code based pre-compiled node graph working for my AI's pathfinding. Much better than my previously scripted solution. It's hugely faster to implement, mostly automated (so less errors/typos/general-cockups available on my part) and the paths are pre-compiled so the AI don't have to work out their routes on the fly.&lt;br /&gt;&lt;br /&gt;It took a bit of integrating into my AI system, but we got their in the end. Thanks go to Gabriel Notman of Bolton Uni for making the original resource on design doc available.&lt;br /&gt;&lt;br /&gt;This test video uses the stock TGE CTF map and assets (hence the slightly bizarre fantasy buildings), with my first gen AI model and animations. Blue lines are the Node Graph, green lines are the set path.&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/7U2lyM7NdQU"&gt;&lt;embed src="http://www.youtube.com/v/7U2lyM7NdQU" type="application/x-shockwave-flash" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-7952588546380240708?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/7952588546380240708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=7952588546380240708' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7952588546380240708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/7952588546380240708'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/03/pre-compiled-node-graph-pathfinding.html' title='Pre-Compiled Node Graph Pathfinding'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-506206103876080378</id><published>2008-03-21T22:37:00.005Z</published><updated>2008-05-20T23:21:03.783+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><title type='text'>Pathfinding Maze</title><content type='html'>More pathfinding testing with a script written Dijkstra. All node adjacencies are inputed manually which is a bit time consuming and open to typos - and typos cause crashes.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/iYF6YWOAgDU"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/iYF6YWOAgDU" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;  &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-506206103876080378?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/506206103876080378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=506206103876080378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/506206103876080378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/506206103876080378'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/03/pathfinding-maze.html' title='Pathfinding Maze'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-9055412550913650655</id><published>2008-03-13T01:52:00.003Z</published><updated>2008-04-08T02:36:02.562+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='targeting'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>Red Team vs Blue Team basics</title><content type='html'>My first battle test, built to test AI team based code and their targeting and accuracy system. No real pathfinding, just basic avoidance of the lone building.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/oFz1ApPhu-8&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/oFz1ApPhu-8&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-9055412550913650655?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/9055412550913650655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=9055412550913650655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/9055412550913650655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/9055412550913650655'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/03/red-team-vs-blue-team-basics.html' title='Red Team vs Blue Team basics'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-483552391781440364</id><published>2008-03-12T17:17:00.005Z</published><updated>2008-05-20T23:21:37.478+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><title type='text'></title><content type='html'>Video of first attempt at pathfinding in action&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GXLPsvYiNBw&amp;amp;rel=0&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/GXLPsvYiNBw&amp;amp;rel=0&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Obviously &lt;span&gt;ignore the basic models, textures, animations, etc - it's the AI not walking into walls which is the important thing here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-483552391781440364?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/483552391781440364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=483552391781440364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/483552391781440364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/483552391781440364'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/03/video-of-first-attempt-at-pathfinding.html' title=''/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-5859138895988510983</id><published>2008-03-11T02:05:00.004Z</published><updated>2008-04-08T02:36:29.106+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pathfinding'/><category scheme='http://www.blogger.com/atom/ns#' term='ai'/><category scheme='http://www.blogger.com/atom/ns#' term='dijkstra'/><title type='text'>Do AI Dream of Electric Llamas?</title><content type='html'>&lt;span style="font-size:85%;"&gt;Subtitle:&lt;/span&gt; The Joys of not walking into walls.&lt;br /&gt;&lt;br /&gt;I've had a basic -but working- pathfinding routine going which my AI have been slavishly wandering around, happily not walking into things. It's a Dijkstra based script with manually predefined node connections (that C grade in Maths I scraped at school has finally come in handy) where the AI builds a path from it's position to it's goal. It all works fair enough but looks terribly wooden as the AI pull many 90 degree turns in the open, so I've added functionality.&lt;br /&gt;&lt;br /&gt;AI Pathfinding Routine:&lt;br /&gt;1: Check that we have a goal - if not chill. Goals are set to named AI at spawn and altered via triggers.&lt;br /&gt;2: Get a vector distance to the goal - if it's under 2 metres we're there. Clear the goal. Thread 1.&lt;br /&gt;3: Check LOS to goal - if it's clear run to it directly (No need to waste precious processor power on it.) Thread2, if not we're gonna have to run Dijkstra to find a path around the obstacles.&lt;br /&gt;4: Build the node list and get moving along it.&lt;br /&gt;5: At every node make an LOS check to the goal&lt;br /&gt;If it's clear make the current node the last in the path and just run to the goal. Thread 2.&lt;br /&gt;If LOS is still blocked by something, move to the next node in the list. Repeat until path complete and Thread 2.&lt;br /&gt;&lt;br /&gt;This all makes things look much better, cutting down on the slavish adherence to the path when the goal is clear, and gives a more naturalistic route. I still want to enlarge the AI goal radius (currently 10cm/4 inches which is just daft - when I made my SP campaigns for Call of Duty I never went under 32 inches if I needed them right in a certain places - like a window - and quite often felt 64 was fine) and I need to come up with a team-member-avoidance/onstuck function to stop the AI bumping into each other (a larger goal radius should also help to reduce contacts).&lt;br /&gt;&lt;br /&gt;And sorting out some demo-reel footage might be good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2164301193151191531-5859138895988510983?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/5859138895988510983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=5859138895988510983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5859138895988510983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/5859138895988510983'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/03/do-ai-dream-of-electric-llamas.html' title='Do AI Dream of Electric Llamas?'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2164301193151191531.post-6611278754390479729</id><published>2008-03-09T14:23:00.003Z</published><updated>2008-03-09T16:34:44.823Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='start'/><category scheme='http://www.blogger.com/atom/ns#' term='mods'/><category scheme='http://www.blogger.com/atom/ns#' term='cod'/><category scheme='http://www.blogger.com/atom/ns#' term='call of duty'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>The Eagle has Landed - only without Burton and Eastwood</title><content type='html'>&lt;span style="font-family:georgia;"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;This is the development blog for Yorkshire Rifles, Indie Games Creator.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;Ever become so self-deluded that you figure you could make a computer game better than the big gaming companies with their huge development teams and millions of dollars? &lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;Yep, I get that all time.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;I'm an (ex)modder for the Call of Duty series, willing to drink from the cup of nervous breakdowns and late nights which is developing your own computer games.&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;font-family:georgia;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;An overview of my Call of Duty Series single player campaigns/ levels on FileFront (21,000+ downloads and counting)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;a style="color: rgb(51, 102, 102);" href="http://callofduty.filefront.com/developer/YorkshireRifles;15884"&gt;Linkage&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;My old websites:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;EastYorksRifles &lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;a style="color: rgb(51, 102, 102);" href="http://uk.geocities.com/eastyorksrifles/"&gt;Linkage&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt;Beyond Rostov Campaign &lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;a style="color: rgb(51, 102, 102);" href="http://uk.geocities.com/beyondrostov/"&gt;Linkage&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&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/2164301193151191531-6611278754390479729?l=yorkshirerifles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yorkshirerifles.blogspot.com/feeds/6611278754390479729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2164301193151191531&amp;postID=6611278754390479729' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6611278754390479729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2164301193151191531/posts/default/6611278754390479729'/><link rel='alternate' type='text/html' href='http://yorkshirerifles.blogspot.com/2008/03/eagle-has-landed-only-without-burton.html' title='The Eagle has Landed - only without Burton and Eastwood'/><author><name>Steve</name><uri>http://www.blogger.com/profile/06014767867779183995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TPeMBHNGOeo/TSuJ5c0X0iI/AAAAAAAAAGU/DzRcrAhMzuI/S220/icon2011_119p.png'/></author><thr:total>1</thr:total></entry></feed>
