Fun with Roguelike Generators

2013-01-23-171028_1440x876_scrot

I may or may not be tooling around with a roguelike. Not because I think the genre is dead (it most certainly isn’t) but because some programming tasks are made fun just by their subject matter. I haven’t quite gotten to the point where I’m using “mana” and “damage” and etc. as variable names, but that’s not the first fun part. The first fun part is generating a rogue dungeon level.

Now, anybody that’s ever even thought about developing a roguelike should know about ASCII Dreams written by the developer of Unangband, Andrew Doull. I especially found his series on Unangband Dungeon Generation to provide a lot of insight into generating dungeons that are interesting a long with a lot of interesting history and philosophizing.

In the end, though, I wanted to try my own, naive, hand at the dungeon generation problem. I did take a few major things away from Andrew’s discussion however. Mostly that there are a lot of nice rooms that can be generating procedurally with simple tricks and, failing that, having a system for “vaults” (which are various, hand-designed rooms with interesting features) can be interspersed for extra flavor. Also, various features added to rooms, like water, lava, ice, minerals, rubble, etc. compel players to explore.

Most of this I’ll get to later, if ever, with my toy generator. The first problem is generating the topology of the dungeon itself.

My Approach

Now, one thing that I’ve found annoying about classic generation algorithms is that they tend to have a lot of really long tunnels. This is because rooms are generated at random across the static map and then, if they haven’t merged together, are connected by tunnels. This has never felt right to me. I understand that – in universe – a dungeon might not have the most sensible design, but having long winding tunnels are boring. Doing connectivity checks on the rooms is boring as well. While we’re at it, I don’t want to have a predefined playing field (array) to work with. I’ll put a limit on the area of the dungeon level, but if it’s a whole bunch of tiny rooms in a very long line, so be it. Unfortunately, I also want the level to be consistent (i.e. no physics violating overlapping inconsistent geometry) so it seems inevitable that the level will eventually be represented on a global grid, but at least that grid will be bounded and reasonably shaped to the level. If necessary, after the level is fully generated the excess grid could be eliminated just by noting where one room enters into another.

So, what I wanted to do was generate a dungeon level that is both tunnel free (for the most part), consistent and connected a priori. Interesting stuff like themed-features, rivers, lava flows, etc. could then be painted over the level geometry in broad strokes.

Problems vs. Classical

There are some troubles with this approach. The first of which is that it makes multiple level consistency really hard with multiple staircases. For a classical generator, you can randomly place down staircases on one level, and then replicate that pattern with up staircases on the next level and ensure that you have rooms to encompass them. This works when you’re going to manually connect all the rooms in the end, but it doesn’t work so well when you’re building a pre-connected level. As such, either there has to be only a single up and down staircase per level (not a bad idea, really) or you have to throw that level of consistency out the window and just match arbitrary up and down staircases. This means that you could have two down staircases right next to each other that would teleport you to different ends of the next level, but in a gametype that traditionally promotes save scumming (i.e. if you go down the same staircase twice, the level is different each time you descend) I think that’s acceptable.

Another problem is that, without tunnels, the dungeons are more likely to be dense. That’s a good thing in the fact that it gives a lot more interesting rooms close by and the player spends a lot of time in an environment. It’s also a dangerous thing because it means there’s a lot fewer twisty places to get out of sight of pursuing monsters. I think that’s acceptable as well, although it’ll be something to account for if I ever get around to generating monsters.

Implementation

I decided to bang out a proof of concept in an evening. Breaking down the logic, the easiest way to generate in this fashion is to generate one room, which will be the root. Then, generate another room. Connect these two rooms with a doorway, then that whole complex becomes the root “room”. Rinse and repeat until the dungeon is of a certain size.

In order to encompass this, I came up with a class for Space. A Space is any arbitrary portion of the dungeon level. It includes a 2-dimensional array geometry that describes what’s in that space. One Space’s geometry can be added to another Space’s geometry with a set overlapping point. A Room is just a space with a name and whose geometry is likely a single room, but is arbitrary. Then, special types of rooms, like one mentioned in Unangband as the core type, two overlapping rectangles (which results in single rooms, crosses, T-shapes, L-shapes, etc.) are just Rooms with special geometry generation.

Expand Code

#!/usr/bin/python

import random
import sys

def chance(c):
    if random.randint(1, 100) <= c:
        return True
    return False

def rand_element(l):
    return l[random.randint(0, len(l) - 1)]

def rand_block(max_x, max_y):
    return (random.randint(0, max_x), random.randint(0, max_y))

class Space(object):
    def __init__(self, geom = []):
        self.global_x = 0
        self.global_y = 0
        self.geometry = geom

    def point(self, x, y):
        return (self.global_x + x, self.global_y + y)

    def adjust_x(self, x):
        self.global_x = x

    def adjust_y(self, y):
        self.global_y = y

    def area(self):
        area = 0
        for row in self.geometry:
            for x in row:
                if x:
                    area += 1
        return area

    # Create an initialized array for a space with dimensions.  we can't just do
    # [[0] * x] * y because then the sublists are all just instances of the same
    # list.

    def space(self, x, y, val = 0):
        geom = []
        for y in range(0, y):
            geom.append([val] * x)
        return Space(geom)

    # Add space takes two arbitrary spaces and merges together, using points
    # s1p and s2p as the same points in the resulting form.

    # If kwargs["chicken"] is True, it will return False (i.e. fail), if any of s1's
    # points are overwritten by s2 except for the intersection point.

    def add_space(self, sq, s1p, s2p, **kwargs):

        chicken = False
        if "chicken" in kwargs and kwargs["chicken"]:
            chicken = True

        s1 = self.geometry
        s2 = sq.geometry

        s1_dim_y = len(s1)
        s1_dim_x = len(s1[0])

        s1_o_x, s1_o_y = s1p

        s2_dim_y = len(s2)
        s2_dim_x = len(s2[0])

        s2_o_x, s2_o_y = s2p

        g_max_x = s1_dim_x

        # Account for s2's width going farther to left
        if (s1_o_x < s2_o_x):
            s1_start_x = (s2_o_x - s1_o_x)
            s2_start_x = 0
            g_max_x += s1_start_x
        else:
            s1_start_x = 0
            s2_start_x = (s1_o_x - s2_o_x)

        # Account for s2's width going farther to right
        if ((s1_dim_x - s1_o_x) < (s2_dim_x - s2_o_x)):
            g_max_x += (s2_dim_x - s2_o_x) - (s1_dim_x - s1_o_x)

        g_max_y = s1_dim_y

        # Account for s2's height going higher
        if (s1_o_y < s2_o_y):
            s1_start_y = (s2_o_y - s1_o_y)
            g_max_y += s1_start_y
            s2_start_y = 0
        else:
            s1_start_y = 0
            s2_start_y = (s1_o_y - s2_o_y)

        # Account for s2's depth going lower
        if ((s1_dim_y - s1_o_y) < (s2_dim_y - s2_o_y)):
            g_max_y += (s2_dim_y - s2_o_y) - (s1_dim_y - s1_o_y)

        geom = self.space(g_max_x, g_max_y)

        # Draw both into geometry:

        for y in range(0, s1_dim_y):
            for x in range(0, s1_dim_x):
                geom.geometry[y + s1_start_y][x + s1_start_x] = s1[y][x]

        for y in range(0, s2_dim_y):
            for x in range(0, s2_dim_x):
                if s2[y][x]:
                    if chicken and (x, y) != s2p and\
                            geom.geometry[y + s2_start_y][x + s2_start_x]:
                        return False
                    geom.geometry[y + s2_start_y][x + s2_start_x] = s2[y][x]

        self.adjust_x(s1_start_x)
        sq.adjust_x(s2_start_x)

        self.adjust_y(s1_start_y)
        sq.adjust_y(s2_start_y)

        self.geometry = geom.geometry
        return True

    # Sort out surrounding used and unused coordinates.

    def _cardinal_sort(self, x, y):
        unused = []
        used = []
        pairs = [(-1, 0, 0),(0, -1, 3),(0, 1, 1),(1, 0, 2)]

        for off_y, off_x, direction in pairs:
            b = (x + off_x, y + off_y, direction)
            # Count out of bounds as unused.
            if (y + off_y) < 0 or\
               (y + off_y) >= len(self.geometry) or\
               (x + off_x) < 0 or\
               (x + off_x) >= len(self.geometry[y + off_y]) or\
               self.geometry[y + off_y][x + off_x] == 0:
                unused.append(b)
            else:
                used.append(b)

        return (used, unused)

    # Return a list of coordinates of used squares that have at least one
    # unused square (four-way) adjacent that, if used, would have no other used
    # neighbors but the first one. So, in summary

    # 1|
    # 2| <- all perimeter blocks
    # 3|
    #
    # 1|_  <-- neither are perimeter blocks
    #   2

    # The intent here is to find blocks where it's appropriate to attach a
    # doorway. For now, this only list blocks that are pressing against the
    # outside boundary of the geometry. There are some neat cases that could be
    # generated with finer granularity, but I'm not sure if that's better done
    # with specific generators.

    def connectable_coords(self):
        r = []
        for i, y in enumerate(self.geometry):
            for j, x in enumerate(y):

                # Skip unused blocks
                if not x:
                    continue

                used, unused = self._cardinal_sort(j, i)
                for s_x, s_y, s_d in unused:
                    sub_used, sub_unused = self._cardinal_sort(s_x, s_y)
                    if len(sub_used) == 1:
                        r.append((j, i, s_d))
        return r

    def print_geom(self):
        for row in self.geometry:
            p = ""
            for x in row:
                if x:
                    p += ("%s" % (chr(x),))
                else:
                    p += " "
            print(p)

    def gen(self):
        pass


class Room(Space):
    def __init__(self):
        Space.__init__(self)
        self.name = ""

        self.name_prefixes = [ "Beautiful", "Evil", "Corrupted", "Pristine" ]
        self.name_suffixes = [ "of Doom", "of Dancing", "of Flowers", "of Blood" ]
        self.name_bases = [ "Room" ]

        self.name_prefix_chance = 25
        self.name_suffix_chance = 25
        
    def give_name(self):
        n = ""
        if chance(self.name_prefix_chance):
            n += rand_element(self.name_prefixes) + " "
        n += rand_element(self.name_bases)
        if chance(self.name_suffix_chance):
            n += " " + rand_element(self.name_suffixes)
        self.name = n

    def gen(self):
        self.give_name()

class SimpleRoom(Room):
    def gen(self, x, y, val):
        Room.gen(self)
        self.geometry = self.space(x, y, val).geometry

class SimpleAdditiveRoom(Room):
    def gen(self, min_x, max_x, min_y, max_y, val):
        Room.gen(self)

        # Get section 1 dimensions
        r1_dim_x = random.randint(min_x, max_x)
        r1_dim_y = random.randint(min_y, max_y)

        # Section 2 dimensions
        r2_dim_x = random.randint(min_x, max_x)
        r2_dim_y = random.randint(min_y, max_y)

        # Random overlapping points
        r1p = rand_block(r1_dim_x, r1_dim_y)
        r2p = rand_block(r2_dim_x, r2_dim_y)

        r1 = self.space(r1_dim_x, r1_dim_y, val)
        r2 = self.space(r2_dim_x, r2_dim_y, val)

        self.geometry = r1.geometry
        self.add_space(r2, r1p, r2p)

class Hallway(Space):
    def gen(self, x, y, val):
        Space.gen(self)
        self.geometry = self.space(x, y, val).geometry

