Friday, August 28, 2009

The obvious choice

If you've been paying attention to my blog so far, you probably figured out what I'm planning on working on for this game design competition. That's right, my dungeon crawler.

Sure, there are dozens of dungeon crawlers out there for every day or every month, but as was my original goal with the tinygame, it wouldnt just be a generic dungeon crawler. It would be an infinitely replayable dungeon crawler with charm. It's a bit of a high goal, and I might not succeed for the game design competition, but that's what I want.

The first thing I need for the game design competition is a story. And how do you make a story in a 'generic' dungeon crawler interesting? Why, you make it as procedurally generated as the dungeon of course! Which lends me to the topic of procedureally generated stories in the first place.

One of the few games I've played with procedurally generated stories is Daggerfall, Elder Scrolls II. When you went to a guild and asked for a quest, it gave you a random reason to go to a random place and kill a random thing. Sometimes this was as simple as " got into house. Go kill it." Other times it was more complex, " broke into the guild and stole . We've tracked it to , go and kill it - and take back our stuff."

It was really simple, but it kept the dungeons - which were rather ridiculous in their own random generation - and the quests themselves nice and flavorful in a world that woiuld have otherwise been extremely samey. I want to implement a similar thing, but since my world is goign to be a much smaller scope, so my story behind it doesn't have to be painted with such broad strokes. I can talk about the creation of the dungeon and it's history, I can make the villian more complex than just a random monster. And most importatly, I can make the story the player discovers as he runs through the game different enough that he might want to play through it more than once.

Thursday, August 27, 2009

Mainstream

When thinking of the theme 'explore' the most common idea thrown about is that of a simple point and click adventure. You have a screen in front of you, or several to navigate around, and you click on things until you accomplish an in-game-goal. Like escaping a room, or finding waldo.

This was the second-to-last exploration idea I came up with, and while I like it, it's far too generic by itself to be worth anyone's while. There are thousands of room escape games out there, many of them good, many of them terrible for one reason or another. Poor execution, pixel-hunting, and puzzles with convoluted "space-logic" are the worst killers, especially that last one.

There are some great examples of the genre, though - and most of them are in the genre of where's waldo. Finding one object amid a sea of random obstacles can be great fun, or matching the differences between two concurrent storylines - which has become quite popular lately.

I didn't like the idea of just looking around for one object or another anyways, even ignoring the fact that it would take forever to draw all the art. Although where's waldo reminded me of a comic, and that comic co-starred carmen sandiego, which I think is to this day one of the best games that has ever touched on the topic of exploring.

In the "Where in the world is carmen sandiego" game, there is a random crime in a random city in the world, caused by carmen or one of her lackeys. You have to gather clues by travelling all around the world, and catch the villian before time runs out. It was executed well, it was fun, and it had replay value. But to be honest, I didn't think of this until after I started the game for the final idea I had in regards to the explore topic - although it might be a worthwhile idea to look into later.

Wednesday, August 26, 2009

Exploring the theme 'Explore'

After contemplating the maze idea for far too long, I realized that it would be way too hard to do properly within the time frame. After all, it's not a concept design competition.

So, I went looking for inspiration, and came up with a few more ideas. The next one was a text-based adventure. More of a mental one, it would be about exploring your mind, to come up with the answers for life's bug questions... or something. I didn't get very far before I gave up on this one, too. I didn't have any really good topics to 'explore'. I'm sure that with a good idea, someone could build this up, but not m right now.

The next idea was inspired by one of my favorite sites, Squidi. Exploring your memory, once it has been lost. Basically, the player wakes up with amnesia, and has to figure out what's going on. He discovers quickly that there was some crime he was involved in, perhaps even being framed for, and he has to discover who really did it. As the game progresses, the player is able to go back and dreg through the character's memories, as well as travel around the present day. Finding things in the persent day make things available in your memories, and memories unlock the ability to go places an talk about things in the present day. Squidi's twist was that as you walk around your memories, things that are there but you do not remember the signifigance of appear as static. That's a really clever way of showing the player the things they still need to remember within the memory.

Exploring your memory and travelling back and forth would be a really interesting game, and it would perhaps be the most successful if I could come up with a plot for it. But plots are hard. Villians? Motivations? Locations? Names? And all the art for everything.

