This year, I took the opportunity to participate in the 7DRL 2020 Rogue-like Jam. You can play my final entry here, and i’d love to hear any feedback, or answer any questions about it. What follows is a brief overview of the process I went through.

I’m a big fan of Rogue-like games, although I don’t mean in the strict Berlin interpretation sense. Games which have some form of procedurally generated challenge are at their root designed to be replayable. Well designed ones have a functionally infinite amount of content for you to digest. Rogue-likes expect you to repeatedly replay them over and over. So diving into creating my own, even in such a limited timeframe and scope, was alluring as a way to align my thinking more with the genre.

 

Hexception

 

I started with one simple idea; I wanted to be hexagonal. Hex-based grids have some neat traits, often exploited by tabletop games. They still allow the building of square rooms, creating man-made structures, but these can be at 60° angles, creating a more organic overall layout. It also presents 3 unique challenges across different disciplines. From a technical standpoint, I need to represent this hex-grid in a 2-dimensional space, which adds complexity to a lot of functions that would be more trivial on a traditional grid. There’s a design challenge in line of sight, which is a key feature of rogue-like games. Finally there’s an artistic challenge to the tiles themselves; by not having fully filled tiles we can create the aforementioned straight walls through our space.

Before a single line of code was written, I was trying to solve the latter two using the well known game dev tool of Google Slides. I jest, but Google Slides is fantastic for laying things out, and using it as a paper prototype proxy saves on a lot of screwing things up and starting over because moving, deleting and recolouring things is trivial. Line of sight was the first big challenge. Square grids certainly aren’t trivial, but hexagonal ones have an innate property that makes even the simplest case require a design decision.

Shown above are two potential options I used early on to canvas opinion on what felt correct. Here, A and B show one of the simplest and yet most important things to decide in line of sight on a hexagonal grid. For the hexagon perfectly centred just below the player, one half is obscured, and the other not. I decided that by definition, this is a partially obscured position. Whilst this distinction never manifests in the game mechanics, it could have, and it ends up being very important in how I calculated visibility.

The A shows one interpretation of how obscuring could work, with every tile directly behind the blocked tiles being red, and the neighbouring edges being considered partially visible. Whilst this gives a generous view to the player, it seems to provide an absurd amount of vision on the left side. Conversely, option B is more restrictive in the view it offers, but people found it a far more intuitive representation.

In both cases, the map is being generated by applying algorithmic logic in flood-filling the spaces. Working from around the player in rings, each hexagon is evaluated based on it’s parents. For those on the 6 cardinal directions; they have only one parent and the logic is very simple. For the ones with two parents, each potential pair evaluates to a visibility. For example; having one parent which is a wall and one which is free space results in the child being a partially visible tile. The only difference between A and B is which visibility is dominant in the Partially Visible x Obscured pairing. I tried other techniques such as drawing lines between corners, a solution common to tabletop games. However, this felt unwieldy when being used to calculate many tiles, and yielded results identical to the above techniques (depending on the rules used).

After trials with many more layouts; neither satisfactorily solved for all cases, especially at long range. Two tweaks to ruleset A actually ended up being necessary to produce a decent result. Firstly, a child tile with parents that were Visible and Partially Visible would be Partially Visible. In more complex scenarios, this kept tiles as questionable, which felt more authentic at longer ranges. If the combat had ended up being ranged, i’m sure I would’ve imposed a penalty for firing into these zones. The second tweak was the one that stopped ruleset A from opening up too wide though. There is a second set of diagonals exactly in-between the six cardinal directions. For these additional 6 directions, you can draw a direct line back to the centre on every other ring of hexagons. For these special lines, there was the simple additional rule that the tile directly on a path back to the centre would also be included in the evaluation, and would take dominance in reducing the visibility. With this, we end up with the evaluation below, a mix of A and B. At long ranges with complex obstacles, this can still produce some less than intuitive results, but acts as a solid solution for the vast majority of cases within the players expected vision range (<10).

Artistically; I had also determined the tileset needed. A mere 8 tiles, shown above, that would be rotated and flipped, would cover all 64 possible edge cases (pun intended). By setting up the tiles as such and leaving some negative space, it would allow for the desired square rooms. A lot of the inspiration for this came from inspecting the room tiles for Gloomhaven, a boardgame that uses jigsaw like room pieces on a hexagonal grid to create a variety of dungeons. In the end, only a few small changes were made to this set. The small corner covering just two sides was replaced with a more symmetrical design. Whilst the corner did a fantastic job of connecting straight walls, working out the correct orientation was complex, and it didn’t support a lot of other cases. In the end, the simpler solution was better for this jam. Were the project to continue, I would retain the corner as an alternate to be used when appropriate. The half-and-half tile had a hexagonal pillar added to the middle to better convey that it was blocking line of sight. Finally, a Y-shaped piece connecting alternate sides was created. Whilst the T-shaped piece was adequate for these scenarios, it looked better to have all the options covered.

