Most recent blog

Final Fantasy XIII Review

Showing posts with label The Binding of Issac. Show all posts
Showing posts with label The Binding of Issac. Show all posts

Wednesday, 31 July 2019

The Best and Worst of Procedural Generation

Rise of the Machines.

You know, Game design is a really involved process. Every step of the way you are met with complications and tribulations as you attempt to (I love this analogy) build on top of wet concrete. So much development time gets chewed up by iterating and reiterating and shaping and reshaping fundamental design elements, that it can be overwhelming for unprepared development teams. Wouldn't it be a lot easier if one of those main development tasks could he handled by an independent entity. Not a contractor per-se, something more reliable with less overheads. Something like a computer. Instead of dedicating time to make a worldspace you could leave it to an algorithm to... procedurally generate.

Obviously I am being factious. Some game companies do utilize procedural generation in their games and the process is not quite as simple as a set-and-forget kind of thing. At least not if you intend for the final product to be presentable. A lot of work and oversight needs to go into the creation of a procedural generation system to ensure that it is creating content that is viable, bug-free and worthwhile for the player. When developers put in the time to set it up, the result is spectacular. Procedural generation is capable of creating much more than is feasibly possible with a limited workforce or creating the right conditions for potentially endless replayability.

Taking the leap to trusting the work of an algorithm can be daunting to some. Afterall, some of the fun of game design is knowing exactly how everything you've made fits together, like solving a huge, 4d puzzle; when you leave a portion of that work up to a computer, suddenly you add an element of uncertainty to that equation. If the possibilities of your procedural generation algorithm are endless, than how can you be sure to account for everything that could potentially go wrong?  Because of this factor, it is still considered a risky venture to implement procedural generation systems, ensuring those systems are a rarity in the modern AAA market.

Procedural generation does have a very long history in game development, longer than some people think. Not always a successful history, mind you, but a storied one at least. For the purposes of this blog I want to go back to some of the standout games to feature procedural generation and see how successfully they are implemented. That means that for every game I mention there are likely at least 10 more from that timeframe that I have skipped over, intentionally or otherwise. I have just taken the liberty to choose some games that I either have history with or a connection to. That being said, remember when I mentioned how I used to be a huge Star Wars nut? Would you believe that they made a Star Wars game that prominently featured procedural generation? Well they did.

'Star Wars: Yoda Stories' is an old school, topdown action-adventure game from the age before the prequels. Released in 1997, 'Yoda Stories' tells the tale of Luke arriving on Dagobah to complete his training under master Yoda. "Oh", you may think, "like that level from Lego Star Wars 2 then". No, and don't you ever make that comparison again! The game starts as you land in your X-wing and are forced to navigate the confusing locales in order to discover the home of that beloved little goblin. And when I say 'confusing locales' I'm not just referring to that fact that planet is a literal swamp. I mean 'confusing' because the game is ugly as sin and the environments are mind-numbingly repetitive. Once you do find Kermit's height-impaired little brother, that is only the start of your woes. Yoda then proceeds to send Luke on a fetch quest for some useless macguffin that might not even be on the same planet as you. Then rinse and repeat until you're too brain dead to operate the keyboard anymore.

"Sounds like you don't like this game." Why yes it does, voice in my head, well noted. "So why did you bring it up?" Well you see, the environments that the player are forced to roam through seem so uninteresting and boring, to the point where you just couldn't imagine a human being actually designing it, and that is because no human being did. Indeed, Yoda Stories' 'game selling' feature was the fact that it's levels were entirely procedurally generated, meaning that you could play again and again and never encounter the same level twice. (Why you would ever want to play again is beyond me, but the option is there.) This little gimmick would be nice if the algorithm was given enough direction and tools to make areas that felt somewhat distinct, but alas either 1997 programming tools were too rudimentary or the developers just didn't care enough. Whatever the reason, we are left with a game that is historic, but pretty decently awful.