That's ultimately what put me off this idea, the art required. I'm not very good at art, and producing a lot of it, especially the same character in different poses, is something that is simply beyond my skills. If I was working on a team, then perhaps ths idea would be plausable, but for now, I have to move on to different ideas.

Perhaps procedurally generated content would be a good place to start?

Tuesday, August 25, 2009

Jay is Games

So, there's a game design competition just starting at Jay Is Games. The theme? Explore.

When they originally suggested explore as a topic, there were a lot of ideas that came to my mind, none of which were what the public was afraid the competition would be full of.

My first idea was a platformer game, and the idea was based around a really badly designed maze I played about a year ago. Basically, you would be given some arbitrary, and more importantly impossible goal. The impossibility of the goal isn't immediately apparent, because any game can say 'find the boss' or 'collect a hundred coins'. Obviously, whatever is needed to access the end of the game is absent - the last coin, the key to the boss door, whatever. It is also important to have the game be extremely maze-like and moderately large. One-way tunnels are great for this. The goal, of course, isn't to have the player actually complete the goal you set for them, but in fact for the player to draw a map of all the different routes they could be taking. This would spell out - if it were done correctly - a code phrase, or even a world location that they would have not have been able to decipher without a map.

But there are a number of difficulties with this particular method. The biggest difficulty is the fact that the actual goal is different from the goal stated. Not all players - in fact likely very few players - will even realize the secondary goal, even if hinted at subtly. Most players would likely stumble around without a map until they got frustrated, then leave and say they didn't enjoy it - and that's the opposite of good design. There has to be a deliberate mechanism to encourage the player to make the map. The second difficulty is the lack of reply value. Let's face it, once one person has beaten the game and let everyone know that the secret is the code hidden in the map itself, there will only be a few people who continue the game, and nobody will come back to it once they've beaten it themselves. The last difficulty is level design. How do you build a game whose map contains an obvious message for the player drawing the map out, but has the message - or even the fact there is a message - hidden from those who aren't drawing that map. Have it be really big? Have the paths between areas be the letters? Only display the points, and have the players connect the dots? ... actually, that last one's proven effecive in Kingdom of Loathing, but again - once one player picks up the trick and lets everyone know - it gets redundant for others to do the same.

The next idea I had had, was actually an offshoot of this. What about doing the above in the dark, using a flashlight? The message is written on the floor spread across all sorts of different areas, but the sections of the letter won't appear until you shine your light on them. It's another neat idea, but the idea of programming a flashlight in a maze is daunting for any programmer. It still has almost all the same problems, too. No replay value. The message is either totally obvious, or completely abstract. Intensely complex maze design required. Clearly, this particular idea isn't going anywhere.

Time to move onto the next idea.

Monday, August 24, 2009

Choose your own adventure

Branching stories are occasionally chided for being unrealistic becase of the limited choices available to the player, versus the number of real posibilities. Why can't I use the sledgehammer I'm carrying around on the locked door? What am I really supposed to be doing?

In my game at work, email conversations are essentially choose your own adventures. You're presented with a problem and a number of solutions (typically two) and proceed. The conversation is recorded as it happens, and at the end you've either successfully accomplished your goal based on your responses, or you haven't. It's one of the few situations that I feel branching stories actually work well.

When you're at work, you typically only have a small number of actions, like do the work yourself or delegate the task to someone else - so having only the options "Tell her to go ahead" and "Tell her to meet with the team first" is actually plausable. You don't have to worry about many different plausable options, because you're not doing estranged problem solving, you're balancing efficenty of what you think is happening against efficency of what you're asking to be done.

Plausability is a very important thing in games, beacuse of the all-important suspension of disbeleif. Once something starts happening that forces the player to step away with a "huh", they lose the world you're trying to immerse them in. When you fail to present an option that a player would think is plausable, they stop reading, playing and having fun. That's catastrophic.

Saturday, August 22, 2009

realistic responses

In the game I'm working on for work, we attempt to simulate a real social network in a real company. There are a number of characters, several of them canadian, several of them not canadian (this is important, because it's a game about how immigrants are different from canadians in various important ways).

There are a number of challenges therein, some of which I had a hand in helping to solve, some of which I did not. One of the biggest challenges was making these characters in the game feel like real people, rather than just props - which they ultimately are. Backgrounds for the characters were crafted, resumes written, and personal photographs created, but what really gets the player involved with the characters is the conversations with them.