Finally, it was time to put semi-colons down in files and produce some code. In this case, a foolish mistake early on required me to rewrite a lot of what I had created. I initially created the map essentially as an offset square grid, as if every other row had shifted half a square to the right. This is a fine representation, but travelling on two of the diagonals is now difficult. Instead, I changed to treating it as a skewed square grid and having “up” be the North-East direction, two of the directions (E-W and NE-SW) are along the cardinal axes, leaving just one janky diagonal (NW-SE). There’s also a key choice in here of whether to have hexagons run vertically or horizontally, in the end this was largely aesthetic, I felt like as we naturally scan left-to-right the game read better in this orientation.

This work combined brought the first milestone, being able to navigate and edit a basic dungeon map, and ensuring the implementation of the walls and line of sight worked as designed.

 

Hacking It Together

By this point, I had also settled into an aesthetic. The crisp UI I had made leant to a nice glow, which in turn made me nostalgic for the CRTs of old. By adding some scanlines; the terminal punk style of the game had it’s foundation. I additionally added a diegetic game log. This had multiple purposes; building upon the aesthetic, providing player feedback for actions, but more importantly at this point it was a good debug feed to ensure that things were happening as expected.

However, I was also at the point of having to decide upon a core interaction mechanic for the game. After spending so much time looking at the dungeon layouts for Gloomhaven, I was remembering my fondness for it’s deck mechanic. As you traverse the dungeon you use cards, discarding them. Eventually, as you run out of cards and options, you opt to take a rest to retrieve cards back in to hand, but one is lost forever. This elegant system eventually drains heroes of their ability to do anything, but also thins their deck as they go, leaving only the strongest and best cards.

My original thought was to have the long rests occur between floors of the dungeon, and like Gloomhaven for movement to also come from cards. This would require very precise balancing though, as the levels would have to be carefully constructed to ensure the players had the resources to solve them. In the end, I kept movement as a free action, and only had the players have a deck of actions for defeating enemies. Similarly, I put the long rest in the player’s control, allowing them to do it at will as a free action (enemies do not get to move). Finally, as the game didn’t yet have a concept of HP for the player, making the enemies deal damage as removing cards meant there was only one stamina/health bar to keep track of for players, simplifying the fail state.

The actions themselves and the enemies are all highly data-driven. Each enemy is a prefab variant with different HP, damage, and speed. The actions are defined by a JSON, which specifies what pattern of tiles get hit, and how much damage is dealt to each tile. This made it easy to create a few variants early on, and later the Servers and Datahavens were implemented  just as enemies with 0 movement and more HP.

Taking a moment to talk about the dungeon generation, with the challenges of the hex-based grid, and an innovative deck mechanic, I didn’t want to take on an elaborate map generation as well. I knew that other entire in #7DRL would likely excel at this, and that much prior work has been done that would mean this was not an area where my entry could shine. The simplest functional implementation was to generate dungeons based off perlin noise, creating mostly empty space (as well as carving out a space at the entry point to each level). To then populate the level with the enemies, exit, servers and titular data havens, I simply spawned them all at the same position as the player and sent them on a long random walk. This ensured that the key objects were always reachable, and connected to the player, although it is technically possible for the levels to only be 7 tiles in size and somewhat claustrophobic. In practice, the level generator creates reasonable levels to explore 99% of the time, which is great economy for a half dozen lines of code.

As the 5th Day drew to a close; I had a playable game with a complete loop, and started sending it out to friends for feedback.

 

Final Touches

One thing I’ve taken from all the Game Jams i’ve done is that most people finish too late. This is somewhat inevitable, things take longer than expected, and there’s a rush to get everything done you wanted. I always try to take on things that have extensible scope. My original thought here was simple : I want to make a hex-based roguelike. I knew that was achievable, and could front-load a lot of the thinking required to make it happen without even touching any C#.

Once I hit that first milestone; I re-evaluated the scope of what was left, and made decisions about what I did and did not want to focus on, but I had a goal of having a complete, theoretically shippable product by Friday, leaving the last third of the jam for two things. Presentation, and Polish.