Wait, the same game director who made Yoda Stories made another Lucas Arts published game a year beforehand? And it features another timeless property? Well that game can't be bad, right? Afterall, if it were, there is no way Lucas Arts would have hired him again within the space of a year, would they? 1996's 'Indiana Jones and his desktop adventures' is a topdown, action adventure- wait a minute, this seems familiar. That's right, it is essentially the exact same game with different a different coat of paint. However, this time the creators tried to push the 'procedural generation' aspect even harder then before; slapping possibly my favourite ever splash-text on the boxart: "Literally Billions Of  Possible Games!" Is that right? Billions, huh? Technically correct if you count one rock being slightly to the left as a whole new game. It's just a shame that all of those game's are terrible, isn't it.

Before we speed ahead, let's go back a bit. To a game that birthed on of my personal favourite franchises of all time: 'The Elder Scrolls: Arena'. Long has my love-affair with The Elder Scrolls blossomed. Starting with Morrowind and eventually stretching to every single main-line entry of the series. But none of that history has made me biased, when I first approached Arena I made sure to put all that aside and judge the game from it's own merits. As such I managed to enjoy Arena for the old school, rudimentary, hack and slash that it was. The dungeons became a little unwieldy in the later levels but my overall impression was that it was a solid game that could very much stand on it's on. (In fact, it sort of does stand on it's own; considering how little story and lore the game shares with it's successors.)

One element of the game that I didn't enjoy was the experience of attempting to grind. Many of the end-game locales require the player to seriously beef up before tackling them, which leaves the player in a bit of a predicament. You see, whilst you were able to use the map to travel to story-relevant areas and cities, there is no way to use the map for tracking down optional areas to conquer. Adventurers had to use their initiative and wonder out into the wilderness hoping to come across old ruins. (Or just stalk the town's streets at night, as then they become dripping with hostiles. Apparently, no one ever told the city guard to take shifts.)  The problem with this approach is the fact that the gameworld is big. Ungainly big. As in, before ESO, this game was the only one in the franchise to encompass all of Tamriel. Hearing this might may you think "Wow, how did early Bethesda manage to craft an entire continent?". Well, I featured the game on this blog so you can likely figure it out. The Elder Scrolls Arena utilized a procedural generation algorithm in order to craft it's open world. The result is an open world that would take weeks to traverse (In real time) and a random assortment of side-dungeons that honestly aren't worth the effort to clear. Like many early randomly-generated games, Arena's execution falls a fair bit short of the team's aspirations. Luckily the base game is solid enough that this failure didn't sink the game and now we have Skyrim so I'd say the world is mostly better off.

The next game is legendary enough to likely need no introduction or explanation, but I enjoy self-imposed redundancy, so here we go. 2009 saw the release of the biggest indie title ever, Mojang's Minecraft. Since then, millions of players have been won over by Minecraft's promise of unrestrained creativity where you can make the game whatever you want it to be. (Providing you want it to be a game about building things.) It's social proliferation has reached such a degree where the game has managed to survive being run through by traditional media and still come out the otherside smelling of roses. Minecraft even pulled of the greatest trick any game can pull, being dethroned from it's 'most popular' podium by newcomer Fortnite, only to crawl it's way back 'On The Waterfront'-style in a comeback story for the ages. (Once which everyone tells differently, by the by.
I mention Mojang's opus here because Minecraft was the very first game I played in which I noticed and appreciated the procedural generation element. In Minecraft, the world in which you inhabit stretches out for all eternity. (Or at least until you travel 7784 miles away from spawn. which you ain't gonna do be accident.)  This means that the player can wonder the world and explore it's vistas in perpetuity. This algorithm is one that Mojang have spent the last 10 years perfecting, in order to ensure that the world it generates is always worth looking at. For my part, I still see the odd extreme hill that still blows me away even after all these years. The infinite world also means that the player has access to infinite resources with which to build with. Minecraft is perhaps one of the best examples of procedural generation implemented and executed perfectly. It enriches the game and truly makes it feel endless. (In a good way.)