There are two types of conversations that exist in the game, chats and emails. Chats give you insight to the character's lives, allowing you access to their thoughts, feelings, and backgrounds. It also helps you build trust with them, which opens up more conversational opportunities, which allows you to learn more about them and so on. Depending on where you chat with them, how quickly and how deeply, determines your untimate success in the entire game, because later-game decisions need to be based on information you uncovered in these early chats with your in-game coworkers.

Emails are more work-centric. They involve your projects, the different teams, who's in charge, and wind up affecting how effectively the characters work - which is also important when you're attempting to be their manager. Good decisions in the emails leads to good results, and bad decisions leads ultimately to poor results, just like the real world.

But the point of making this game so realistic isn't to amuse people, unfortunately. It's to show people how different people are in canada than people from elsewhere in the world. Asians are very group-centric - and it reflects in everything they do - while americans are self-centric, looking for personal rewards and praise, unlike most immigrants who would prefer the team be rewarded even if much of it was their own effort.

Which do you prefer?

Friday, August 21, 2009

A whisp of Smoke

Shadowkin, also called shadowlings, live near the equator of Ronar in the jungles of Grittlanni. Their race is clever, quick, and not entirely solid, allowing them the opportunity to pass through even the tiniest crack - though it requires sufficent concentration and energy to do so.

Shadowkin appear to be black-skinned humanoids with long thin fingers and a beaklike mouth, and feathers for hair. They are shorter than humans, and take well to both water, and magic. They do not easily speak the same languages the other races do, and as such are a virtual unknown across the rest of the world.

Adding to that, the devestation of the race during the ancient age of magic, they are not as advanced as a society as far as any of the other intelligent races, opting for a more tribal way of life, among the creatures and trees of the jungles.

Thursday, August 20, 2009

Short and hairy

As elves are to Torin, so are dwarves to Unofotine. They fill the role of short, hairy men that live mostly underground, and they keep great pride in their work - and for good reason.

Unofotine were created at the same time as the Torin by the god of challenges. They were placed on a desolate rocky continent and forced to eek out a living from the rocks and their own two hands. As such, their simple survival as a species gives them a lot to be proud of, and they are feircely defensive of any member of their own race. They dug down to escape the harsh sunlight, building first caves and warrens, then a grand civlization. Hundreds of years after burying themselves underground, they spread out to the surface again, now prepared for it's dangers, and ultimately to mingle with the other races and the rest of the world.

Unofotine would average five feet were they to stand straight, but their lives underground give them hunched postures, and with their hands and forarms evolved with thick bones and long talons for digging through the ground they mildly resemble gorillas, although in face and temperment they would more likely be likened to bears. The claws at the end of their hands make it difficult for them to use their hands for much delicate work, and they have developed only the crudest written language.

They are not craftsmen of fine and delicate things, but of great and rough things. Caves, magic stones, occasionally armor or weapons, and mostly buildings. They are great architects and tireless laborers, but their services are not cheap - they enjoy the labor of the more finely-fingered races for delicate workings. Still, they mostly stay to themselves when they can.

Wednesday, August 19, 2009

Tree-Huggers

In Ronar, Torin fill the place that Elves fill in most fanasy worlds. That is, they are more magical than humans, taller, have pointier ears and are more in touch with nature. However, that's about where the similarities end.

Torin are tall and lanky, with large catlike ears extending out the side of their head and a thin layer of usually tan fur covering their entire body from their ears to the tip of their tail. Well, of course they have a tail, why wouldn't they? They are based after jungle cats, afterall. Males tails are thicker and typically used for balance when climbing through the trees, while females tails are more dextrous and can even be used to hold more delicate objects like a quill or a sword.

Unlike Human villages which sprawl out over a countryside, Torin villages are built much more vertically around large trees, and occasionally lack many walkways between the structures at all, the Torin leaping from branch to branch with ease. While the cities of all the other races are accessable to most of the other races, most of the Torin cities are inaccessable, merely due to their design, adding to the race's desire to be left alone by the other, more destructive races.

There are a lot of paralells obvious between elves and the Torin, but the idea was to make them familliar enough to the player that they would be comfortable with them, yet different enough that they would be curious about them. I may still have some aspects of Torin society that need to change to make them interesting enough, but I think this is a fairly good start.