I got that complete build to friends, and whilst I was waiting for feedback, I focused on my itch.io page. Getting it looking the part, having decent screenshots, and making sure the description was clear and explained both the intent, as well as acting as a guide to playing. In doing Game Jams in a professional setting, one additional piece absent here is often an accompanying presentation explaining what you did, and what you learned. Too often I have seen people forgo neatly wrapping up what they have made in favour of cramming in one more feature at the last minute.

With feedback from friends received, I was able to build out a list of Must Haves, Should Haves, and Could Haves, and roughly estimate how big of a job they were. In the end, most of the fixes were making the UI do more heavy lifting to Show the player how things worked, which saved on me having to Tell in the game description. I also did some more aesthetic polish, sanding off some of the rough edges that were present.

In retrospect, one of the things I should’ve done in this time is expand the number of programs in the game. As a data driven component, this was very easy to expand without compromising build stability. I was initially hesitant to build a massive variety of programs or enemies because the player would have to learn what they did by experimentation. As I expected playtime to be low, relying on this too much would just make it confusing. However, one of the additions had been visualising the attack pattern of the programs as you hover it over the grid. This meant that players no longer had to learn what all the programs did by experimentation, and I could’ve put in a lot more variety for low effort.

Submission Complete

The #7DRL was a relaxed jam to participate in, whilst exploring building something complete in a short space of time. I’d like to recognize @Cephalofair, designer of Gloomhaven, and @smestorp, creator of 868-Hack, from which I drew a lot of inspiration for the work here.

If anyone has any further questions about things I did, or didn’t do, or the decisions behind why I did or didn’t do things, then please tweet at me @dynamicsporadic. Also if you actually play Datahaven let me know what you think, and what special programs or enemies should it have added.

 

2019’s Game of the Year is a game with an identity crisis. It is a great many different games, and it is also none of them. Maybe this means it can be all things to all people, but I believe that at its core there is conflict which is holding it back.

The Way of the Samurai

Sekiro is at once familiar and yet original. Soulsbourne veterans will recognise many inherited mechanics, and there are similarities in the combat system, although Sekiro represents the fastest combat that From Software have produced.

It’s major innovation is the Posture and Vitality system. Vitality is your health, but in addition every character in the game has a Posture bar. This fills as they are attacked, or have their own attacks deflected. Should it ever reach its maximum then it is as if they had had their health reduced to zero, and may be struck down with a Deathblow. The two are also linked, as all characters (including Sekiro himself) recover Posture more slowly when their Vitality is lowered.

This system immediately gives the player options. You can defeat opponents by attacking their vitality, or by destroying their posture. Doing damage to their posture can be either by aggressively attacking them, or by reactively deflecting everything they throw at you. At your best, you are moving fluidly between the two, attacking when the enemy isn’t, and deflecting their blows as they attack you. This trade of blows is an interactive dance between Sekiro and foe, and has an entrancing rhythm to it.

More than giving options to the player though, it gives the designer options. Enemies can have fast or slow posture recovery. Small or large posture bars. Deep or shallow health pools. They can be very aggressive, forcing the player to spend most of their time deflecting, or more passive, reacting to Sekiro’s assault. This makes each dance partner feel different to fight in a way that goes beyond simply what their attack animations are.

The Big Bosses

At its heart, the thing Sekiro does and does well is bosses. Bosses take multiple Deathblows to defeat, on top of huge Posture and Vitality bars that take time to erode. They test the limits of the posture system and reward you with some of the most interactive Boss fights From have produced to date. Soulsbourne titles are no strangers to bosses after all, but they often fall into a pattern of Evading/Blocking until the enemy is finished with a sequence, and then dealing damage in a small window before they start again. Sekiro invites you to take the fight to the enemies face, and to not just evade their attacks but actively deflect each them. You can use their own attacks against them, bringing them closer to defeat with each one you turn aside.

Boss fights have two major problems though as the focus for a game. The first is that they are challenging. You aren’t expected to beat them the first attempt, but to work up to overcoming them with time. Second, they are traditionally roadblocks to progress, guarding the door to the next area. Together, these combine to form a game where you cannot progress until you defeat the next boss, and defeating that boss requires throwing yourself into failure repeatedly. This can be exhausting for a player. Worse, as Sekiro racks up over 40 bosses, your reward for beating one Boss is often… another Boss.

It’s the palette cleansing moments in-between where you are rewarded with new areas to explore that stop the game being entirely unrelenting, and give players a chance to breathe in the atmosphere of Ashina.