There is one genre in particular makes use of procedural generation as part of it's MO. Rougelites and Rouge-likes like to change up their playspace each time the player dies in order to keep things feeling fresh. And it's necessary for a game genre built around the concept of the player dying and starting again over and over.  Rougelites in particular often use a 'room-based' navigation system in order to allow for random generation to affect each 'room' separately and string them together into one unique dungeon. The Binding of Issac, Moonlighters, Spelunky and many more all rely upon robust algorithms mixing things up constantly. Randomized layout, enemy placement and item generation assures that no one is ever relaxed when tackling a new run.

This implementation is the similar to the way Diablo and it's successors use procedural generation. In Diablo, the player is tasked with battling their way down through hell and slaying the titular demon of damnation. The kicker is that the plethora of dungeons that the player goes through, are all computer generated, as is their enemies and the hoards of loot said-enemies drop. This is another necessary implementation as Diablo is designed to be replayed over and over as the player engages in the gameplay loop of perpetual self improvement. Diablo-esque games like Path of Exile and Torchlight make use of similar systems in their send up to Diablo.

A few of the examples I have already bought up have been about developers using algorithms in order to circumvent a potentially impossible workload. Although, I think no company embodies this ideal as perfectly as Hello Games with their title, No Man's Sky. NMS is a game that will be forever tainted by the fact that is promised the stars and gave the moon. But to be honest, even in apparent failure, Hello games achieved something spectacular. Describing the size of No Man's Sky is hard, so I'll just quote the official Wiki "The universe of No Man's Sky (is comprised of) 255 unique galaxies, which in turn comprise around 3 to 4 billion regions, each of which contain more than 122 and up to hundreds of star systems. All star systems feature from 1-6 planets and moons, and usually a single space station." One quote from one the developers was floating around about how 'if you were to visit one planet every second, you would die before experiencing half of a single galaxy."

Technologically, No Man's Sky is an absolute marvel only possible through advanced and refined procedural algorithms. The problem is that NMS relies on the generation a bit too much. With all those planets available, there are bound to be a few that aren't worth visiting, the problem is that NMS planets are so similar that it isn't long before none of them are worth visiting. That's a little bit of a problem in a game that is specifically deigned around the idea of exploration. If the player has seen everything by the 10th hour then they sort of lose the incentive to keep travelling. In recent updates, No Man's Sky has shifted the focus from 'constant exploration' to the much more gamplay-sound mentality of 'builidng a home'. Taking a page out of Minecraft's book they've managed to make the game feel much more worthwhile. However, I still play the game as my background for podcast time. (Like the freak I am.)


Here's one that you might not have known; 'Mass Effect: Andromeda' was originally supposed to have a procedural generated element to it just like No Man's Sky. Back when Bioware were still figuring out what the game would look like, the choice had been made that the Andromeda Galaxy would be inhabited by completely random planets created on the spot. That's why much of the game's dialogue revolves around your family having the 'hearts of explorers' despite the fact you only see 5 planets and spend most of your time shooting people on them. Bioware wanted to allow players to colonize whichever worlds that they saw fit to, essentially allowing us to decide the future home of humanity.

This would have been the first AAA game to make significant use of procedural generation had the idea made it to inception. Unfortunately, the idea was left on the cutting room floor after it became apparent that 'the randomly generated planets would not meet Bioware's standard of quality'. Given how those same systems worked out for NMS and The Elder Scrolls: Arena, I have to say the logic is sound. However, I still can't help but think that if a big budget studio were to put their weight behind a galaxy generator we could get something worthwhile; heck, Bioware must have thought the same thing if the idea made it to a pitch room. I think the real reason it was scrapped it because the publishers got cold feet. You can never be sure of how a computer-run development would turn out so EA likely thought it was better not to take the risk. Either way, it's a darn shame that we won't see a space game push the boundaries of tech in such a cool way for a while, if ever.