Tuesday, August 18, 2009

Living and Breathing

One of the big things that makes any world is it's creatures. Some fantasy worlds are only populated by humans, some include existing mythological creatures like Minotaurs and hydras, and many contain creatures like Elves and Dwarves in the manner popularized by Tolkien.

Humans, of course, should build the cornerstone of the races in your world, because you're expecting the player to relate to them. Society works similarly, people stand on two legs and speak English (well, in the north-American localization anyways), and so on. You could build a world where singing spiders were the dominant race, and the whom the player interacts with, but people wouldn't understand it as well - although you'd be able to get away with a lot more things that would pass as odd in a world the players think they understand.

In Ronar, there are four dominant races, known collectively as 'the intelligent races'. There are Humans, the most abundant; Shadowkin an etherial race borrowing some traits of birds; Torin, the naturalistic catfolk; and Unofotine the stout underground race resembling moles. They each fit a mold a player expects, they each fill a role in the world, they each have their own societies that are based on aspects of human society, and they each are distinct from what the player might be expecting. And they're each associated with a different god - although I'll get into gods another day

Humans, of course, fill all the same positions they do in the real world. They farm, they teach, they rule, and they live in cities all about the world. They excel in anything they choose - although typically only one thing per person, and unlike in many fantasy worlds - they live about as long as any other intelligent race in the world.

The other three races I'll cover later.

Sunday, August 16, 2009

Roomy

While I deal with bugs not entrely related to the creation of the rooms themselves I should mention some of the engine I built before getting to this point.

The game is, ultimately, built on a grid map, a two-dimensional series of tile objects. Each tile has several different attributes; a ground color, a creature on it, a stack of treasure, and whether or not it can be passed over by a creature (which preempts having a creature on it, of course).

I decided to keep all the tiles in a one-dimensional array, for a specific reason I now forget, and use a function to calculate what the index of a tile at a particular X,Y coordinates is. So far, it's worked just fine.

Now, that means I'll have hundreds of tiles - heck, hundreds in each map - but I don't want to draw so many of them. Afterall, it's an isometric display, I can only fit about a ten by ten screen up at a time. So, based on the location of the player, I only draw the tiles, and the contents thereof, which are visible to the player. It does mean a lot of extra checks for tiles that aren't onscreen - but that's something I'll work out later. It's certainly more efficient than drawing the entire world every frame.

Now, the player has the world to walk around in, and while it's pretty dull before I put the dungeon on it, it's certainly servicable. Eventually, I'll need to have them connect to other maps, but I figure I can wait until I reach the second floor of teh dungeon to start worrying about that.

Saturday, August 15, 2009

Behind door number one

Dungeons are build primarily out of, believe it or not, rooms. There are big rooms and small rooms. Rooms at the top of towers, and rooms at the bottom of crevices. Some rooms have monsters, some have treasure, and some are regretfully empty.

My current challenge in my game, whose working title is TinyGame, is to find a way to figure out what the spaces are for each room.

My world is divided up into tiles, nostalgia from old rogue-likes i suppose, and each tile can either be a movable space, or a piece of terrain that can't be moved through (yet). Oh sure, there's items and creatures and so on, but this is about the rooms themselves.

Right now I generate the rooms like this:

I find a spot somewhere in the bottom middle of my map. That becomes the main doorway for the dungeon. From there I generate a width, and a height and draw my walls just inside that, leaving the middle empty. This is the atrium for the building, and it's always one of the largest rooms in the place. Sure, not every type of dungeon needs an atrium, but I'm starting simple here.

From the atrium, I randomly decide how many rooms are off the side, one, two or three. One room is off the top, two rooms is off to the side, and three rooms is all the way around. The size of these rooms is a factor of how big the atrium is. And each of them has up to two side-rooms, too. The back room's rooms are on the side, the side room's rooms are further to the side, or to the top - which can overlap with the top-rooms's side rooms.




But now, they're just walls and spaces. I need to remember them as rooms themselves, so I can do things with them, like add monsters and delicious treasure.

Friday, August 14, 2009

What's the Point?

Whenever you're building something, you have a goal in mind. If you're building a house, you might be doing it to provide shelter to your family, and you might be doing it to eventually sell for profit and become rich. When you design a program you might be doing it to teach a player a standard, and you might be doing it to entertain. Regardless, you have a goal in mind.