The Spaces Inbetween

In the spaces between Bosses Sekiro translates it’s mechanics to rank and file enemies. Vitality and Posture work identically, but regular enemies often take just a single well timed deflect to open themselves up for a Deathblow. 

It also affords whole other avenues that are absent from the core boss fights; traversal and takedowns.

Sekiro is agile. Incredibly so compared to predecessor Soulsbourne titles. With his grappling hook, he is able to quickly zip to rooftops in a manner reminiscent of the Tenchu series. You can observe enemies from above, and even eavesdrop on conversations. You can also sprint and double jump, and clamber over obstacles, making short work of navigating around any space.

Along with this ability to be the apex predator in an area, Sekiro can also Deathblow enemies from behind if he can sneak up on them. By dropping from rooftops onto their heads, and luring them into alleys with bits of ceramic, Sekiro can clear through many areas of the game without having to trade blows with the enemy.

This actually blends back nicely into the boss fights at times, as almost every mini-boss in the game has at least one method by which you can start a fight by backstabbing them, immediately robbing them of one of their (usually two) lives, and making the subsequent fight less of a hurdle.

There are two other notable differences versus previous Soulsbourne titles. For one, the density of Idols (the bonfire like checkpoints) is incredibly high, to the point that every combat area has at least one, and often two. Secondly, the game affords very few shortcuts, and opening them up does not represent a significant moment.

A Clash of Swords

With these things established, the main contention I feel in the game is between the bosses and the spaces inbetween. The game is, undoubtedly, made for the boss fights. The core innovative mechanics bend towards them. A game is not built on bosses alone though, and the arenas between them need to provide some respite before springing another on you.

Not only is this space non-existant in some cases, the affordances the game gives you for dealing with these spaces render them almost frictionless to encounter. If I were inclined, I could easily use the movement tech to all but skip each area, dancing across the rooftops to the next Idol. That does mean I would miss out on all the loot temptingly sprinkled around the area though. Therefore, the most optimal way that Sekiro can collect that is to stealth kill every single minion. This never gets harder than it is at the start of the game. No new mechanics to have to deal with when being stealthy. No patrol routes to have to observe and digest. No new enemy designs that make it awkward, or require new tools. Just a swathe of immobile opponents to dispatch.

Both these mechanics actively work to shrink the areas between bosses. These areas actually often contain new, tougher enemies. Movesets you’ve never encountered before, offering new challenge. Except the movement and stealth allows you to ignore or sideline any of that in favour of efficient progress. From Software have produced content that simply isn’t helping players pace their progress through the game, and a lot of the effort is completely wasted as players never even stop long enough to find out what makes them special and unique.

Part of this is due to an absence of a core loop of Soulsbourne games. In it’s brethren, you would find exploring a new area to be fraught with peril. New foes that you don’t know how to fight competently. An area that has a layout you haven’t discovered yet. Shortcuts unopened that will make passage through easier. Sekiro neatly slices through all of this; you don’t need to know how to fight enemies if they never get a chance to draw their sword, you have an easy ability to get up high and get the lay of the land, and traversing through is already trivial.

This also fouls one of the other core mechanics of Soulsbourne games; the Flask. Dark Souls is a battle of attrition, as you work your way forward against the world and the enemies in it. Every so often you stop to take a swig as the environment saps your lifeforce. Each time, you get better at fighting the enemies along the way and get a bit further, until eventually you find another Bonfire at which to rest. The more times you die along the way, the bigger the cache of Souls builds on your corpse as you pick it up over and over. When you finally do break through, this cache will surge you forward in power, trying to balance out how easy you should’ve found it. The flask represents how far you can push forward. But with Sekiro’s freedom of movement it’s no longer a linear battle of attrition through a level. Scooting through is easy, whether stealth killing enemies or not. In boss fights, it feels even less relevant, as the balance of vitality and posture is almost completely lost on the player character. If your flask upgrades were all just in your health bar, you could feel the posture recovery become tougher as the fight went on, and have other consumables that factored into buffing that.

There are other vestigal mechanics from Soulsbourne titles. Money and Exp (both used to “level up”) have half lost on death. Loss of progress on death is almost the critics definition of a “Souls-like” game, but it almost always comes with some way to recover it. Sekiro doesn’t, it’s just lost. So unlike a Soulsbourne where every run to the Boss increases the payout for victory, Sekiro just flattens out any progress you have and won’t let you get any more until you beat the Boss. I don’t see any reason to punish the player in this way other than simply because it’s a trope of these titles.