As I have said a few times in this blog, procedural generation is a risk. When you leave the shape of your creative endeavour to be decided by fate, you either end up simulating the chaos of nature or the soullessness of a computer. Few are willing to put their work on the line like that, but those that are can sometimes change the way we look at games. Minecraft was originally conceptualized as one prebuilt world that players would mess around in, allowing the players some degree of freedom but nothing close to what they have today. With procedural generation in Minecraft, every world feels unique to the player that inhabits it; they don't just become their world's architect, they become it's arbiter. It's a subtle difference but one that completely shifts the player's personal relationship to that world. Now, of course, not all procedural generation systems have that exact effect, but they all lend a touch of uncertainty that cannot be captured in any other way. As we move into the age of the Scarlett and PlayStation 5, I find myself optimistic for the future of computer generated content in games. The better the tech, the better the scope to create something bigger and more diverse than any human brain could ever envision. Who knows, maybe one day we'll get an AI advanced enough to create an entire game by itself. True, at that point the thing will have likely transcended human scope and will hence become Skynet, but at least we'll get one kick-ass game before we all get annihilated by our robot overlords. 

Wednesday, 24 July 2019

How rogue-like!

Die, die and die again.

Let me ask you a question: are you stubborn? I don't just mean ' I played through Dark Souls' stubborn, I'm talking 'I played through Dark Souls, went down the skeleton route by accident, and brute forced my way through armies of over leveled baddies until the game itself forced me to turn back around' stubborn. The kind of pig-headed stubbornness that borders into nigh-on masochistic insanity at times. If so, you may find yourself dissatisfied with many modern mainstream games. 'Why do so few games feel built to reward persistence?', you may think. 'Will I never get a game that acutely challenges the upper limits of my obstinance?' Well, you're in luck, because I haven't just got one game for you, I've got an entire subgenre for you.

The Rogue-like and Roguelite subgenre is a division of gaming that is built around the core concept of challenging the skill of the player rather than their avatar. They're games that face you up against a randomized challenge, with randomized equipment and a tough-as-nails path to victory. And they expect you to die. Over and over again. Each time you are sent back to the start with nothing but the knowledge you gained from that run. The fun comes from mastery. From learning all the enemies behaviours, the uses of your loot, the synergies between items and, for absolute diehards, the behaviour of the procedural generation algorithm. There is no point of mastery that exceeds that person who can predict the layout of a random level.

It is this mix of random chance and skill that makes these types of games so alluring for the speed running community. Which, as I have discussed before, is a community that can be very healthy for your game's life cycle. There is always a new challenge so that players can never reach that state of over-familiarity with the levels, this can help speedruns feel fresh and dynamic. Then there comes the issue of bragging rights. Speedrunners love to prove how well they can utilize a good deck or scavenge a bad RNG run. However, being crowned the speedrunning king of a Rogue-like is not the same as being crowned as the king of Mario 64 runs. That kingdom is built on a foundation of sand, so players have to be constantly on their toes for whatever the next run might throw at them.

For the purposes of this blog, I will be primarily focusing on a subdivision of this subgenre: Rougelites. This is purely because I have the most experience with them. Rouge-likes are games that have all the hallmarks that I described but is limited to turn-based gameplay. These confines do include a couple of games that certainly have my interest; 'Slay the Spire' and 'Darket Dungeons', but I've just never got the chance to actually sit down and play them. Luckily the much more generous list of 'Rougelite' games features many absolute gems that I would absolutely love to talk about today. So let me start with the very first 'Roguelite' I ever played.

There are a few games that are preceded by their reputation. The kind that are spoken about in rumors and whispers from a friend of a friend. Spelunky was one such game for me. It looked simple enough, a cutesy platformer with a few obstacles, but looks can be oh-so deceiving. For those who are unfamiliar, Spelunky is a 2D platformer that revolves around an Indiana Jones-looking adventurer as he scours cursed ruins for treasure. Standard affair, nothing special. The kicker comes from that fact that these ruins constantly shift their layout, just to throw you off your game. But even that is only the tip of the iceberg.

Spelunky's creator Derek Yu decided it would be fitting, in his 2D platformer, for the player to be as vulnerable as a paper vase. As you can imagine, that turns a fairly sparse cave full of a handful of spiders and some traps into a absolute stress-fest as you desperately try to maneuver around each threat in order to reach the exit in time. Oh, but reaching the exit won't do. Afterall, we're stubborn completionists. So then you end up scouring the levels for every bit of bonus treasure and each lost damsel, only to find each level has a hidden time limit that summons an unkillable ghost if you surpass it. So you end rushing through the levels, grabbing all the collectibles, buying all the items, becoming incredibly resourceful and then... you die from a insta-kill trap. You wind up back at the beginning with none of your loot, gold, progression or confidence. At that point it's all on the player to pick up that controller and start again.