When you're building a world, however, your goal is probably not to house your family or entertain - although those might be why you're doing the design in the first place - you're usually designing a world to act as a background as something. Lord of the Rings is a great story, but without Middle Earth it would be fairly generic story. Final Fantasy games have been progressing to a single world for their games to take place in - the world again is the background for the story and the action.

But it's important to remember that for the things that exist in the world, it's usually not *just* a background. People supposedly live their entire lives there and have for generations. Buildings are built to be used, typically not just to be abandoned and filled with monsters. Everything needs to have some sort of purpose in the world rather than just filling it with things for the players to see on their way from point A to point B. Sure, once the purpose is served it should be interesting, but the fact of the matter is that truth is stranger than fiction. The less realistic, or at least the less plausable, an ecosystem is in a world, the more likely the player's going to pick up on it.

But i'll go into more detail in a later post.

Thursday, August 13, 2009

Nose to the Grindstone

So, I've been working on a game at my full-time job...

Ah yes, I should have mentioned - I work in the gaming industry. Sure, it's games-based-elearning, but it's a very innovative field because it's not very well developed of defined. When you come up with a new method of finding out how much someone learns from playing a game, it's a huge deal! That's not my job, that's just an example.

I'm a game developer. That means I'm the guy who implements the game. It also means I'm one of the few people with a hand in saying what's possible to do and what's not. It's a powerful position. Although in crunch time, it gets a little strenuous - after all, crunch time is when things have to all be done, and when you're the one who implements them...

Roll Initiative

I mentioned that some of my opinions on the topic of randomly generating dungeon content would be colored by dungeons and dragons. Overall I'm a huge fan, even in the controversial 4e stuff.

I've been playing DnD for about fifteen years now, and I've been dungeon master for about ten of those. I call the shots, I make the rules, I design the dungeons and the stories that go with them. In the past four years, I've been with an online site called www.dndonlinegames.com. Working on a play-by-post style, it's easy to plan moves, react to players well and so on. You don't have to have the answers at the drop of a hat, you have to have them within a few hours. I can take the time to redesign the monsters coming up in the dungeon if the players are struggling with them.

It's always part of a DMs job to balance the game for a player so that they have a challenging time - but not too hard. It's the DMs job to make it so the dungeons feel like a real place the PCs are exploring (if that's what they want). The DM has a lot of responsibility in keeping the game flowing, and all games should follow this structure.

If the DM's no good at any one of those things, the game can fall flat on it's face. Let's hope I can fake a good DM in the background, hmm?

Wednesday, August 12, 2009

Starting a blog is always the hardest

Lately, I've been working on an RPG in my spare time. The original idea is based on Squidi's Tiny Dungeon model, but it's grown a lot since then. The main point of making the game in the first place is to build some good randomly generated worlds.

I've always been a big fan of dungeon crawlers, and roguelikes in particular, but one of their big falling downs is lack of logic in their randomly generated content. You throw a bunch of rooms into solid rock and connect them with a maze of tunnels that have nothing to do with anything, and look like spagetti. Most people call this a randomly generated dungeon, I call it a spagetti-maze. Especially because the content in each room has nothing to do with the other rooms. Each room is almost exclusively a new entity in and of itself and that's just silly. Who built it? Why is it there? Some games try to hint at those answers, but never very well. Why don't all the infinite variety of monsters eat eachother?

Maybe I'm just biased because of all my years playing Dungeons and Dragons. In this world, it's much harder to get away with rooms that don't connect, or with dungeons out there in the middle of nowhere filled inexplicably with monsters... Well, usually. Lots of DMs and adventures and campaigns are all the same sort of thing - kick down the door, kill the monster, take their stuff. But what's important is dungeon layout.

In DnD, you hever have a hundred feet of twisting hallway to lead to the door to the next room. You have ten at most. Often the rooms will be pressed up against eachother, like they would be in real life. They might not be arranged in much of a logical manner, the contents may still be random, but is a realistic design really so far fetched as to be unable to be randomly generated?

Of course not. Dungeons have to start out as something - prisons, temples, towns - and all of them have distinct looks. Temples start with an atrium, then there's a main place of worship in the back, and some hallways off to the side containing smaller rooms. It's not complicated and as I continue to work on this project and update this blog, we'll see just how simple it is to mimic real-world archetecture using only the NLG.