Hero of a Thousand Faces

In the end, Sekiro is a mix of different titles. It’s part Dark Souls, part Tenchu, part Super Punch-Out.

For me the Boss battles, it’s Super Punch-Out DNA, is where it’s at its strongest. To support that, it needs the space between to help efficiently pad those out. The movement options and stealth trivialise and shrink those sections, and the vestigal mechanics from Soulsbourne titles almost feel there by default rather than designed to work with the systems of the game.

It could lean more heavily into just being straight up Samurai souls, with less movement and stealth and a more attrition based focus in those spaces between Bosses, but i’m actually glad to see From Software spread their wings a little, and hope they will go even further in future.

Sekiro could also be a great stealth game, but then it’s arena and enemy design needs to vary and build into that in the way a series like Arkham does, with many tools for stealth takedowns.

With Elden Ring on the horizon, and the possibility of more titles in a Sekiro franchise, i’m eager to see what changes and focus those titles receive. I just hope that they make some sharper cuts to define the edges of what those games are, so they can truly revel in the parts that make them excellent

Cryptic Past

At the start of 2020, Bungie set the Destiny community one of it’s most unique challenges yet. In turn, that led to some of the most unique interactions within that community. 

Bungie is no stranger to setting cryptic quests up for it’s playerbase. The Reddit community /r/RaidSecrets is founded on these mysterious puzzles. This time last year, the Niobe Labs Torment  caused almost insufferable pain to the groups who attempted to unravel it’s complex clues. Even 15 years ago in 2004, they were starting along this path with I Love Bees. It’s one of the many things that keeps Destiny exciting as a live title for some. There’s always the possibility that some hidden Quest or Lore is kicking around in the game just waiting to be discovered, and every new update could bring undocumented changes that hint at them. The rewards for this vigilant dissection of every piece of the game have also been wide and varied, including a real-life replica spear hidden in the woods in upstate New York.

But Niobe Labs may have been the breaking point. Dense, esoteric references and clues slowly drove those solving it mad. Were they making progress? What was the next wild theory they could try? The community was rife with suggestions, at time becoming increasingly frustrated that those leading the charge would ignore their ideas, resolute that their revelation must be the key. 

The Corridors of Time puzzle is, from that perspective, Bungie’s greatest riddle yet.

Let’s Do The Time Walk Again

The Corridors of Time are a new location added as part of Season of the Dawn. They are a non-euclidean space where you walk through time itself. Previously, they had only been used as a space between combat zones as part of the main Story missions that comprised this Season. However, as of January 14th they became available to access freely. Walking aimlessly through them would lead nowhere though, and on that day Bungie also gave us directions.

This would be Step 1 of the puzzle, and would follow Bungie’s design philosophy from Raids. They first introduce an idea, and by encounter design ensure you have fully understood it before you can progress. This lets them build on that idea later, because they know that you have learned how a mechanic works. 

As soon as the weekly reset occurred, and Osiris granted players access to the Corridors of Time, it was noted that Obelisks (a key feature of the Seasonal activities) were displaying symbols on them that correlated to the signposted doors in the Corridors of Time. Players quickly realised that following these symbols in a specific sequence would lead them to a mysterious grave in the corridors themselves. A new Lore entry would be acquired, the first of 19 in a Lore Book. But approaching the grave itself would teleport the player away out of the room. With every passing hour, the sequences changed, more Lore was acquired, and every time the grave remained out of reach.

However, a new pattern was also emerging. Each tomb had, below the floor, a unique motif. Experienced Destiny riddlers knew that there was more to this than met the eye. As the day progressed, those 19 designs would become key to the second learning. Each subterranean pattern was a jigsaw piece. The complex codes on the edges showed players how to put them together, and that completed 19-piece jigsaw formed a map. Along the path from the Entrance to the Exit, the route passed over 11 symbols. When players followed this route, they would find a final resting place, receive an Emblem, and once again observe an arrangement of symbols under their floor. Unlike the first set of puzzle pieces though, it seemed that every player was getting their own unique set of symbols.

Taking what was learned from before, the next step seemed obvious. We were going to build a bigger map, together. But nobody was prepared for quite how big that map was going to be.

Piecing it all Together

Producing this map would be an epic undertaking, and there are 6 major steps to doing so. First players had to Run the corridors, and take a Screenshot at the end. They then needed to Upload this, where it would be Transcribed, and put into a Spreadsheet, from which a Map was formed.

