Insane Solutions to Mundane Problems-
Here's the story behind the first NPC (non playable character) that you talk to in Twisty's Asylum Escapades. This is also an example of the kinds of challenges that game developers have to regularly solve when plotting gameplay.
When we were first developing Asylum Escapades, the player's progression through the game was even more chaotic than it is now (if you can believe that's possible). The problem all stems from the fact that this game is fairly nonlinear. Although it's all contained in the same building, it's all completely open to the player in a very maze-like layout, and the player is permitted to go in multiple directions right from the beginning. There really is no set course the player has to follow. Originally, we thought this was a pretty cool feature which provided opportunities for exploration and for the most part we still do. But it did create some interesting challenges.
Through play testing of the Alpha build of the game, we found that test players weren't figuring out how to use a certain type of attack which was critical for making the game interesting and more enjoyable (specifically Twisty's bite-and-shake attack). The solution to this was fairly simple, we would just need to provide a tutorial for the player early in the game so they would know how to use it from then on. Through our play testing, we knew which direction most players would go and what room they would end up in. We even found a way to tie the tutorial in with an element of the story so that it made more sense and gave the player even more of a payoff than simply learning how to do this attack alone would. The whole thing came together exceptionally well and actually solved several problems. Unfortunately there was just one catch, we still couldn't guarantee that the player would actually always go to that room the first time they played the game. We knew that a lot of players would do it automatically based on play-testing, but any player could still technically go in one of two other directions and completely miss the tutorial, which was now an essential part of the game's progression.
Of course we did what any reasonable people would do to solve such a simple problem; we introduced some criminally insane characters into the game to bark murderous orders at you in a snarky and condescending way. Basically we needed a way to direct the player to go the right way, but without physically blocking off the alternative routes (we still wanted to keep the floor plan of the asylum open and maze-like). We decided that one way to do this would be to have NPCs simply tell the player which way to go in the beginning, to give our crazy brain character some friendly advice. But who would want to help this crazy brain escape the asylum? Why other crazy inmates of course!
This gave me an excuse to use a character that I had designed but couldn't find a place for in the game and it also allowed me to make the basement halls even more interesting by having these Hannibal Lecter/Silence of the Lambs type of cells in the basement. This even added a bit more of a story element to the game and had the added benefit of making the player's progression more obvious and gave them more sense of direction.
We set up a system to cover all possibilities, no matter which way the player goes they will either have to go by one of these inmate cells, in which case they will be stopped by the crazy person inside and given instructions to go to the tutorial (because everyone knows you should stop and listen to random crazy people), or they will simply go directly to the room with the tutorial. The only way that this system fails is if the player, after having been stopped by the inmate, clicks off the text without reading it and just continues on (in which case the player will have no choice but to either come back to the inmate to read it again, simply figure out where to go themselves, or just be lost wandering around the building). Unfortunately no system is completely foolproof and as a developer there's a certain point where you have to draw the line in regards to "hand holding" with the player, and that's where I decided to draw that line. If you refuse to read the text and yet you still can't figure it out by yourself, then you're just lost (both in the asylum, and as a "cause").
But all and all it was a fairly effective solution and added several more elements to the game. It's also a good example of the kind of creative problem solving what video game developers have to utilize on a regular basis. Weird problems often come up in game development and it's up to the developers to find creative ways to let the players know what to do. Players normally don't like it when you spell things out for them too much, and yet at the same time you have to be clear enough so that most players are still going to get it and continue to enjoy the game. Sometimes this can be as simple as tweaking certain settings, sometimes it means changing the layout of a level, or creating interactive tutorials to show the player how to do things, giving them subtle clues to push them in the right direction; and sometimes it means having a crazy guy in a straitjacket stand there and tell them to go down the freak'n hall and perform a human sacrifice to summon the spirits of the dead into the asylum. You just have to sort of finesse these things.
I hope that you'll continue to follow along with these developer blogs of madness, chronicling our remastering of Twisty's Asylum Escapades; the game that's made for, and by, and prominently features some surprisingly helpful but very psychologically unstable characters.
- False Prophet
Repetition: A Brilliant Insanity-
One aspect of game development that I haven't seen discussed very much is the simple fact that a big part of it involves performing many of the same tasks over and over again. It has been said that one definition of insanity is doing the same thing over and over and expecting different results. It has also been said that the distance between genius and madness can only be measured by success, and furthermore, that success often requires persistence (which is defined as, oddly enough, "an obstinate continuance in a course of action in spite of difficulty").
But logical and philosophical loops aside; the nuts-and-bolts reality of game development is that it tends to involve a lot of repetition. Whether we're talking about art, programming or even marketing, if you're an indie dev, chances are you're going to be doing a lot of the same or similar things over and over again, over the course of creating your game. This includes tasks like copying and pasting code to multiple places, placing the same art assets in various places around the game and repeatedly tweaking or modifying that same code or those art assets multiple times so that they do specifically what they're supposed to do in every instance you use them. In fact I would argue that this overall sort of activity makes up the majority of game development, in my experience. Of course there's plenty of fun creative stuff, as well as the challenging, problem-solving type of stuff to do too; but there's also definitely a lot of repetition.
This isn't meant to be presented as a good or bad thing, but simply the reality of it. In fact, if you think about it, it's sort of the reality of actual reality as well. Let's consider the subject of video game art for a moment (mostly because that's my department). Quite often, you will see many of the same art assets used multiple times within a game.
Initially you might argue that the tendency to populate game environments with the same types of reoccurring features and props is just a sign of laziness on the part of the developers. And when taken too far or not implemented correctly, that can certainly be true. But on the other hand, can we really say that nature is much better? If you've ever found yourself lost in a real forest, you'll notice that the general settings can look even less distinctive than what you might see depicted in a staged forest environment of a movie or game. And while you can assure yourself that every one of the real trees that you see in the real forest are unique individual organisms, that's probably little comfort when you start to hear something howling or hissing at you from somewhere and you can't get your bearings because it all looks like the same freak'n tree in every direction. It would seem that nature has its own version of a copy and paste function.
Of course this applies to the manmade aspects of the real world as well. We live in a society where most things are manufactured and that means that you tend to see a lot of repetition in day to day life (not to mention that the manufacturing process itself is the very pinnacle of repetition). For anyone who's ever been in any kind of school or classroom before, I'm sure you are familiar with how certain environments can contain multiple copies of very similar objects. For my specific purposes, Twisty's Asylum Escapades is similarly meant to be a very institutional environment and so it's only realistic if you see many of the same art assets used multiple times (though the asylum in the game has to be more interesting looking than it's real world equivalent; if you've ever looked around a real hospital facility, the aesthetics are often incredibly boring and repetitious).
This correlation between real world repetition and games can also be applied to programming. Although video game AI is considered notably less complex than real human intelligence, if you sit and look at a busy urban environment in the real world there's a good chance that 90% of those people will be indistinguishable from wandering NPCs. And anyone who has a "regular 9 to 5" job is almost by definition going to be repeatedly maintaining the same schedule much of the week. A large portion of human behavior is very repetitious.
And in regards to other aspects of game programming, the real world equivalent of game physics is pretty consistent. If you jump off a building you probably can't expect to be miraculously released from the earth's gravitational pull and float to safety. Take a dive off a five story building in any city in the world and the same physics apply. So it's not a stretch when developing a game, to use the same physics code on one level of the game as you do on another.
The fact that repetition is a reality for developers has both its advantages and drawbacks. In many cases it can make things easier, but it also often makes the work more tedious as well. And in some odd cases, the fact that you need some consistency to replicate the repetitious nature of the real world can actually create more work when you can't simply copy and paste something and for some reason you have to redo it or have to heavily modify it in order to get it to work and look or act like everything else; just to make it consistent with the rest of the game.
But whether or not it is an advantage or drawback in any given situation, repetitious tasks are simply a reality in game development, and indeed a lot of the jobs in computer heavy fields. Strangely enough, this is often considered a major strength of computers on a basic level. They're really good at performing certain repetitions tasks over and over and at a very quick pace. But we often have to work in unison with them on this. They are our tools and to a certain extent, we have to adapt and conform to how they operate and play to their strengths and work around their limitations in order to get the best work out of them.
So you've probably already figured this out, but this week I've been doing a lot of fairly mundane but essential work on the game. It's not the kind of showy or interesting stuff that's usually worth blogging about. But after thinking about it, I decided that maybe I should address this in some way. After all, it's a major aspect of game development that seems largely neglected when dev blogging. But that's the real message; embrace the repetition, the persistence and the "craziness" that may go along with it. It's all part of the nature of the beast known as game development, as well as the nature of...well, nature. Creating your own little world is in a sense an attempt to mimic certain parts of reality and nature; and so some repetition is expected. Nature goes through cycles and although reality can be extremely diverse and bizarrely original, it also does a lot of the same stuff over and over again. Why should creating a virtual world be any different?
I hope that you will persist in continuing to follow along with this insane dev blog chronicling the remastering of Twisty's Asylum Escapades; the game about the crazy brain who refuses to give up, no matter how many enemies he must eviscerate, over and over again.
- False Prophet
Texturing: Faking True Grit-
Yep, it takes a rare breed to be a game developer. Not everyone has the unbreakable intellectual fortitude, the raw creative nerve to just sit there and try to create their own worlds. The stern determination to push through all obstacles and see their dreams through to the finish. Game devs may not be able to actually forge physical stone and metal surfaces simply by manipulating pixels and polygons; but just like a pampered A-list celebrity playing a rugged 1800s gunslinger, we can sure try to fake it!
That's what I've been up to this week, creating some new textures for the environments in our demented little horror/comedy game Twisty's Asylum Escapades, which we are now remastering for its upcoming release on Steam. Creating textures can be a bit tricky and there are several things you have to consider. It's good to have them detailed, but too much detail, or having too many textures at too high a resolution can begin to adversely impact the game's performance.
Another concern that I personally have to contend with, being the sole artist on this game, is that spending too much time on any one texture can end up being a waste of time and drag out the development process too long. Gamers will notice if a texture is bad, but at the same time, they're not likely to spend too much time really examining most of the textures in the game (keep in mind there are hundreds of different textures in these environments). So part of my job is to figure out and gauge the importance of each texture, how prominent it is and how often people are going to see it and even how well they're likely to see it; and then determine how much time to spend on each one (art can be improved infinitely, after all).
Twisty's Asylum Escapades also has quite a lot of interior hallways with different wall textures. These come with some of their own challenges such as finding a balance between repeating the textures and yet still keeping them interesting. It's technologically unreasonable to make a long hallway wall all one texture and so by necessity, these kinds of textures in video games often have to repeat. But we don't want them to look like they're repeating. So we try to find a way to make them look interesting, but at the same time to make them look all the same enough so that you can't see the same distinctive part of the texture repeating again and again on the wall.
Normal mapping (or similarly, bump mapping) is also very important for creating more realistic textures in games. And, whether players are aware of the mechanisms behind these things or not, this type of texture mapping has become part of the standards that players expect from a 3D game's graphics. In the image above, you can see a comparison of the white painted brick wall of one of the asylum hallways with the normal mapping turned on and then turned off.
You'll notice that simply having the texture without the normal mapping, which creates the 3D shadowy and rough textured effects, makes the white brick texture look very bland and flat on its own. Normal mapping is very handy for adding the appearance of small 3D textures like bumps and cracks and creases and other uneven elements to surfaces like that. The kinds of things that many objects have on them but would be impractical (takes too much time to model or would require too much processing power to render) to try to create as part of the actual 3D model itself.
Of course many textures in the game need to be similarly redone for this upcoming release of Twisty's Asylum Escapades and so I will continue to work on updating various textures in the game, in the weeks to come (but I probably won't blog about those specifically). I should also have some other cool things to show you as well.
I hope you've enjoyed this small look at the tough, rugged and unforgiving landscape of indie game development. I'm certainly no John Waynesque hero, in fact quite the opposite. But I hope that you will continue to follow along with this developer log as we twirl our mustaches, laugh maniacally and continuously try to tie the maiden of failure to the railroad tracks while moving forward with our sinister plot to unleash our strangely compelling indiegame onto the unsuspecting public.
- False Prophet
Boiler Room: Plumbing the Dark Depths of Plumbing-
This week I've been working on the boiler room for the remastered edition of Twisty's Asylum Escapades. The boiler room is the largest room in the basement level of the asylum and was loosely inspired by the character Freddy Krueger's favorite hang out/lair in the Nightmare on Elm Street movies.
In addition to being one of the first rooms that the player encounters in the game, it also serves the notable function of being the setting for the human sacrifice, which summons the ghosts into the asylum and sets off some of the events and chaos which helps Twisty to escape. Obviously the ghosts are important as this is a horror spoof game and since this occurs in an asylum, as with all asylum based horror games, you must have the obligatory supernatural element crammed in there along with the standard murderous psychopaths (because just having a giant killer brain roaming around on his own isn't good enough and so you also need the place to be haunted too).
Though one notable difference that Twisty's Asylum Escapades has when compared to other asylum based horror games is that the player is actually the one who deliberately unlocks the supernatural forces that wreak havoc on the place. But that's just the kind of quality pro-evil perspective that you can expect from Twisted Jenius.
The boiler room also features several large tanks, eerie red lighting, a 5 pointed star drawn in blood, a seemingly pointless catwalk that literally goes nowhere and lots and lots of pipes. Because we're remastering the game, part of my job is to improve the various environments, and so that pretty much means I need to add more pipes. It's a relatively easy way to insert more "detail" into the environment and since most gamers seem to associate complexity and detail with "good graphics", adding pipes is a simple way of doing that. It's true that the room already has many pipes, but I think we can fit more pipes in there. And thus by copying and pasting a whole lot of pipes, the room will be "improved". I'll probably also do some stuff with the textures and lighting as well.
Be sure to tune in next time and follow along with this development blog, as we continue our journey deep into the brain of darkness known as Twisty's Asylum Escapades.
- False Prophet
Let there be light!-
God's lucky, all he had to do is wave his tentacled arm to magically create light. We game developers have to go through our levels, methodically placing light sources and tweak numerous settings in order to light the world's that we create.
Of course I could just do it "god's way" and just stick a single sun/light source there to light the entire game, but that would make the whole thing look very flat lit and dull; the kind of thing that most gamers and critics would consider "bad looking". The standards of modern 3D video games are higher than that and, as has been pointed out before, what works for real-life doesn't always make for good game content. In fact, games are often expected to look more interesting than real life; that's arguably part of their appeal. And this especially applies to a heavily stylized game like Twisty's Asylum Escapades.
One of the big reasons why we're remastering Twisty's Asylum Escapades is to improve the game's graphics, and lighting is a major part of this. And so this is what I've been working on lately. There are two basic kinds of lighting being used to light the levels and create the general eerie atmosphere in TAE. The first type and probably the easiest to understand are the point lights. These act more or less like a standard real-life light source. They provide light to a given area of the game (I'm able to change the size of the area that they affect around them), and the light radiates from a single, easily recognizable source the way that it does from a light bulb in the real world.
Normally we use point lights in the game to represent the light emitting from objects in the game that are obviously supposed to have light coming from them (such as things like a lamps or the common light sconces on the walls of the basement and things like that). But keep in mind that game lights don't always act exactly like lights in the real world. They're virtual, and therefore have some advantages and disadvantages when compared to real world lighting.
So for example, the lighting that you see in the game isn't actually being created by the wall sconces that may appear to be emitting the light. The light is actually coming from a separate, virtual object that will be invisible to the player in the final game, and that light is brightly reflecting off the sconce right next to it in order to make it look like it's the sconce itself that is emitting the light. When playing the game, the lights themselves are invisible and players can only see the effects of the light; the other objects that the lights are hitting. For my purposes as the developer, I can view the game in developer mode and see these virtual light objects which are represented as yellow light bulb icons, which is what allows me to move them around and tweak their settings.
As the artist and creative designer for the game, it's my job to place all of the lighting around and that means that for every light you see in the game, I had to put one of those virtual lights there and modified its settings so that it looks good. I'm able to change a lot of things about that such as the color of the light, the brightness or intensity of it, as well as the radius or distance of what will be affected by the light. Because the lighting is such an important part of the game, I make it a point to go through and customize each one of these things in order to try to create the best overall effect possible.
The second kind of a lighting that we have in the game is the overall ambient lighting created by a virtual "sun" (but unlike the real sun it can affect everything, even indoors). Basically this kind of lighting lights everything evenly, and all objects in the level or area get the same treatment. This comes in handy for filling in the gaps between point lights so that everything isn't completely pitch black in areas where those lights aren't present. However, if you only rely on this kind of light then it tends to make the level look very flat and bland, and this is why it's important to use the two types of a lighting intelligently and with each other. Like the point lights, this type of ambient lighting also has a variety of settings, including color and intensity and we can set it to effect different general areas of the game differently.
But since Twisty's Asylum Escapades is a horror parody kind of game, darkness is just as important as lighting and having a creepy atmosphere, plenty of shadows and dark areas are very important to the overall feel of the game. This is why it's such a priority to light the game properly. It has to have the right atmosphere, hopefully look cool and aesthetically interesting, but also still be light enough for players to be able to see and thus allow the game to be playable. This is something I take very seriously and I redid the lighting in the game several times in the last version of TAE. And so you can be sure that I'm putting at least as much care into trying to make this remastered version look as good as it possibly can.
I hope this developer blog chronicling the remastering Twisty's Asylum Escapades has been illuminating. Please follow along as we continue to spotlight different aspects of the game's development with our radiant insights and blinding enthusiasm about this shadowy little project.
- False Prophet