Thursday 3 January 2013

Thursday At Play

Playing Games All Night

My first development task for Reloaded is to play an FPS game. That's right, I ordered six of the best FPS games from 2012 and am currently waiting for them all to arrive on my door mat.

The game that arrived first, and so the one I installed last night was 'Dishonoured' by those splendid developers at Arkane Studios & Bethesda. If you watch the previews and promos, you would think this is a gore-fest of the first order, but it was the up-close and personal elements that I really wanted to study from this game.

I have always been a big fan of the Thief and Assassins Creed games, and Dishonoured proved to be every bit as engrossing, with a great set of game play mechanics and good slow building story. Granted, I've only played the first three levels and currently resting in my top floor ghost town apartment but I imagine there is plenty of adventure in store for our Dishonoured hero.

The Coders Eye

Almost right away I was on a mission to find out the secret ingredients that made this game one of the best of 2012. As it happens, right away I found a few pearls that really impressed me. Forgetting for a moment the smooth transitions of the player as he walks, runs, crawls, jumps and climbs, you are given two very different ways to complete the same level. Go in hacking and slashing, killing everything that moves, or sneak about in the shadows, waiting for your moment to strike a non-lethal blow for freedom.  The level was designed so that enemies would have set patrols and you could choose your moment where neither enemy was looking at a prime hiding spot where you could dash to, and then from there onwards to the next part of the level leaving the 'guards' clueless as to your escape!

Reloaded editor would need a way to not only lay down waypoints, but have little timing gadgets at each joint to tell the character which direction they should look, for how long they should stop for, if they should say anything random like 'it's a cold night' or 'eleven o'clock and all is probably well'. Granted a small addition to the existing product, but without it, you would not be able to create this scenario easily, and trying to script it would be a job for the local rocket scientist.


Let There Be Shadow(s)


Other general observations was the nice simple way the scene is lit. Not with full dynamic real-time lighting as you might expect from a modern game, but very basic light mapping, some subtle surface shaders and a gentle spotting of directional light shadow mapping for dynamic entities such as opening doors, swinging chains, dangling whatnots and the like. This suggests we don't need a performance hungry 'light every damn thing' engine, but a way to drop a directional light into the scene, define it's cone of influence and let the engine create a dynamic shadow map that stitches with the static lightmap. This way, the door will cast a shadow that is indistinguishable from the shadow cast by the very static wall, with the bonus that when you open the door holding back the light the shadow responds beautifully. I also liked the subtle halo effect around light sources which faded out as you moved closer to them, creating artificial light volumes in the rendered scene.  If this could also be an automated generation, it would mean you don't need special art skills to craft every single light volume on every single light. You would just drop in lights, point them at something, then move on.

One limit I noticed is that there is only ever one shadow, which means the shadow mapping trick is spaced out so they don't overlap. The editor would have to be set-up so you cannot have two shadow casting lights intersecting one another. Something to look at when I start coding this shader and effect.


Feature Bonuses

One thing old FPS games probably suffered most from was the fact you only really had one feature bonus to look forward to, which was a slightly better weapon further along the game.

In Dishonoured, you get a feature bolt-on every five minutes, and they are all very cool. Whether it's a new technique, or a new item, or new weapon or skill, or new information, it keeps flooding in to keep you locked in. Before long you are immersed in the universe and don't want to leave, which is what we want from our Reloaded games!  This means we need different kinds of collectables (both tangible and triggered) to empower the player as they move along, and link them into the various gaming components. Not only weapons, but 'skills', new powers, special attachments to weapons and powers, proficiency levels so you can only take out a large enemy if you are 'good enough' and so on. There needs to be enough variety here to sustain a typical game. Of course we cannot create art for all combinations, but we can create the mechanisms behind the scenes and start you off with a few assets representing each one. From there, you can take the templates and make your own or wait for excellent new model packs that expand on them.

Signing Off