These six major steps would form the basis of various bottlenecks and optimisations over the next week, and I found what happened here particularly interesting. First though, I want to give respect to a lot of the unseen and unheard people who made this possible. They acted as Producers, helping everyone organize towards this common goal. Forging an efficient team and process in a week is a monumental task, not least of which when that team numbers in the thousands.

In the beginning, there was chaos. Numerous different spreadsheets, publically open for any and all to input their data from their own runs. Transcription notation differed from group to group. The amount of data available was small, and quality low, so anyone even attempting to do any mapping was getting nowhere.

One of the early attempts at optimisation aimed to condense 3 whole steps of the process. A web-page allowed players to recreate the pattern as it appeared on their screens, and would turn that into one consistent notation to be added to spreadsheets. This ultimately failed, for numerous reasons. A small bug in it meant that the generated notation would actually differ between different browsers, but whilst this could be fixed there were two greater problems. It left no paper trail, and depended on the community to be able to accurate read and copy the patterns from their screens. Without any original screenshot for verification, the validity of any notation could never be cross checked in the event of conflicts found. There are also many intricacies and ambiguities in reading the symbols, which was easy for an expert eye, but incredibly difficult for an untrained one.

It was bridging over one of the main divides across these activities. Some of these tasks were easy for anyone to do. Some were difficult for the untrained, but easy once they had experience. Finally, some were trivial for a computer, but very difficult for a human. Running the Corridors, taking a Screenshot and Uploading it were all relatively trivial for every single player of Destiny. Analysing those screenshots and correctly notating them required expertise, but also discipline to be able to do it for longs periods. Finally, finding patterns and matches to assist those entering the data and build the maps is a task best done by software.

By the first weekend, these divisions were clear. Optimisations were happening for the wider community; Running became a matter of getting a streamer to the end of the route and then having viewers join and leave their party in succession, avoiding having to do a time consuming run. Submitting uploaded screenshots became more routine through Forms (although many were still collated by hand). However, it placed a huge bottleneck on exactly one part of the process; the transcription. Transcription required accurately turning an image into 49 pieces of data and entering them correctly into a spreadsheet. As the number of unique hexes grew two things became clear; this jigsaw was a gigantic 5,000 pieces, and increasingly screenshots being transcribed were simply duplicates.

The first major optimisation came in early detection of duplicates. The spreadsheet had already had automated duplicate detection built into it, but now that was triggering much earlier in the process after just a couple of links. They could stop transcribing duplicate hexes earlier and move on to the next. But as the map grew and became more complete, one act of brilliance massively accelerated the final stages. Bounties. Key pieces which help build the critical path across the maze were being requested, with the spartan information known about them. The link codes around the outside were known, but the walls which would form the maze itself and the symbol on it were not. This leveraged the huge power of the community, and the response was phenomenal to behold. 20,000 viewers on the stream being asked to see if they had found the pieces needed in their traversal of the Corridors, and within minutes each was found. A huge step above hoping the next screenshot would be the one they needed.

Throughout this, mapping code written days ago continued to give everyone involved hope. It was the visual end of everything they were doing, and it’s almost organic growing form gave everyone the impetus to surge forward and do more. A shout out to @tj09, who built awesome automated tools for this which meant that the map could be seen growing with every new line transcribed.

In the end, at 9am on Monday morning some 130+ hours after it all began, the solution was found and players surged to collect their prize. Nothing could live up to the expectations built up over the week though.

A Legacy

Whilst I doubt that the reward will live on long in players memories, the process by which it was obtained certainly will for those involved. The Corridors of Time represents a significantly leap forward in how Bungie designs their puzzles.

First and foremost, it was an inclusive collaborative affair. The previous ones were competitive. Who would get world first? Clues and discoveries were secrets to be hoarded for fear of giving other teams an advantage. Here it all but forced those teams to work together and share data to find the solution. More importantly, it allowed the wider community to be a useful part of the process from beginning to end.

Second, they learnt from themselves with how they designed Raid Encounters. Each step built upon the previous, and required complete understanding before moving forward. But the next steps were logical, methodical, and followed on as well. Rarely was it unclear that the path we were on was correct.

Finally, the solution was continuous, not discrete. It didn’t come about all at once because someone suddenly got it right, it was everyone getting it right hour after hour day after day that moved it inexorably forward to it’s conclusion.

I’m eagerly awaiting the next iteration of Bungie’s cryptic riddles, as they continue to improve and iterate their own quirky and unique way of interacting with the community.