if __name__ == "__main__":
    root = SimpleAdditiveRoom()
    root.gen(3, 10, 3, 10, ord('A'))

    val = ord('B')

    while root.area() < 2000:
        sr2 = SimpleAdditiveRoom()
        sr2.gen(3, 10, 3, 10, val)

        c1 = rand_element(root.connectable_coords())

        m = [ 2, 3, 0, 1 ]  
        c2 = rand_element([ x for x in sr2.connectable_coords() if x[2] == m[c1[2]]])

        hall = Hallway()

        if c1[2] == 0:
            hall.gen(1, 3, ord('+'))
            hall.add_space(root, hall.point(0,2), c1[:2])
            r = hall.add_space(sr2, hall.point(0,0), c2[:2], chicken = True)
        elif c1[2] == 2:
            hall.gen(1, 3, ord('+'))
            hall.add_space(root, hall.point(0,0), c1[:2])
            r = hall.add_space(sr2, hall.point(0,2), c2[:2], chicken = True)
        elif c1[2] == 1:
            hall.gen(3, 1, ord('+'))
            hall.add_space(root, hall.point(0,0), c1[:2])
            r = hall.add_space(sr2, hall.point(2,0), c2[:2], chicken = True)
        elif c1[2] == 3:
            hall.gen(3, 1, ord('+'))
            hall.add_space(root, hall.point(2,0), c1[:2])
            r = hall.add_space(sr2, hall.point(0,0), c2[:2], chicken = True)

        if r:
            root = hall
            val += 1

    root.print_geom()

I got a little lazy with the execution of __main__. There’s a cleaner way to deal with matching up the direction end-points (hell, just take a random one and rotate the entire room to match, really) but for an evening’s playing around I think the results are actually pretty nice.