I promised not to rant on during my blogs, but as you can probably tell my imagination lights up when I play new games and the good ones get my utmost respect (just before I take all the really good ideas and make them my own). I am sure it would take me many pleasurable years to create a game as polished and sorted as Dishonoured, but if I can provide a generous amount of Dishonoured like mechanisms in the Reloaded engine, we'll be well on our way!

9 comments:

  1. One other thing Dishonored has (and you probably haven't noticed yet, not being that far in) is player choices in the game having a genuine effect later on. Perhaps this could be implemented through a sort of flow-chart system within reloaded that would also affect enemy AI and reactions. In Dishonored, a violent playthrough will mean you have different shaders, more enemies, and more rubbish and graffiti (and a more violent ending I won't tell you about just yet).

    How that would be implemented in FPSCR I don't know.

    ReplyDelete
  2. Give it some thought; how would YOU like to see this in the editor you would use every day, how simple would you like it, what essential details need to be accessible. I am completely open minded at the moment, just in the 'absorbathon' (I like that) mode :)

    ReplyDelete
  3. https://www.dropbox.com/s/0ws368henfclihq/mockup.jpg

    Something a little (but not too much - don't use a PowerPoint UI :P) like that, allowing you to create a flowchart. I took my example of the effect of the player being trigger (or knife) happy and suggested what actions might arise from it, and the effect of the game being played by a vicar (and then I ran out of space on the screen).

    For instance in that example, you could set the subject to be the players, or a single player where there are multiple players, or an individual NPC, the area might be across the entire game, just this level, selected levels, etc. The condition might be anything; how many enemies the player has killed, how far they have travelled, their average height, how long they've spent hidden. The condition modifier is just an arbitrary name I've given to specifying what the condition is, isn't, or is greater or less than, then the actions are what happens, or doesn't happen, as a result of the condition being fulfilled. Action modifiers are then just another arbitrary name I've given to specify what the action precisely is.

    Entity groups is another thing I thought of, so a selection of entities might be placed and then added to a group either automatically or by the developer, so that entities might only spawn when one of those conditions is met, (or it could be met by the player actively spawning them). Vice versa, they could be disappeared by a condition being, or not being, met.

    I'll continue thinking on it.

    ReplyDelete
  4. " . . . and you could choose your moment where neither enemy was looking at a prime hiding spot where you could dash to, and then from there onwards to the next part of the level leaving the 'guards' clueless as to your escape!"

    Actually, I made a WW2 level in FPSC that was able to accomplish this very thing. Of course on a much smaller scale. The player (hero) is in a large warehouse that is full of huge and small crates all on top of one another. The four enemy characters were scattered among them. No way points. They just used the default scripts, however, I made there angle of sight smaller. If the player used the peek keys to see where the enemy was and if he didn't see any he could move to another crate to hide behind. Eventually he would come upon an enemy whom he could surprise and take him out. I was quite proud of that level as it was one of my first.

    So, it would be way cool to be able to have Dark AI that would provide for some of these things. Really cool.

    ReplyDelete
  5. Dishonored is a great game indeed.
    What's other 5 games of 2012?
    P.S: Looking forward to stealth capabilities in FPSC-r

    ReplyDelete
  6. XCOM-EU, FARCRY3, MW3, FEAR3 and SYNDICATE.

    ReplyDelete
  7. It's nice games. Each is remarkable in its own way.
    F.E.A.R 3 may disappoint you a bit, though.

    What about third installment of Max Payne?
    There's no noire, completely different characters comparing with the original franchise and new storyline, but it's the smoothest third-person-shooter I've seen. Try it out if you'll have the opportunity.

    Have a good time with them, by the way.

    ReplyDelete
  8. Have you considered Skyrim, Lee?
    Although it (slightly) takes away the "Shooter" aspect, it
    Does yet still retain the First Person respective.

    ReplyDelete
  9. Yes played Sky Rim, Oblivion and a few of the expansion packs. Now THERE is an immersive world! It does fall into a pattern after about 75 hours play, but for $49 that's good entertainment value for money (i.e. Cinema 2 hours = £10 = £5 per hour VS Sky Rim 75 hours = £35 = 46p per hour). 1000% value ;)

    ReplyDelete