That is the beauty of Rougelite games. Your progression through them is based as much on your ability to learn and endure as it is to be skillful. That being said, it is rather soul crushing to start again having gained nothing for your time, and so some Rougelites have systems in place that can reward you even for failed runs. On such game is Edmund Mcmillen's 'The Binding of Issac'. 'The Binding of Issac' retells the biblical story of Issac and Abraham only with a modern little boy named Issac and his unnamed devout christian Mother. She believes that god speaks to her to declare open season on her son and Issac is forced to retreat to his room and hide beneath his- trapdoor? (Am I the weird kid for not having a trapdoor as a kid?) What follows is a fantastical journey through psychological and biblical imagery and symbology as Issac escapes deeper and deeper into his Psyche. Or into his past. Or into a box. Okay, the premise isn't quite so cut-and-dry here but the resulting product is one of the most famous examples of a Rougelite ever.

'The Binding of Issac' is an isometric shmup-eque game. You start off in the attic and end up fighting your way through a whole host of gross, randomized, beasties with the damaging power of your tears. (It's a weird game) This culminates in a final confrontation against your psychotic Mother, represented in your dream-like state through her heeled foot, which I'd imagine Issac must have become pretty familiar with in their years together. Of course, the levels and bosses are also randomly generated and the secrets are always placed hodgepodge around the map. Players have to navigate this maze, collate items and transform your snivelling protagonist into a demonic killing machine by the end. Where Binding of Issac goes above and beyond the usual Roguelite is in the unlockables. Certain actions that you perform unlock new items that you then have a chance to pick up on subsequent runs, some actions even unlock new characters that start with a whole host of pre-acquired items. And just like 'The Stanley Parable' suggests: The end is never the end. Once you beat the game the first two times you will find that your third run has an entirely new final arena with a much harder boss. This keeps building up and up until you end up fighting Mega Satan. Seriously.

But if all that 'religous symbolism' is too much for you, perhaps you would prefer a more sane Rougelite. Well, I've got you there too. As for the last few weeks I have actually been playing a fantastic little indie Roguelite called 'Risk of Rain'. In 'Risk of Rain' you are tasked with conducting history's least organized raid as you blow up a cargo starship and rain it's inventory all over the single most dangerous planet in the galaxy. Then your dumb ass has to go down there and grab as much loot as you can before executing your exit strategy; which is commandeering the ship that you shot down in order to escape. Again, Simple enough, right? (Once-more, no, you ought to have learned this by now.) Everything on the planet desires to, and is fully capable of, ripping you limb from limb, and things only get worse the longer you hang around.

'Risk of Rain' has a progressive difficulty system wherein the more you dilly dally in the level the harder the game becomes until it is unbearable for anyone who hasn't yet reached immortal godhood. Luckily, all the loot that you are tasked with scavenging also happen to double as items that power you up and pushes the you ever closer to the overpowered dream. As you defeat more powerful bosses and clear obscure challenges, you unlock new high-powered gear and brand new characters that fundamentally change up your play style. But all of that pales in comparison to the real reason that I love 'Risk of Rain' so much: Cooperative play! This is one of the few Rouglites that allows you to die over and over with your friends, allowing you to share your torment with those you love.

Roguelites and Rogue-likes are a very particular game for a very particular type of player. Good thing that target audience is abundant enough for games of this genre to do well. Spelunky has a legendary status amongst indie games and is even has an impending sequel in the works. 'The Binding of Issac' has been ported to everything with a graphics chip. (despite the fact that the PC version is really the only way to play.) And 'Risk of Rain' has a fully 3D sequel already out and enjoying updates. If you are the type who seeks validation in conquering difficult tasks, or just finds satisfaction from the act of perseverance, then I'd urge you to give some of these cheap titles a try. You may just find your next mountain to scale.