Expand Example


        ]]]]]]                                                           
        ]]]]]]                                                           
        ]]]]]]]]]]]                                                      
        ]]]]]]]]]]]                                                      
        ]]]]]]]]]]]                                                      
        ]]]]]]]]]]]                                                      
        ]]]]]]]]]]]                                                      
        ]]]]]]]]]]]          UUUUUUUU                                    
        ]]]]]]               UUUUUUUU                                    
          +                UUUUUUUUUU                                    
         ZZZZ              UUUUUUUUUU                                    
         ZZZZ              UUUUUUUUUU                                    
         ZZZZ              UUUUUUUUUU                                    
         ZZZZ                UUUUUUUU MMMMMMMMM                          
         ZZZZZZZZ            UUUUUUUU+MMMMMMMMM                          
         ZZZZZZZZ            UUUUUUUU MMMMMMMMM                          
         ZZZZZZZZ            UUUUUUUU MMMMMMMMM                          
         ZZZZZZZZ                        MMMMMM                          
         ZZZZZZZZ                        MMMMMM                          
         ZZZZZZZZ                JJJJJJJ MMMMMM                          
         ZZZZZZZZ                JJJJJJJ MMMMMM                          
            +                    JJJJJJJ  +                              
          WWWWWWW                JJJJJJJJJJJJJJ                          
          WWWWWWWWWW NNNNNN      JJJJJJJJJJJJJJ                          
          WWWWWWWWWW NNNNNN      JJJJJJJJJJJJJJ                          
          WWWWWWWWWW+NNNNNN      JJJJJJJJJJJJJJ                          
          WWWWWWWWWW NNNNNN       +                                      
          WWWWWWWWWW NNNNNNBBBBBBBB                                      
          WWWWWWWWWW NNNNNNBBBBBBBBBB                                    
          WWWWWWWWWW NNNNNNBBBBBBBBBB                                    
             WWWWWWW  NNNN BBBBBBBBBB                                    
             WWWWWWW  NNNN BBBBBBBBBB                                    
            OOOOOOOOOONNNN       BBBB                                    
            OOOOOOOOOO   +       BBBB                                    
            OOOOOOOOOO FFFFFFF   BBBB                                    
            OOOOOOOOOO FFFFFFF   BBBB                                    
            OOOOOOOOOO FFFFFFF    +                                      
            OOOOOOOOOO FFFFFFF AAAAAAAAAAA                               
            OOOOOOOOOO FFFFFFF+AAAAAAAAAAA                               
            OOOOOOOOOO FFFFFFF AAAAAAAAAAA                               
            OOOOOOOOOO FFFFFFF AAAAA                                     
            OOOOOOOOOO+FFFFFFF AAAAA          PPPPPPPPP                  
             OOOOO     FFFFFFF AAAAA          PPPPPPPPP                  
             OOOOO LLL FFFFFFF AAAAA          PPPPPPPPP TTTT             
                   LLL +         +            PPPPPPPPP TTTT             
                  LLLLLLL        CCCCC        PPPPPPPPP+TTTT             
                  LLLLLLL        CCCCC        PPPP   +  TTTTT            
                  LLLLLLL        CCCCC      HHHHHHHHHH  TTTTT            
     [[[[[[[[[                   CCCCCCCCCC HHHHHHHHHH  TTTTT  XXXXXXXXXX
     [[[[[[[[[                   CCCCCCCCCC HHHHHHHHHHHHTTTTT XXXXXXXXXXX
     [[[[[[[[[ GGGGGGGGGG        CCCCCCCCCC HHHHHHHHHHHHTTTTT+XXXXXXXXXXX
     [[[[[[[[[ GGGGGGGGGG  EEEEE+CCCCCCCCCC HHHHHHHHHHHH      XXXXXXXXXX 
     [[[[[[[[[ GGGGGGGGGG  EEEEE CCCCCCCCCC+HHHHHHHHHH        XXXXXXXXXX 
     [[[[[[[[[ GGGGGGGGGG EEEEEE CCCCCCCCCC                   XXXXXXXXXX 
     [[[[[[[[[+GGGGGGGGGG EEEEEE CCCCCCCCCC                   XXXXXXXXXX 
   [[[[[[[[[[[ GGGGGGGGGG EEEEEE     +                        XXXXXXXXXX 
   [[[[[[[[[[[ GGGGGGGGGG EEE       DDD                                  
   [[[[[[[[[[[ GGGGGGGGGG+EEE       DDD                                  
   [[[[[[[[    GGGGGGGGGG EEE   III DDD                                  
   [[[[[[[[    GGGGGGGGGG EEE  IIII DDD                                  
   [[[[[[[[         +     EEE  IIII DDD                                  
   [[[[[[[[         KKK   EEE  IIII DDD                                  
                    KKK        IIII DDD                                  
                    KKK        IIII+DDDQQQQ                              
                    KKK        IIII QQQQQQQQQQ                           
                 KKKKKKK       IIII+QQQQQQQQQQ                           
                 KKKKKKK       IIII QQQQQQQQQQ                           
                 KKKKKKK       IIII QQQQQQQQQQ                           
                 KKKKKKK                    +                            
                 KKKKKKK                    SSS                          
\\\\\\\\\        KKKKKKK                SSSSSSSS                         
\\\\\\\\\        KKKKKKK                SSSSSSSS                         
\\\\\\\\\        KKKKKKK                SSSSSSSS                         
\\\\\\\\\        KKKKKKK                SSSSSSSS                         
\\\\\\\\\\\\\\   KKKKKKK                SSSSSSSS                         
\\\\\\\\\\\\\\     +                    SSSSSSSS                         
\\\\\\\\\\\\\\RRRRRRRRR                 SSSSSSSS                         
      \\\\\\\\RRRRRRRRR                     SSS                          
      \\\\\\\\RRRRRRRRR                                                  
      \\\\\\\\RRRRRRRRR                                                  
         +    RRRRRRRRR                                                  
        VVVVV RRRRRRRRR                                                  
      VVVVVVV RRRRRRRRR                                                  
      VVVVVVV+RRRRRRRRR                                                  
      VVVVVVV RRRRRRRRR                                                  
            + RRRRRRRRR                                                  
          YYYYY                                                          
          YYYYY                                                          
          YYYYY                                                          
          YYYYY                                                          
     YYYYYYYYYY                                                          
     YYYYYYYYYY                                                          
     YYYYYYYYYY                                                          
     YYYYYYYYYY                                               

Not many long tunnels, and a large number of rooms (which are indicated by different letters. Doorways are +s. There are still, of course, some places the geometry doesn't make sense. Usually when two joined rooms have a doorway and also have adjacent open blocks (like P and H in the above). However, all in all, not bad for an evening's screwing around.

On the Steam Box

Steam Logo

The Steam Box has been making the news lately, most recently with a confirmation from the venerable Gabe that it’s a thing that may exist in our plane of reality. There’s also been a lot of talk lately about the Steam Linux beta (that I got in to, hooray!) and the release of Steam’s Big Picture which is a console like controller interface intended for big screens (i.e. TVs).

Because of the timing, a lot of these Steam Box announcements, and a lot of the buzz around it has been that this box will run Linux. As such, in the gaming community there’s a lot of “whoa, Linux… what does that mean for us?” and in the Linux community there’s a lot of “finally Linux games!” I love Steam, I own a handful of titles in it, and I’m extremely pleased that they’ve put out a native Linux client (even in beta form). However, I am totally unconvinced that this is going to be a Linux based Steam machine, despite the timing. Here’s my logic.

Why Not Linux?

I think that it’s likely that a Valve console would take advantage of the huge Steam library. They’ve put almost a decade of effort into turning Steam into a slick, painless, even fun experience and they’ve sold millions of games. Steam is now a big release platform for a lot of AAA publishers (Bethesda, id, Eidos, Firaxis, Gearbox, etc.) as well as a load of indie publishers that wouldn’t have found nearly the following if it wasn’t as painless to find out about them and pay them.

It seems to me that Valve would be making a huge mistake if they’re not parlaying that massive, successful library directly into their prospective console. Bringing a handful of AAA launch titles into your living room on day one makes the Steam Box just another console that differentiates itself with maybe a handful of Valve exclusives (Half-life 3, anybody?). Bringing 2000 mature, well-loved and already purchased games into your living room with a cheap box and promising all the future PC releases would be killer. In addition, a Steam Box that was just a Windows machine with a slick interface would suddenly become the defacto PC spec – solving an issue that game devs have struggled with since the very beginning of PC gaming, namely how to deal with the thousands of different hardware and resource configurations. Finally, it would have the added benefit that literally any game that runs on Windows would effectively work out of the box (perhaps with a little tweaking for the spec, or any novel input devices, but without the pain of a full port).

There is a whole lot of greatness in bringing a cheap, well configured and standardized PC into the living room with a giant library of already working and popular games.

Unfortunately, with a Linux based OS on it, this is impossible. Valve titles would be ported, of course (and in fact that seems like it will happen regardless thanks to the Steam Linux beta) and a fair number of indie games already have ports, but what about the library titles that would strengthen a console release? How many developers can Valve convince into doing a free port of an older game? I believe the answer is very few because for most of these old games there’s no profit in it. Technology like Wine could be used, but if your focus is on solid gaming experience that’s a whole new set of problems. As such, using a Linux based OS would almost completely obviate the advantage of the Steam library.

Why I Could Be (And Hope I Am) Wrong

First of all, perhaps I’m overstating the likelihood of the Steam library coming to the living room. A lot of the older, unportable games would not be controller friendly and if they’re aiming for a more traditional controller oriented approach (instead of controller, mouse, and keyboard) they’d be worthless and hard to play even if they ran perfectly. Not to mention the fact that, by definition, the entire existing library already runs elsewhere which doesn’t really give the Steam Box any draw over a gaming PC except perhaps to those without the cash for an expensive pre-built or the know-how to build their own.

In essence, maybe losing compatibility wouldn’t be the worst thing in the world and if that’s the case Linux starts making a whole lot more sense. You get a very mature stack from kernel through display and because you’re targeting a single hardware configuration you can create a stable, well-tested release on top of open source components fairly easily. Compared to the amount of time it would take to custom develop the entire stack, the bugfixing would take a trivial amount of time and effort.

Second, Linux is free as in freedom. What other console developer would be able to glean fixes and features from unpaid volunteers?

Third, Linux is free as in beer. A Steam library compatible approach would have to come packaged with a Windows license which easily adds $100 to the unsubsidized price tag of the device. Ideally, if they chose to go this route, they could get a deal from Microsoft. The Dreamcast, for example, ran a version of WinCE developed by Microsoft that was seamless. That was before the Xbox hit the scene however and I highly doubt Microsoft would be so amenable these days. On the other hand, if the alternative is to have a Linux box running AAA games, they might be better served by giving Valve a deal to maintain their edge in the desktop space. Either way, though the box becomes more expensive and they lose the advantage of the open source stack.

The final, and best fact for the possibility of Linux on the console is that, if they chose to ignore compatibility, and went the more traditional console route with a release in 2014 / 2015, they’d have plenty of time to rally support for Linux titles, get the already existing Linux ports lined up and polished, and – in the end – come to the table with a more extensive library than any of the competitors.

tl;dr

Base PROS CONS
Windows
  • Massive Steam library already polished and working
  • Easy to productize fast
  • Already mature
  • .

  • Take a price hit on licensing / packaging Windows
  • Less fine grain control of software stack
Linux
  • Free (as in beer) – lower end price
  • Open source – get fixes from volunteers
  • Already mature
  • Not many existing ports in the catalog
  • Brand new platform without much industry expertise

I’m still not convinced that this isn’t going to end up being Valve’s effort to further monetize their work on the existing Steam library, but if they are willing to start a serious console from scratch then Linux is cleary the way to go. None of the information we already know about the device seems to indicate which approach Valve is favoring and as such I think it’s premature to make assumptions.

On Intermediate Dwarf Fortress

df

I’ve been playing Dwarf Fortress a lot these days, after a hiatus and I finally managed to get my first Barony (i.e. a stable fortress that’s got enough imports, exports, and population to get a noble – the first step to a monarchy). This fortress is about five years old, which is a feat in and of itself, but it’s survived four good sieges, a minotaur attack and initially I thought it was cursed and doomed to be a failure (I had a failed strange mood dwarf turn out to be a vampire that went berserk and lost 5 dwarves and damn near tantrum spiralling the remaining 10 and then had some migrants show up pissed off and some dwarven babies die mysteriously and a vampire fishery worker that got elected mayor… I could go on).

I thought I’d take advantage of this milestone to write a few things that I’ve realized in my last year or two of Dwarf Fortress that may not be obvious to even players that have been at it for while and had their share of FUN. As such I won’t be covering basics like food production or embark, but leaning more toward intermediate strategy and surprises.

The first tidbit I have is that Dwarf Fortress is all about supply. Half of your game is spent supplying masons with stone, smelters with ore, forges with bars, food, fuel, water, furniture. You have to look at optimizing the speed at which your supply chains work in order to avoid getting bogged down.

This starts with specialization. First, of the stockpile. General stockpiles have their uses (like keeping all of your workshops uncluttered), but general stone stockpiles will get choked quickly. Even general metal ore stockpiles will get bogged down in tetrahedrite and galena. You need to specialize them even more. For example, getting steel production started. You’re going to need to smelt quite a bit, first iron, then pig iron, then steel. The stockpile around your smelters then should allow just your most common iron ore (i.e. magnetite), and bars of pig iron and iron. Nothing else. If you are going to switch from steel to copper (say to bash out a bunch of copper bolts or bins) then either start a new smelter/stockpile, or change the stockpile settings and mark everything currently in it for dumping.

Why does this make such a difference? Because – especially with the 0.34 hauling changes – you want your haulers to do the hauling and your artisans to do the crafting. If the stockpiles around your workshops are inefficiently loaded, you’ve got your legendary armorer walking up ten flights of stairs and hauling materials back to his shop to get his task done when any idle Urist getting drunk in the hall can do it. Higher skilled workers craft way faster than novices, but if they’re wasting their time hauling it doesn’t matter at all.

Which brings me to the other specialization: of workers. The higher skill a worker the better their output and the faster they produce it. A legendary artisan, mason, smith, carpenter can blink through a full order of items in no time and they’ll be great quality. Once you’ve reached that level, you’re pretty much no longer bound by how fast you can produce the items, but how fast you can supply the craftsman with materials. By ensuring that you’re always focusing on leveling a single dwarf, you’ll reach that point faster than if you throw 10 novice dwarves at it. You take a hit initially (if you’re unlucky and don’t get a decent migrant for the job) but after that single dwarf you drafted gains a few levels, he’ll be moving much faster than the handful of dwarves with less experience would be.

Unfortunately, the basic UI makes this a huge pain in the ass. There’s no good way to get a decent overview of the skills of your fortress and as such it’s too easy to have high level crafters languishing as novices in other fields. As such, I recommend Dwarf Therapist for anyone that wants to have any level of control over their dwarves (and yes, it works on Linux). With Dwarf Therapist when I get a migrant wave, I group by squad (so I can use the “no squad” group) and then sort by skill in each labor ensuring that I have the highest dwarf in each skill assigned and only one or two related skills enabled at a time. For example, I usually only have one or two masons and now, five years in, both of them are “accomplished” (level 10) and they can build walls, bridges, coffins, etc. as fast as I can get them stone. My single legendary + 3 carpenter can make a new brace of 30 beds in no time. My single weaponsmith is also “accomplished” and I started him from nothing – he’s just made literally every weapon and bolt ever produced at the fortress (arming military, hunters, weapon traps, some trade orders). In short throwing dwarves at the problem is almost never the answer.

That said, some labors – like stone smoothing or woodcutting – respond well to having dwarves thrown at them because they are no supply (or one-time supply) and have no workshop. This is why I have 4 wood cutters and 8 detailers (5 of which are legendary).

With this knowledge in hand, I’ve gone from having a massive list of managed jobs that seemed to take forever, to having short bursts of jobs that disappear quickly and it’s made all of the difference not only to my fortress but to my frustration level. I lost many a fortress to not being able to get weapons or ammo out fast enough, or produce coffins, beds, etc.

The next bit of knowledge is that the manager isn’t perfect. Playing DF would really suck without the ability to manage jobs on a higher level than the workshop and the manager does a good job of providing that interface. I almost always have a standing meal and brew order and it’s great for handling bedrooms (queuing beds, rock cabinets, rock doors) and smelting wouldn’t be nearly as painless without it.

However, the longer than chain of actions, the worse the manager performs. I used to draft a half-squad, then queue up a huge amount of jobs for iron then steel, then crafting weapons, armor, and leather clothing. The problem is that the forge jobs get queued at the same time as smelter jobs so that even though you list the squad’s weapons as top priority, those jobs are getting cancelled constantly until you’ve got the supplies to complete them. The result is the first random job that’s queued and has materials gets done so that even though you clearly gave the weapons top billing, you could get a squad that has two weapons, four breastplates, one gauntlet and a mail shirt when you could’ve had them all at least armed and training with the same amount of metal and time.

There are two ways to deal with this. The first is that you queue up chunks of tasks. For example, queueing the fuel creation jobs and waiting, then the smelting jobs, and waiting, then the actual jobs you want done. This works, and because it takes advantage of the manager’s ability to track the items and notify you on completion, it’s the best for large tasks (like outfitting a squad).

The second way is to take manual control of part of the process. The manager blindly queues jobs up in a sort of round-robin manner between workshops, but it will never cancel jobs unless the overall task has been cancelled. That means, if you need something made quickly it’s often better to just go to the workshop, cancel the inactive manager tasks, and insert your own. The manager won’t override you, you don’t have to wait for them to validate the job, and you don’t have to wait for the already queued jobs at the workshop to be completed. This is best for on the fly jobs, like creating more bolts in the middle of a siege, or anything else you want to rush to the front of the line.

Another tidbit is that the military is never enough. Military dwarves are great because they can become mobile killing machines capable of putting down sieges like no other. That takes a long time though, and a lot of hard experience. Even getting decent marksdwarves takes quite awhile even though you can get pretty experienced hunters. In the meantime, it’s perfectly possible to bottle up your fortress – but being forbidden from the surface means your pastures are destroyed, you have no access to huge amounts of trees, or fish (unless you had enough time to get them underground), or hunted meat. Traders will get slaughtered, diplomats leave unhappy. No, you need to be able to capture or kill an onslaught outright.

Personally, I like a two story entry way, with a trap hallway and entrance on the first level, and open space on the second level with fortifications bordering one side. The entrances and fortifications are all behind bridges that can be raised and the whole entry way can then be flooded. This way I can bite off a certain number of invaders by toggling the entrance bridges, deal with them (cage and pit, eviscerate, headshot from above or – worst case – seal off and drown). After they’re dealt with, pit the captured invaders, reset the cage traps, and take another bite.

This automated system works pretty but it’s very rigid as well. A military is still necessary for handling the unexpected forgotten beast that flies up by accident into your lower levels and suddenly appears in your dining room breathing fire. Or for clearing out goblin stragglers, thieves, snatchers etc. In addition to berserk dwarves of which there will be many.

Another brief tidbit is read the magmawiki page on Armor. For a long time I thought that military dwarves only needed one piece of chest, leg, foot, arm, head armor but in the end they need way more than that to be decked out. The difference is staggering.

Last military one is be aware that you can have standing active and inactive orders. I was ignorant of the fact that you can actually have “inactive” squads training and guarding and “active” squads be in position for a siege. This makes calling everyone to battle stations as easy as setting everyone to active on the military alert screen. You switch between active and inactive orders with /. Before, I had my training and guarding on the “active” schedule, and then when a siege came I’d manually position my squads but that’s not nearly as useful because you can’t easily burrow them and you can’t easily control their numbers.

Last bit of knowledge: quality easily trumps quantity. Setting up a great hall with tables, chairs, food, and booze is a necessity that all DFers are familiar with. Maybe you’ve even seen dwarves griping about the lack of chairs if you haven’t gotten to it yet. If you have to choose between 30 rock tables and thrones versus a couple of nice metal (gold, silver, platinum – even lead) go for the nicest ones you can provide. The lack of chairs thought will be easily outweighed by just being in the presence of these nice objects. My current fortress (whose inhabitants are mostly ecstatic) had literally four gold tables and chairs in the hall with 150 dwarves for awhile and not once did I catch a sad dwarf complaining about lack of chairs, but a lot of my others always had “admired a fine seat” in their thoughts.

The same thing is true with other furniture, meals, booze, and virtually all trade goods. Try to put out the best product rather than the most product. This dovetails with the worker specialization I mention above.

Anyway, these are my notes after receiving my first Barony. Hope they help you with your FUN.

On Why Tekkit isn’t as good as vanilla Minecraft

I was, admittedly, late to the game on picking up Minecraft, and only started with 1.2.5, but it doesn’t take very long for you to “get” it and see that it’s a very persuasive game. It’s simple in mechanics, yet deep in possibility. You harvest various things to make tools, to make buildings, to defend yourself from the native mobs and other players (if that’s how you play). As this very well known Penny Arcade comic (and it’s follow up) suggests, it’s a concept that will immediately click with a large subsection of gamers. It’s a game that takes a very minimal amount of training to pick up and play, but will reward those that learn a bit more. It’s even something I can play with (or just around) my six year old daughter and not have to worry about it showing up negatively in her subconscious years later too – a major bonus for a gamer dad used to the fare of killing demons with increasingly powerful weaponry or headshotting virtual human beings.

However, being an engineer, when I see some sort of technical complexity – like Minecraft’s brilliant crafting system – I can’t help but wonder what it would be like to take it to the next level.

Enter Tekkit, a collection of mods designed around adding a huge amount of technical complexity to Minecraft by integrating a huge number of machines and components, new concepts and recipes. From simple electric circuits, improved redstone, to computer blocks and nuclear reactors.

Where tekkit succeeds

When I first got going with Tekkit, I thought I was in nirvana. There are so many conveniences. The macerator to grind up ore and get double the ingots from a block. The electric appliances powered by wind or solar or geothermal devices connected with wires. The lovely amount of complexity of the electrical systems. The improved redstone. The automation potentials. This basic improvement in minecraft life is great and addicting. New ore and gems to tantalize you when you’re deep in the earth. New plants, new crops. New gadgets like automatic miners and jetpacks. New weapons and armor. There isn’t a single area of vanilla that isn’t expanded on.

Where tekkit fails

Unfortunately, it doesn’t take long for you to reach a point where the resources you’re going to need for your planned projects are going to be insanely vast. For example, my first goal was going to be to setup a force field to defend my little area. The recipe to create a force field doesn’t look too bad but its energy requirements are steep (as you would expect) when you’re protecting a large area. So, instead of tackling the complexity, or following a blueprint for a nuclear plant, I decided I’d just craft a HV (high voltage) solar array which would power my force field and charge a battery to keep the power up at night. Simple enough, this was all based on theorycrafting.

However, to create a single HV array would require 512 (8x8x8) solar panels. Each solar panel requires a generator, two circuits and some other easier to get components. Each circuit require copper wire, iron, and redstone. Copper wires require rubber. Generators require batteries, furnaces, and machine blocks (8 iron). The recipes aren’t hard, but for a single HV solar array I’d need something like 5000 iron and 3000 copper, 1500 rubber. These are rough, the tekkit wiki probably has real numbers, but the point is that it was clear from the get-go I wasn’t going to be harvesting these myself. To get 5000 iron I’d probably spend days of play time in mines.

And so I discovered the Equivalent Exchange (EE) part of Tekkit. It’s mod that, at its core, lets you echange many lesser valued items for one higher valued item. It’s a great concept because it means that all of that extra garbage you get from mining you can convert, losslessly, into another type of item. I can’t tell you how many stacks of cobblestone I’ve had from mining that just sit in a large chest waiting for me to use them because I can’t bare to let them go. With EE I’d be able to convert them into something I actually need. Sounds fair. After all, it’s in the title: equivalent exchange.

But EE also comes with energy collectors that are able to absorb EMC (the “currency” of items) from sunlight. It becomes clear that when you can absorb enough EMC to basically replicate an iron ingot in a couple of seconds that this is probably the best way to get 5000 iron ingots without strip mining the planet.

So it seems all right then. Sure you’ve got uber expensive items, but you’ve also got a way to convert time spent doing anything into items. Just be patient and you’ll have enough EMC to pay for your ingredients. Problem solved, right? Sure, but at what cost? What reason do you now have to play the game if resources are meaningless with a little effort?

Why explore? Why face danger? Why delve into the caverns and discover underground strongholds and dungeons if you will never return with anything that you couldn’t have replicated? Why spend more than two minutes in the nether if you only have to get one glowstone dust forever?

You know what the most efficient strategy for playing Tekkit is, after you’ve got an energy collector and a condenser up to a certain efficiency? Go do something else and leave your character to idle nearby. Zero effort, guaranteed reward. I generated more diamonds in my sleep this way than I would’ve ever mined in days of gameplay otherwise.

I’m sure that I can afford the reagents to make that HV solar array now, but what’s the point? There’s no achievement left in creating it except for building a machine to crank out solar panels so I don’t have to put up with the tedium of thousands of steps I’d have to take by hand to create one myself. And I understand that designing such a machine is pleasurable, but if creating the components of the machine is just a waiting game for ingredients, why not go to creative mode and design it there? Similarly, if having 1000 diamond blocks is your goal for building your mansion of unparalleled wealth, why not just skip the few days of waiting (or less, likely, if you have a better collector/relay/condenser setup) and just do it in creative mode? Because you want to be “challenged” by sitting around waiting doing anything else for long enough? Because it’s an achievement to have replicated a mansion?

In short, by forcing us to get around resource gathering by making end-game level items insanely expensive, Tekkit has obviated the whole point of playing the game in survival mode.

Perhaps I’m unfortunate in being too obsessed with efficiency. Tekkit has a lot of great additions to vanilla, but I can’t bring myself to ignore the gamebreaking ones. If I can have access to unlimited resources, I can’t help but take advantage of them and, eventually, it makes more sense to keep upgrading your replicator setup than it does doing pretty much anything else. Perhaps I can just remove the EE mod (I am running a personal server after all), but then I don’t know how I’d deal with the insane amounts of material I need to pursue my grand plans. Maybe I could just force myself to ignore collectors, and only convert “honest” items into more useful ones? I don’t know. All I know is that, right now, the simplicity of vanilla looks a lot more challenging, rewarding and, thus, appealing.

On Diablo

I really didn’t intend for this to be a gaming blog, but it’s all I want to talk about at the moment. Life is rough recently, so escapism is always on my mind =P.

I played D2 when I was in high school. I played it to death. Single player and on realms. I played it vanilla, LoD, and then, over the subsequent decade, I played it a number of times on the higher (1.10 – 1.13) patches with my wife because it was an easy game to play on laptops on wireless and have a blast.

It’s no secret that I was excited for Diablo 3. I had it pre-ordered, I followed the news on /r/diablo for months before release. I tried every trick in the book to get into the beta, and participated gladly in the open beta weekend. I ate it up. I leveled every class, tried for every achievement.

Two months out I feel disappointed like so many gamers out there. Everyone from D2 wanted D3 to be a lifestyle rather than just a game (as one redditor put it). We wanted a game that we could dump hours into and be rewarded handsomely with that great feeling of finding a truly awesome item. We wanted that feeling of being decked out in the best gear and after such a struggle, cakewalking through the hardest difficulty or the toughest PvPers.

I was frothing at the mouth because I remember having so much fun with D2, but it was a different time for me and for gaming in general. AAA titles, indie games, mobile gaming, lo-fi hits mean that there is a steady stream of fun games out there that we don’t need to rely on mindless repetition to continue to have fun.

In 2000 there were a large number of really great games, AAA titles like Baldur’s Gate 2, Thief 2, and my absolute favorite game of all time Deus Ex. But these were finite affairs to me, you played them, you beat them (sometimes multiple times) and none of them were very multiplayer friendly (DX multiplayer added later notwithstanding). D2 was a strong game in its own right and its repetitive although rewarding formula with PvP and a real economy were perfect to fill the gaps. 5 character classes, 99 character levels, three difficulties and, to top it off a major expansion almost exactly a year later. This combined with the fact that I was 14, with a whole summer stretching out before me, no car and few friends meant that I could not only plow through the other titles, but also dump hours and hours in to D2 to fill the time. It was the perfect storm.

Fast forward 12 years. I’ve got a wife, a kid, a job, a mountain of bills and I still manage to put in more hours on gaming than the average 9-5er. But the difference isn’t just age, or means, the difference is that there are no longer any gaps. As gamers our attention is highly sought after. For reference, look at the wikipedia page for 2000 in videogaming versus the page for 2011. The criteria for inclusion on this list isn’t clear but if we condense the multi-platform titles and use them as a list of notable releases, it’s obvious that there are at least twice as many notable titles vying for our attention and that’s ignoring the vast amount of cheap but fun indie games that would further weight 2011 in comparison. The point is that now, in 2012, no gamer can honestly complain about having nothing to play. AAA titles abound. $2-$5 fun games show up on Steam every day and don’t even require decent PCs to play. Free to play MMORPGs are everywhere. That’s not even counting the huge backlog of video games from the past decade that you can pick up for a song (although in 2000 you had the entire 90s canon to fallback on too). Together with the fact we’re all older and have less time, there’s no need for a Diablo game to fill in your time between releases because there is no time between releases anymore

Without the need for an endless game to return to there is one thing that would hold a player’s attention in this cascade of games and that’s community. The reason that MMOs are so popular and have such a devoted player base is that you join and play with hundreds of other people, form guilds/factions/organizations as well as digital friendships. The same applies for FPS games with their clans. This social aspect is what makes players consider returning even after getting tempted away to another game for awhile. Ironically, social features – the very thing that might’ve redeemed D3 in face of a rocky start and its many other problems – are practically non-existent. The entire experience is isolating and many player actually complain that working with a group makes the game more of a boring grind rather than less because of the tendency for public players to be undergeared and uncoordinated. MMOs are now where people go to socialize, meet up, quest and battle. D3 offers none of those things compellingly. In fact, the lack of social features blows a hole in the end game that’s larger than just poor itemization. Without the ability to show off, get ranked, or PvP, what’s the point in continuing to optimize your gear? After all, you beat all of the story content before you even hit the half-way mark to level 60. Even if you want to beat it on the highest difficulty, that doesn’t take the best items with the best rolls in the game. Nobody grinds for hours and hours solely to beat end mobs just a little bit faster.

So, stripped of the role as a fallback game (because we don’t need them anymore), and stripped of the social features that entice players to return, what’s left? The answer is a pretty mediocre game. The gameplay and graphics are brilliant, but the story is a joke and the auction house has replaced the greatest feeling in Diablo (finding a great item) with the chore of gathering gold and going shopping.

On Star Trek Online

I’m a huge Trek fan, if you didn’t know. I’ve watched every episode and movie. I know trivia. I have posters in my office, models, and even toys. Yep, I’m a trekkie and proud of it.

I’m also a gamer, but I’m resistant to the idea of playing an MMORPG. I played WoW back in the 2005-2006 timeframe when I had buckets of freetime in college and even then I started playing to the exclusion of all else. I was going through some tough times, what with becoming a father at 20, so I was more than happy to escape my regular existence (I feel I should note that I still managed to get middling good grades and graduate before all of my friends, but I could’ve done better). Anyway, a year or so of WoW addiction has put me off of MMORPGs because in the end I found the experience hollow, not to mention expensive.

So when Star Trek Online came out, my reluctance to give it a shot as an MMORPG vastly outweighed my desire to play a game in the Star Trek universe. I need another monthly bill like I need a hole in my head, really. Not to mention I had (and still have) a girlfriend and I had only one game-capable computer at the time. Juliette’s down with some game playing, but only if she gets equal time, or can play with me.

All of that changed. I built another desktop, and upgraded my first so they’re capable of gaming (we played Skyrim with high detail simultaneously). Then, two months ago, ST:O went free to play.

I’m still resistant. The idea of Korean MMORPG players letting their children starve to death in another room is a powerful reminder of the depth of game addiction and I definitely don’t have the time to devote to it now that I have a career and a family. But at the same time, the life of a parent can get pretty boring when you don’t have the time (or the money) to go out on a regular basis. Finding escape in media (Juliette and I have watched a large amount of Trek, as well as loads of other stuff), or at the gym is all well and good but both of those things can feel repetitive and unrewarding. Games are a good way to get around that, even if their rewards are fake. So, last night, Juliette and I installed ST:O and gave it a shot.

I can already feel the grip of it. I had trouble sleeping last night because of it. It was a lot of fun, and even though I’m only a couple of missions out of the tutorial and still only have a basic grip on the gameplay or strategy, I’m obsessing over it.

I never understood the free-to-play business model, but I do now. The reminders are all over in the game, from the people commanding massive starships, to the unlockable character customization that costs real money, to the Cardassian Lockboxes that require purchased keys to open. It would be so easy to lose track of how much real money you’ve spent. And yet, looking through the store, the items seem interesting and compelling and the prices don’t seem unreasonable when you consider what you’re getting. Most of the nitshit improvements are less than the price of a fancy coffee. Some of the smaller ships are $10-$15. The capital ships are $25 (or $50 for a pack of them, one for each class). They’re all transferrable to different characters on the account. And even though I’m wary of spending $25 on virtual property that’s only good as long as I play the game, I remember that I’m playing the entire game, legally, for free. That’s half of what I paid just to buy WoW 6-7 years ago, not even including the subscription fees. Now, clearly, this could spiral out of control. There are some things they charge for that I’d never consider, like customizing your bridge crew characters, or opening those Lockboxes, or expanding my inventory etc.. I’m not here to micropay myself into oblivion, but if I reach a high enough rank and I’ve gotten $25 of entertainment from the game (which seems likely after one night’s playing), I’ll probably be rolling in an Odyssey.

Overall, I think the game has channeled Trek fairly well. The space vs. ground event / skill set is pretty much how a Trek RPG should work I think and the style is dead on. The ships and environment look great, even two years out from launch. The ship controls take a little to get used to, but it’s managed to relate the universe well with stuff like setting the impulse level, the different attacks, and parlaying crew expertise into special techniques – all things we’ve seen on screen. It’s easy to pretend I’m Kirk or Picard at the helm of my ship with my trusty bridge crew.

That said, I’ve yet to get very far into the game and I obviously haven’t even touched the Klingon side of the universe, so I’ll have to reserve final judgment until I know how much fun I can have with it. I’m hoping that the separation between core gameplay and extra content is as well defined as it appears to me now, but I could be wrong as I get farther from basic levels.

Massive Edit

I now have a deeper understanding of the game, and have stopped playing. Some things I wanted to touch on since this is my space for reviewing things that cross my mind.

The Duty Officer dynamic (you obtain sets of duty officers like items, each one has certain attributes, you then send a number of these officers on offscreen missions that take a duration of real time to get various rewards and special XP) was really cool. It rounded out the game as a simulation of being a real captain because in the series you always see characters going to or returning from various competitions and conferences, or having special duty to optimize the warp core, or going on leave to Risa. It was a nice way for your characters to be working even while you weren’t playing the game and it was a draw to return so you could check on how your duty officers performed. It’s perverse how much I enjoyed sending my little figurine duty officers to settle trade disputes or help colonists, just like in the series. However, it could definitely use a tweak. I was disappointed that the duty officers never progress. They’re like a deck of trading cards, you can play them different ways but they never change, you have to trade up or find better ones to improve. I understand that this makes them a commodity for the player trading system (the Exchange), but I would’ve really liked it if the missions you sent them on changed their effectiveness somehow. Each task has certain requirements to even attempt and each comes with a chance of critical success, success, failure, or disaster. If the officers you assign have certain traits, you can improve your changes for any of the four. For example, if you send a Diplomat with the Telepathic trait, you increase your chance of critical success. Alternatively, if you send your crew on leave with just a bunch of stick in the mud Starfleet types you increase your chance of failure (apparently the rigid officers don’t have much fun alone – imagine a crew full of Worfs on leave). Now, that’s pretty neat alone, but I wish that some of these traits were more flexible. For example, you already gain a bonus for sending “Tactful” security officers with your Diplomats, because they don’t offend the relevant parties. It would be nice if you sent an officer without “Tactful” on the mission and, if it was a critical success (or some other criterion) he would learn something about tact and return with the trait. Of course there are some caveats, you could never gain the trait “Telepathic”, that wouldn’t make sense, and you’d have to add some chance of getting negative traits too. Overall it would shift the focus from passing around officers like trade commodities to molding an untested fresh crew into a great crew. That’s where you get your satisfaction. That’s when you’re officially role-playing Picard.

Another thing worth mentioning is the crafting system that seems to be compulsory in modern RPGs. I don’t envy the task having to somehow wedge a crafting system into a universe that’s built around mutual advancement and practically limitless energy, but the STO guys did a great job. The fundamental element of crafting in STO is exploration. To craft items you spend things like “Unknown Alloys” and “Tetryon Particles” that you gather from scanning unknown anomalies. To make a really great item you need a rare particle trace. You have Research Points that represent your skill at building these various craftables (ship weapons, ground weapons, hypos, deflectors, etc.). None of this really makes sense in the broader universe in which sharing research and effort for mutual gain is basically the cornerstone but what they accomplished is rewarding the sort of curiosity that you see in all Trek captains. Now when Kirk scans an anomaly he’s not trying to build a phaser array, but in the MMO world where no *real* exploration can exist, it’s a nice way to incentivize giving a nod to Starfleet’s scientific mandate by at least feigning curiosity. That said the whole thing is a fucking grindfest, which is basically what all crafting systems boil down to if there’s a need to farm reagents. You can certainly just do missions and scan any anomalies that you come across but that’s never going to be enough. You need 10 Radiation Samples (or other items) alone just to build the schematic for your end goal. Random chance isn’t enough to make all of the craftable items you want to make, and trading low level commodities is pretty much miserable. That means that you’re going to head to one of the unexplored sectors of the galaxy and sit around scanning anomalies for ages until you have enough of data sample XYZ and that’s flat out boring. Even getting your research points is a grind as you end up having to make items you don’t want or need just to get enough points to start making items of your class (this might be avoidable if you start crafting everything and scanning anomalies from day one).

That’s the problem I have with STO. It’s all to repetitive. I cranked up the difficulty to Elite and the ships and enemies successfully posed a threat to me, but the missions just blurred together into a paste. In the initial Klingon storyline there are some nice piece of writing – like meeting McCoy and Scotty in a past starbase that’s rendered just like TOS to defeat phase shifting beings that are exploiting a passing comet to prey on us – but the end result is that basically all the missions are [Space Combat][Ground Combat][Space Combat] with a wall of samey enemies and a linear set of objects to interact with between you and the end. It’s all phrased differently, the settings are all trivially different, but there wasn’t enough differentiation to hold my attention. Grinding mobs is where I think MMOs in general fall down, but MMOs like WoW have the advantage that if you’re going to churn through enemies they’re usually different from the last place. You move from undead to snake people to evil gnomes to ghosts to trolls etc. all in their own different setting, and all with their own skills and threats to your character. In STO, it was an interminable stream of Birds of Prey with basically the same attack, maybe a bigger one with Plasma Torpedoes or another minor variation. On the ground it was a stream of the same Klingon characters in worlds that looked too much alike. I will give STO points for the fact that combat is fun, and that it’s much more based on abilities you get from bridge officers or weapons than from your character alone (which gives you more leeway to experiment), but when I’m on the surface clearing out my hundredth group of identical Klingons, I’m looking for a little more variety.

This is especially true with the exploration quests. These are almost mandatory because you can get 1440 dilithium (which is a fair sum, not a fortune) every real-time day doing them and there aren’t that many opportunities to get dilithium (at least not at my level). The quest is easy, you go to one of the fringe places (the same places you grind for craftables) and you explore or aid three systems. The problem is that you only have to do it a couple of times before you see the pattern that exists in every one of these quests. There are the clear out missions, the missions where you replicate 10 of some commodity the planet needs, the collect 5 data samples missions, and the final and most tedious type: the away team aid mission. These away team aid missions sound like they’d be fun, they come with various different stories, like helping to investigate a murder, or dispelling a ghost story, but in the end it comes down to the same fucking thing. You land, you interact with a set of objects, possibly fighting off others in the way. Now you might think I’m being overly abstract because games are really just interacting with various things in various ways but when I say “interact with a set of objects” I mean you literally walk from one point to another scanning. Some missions that’s literally it. You walk from one giant mushroom plant to another until you’ve scanned 5. Done. Others are you walk from one monolith to another killing Klingons in between. There’s no drama. No dialogue. It’s just another theme on the same goddam template. Look, I’m not trying to say that STO has to procedurally generate actual alien worlds with civilizations and stories, but at least add some more entries to the cycle.

I’m not trying to condemn all of the writing content. I particularly enjoyed the DS9 arc (the Dominion fleet diverted in the end of the series shows up 30 years late and takes DS9), but even that was tainted but one too many step and fetch quests on Bajor to get the base running and suffered from a rather weak ending (getting a Founder out of Federation prison when – surprise – there’s a prison break). The TOS cameos were delightful as well, but that’s pretty low hanging fruit to impress a Trekkie.

In the end, I stopped playing. The thrill of space combat, the Trek references, the well done game mechanics and even the great job they did styling the game couldn’t make up for the repetitive nature of the game. Maybe there’s an explosion of good content later as the writers explored the boundaries of the engine, and maybe the PvP that I frankly couldn’t care less about redeems it for some players, but at level 21 I have lost the compulsion to continue. Perhaps MMOs really just aren’t for me in the end, and I’ve been permanently spoiled by rich single player games like Fallout and Deus Ex that are basically impossible to replicate in an MMO.

On Skyrim

I don’t really want to spend much time talking about Skyrim. I’ve already written this post as a review, but in all I’m still forming my opinion so anything I say has to be tempered at this point. Instead of a review, I’d like to collect various points of thought.

Skyrim’s Strengths

Level Scaling

I never thought I’d say this about a TES game after Oblivion so royally fucked up on level scaling, but this is one (of many, as we’ll see in the next few points) where Skyrim learns much from Bethesda’s work on Fallout 3.

Like Fallout 3, the level scaling is appropriately tailored to quests leaving random encounters at a standard level. This means that, unlike Oblivion, there are no road bandits wearing daedric armor, but the main questline will provide challenge for you at whatever point you decide to pursue it.

Level Mechanics

The core reason that level scaling didn’t work in Oblivion was that the traditional TES leveling scheme didn’t fit with it. As a refresher for those of you that didn’t play Oblivion for awhile to get ramped up for Skyrim, in Oblivion you chose 5 major skills (in Morrowind it was 5 major, 5 minor) and your advancement through those skills determined your character level. In theory, this means that as your knight character hacks and slashes (advancing Blade, Block, etc.) he levels as he becomes more effective.

The reality of the fact was that it was possible to exploit the game with what amounts to the converse of the above. By “poorly” choosing your major skills (i.e. choosing magic skills for a character that will never cast a spell), you could artificially keep your character level low and the enemies would be (in)appropriately weak. This was a functional strategy because in Oblivion, character levels didn’t mean anything. Sure, you got to dump some points in attributes and skills, but if the alternative means enemies don’t get any stronger, you’re no worse off for foregoing character levels all together.

Well, Skyrim puts an end to that. You no longer choose your major skills, it levels you up based on your advancement through skills overall.

Perks

As part of the level mechanic updates, the addition of Fallout 3 style explicit perks was great. TES has always had perks, but previously they were always very subtle to the point of being useless and they were associated with reaching a new skill plateau, so there were only 4 for each skill and you just got them automatically. For magical skills, the perks were always the ability to cast higher level spells… which is nice, but aside from having marginally more powerful spells in your arsenal, it doesn’t really affect your gameplay.

With Skyrim’s system, you get a perk point each level, and each of the 18 skill trees has around 10 different perks. Like Fallout, these perks have certain requirements (either skill levels, or previous perks), but – most importantly – they can obviously affect your gameplay. Suddenly you can craft better stuff, or you hit 25% harder, or have new moves, or your shield blocks elemental damage, or spells cost half as much. These are significant changes and, because you spend finite points to get them, there are significant choices to be made as you level up.

The result is that a level in Skyrim is something that you don’t want to skip, even if you could, which is a marked change from Oblivion, and even Morrowind, where leveling was almost completely irrelevant in the face of skill levels.

Character Level and Performance

These basic improvements (overall skill level focus and perks) mean that character level is now a rough approximation of effectiveness… if you’re playing right. This relationship is the cornerstone of a level scaling system that works, but it also has some flaws that we’ll talk about with craft grinding.

Skills

In addition to the perks mentioned above, the skills have been streamlined as well. Morrowind had 27, Oblivion 21, and now Skyrim has 18 individual skills. The changes are mostly positive, like having One-handed and Two-handed skills separated instead of Blade and Blunt (which in turn were great improvements from Morrowind having a skill for every weapon type). The previous game’s questionably useful mysticism magic school has had its effects merged into other trees (conjuration and alteration, I believe). Mercantile seemed useful before, but having to level it through bartering was boring and the differentiation from plain old Speechcraft was tenuous at best. They’ve been wisely merged into a unified Speech tree. Lastly, the separation of sneak/security into sneak/lockpick/pickpocket is interesting.

I haven’t explored all of the skills, but the perks for them appear to be useful.

Smithing

I was really happy that they added in a smithing craft. The previous games included the “Armorer” skill, which allowed you to repair armor, but that’s clearly not the same. Being a melee character, it’s nice to run around in armor you create, swinging weapons you create. That’s more vanity than anything as you can pretty much find basic armor and weapons anywhere. The nice part is being able to further improve these items as your smithing skill improves to give you a bit of extra edge.

Procedural Generation

Skyrim incorporates a fair amount of randomness into the game, particularly with loot from bodies and chests. That dates back to Oblivion in TES (I believe), but it seems more prevalent now and it’s typically an antidote to quests being identical between play throughs.

Procedural generation is new, as far as I know, and it goes much farther to decrease repetition between play throughs. It doesn’t effect the main quests or some of the richer scripted events, but for things like bandit raids and thief missions, or assassin missions it’s trivial to set up and it adds a whole new level to the game. You could effectively play for hours after completing every quest line without doing the exact same quest twice.

Of course, in execution, these are a little dry. Especially when compared to the richness of the game proper. Some of them are… questionably difficult as well. For example, a procedural thief mission I got, I literally walked into the target house retrieved a conspicuous item and walked out… all while the owner was pleasantly chatting. He didn’t seem to mind that this item, which probably hadn’t existed in his home until I got the quest, was being “stolen”. I’m not sure if he was bugged or what, but the other missions were essentially adding rewards for shit I’d already be doing. Procedural bandit quests just mean you get an extra sum of gold for killing everyone in a randomly chosen local dungeon. I imagine it’s similar with procedural assassin quests, but I haven’t done any yet.

More interesting are the subtly procedural quests. Particularly quests that have a little more story to them but can take place in a number of different locations. Getting the Helm of Winterhold was subtly procedural. The quest text was spoken and rich, but the place I had to go to reclaim it changed and, most interestingly, the type of enemies I was retrieving it from changed too. Bandits the first time, necromancers the second.

Both examples are definite wins for replayability.

…It’s TES

The rest of Skyrim’s strengths flow directly from its parentage. TES games always have a huge scope and a plethora of things to do and items to obtain. Alchemy, enchanting, buying property, moral choices, many character types and playable builds. Skyrim is a solid entry in the TES lore and I haven’t even come close to finishing the game.

Skyrim’s Weaknesses

The Interface

Bethesda went the minimalist route with Skyrim’s interface and aesthetically they hit the mark. Functionally… not so much. There are already mods to correct the PC interface, particularly the inventory interface, but like Oblivion Skyrim seems to suffer from consolitis.

Nowhere is this more evident than in the character creation screen. The row of options at the top of the very first interface screen should function like tabs, but instead function like a slider. I theorize that this is due to the fact that it was designed with using shoulder buttons on a controller to navigate, instead of a mouse.

Similarly, there are a number of places, particularly in dialogue and crafting screens, where the interface appears to lose track of the mouse. Clicking seems to activate whatever is selected, but moving the mouse doesn’t necessarily change selections. The result is that you don’t really know what you’re clicking on which is doubly frustrating because the mouse makes it extremely clear what you want. I’m hoping this is what they’re fixing in 1.2 with “Mouse sensitivity issues”, although that could also be the atrociously low mouse sensitivity by default.

There are other oddities, like clicking outside of the black left sidebar inexplicably closes the interface, so you have to be very careful when selecting things there.

Overall, Bethesda also missed opportunities to use screen real estate wisely because they were designing for you to be 10 feet away on a couch instead of sitting right in front of a monitor. For example, the dearth of information in the inventory screen. 50% of the screen is taken up by a picture of the item you’re currently selected, but all you see about the other 1000 items you’re carrying is their name and some symbols regarding whether they’re equipped or more powerful than what you have equipped. In Oblivion, and the UI mods for Skyrim, you at least got a brief summary of the item from the list view. This makes it much easier to make choices about, for example, what you’re going to drop when you’re overencumbered, because you don’t have to select each individual item to see how much it weighs.

The last little nit is that when you pickup/drop/purchase/sell items from a big stack, it prompts you with a slider to ask how many. Why I can’t type a number here is annoying. Sliders are also used in the character creation screen to choose between presets. Sliders are probably the worst possible idea for mouse users, but the only controls that makes sense for console users.

The Craft Grind

Crafting, especially the new smithing craft, is hard to level without grinding. Part of the problem here is that, in previous games, the crafts were much less skill dependent. Alchemy, for example, was more effected by your intelligence attribute and the apparatus you used to create the potions than it was by the skill level. Without an intelligence attribute (or attributes at all), and no apparatus, alchemy effects are entirely based around perks (and thus skill and character level).

The problem is, with the focus on perks instead of getting gear or souls, you are forced to get your crafting skill level up to improve. Makes sense, but it’s not a smooth slope like it is with other skills. You have to go out of your way to craft. To some extent alchemy doesn’t suffer from this flaw as you’re creating potions that are disposable and there are reagent everywhere. If you experiment to find the reagents’ properties, and otherwise just craft potions for yourself or to expend reagents, you can build alchemy fairly easily — especially if you’re not afraid to use potions.

Enchanting has a similar flow if you just gain levels by disenchanting or charging enchanted weaponry with soul gems.

Smithing has absolutely no flow whatsoever. There’s no way to level it with any reasonable speed making only items for personal use. It’s also hard enough to find the reagents (ore) in large enough quantities just by adventuring, so you’re likely to be going out of your way to mine, which isn’t too much fun. The point is that if you plan on creating yourself a set of armor and a new set of weapons at every tier of smithing, and upgrading them every time you can, you’re not going to have enough smithing tasks to make it from one tier to another. The solution? Make iron daggers over and over. Almost the definition of boring.

For smithing, and even for the other crafts that have some semblance of skill, you’re probably going to end up creating items for no other purpose than to up your level. It’s possible to pace yourself by forcing yourself not to buy the reagents to do so, but nonetheless you’re going to be cranking out daggers, potions, and enchantments you don’t need if you want to get those levels. That sucks.

This is a persistent problem with TES, but it was previously been mitigated by equipment and by the fact that when you level you got to dump points into skills. In Oblivion you could theoretically get to 100 Enchant without ever enchanting an item or filling a soul gem. It makes no sense, and people would most definitely grind in that game, but you could do it. Here you’re forced to grind, to some extent.

Because I’m a fan of the new level system, I would’ve liked to have seen these problems addressed with crafting quest lines. To introduce you to smithing, the Whiterun smith has a basic quest to show you the ropes. Why couldn’t that continue? There should be quests to mine ingredients (tangentially I think you should get some smithing experience from mining and smelting in addition to the proper crafting), or forge so many X for the war effort. That would not only allow you to do quests to smoothly gain levels, it would also give you a reason to make things more interesting than iron daggers. If you were given special ingredients to fetch from hostile areas it would even mix leveling your smithing with your other skills.

Bugginess

Bugs have plagued every release Bethesda has put out since Arena and Skyrim is no different. I’ve seen items floating in the sky, people in sitting positions slide into their chairs from across the room. A friend of mine saw a mammoth fall out of the sky and die right in front of him. I’ve had fetch quests that had to be done twice, inexplicably. There are texture issues and crashes too. Going to the internet, there are apparently some other bad bugs that I’ve had the good fortune to avoid.

Overall

Overall Skyrim is a great game. Out of the gate, it’s a bit rough around the edges, but much less so than Oblivion was. Bethesda’s greatest strength is its mod friendliness. It extends the life of every game by being open to new content and allows players to correct (real or perceived) problems. The upshot of Skyrim is that it’s a solid release, but every single one of the complaints and bugs will eventually be addressed. Whether it’s by Bethesda or the players is irrelevant.

Right now, the game has its flaws. A year from now (or, rather, a year from when the “Creation Kit” is released), the game will be verging on perfect.

A fan’s review of Deus Ex: Human Revolution

I just completed my first play through of the new Deus Ex game, Human Revolution or DX:HR for short. I guess you could also call it DX3, but that might confuse some of the folks that disavow that Invisible War ever existed.

I was, and am, a huge fan of the original Deus Ex. In 2001 it was a truly original game and I consider it, easily, my favorite videogame of all time. I’ve played it through maybe five times all together (and a few times I didn’t finish) with strategies varying from soldier, to hacker, to spy, to pacifist, to knife only psychopath (although I had to upgrade to the Dragon’s Tooth towards the end, and I didn’t count a couple of the “boss” type characters which had to be taken down with LAMs or GEP rockets). I can remember some of the original Deus Ex levels so well I could probably reproduce them faithfully from memory.

Invisible War was a forgettable sequel. I remember virtually nothing of the storyline, the character, or the mechanics thereof. I just know that when I finished it, I decided to erase it from my memory and pretend, as a lot of other internet gamers, that it never happened. It was less a Deus Ex game and more a botched product of the then dying Ion Storm (RIP). However, I was encouraged when the pre-release buzz was building for Human Revolution started and the developers seems to have their heads screwed on right, and they acknowledged that Invisible War was a failure. To see my favorite franchise fall short again would be enough to make me lose hope that it could ever be done right again.

So, with that bit of history and personal opinion out of the way, here’s what I thought of the most recent volume of Deus Ex.

Gameplay

As I mentioned, a lot of the pre-release hype convinced me there was hope for the game. Admittedly, some of it made me question the future, but overall I believe most of their choices came off better than I expected.

Augmentations

The first thing I was disappointed in in pre-release was that there were going to be no skills. In the original, you had skills, which were upgraded with experience, and augs, which were found and upgraded using various canisters you had to find throughout the game. Skills included things that you or I could accomplish, stuff like weapons accuracy, melee skill, swimming, hacking, medicine, etc. Augs, just like in the new game, practically gave you super powers.

All in all, I think they combined the two systems well, although they accomplished it partially by stripping the need for a lot of the skills. For example, swimming is moot because there is no water. Medicine is pointless because you regen. Melee is done away with as there are no melee weapons. The remainder of the skills were rolled into augmentations. Lockpicking (although mechanical locks are now unheard of and lockpicks don’t exist), computers, and electronics were all rolled into hacking which is very well represented in the tree with three separate branches. “Environmental Training” was condensed into a rebreather augmentation that lets you resist toxic gas. Weapons skills are now handled all together with an augmentation that increases accuracy while moving.

A lot of the old favorite augmentations came back too, like cloak, and silent running. Dermal armor has taken the place of the shield. Regen is now a built-in augment you have from the start (bolstering the no-health approach of the game, which also rendered the medicine skill moot). I didn’t get the chance to use any of the advanced retinal augments but they sound similar in concept to the original as well.

There were also some cool additions to the augmentations too. The Icarus Landing System lets you jump from any height and take no damage. High enough and you get a neat bubble effect and you can optionally stun everyone around you — although I never got to use that feature. The social augmentation sounded neat to open more dialogue options. You can gain the ability to punch through (some) walls too which is definitely a plus for path finding. Then there’s the neat offensive augmentation, the Typhoon, that allows you to expend Typhoon ammo and cause a shockwave of death. Very cool, although it sucks when used against you =).

Really, I didn’t end up missing skills and the game does fine with just the augmentations.

The XP Problem

I really didn’t like the fact that XP got you augments though. I know they rationalized it in game with the fact that you were somehow “awakening” your augments with experience, but that doesn’t make much sense to me. How does me doing an arbitrary action like finishing a mission suddenly entitle me to the ability to cloak? I understand it’s just a mechanic, but perhaps it would’ve made more sense to have canister-esque items for the baseline augmentations (the things you have to spend two “praxis points” to open up), and then XP would allow you to upgrade within the tree the baseline augments open up? (If you haven’t played the game, this essentially means that you’d have to find a canister to get cloak, but you could upgrade your cloak’s efficiency through XP points).

The core of the problem here is that XP is too easy to get. My first (and only for now) play through was non-lethal stealth. I got XP left and right, hacking systems, completing sidequests, getting bonuses for finding secret ways in. Every takedown (we’ll get to those later) was easy XP. Then you get a massive bonus for getting through a level without triggering an alarm, or getting noticed. To top it off, you can even buy these points for credits!

By the end of the game, my stealth Gandhi had more “praxis points” than I knew what to do with. I ended up spending my last 5 points maxing dermal implants that reduced damage 45% and made me immune to EMP. This on a character that almost never got shot… only because I had literally nothing else worthwhile to spend the points on. I had maxed hacking (the capture and stealth trees, fortify was pointless then), maxed my batteries, maxed cloak, maxed my storage capacity and lifting strength, could run silently and jump nine feet into the air… I can’t count the number of times I’ve gone to the augmentation screen and found, oh wait, I have three points waiting to be spent.

This abundance of augmentations also factors into the game because you no longer have to make any tough choices. In the original game, the canisters each contained two augmentations and you had to choose between the two irrevocably and they had to be installed by a bot so you couldn’t just hang on to the canisters until you decided which was more useful. Some were easy choices just based on your play style (Combat Strength probably isn’t important if you’re going to be shooting people up, for example), but others were very tough. Do I want my augmentations to all take less power (Power Recirculator) or the ability to upgrade one aug on the fly (Synthetic Heart)? Do I want regeneration (energy expensive, but useful for all damage after the fact) or the ability to absorb fire/plasma/energy attacks? In either case you can’t have both. DX:HR doesn’t force you to make these choices. Every augmentation is open for you and you can just carry around three of these praxis points to use at any time. Get to an area with EMP? Oh I guess I’ll just “awaken” my augmentation for EMP immunity. Thanks!

The Pointless Augs

There was also an entire stealth tree that seemed pretty much pointless too, which was disappointing. Mind you, I was playing on the hardest difficulty (although I’m sure some would say I was cheating at it because I turned on the reticle) and it was never an issue to “mark and track” my enemies. You can see them all on the radar, so who cares? I don’t need to know how much noise I’m making… if I’m crouch walking I’m being quiet enough. I don’t need to see the visual range of my enemies because I can see what way they’re facing on radar. It’s saying something that my stealth character made it all the way through the game without a single point in the general stealth tree. There are also some others that seem a bit pointless… like the HUD telling you how long until enemies’ alarmed status ends. Doesn’t really help you at all, since you can see when it ends anyway, it just tells you how long you’re going to have to wait. It’s not like it’s ever more than 30 seconds anyway. I feel like I should point out that the original had some questionable augs too, like Aqualung, Environmental Resistance, Radar Transparency (unless you suck) etc.

Still, the above gripes aside, the augs — although too easy to get and the XP system makes 0 sense — were fun to use and enhanced the gameplay as they should. I would’ve liked to see most of the same augment technologies just with fewer opportunities to get them to add to the challenge. Maybe a sliding XP scale instead of getting praxis points so regularly.

No Health

Probably the most controversial of the additions to the new game was the fact that there is no health. Well, there is, but you regenerate constantly by default which means that, like a lot of newer FPS games, if you get shot you just have to hide for a bit to get better. Initially I didn’t have a problem with this system. In fact, considering the setting of human augmentation it seems to make more sense in DX than anywhere else. However, in retrospect I can say it removed a lot of the urgency from situations. If I was feeling lazy and there was a single enemy, I’d just sneak up as close as a I could and then charge to do a take down, fully cognizant of the fact that if he gets a shot off, all I have to do is sit on my ass for 20 seconds. That is unless he head shots me or has a powerful enough weapon…

In the original DX, you had all sorts of fun because you were damaged. Getting through the next scenario might not be difficult but if you were out of medkits and had 10 health, getting through suddenly becomes a lot more challenging. There’s nothing like sneaking up on an enemy knowing that if he turns around it doesn’t matter if he’s armed with a feather duster, you’re fucked. Then there was fun stuff like, if you were hit in the arm enough, your aim got all wonky. If you were hit in the legs, you were slowed to a crawl. None of that happens in the new game, and it’s difficulty shows it.

Cover System

Another change was the addition of a third person cover system. Honestly, this change was very well done and a welcome modification of the original game play. In the original game, you had the ability to lean around a corner to scope out what was there, but the cover system allows you to have a much better idea of what’s going on around you. On one hand, it’s kinda bullshit because you can see over walls that you’re crouched behind, but on the other hand I imagine it as sort of an extension of the main character’s intuition. The ability to see a room, see the enemies, crouch and still piece together what’s going on based on sound. Besides, you’re equipped with a radar system that can “see” practically everything, so why not?

The bottom line is that the cover system is just a formalization of the techniques you’d use in the first game if you were any good at it, and the ability to move quickly between cover is a definite improvement over the first game in which you’d crouch walk instead of doing a leaping somersault.

Take Downs

Related to the cover system you also have a third-person take downs. As a melee aficionado, I was disappointed that the game eliminated melee weapons. However, I’m still conflicted about it. The take downs were nice, very cinematic and also very useful. I would’ve have been able to complete a non-lethal stealth play through without them. Really I’m only apprehensive because they were so easy to achieve. Walk up to one (or two with an augmentation) guys and, provided you have enough energy, it’s light’s out. No finesse required, other than getting close to them without getting your head blown off.

In the original game, it was difficult to make it through with a knife or a baton. I can’t count the number of reloads I’ve had to do because I snuck up on someone, uncrouched and then fucked up the execution of a melee “take down” in the original.

I also don’t get why a takedown takes the same sort of energy as your augmentations. I mean, does it take as much energy to punch two dudes out as it does to turn invisible for 3/5/7 seconds? Maybe, but I think if they needed to limit the amount of take downs you could do (they did), then I think a cooldown period would’ve done the job better. Particularly because it’s tough to gauge how much energy you’re going to need in situations. For example, if you wanted to cloak and take someone down you need to make damn sure that you’ve got a full energy bar left by the time you reach your target or you’re just going to stand there.

All in all, I could take them or leave them. The take downs were fun to execute, even if they were too easy, and I suppose it makes sense that a consummate badass would be able to snap your neck or choke you out pretty much on a whim.

Boss Fights

This is also the first time DX has had true boss fights. In the original you had climactic moments, and you killed a lot of important NPCs who were tough and armed like bosses, but there were no true bosses. Personally, I’m of the opinion that boss fights are contrived and this was no exception. Perhaps it makes a bit more sense considering the story line and the whole idea of augmented super warriors, but if they would’ve stayed true to the original and just integrated them into a level it would’ve been a lot more fun and a lot less frustrating than a true boss “arena” complete with ammunition and usually a novel way to destroy your foe. Not to mention it would’ve probably been a lot more challenging if they just showed up in the middle of a level and fucked you up instead of having the whole cliched cut scene.

The other point I’ll make here is that while the game did a good job making sure that the rest of the game was doable without killing anyone, when it came to the bosses you were forced to be lethal. I don’t really have a problem killing the bosses and sparing their lesser guards, but it was a huge pain in the ass to arm myself with lethal weapons at the beginning of each boss fight. For the second boss in particular it was extremely annoying that I had to find lockers, drop non-lethal items and ammo out of my inventory so I could pick up a machine pistol and some ammo … all while being chased. I guess that’s what I get for being non-lethal and having to kill someone.

Hacking

Hacking is one gameplay addition that I think the designers did right and better than the original. The hacking minigame was a challenge and different each time. It added a level of difficulty to opening a door that wasn’t present in the first game (where all you had to think about was “do I have enough skill/lockpicks/multitools to do this?”). It was nice that sometimes I could break a level 5 system without an alarm, and sometimes a level 2 system would alarm right off the bat and make you sweat. I enjoyed all of the hacking in the stealth play through.

Omissions

There were some other, minor, gameplay elements that I would’ve like to have seen in the new game, although I can forgive their omissions. I would’ve really liked to have seen ammo types, although since ammo is now an inventory item and you’re always at a loss for space that might’ve been annoying. Melee weapons would’ve been a plus as I mentioned before although similarly an inventory problem. Weapon mods were sufficiently scarce, but didn’t apply to enough weapons. With my non-lethal play through virtually none of the mods would apply to my tranquilizer rifle so I put them all on my reserve pistol. Some wouldn’t make any sense (damage, silencer), and it came with a scope, but why can’t I have a laser sight? I think the only mods I could actually apply to it were the reload speed mods.

None of these are that important however.

The World

First off, let me say unequivocally that the level design was great. The levels provided numerous paths to take for virtually every scenario. The city hubs were atmospheric and suitably dirty and complicated. The facilities were well thought out and believable. The game seems to do squalor and sophistication with the same ease. This was a hallmark of the original Deus Ex, although the original seemed to tend toward the dingy post-apocalyptic side of the spectrum for the majority of the time. Perhaps I am just unaccustomed to the current state of PC gaming, but I was very impressed with the look and feel of the game.

The world told of through the various scattered e-books (not datacubes yet, I guess), newspapers, emails etc. seems realistic and, importantly, it seemed to connect well with the world of the original. There are a lot of juicy references for old players, like Manderley, TTong (who you actually get to see at one point), and the NSF.

That said, the immediate world that you play in seems much smaller. You globe trot, which is important for a Deus Ex game considering the original took you all across the world, but three of these locations you only see as a singular level. Albeit a singular, well-designed level, you still don’t get a chance to venture out before being choppered elsewhere. That’s similar to the first game where the only cities you truly explore are New York and Hong Kong, (I guess you might be able to count Paris, although it’s different) but there were many many many peripheral locations in those cities and between your visits to them. The original had much more content and had many more levels without a lot of time being spent doing pointless side-quests. I guess I shouldn’t be surprised in the age of DLC.

To make things worse, it seems like most of the places you visit don’t have any real secrets to find. The original had many little nooks and crannies to explore unrelated to the advancement of the storyline. To give an example: In the original Deus Ex, there was actually a very small secret MJ12 facility beneath the streets very early on in the game. You don’t encounter MJ12 as part of the story until much later, but if you find it you raise questions like “who the hell were those dudes with Roman numerals on their helmets carrying combat rifles in the sewers?” They weren’t part of any quest at that point. No one ever directs you to the facility, you just have to find them on your own. Now, I could be making an ass out of myself because there very well could be secrets like this in the new game. In fact, it could be rife with them but I can say that I didn’t find anything that surprising and I was looking.

The core issue I have with the immediate world is that it was too efficiently designed. There are different paths and doors to hack, storage units to break into, etc. but almost everything is there for a purpose. Every ladder, every vent, every corridor is there as part of some type of quest. Too many times I was called back to a room I had already broken into (the hacker in my character can’t stand a locked door) for some scripted event to happen. Without the reward of finding new places and secrets, I almost felt as though it was pointless to explore since the game would effectively take me to every place worth going. That’s not a good feeling in a Deus Ex game.

The Story

This part has spoilers for both Deus Ex and DX:HR [skip]

Finally, the story. Deus Ex had a lot of strong points, but its story was the strongest. It was vast in its scope. Your point of view shifted wildly as you played through the game. You were surprised and betrayed and truly felt the effect of your choices.

DX:HR tries to pull off the same feat. It does a much better job than the sequel-that-shall-not-be-named, but I still ended the game disappointed. I feel like I anticipated every twist and turn. The first time we heard of Pan… Pan… Panchaea? However you spell the arctic research facility, I knew I was going to be visiting it. The LIMB clinic biochip replacement because of the glitches? I knew that I should avoid it. The instant that it was revealed that Dr. Reed was “dead” I knew she wasn’t (although I admit I doubted myself when reading her autopsy).

I’m not sure why. Maybe it’s because I can never play a Deus Ex game for the first time again. Maybe I’m just not 15 anymore, but I’ve convinced myself that it’s more than mere experience that’s made the difference.

I felt that the choices that I made were of much less consequence than in the first game. This might be another place where I’m making an ass out of myself because I’ve only done one play through so I haven’t really seen how things could’ve turned out, however I feel that I have a grasp on the scope of the choices. On re-evaluating the choices in the first game I guess that they didn’t really have much effect on the overall story, but they had a psychological effect and they weren’t always obvious. The best example from the original is that I didn’t know, until my third play through (or so) that you could stay back (despite his urging) and save your brother, Paul. I always just assumed that I was supposed to run and he was supposed to die. Admittedly if you save him or he dies it has little effect in the long run (in one mission you have to recover his body if he’s dead, otherwise you don’t that’s about it — other than having him around your home base) but it’s psychological. I saved my brother, that’s important. Another big choice in the original was to kill Agent Navarre in the airplane. Basically you’re choosing whether you defect from UNATCO now or later, and the difference is very slight in the overarching storyline, but psychologically at the time of making the choice you feel like you have reached a giant fork and that feeling is all that’s important. DX:HR evoked no such feelings and each choice was obviously presented. The choice whether or not to frame Taggart is fun, but it’s effect is immediate and you never feel like it’s going to change the next steps of the game in any important way. Same with the biochip replacement.

I also mentioned betrayal. In the original Deus Ex, there was nothing more mind-blowing than escaping a prison complex full of secret police only to realize it’s in the basement of the department you used to work for. Yep, this super secret prison is actually right there where you happily and obliviously worked for the first couple of missions. It was totally shocking. That’s not a twist you can anticipate just by being aware of common cultural tropes.

The story suffers from the same fatal flaw that the level design did though. It’s effective and not much more. I can say that the story left me in the dark in terms of what I was going to be doing next, up until the very end. I didn’t know I was going to Shanghai until I was two minutes from being there. When I woke up in a cargo pod in Singapore, it was news to me. The story does have that going for it: it got me from one place to another with a purpose. If this was any other game that would be enough, Half-life even made its name doing this. But this isn’t just any game, this is Deus Ex.

The original story dealt with the Illuminati, the world government, secessionists. Conspiracy on an unknown number of levels that you had been thrust into as a wildcard. This story attempted to weave those elements into it (the Illuminati are mentioned, the crazy radio DJ ranting about the Bilderbergs, etc.) but failed to really make me feel like I was taking part until the last minute. In essence, the new storyline was attempting to weave conspiracy and corporate espionage into the main story, which was the most basic and utterly over done classic save-the-girl storyline. Here’s the true problem: JC Denton was a government operative that felt betrayed by the system that created him. JC was out for Truth with a capital T. The Truth to destroy those that had made and subsequently deceived him. Adam Jensen, as much as I loved playing him, was a bodyguard trying to get his woman back.

Conclusion

Don’t get me wrong, this game was a lot of fun. I’m already planning another play through because, despite the fact that the choices were obvious and anemic, I’m interested in how the game changed and how it would play if I couldn’t open literally every door and hack every computer I found. It’ll also be nice to try out some of the more aggressive augmentations. Perhaps on this run through I’ll discover secrets and realize my previous statements are false or come to a greater appreciation of the game in general.

All in all, it’s worth it to check out, even if it isn’t as good as the original. This is definitely not a game that will be forgotten and it gives me hope that the next iteration will be even better. Hopefully, with strong reviews and sales, we won’t have to wait another 10 years either.

The Dungeons of Dredmor

I grabbed “Dungeons of Dredmor” today on Steam. Gaslamp Games, the publisher, is promising Linux binaries, but I really wanted to crack into it, so I spent the $4.50 on it and fired it up in Wine.

Let me say, for less than the price of a latte at Starbucks, it’s a whole lot of fun. It definitely calls forth the memories of Nethack and all of its other rogue-like brethren. It also is a bit reminiscent of Diablo (a similarity given a nod with the Horadric Lutefisk Cube), but in true rogue like fashion, it’s less about story and more about trying to squeeze the most out of a character before you die.

Yes. Permadeath. I was pleased to see that it’s on by default – although even having an option is further evidence that it’s walking the fine line between Nethack and Diablo 2 (which implemented permadeath as optional “hardcore mode” after beating the game once through). As always it’s both a blessing and a curse. Blessing because it makes you feel the fear of real death, a feature lacking in many modern games where a death means hitting F9 and restarting from where you were two minutes previously. Permadeath adds to the tension which is why it’s the hallmark of a rogue-like. It’s a curse because, obviously, it can mean that you just spent 5 hours and have nothing to show for it except another run at your high score.

My top score is about 12k. It’s not impressive, but after maybe 10 characters I’m finally getting the hang of it. Unfortunately there is no manual, so it seems that, aside from a very basic tutorial that covers the barest essentials (and will be old hat for rogue veterans), you’re basically on your own to figure out what everything means.

There’s a good selection of (34!) base skills, each with a linear progression between three and eight feats/skills/spells you can add beyond the initial one granted just by choosing the base skill. You get one point per level. Now, a linear tree in a game like Dragon Age was very disappointing (and indeed I was kinda disappointed with Dragon Age from a mechanics point of view), but this is a perfect optimization for a rogue like with permadeath. A broad set of base skills with shallow skill trees following just means you don’t spend much time playing an identical character if you die a couple of times. Each base skill gets you started off right so you can tell the difference in play style immediately. Very important when you may be starting over dozens of times.

A fresh character can choose 7 base skills to build upon. 7 skills is plenty to make sure your character is broad enough to survive the game. There’s also a good mix between wizard, rogue, warrior and crafting skills so there’s plenty there for characters of all stripes. As an added bonus, they added a “last choice” option (in case your previous build didn’t get as far as you thought it should have) and a “random” option which I’m sure will be the basis for a lot of fun for gamers seeking a new challenge. Unfortunately, the only way to view the skills in a tree is to start a character and look at the sKills (sic) menu. On one hand this encourages experimentation but on the other hand I’d like to know what I’m getting into. What does “Necronomiconomics” mean? Or “Viking Wizardry”? You have no clue until you start a character.

Aside from skills, you have a huge amount of character attributes. These aren’t your normal D&D traits either. Your primary attributes are “Burliness”, “Sagacity”, “Nimbleness”, “Caddishness”, “Savvy”, and “Stubborness”. In addition there are many other stats, like magic resistance, chance to block, resistances, etc. It’s a nice level of complexity. Your character also has your typical “slots” : melee weapon, ranged weapon, torso, head, feet, shield, a couple of magic rings and a necklace all of which can be filled with all manner of magical and cursed trinkets.

Battle is pretty straightforward turn based. Lots of different damage types. Plenty offensive and defensive skills to use. It’s possible to block, dodge and counter as well as other skill specific extras automatically employed in combat (like blackjack). Some monsters seem to be immune to some skills. I haven’t gotten far enough to see if there are any real nasties (like physical immunes or ranged casters), but I haven’t been disappointed so far. The set of templates seems a bit small, but again I’ve only gotten to level 2 so I can’t judge.

Crafting is also neat and sufficiently complex. If you choose a crafting skill, you usually start with some device to activate and a set of basic, though useful, recipes. As you go through the game you can expand your repertoire by finding bookcases which teach you new ones. It’s especially useful for keeping a ranged character equipped with ammunition or a mage stocked with booze mana (yes they are equivalent). Turning ingots into 9 bolts can be very helpful when luck hasn’t provided you with enough. Traps are also craftable, but since the dungeons are absolutely rife with the things, I’ve found that they’re more useful to just pick up and reuse (that is, if you have the skill to do that).

Honestly, the menus and interface are the weakest part of the game. Icons in general are all too small. It’s very difficult to tell the difference between different wands / bolts / food items in your belt. The inventory management had the right idea (set # of squares like Diablo, each item takes one square and some are stackable) and even a much-needed “sort” function that I quickly became a fan of, but it’s a bit too clicky for me. For example, as far as I can tell, there’s no way to just “pick-up” an item… you need to pick it up and place it in your inventory. It doesn’t matter if you’ve got enough space you have to click move click to get it done Correction: Commenter eselyoutee notes that you can shift + click to automatically place it in your inventory. I also discovered you can just drag to your person..

Attributes, and stats (and other things like damage types and resistances) are symbolized by very small and incomprehensible icons. I’m starting to get the down pat, but when you’re comparing two different swords and it’s not obvious what their attributes are because it just shows “-weird icon- 2″ or something, it’s a pain to try and decipher.

As mentioned, crafting is a well-done mechanic but the interface is kludgy too. For some crafting it’s simple. Take some “native gold”, put it in the ingot press, smelt, and there you are: two ingots of gold. But for some recipes that you actually have to look up, it’s a pain to look at the recipe, select it (at which point the game puts its red outline in the crafting slots) and then try and figure out what goes in there. The killer thing here is that the recipe interface knows if you’ve got the ingredients so why on earth doesn’t it just take them out of your inventory and get them ready for you to hit ‘smelt’ or whatever verb it is? I don’t have eidetic memory, friends. Correction: I’ve also discovered the “autofill” button under the boxes that blends in with the decor a bit. I still don’t get why it wouldn’t just automatically do that and return them to the inventory if you close without activating, but nonetheless it makes crafting easier..

Likewise the whole belt / active spell thing is harder to use than it needs to be. Like Diablo before it you have a left and a right click attack. Unlike Diablo it seems that the left click is always your melee attack, and your right click has to function as your ranged and all of your spells/skills. That in itself isn’t so bad (you’re going to want a melee attack no matter what kind of character you are), but in order to, for example, switch to your ranged attack instead of a skill, you have to either go into your inventory or hit SHIFT + # for your belt. I can’t say how many times I’ve been trying to use the hotkeys and gotten that reversed. Trying to switch to a skill and thinking I needed shift at which point I do something stupid like eat a piece of fruit and proceed to take a round of beatings from the enemies standing around me. In my opinion Diablo did this perfectly. Have some inventory you can quick switch to, but allow a set of keys (like number keys, or F keys) be assigned to any item / skill for either left or right click. That way I can setup the hotkeys any way that my brain wants to. I can make F1, F2, and F3 my favorite bolts / wands and then F5 and F6 my primary skills, etc. (I particularly like the F keys because on most keyboard they have built in groupings). The whole shift thing doesn’t work for my brain.

Of course, all of this interface griping is minimized if for no other reason than Dredmor is a turn-based game (again, in true rogue-like fashion). I can take the time to dick around in the inventory box and drag ingredients hither and yon because I have an infinite amount of time before anything else is going to happen to me. Even in battle, making a quick selection is unnecessary because (if I’m still alive) I could take ten minutes to make my next move. That said, it breaks the flow of the game, and making a mistake taking your turn will lead to (one of) your deaths.

Interface griping notwithstanding, there’s a lot of fun material in Dredmor. I haven’t gotten very far into it, but there are myriad items, a bunch of damage types, a massive number of different spell effects (both negative and positive), tons of skills, and a whole lot of crafts. The game is a very light-hearted romp from its items and skills to its art direction and monster utterances. Combine that depth and irreverence with randomly generated dungeons and you’ve got quite a time sink on your hands.

All in all, I’m looking forward to playing it more and I’m hoping that some of the interface improvements can be made in subsequent patches. And c’mon… at $5 even those that aren’t pre-established rogue-like fans are practically guaranteed to get their money’s worth and more.

Entering the 21st Century

I decided, after all of the hype and excitement and the collective Redditgasm over Portal 2, I would break down, install Steam, and play the original (in Wine, of course). Obviously, I decided to pick up the Orange Box because you can’t really beat $20 for a bunch of “new” games. I think that now that I’m officially 4 years behind the curve of PC games, I’ll keep a $20 limit.

Back in 2004, when I bought HL2, I had an account under my usual pseudonym but I couldn’t remember the password, the client was unable to recover my information (despite having the recovery code and the secret question answer) so I decided to become: jack_codezen. Fortunately, the Orange Box already includes the only game I had purchased so no big deal, although I was hoping that I’d be able to recover without taking 3-5 days with Steam support. From what I hear about Steam thesedays, I guess I might’ve gotten a discount for buying a bundle that includes a game I already owned, but I guess that’s a penalty I’m willing to pay for my impatience and forgetfulness.

Anyway, I’m really looking forward to playing HL2 again, and all of it’s episodic content for the first time. It’ll be nice especially now that I have a machine that should absolutely *destroy* the requirements even with the extra Wine overhead. I’m especially looking forward to Portal. I’m not sure what to think about TF2. We’ll see.