baconman
|
|
« on: March 12, 2011, 04:56:09 AM » |
|
As I go about, slowly-but-surely fleshing out my gamedev projects and discussing ideas; one thing always seems to creep out of the blue whenever I mention it: PGC level design.
Most people think it kinda sucks, and removes the art of masterful level design from a game. Fact is, most of the time, it does. In just about every instance provided, it does. So I understand the skepticism surrounding it. I do believe however, that when properly utilized, PGC *can* be intergrated with cohesive level design to make something beautiful (and VERY HIGHLY replayable!), and I'm here this morning to try and illustrate how.
PGC relies heavily on randomizing circumstances; and most games that use it tie a random number generator to the system clock, usually producing in essence, a "new game per second." This leads to two things: a very high level of randomization, and a very high dispersal rate of content. Usually within a day or two, you've already seen pretty much all (or at least most) of what the game has to offer. And there's nothing to it about "beating a level," you simply beat one screen/scenario at a time; not too unlike random encounters in RPG's.
However, not all number generators *have* to work that way; and there can be ones designed with deliberate cohesiveness and deliberate randomness about them. One that I'm planning to use, with which to solidify the concept with old-fashioned level design works mostly based on the hour-of-day, the day-of-month, and the day-of-week. This creates a system that can produce both a range of frequent changes, and a set of long-term changes, ensuring both the spirit of "randomness" that PGC games are known for, and a prolonged dispursal rate that ensures that the game you play tomorrow *will* offer you something that the game you played today did NOT.
First of all, I'm going to discuss mathmatical factors and cohesiveness. Used in proper mathmatically-related sets, games that have randomizable factors that share a common multiple can be used so that one section of the game can "assume" neighboring results. For instance: 2, 3, and 6. If "x \ 6 = 4", you can then assume that "x \ 2 = 0" and "x \ 3 = 1". Once you have the level sets for factors 2 and 3 done; you can deliberately engineer a level for factor 6 that takes them both into account.
Took a little fiddling out (very little, in fact); but I've already found an optimal order to these factors:
\ 1 = completely consistent (usually, level beginnings and/or ends) \ 8 = cohesive loop #1 (8 > 4) \ 4 \ 12 = cohesive loop #2 (4 > 12 > 3) \ 3 \ 6 = cohesive loop #3 (3 > 6 > 2) \ 2 \ 10 = cohesive loop #4 (2 > 10 > 5) \ 5 \ 7 = at this point on, the design becomes more randomized \ 11 \ 9
For an example of a cohesion loop in work, let's look at Lost Hills or Lost Woods in orignal Legend of Zelda. You can use the 12-factor to produce 12 different screen-scrolling solutions. Say 3 of the directions lead you out to a common area of gameplay; and the fourth is the one that the solution "requires" in order to access. The 12-factor generates both the puzzle and the answer (the solicited advice cave, and variable dialog that goes with it). You can assume from the puzzle that one of those 3 directions (IE: the 3-factor) will lead you out in one of those directions - so you can *also* use a 3-factor to place the "solicited advice cave" on that screen (since it's result with the same randomization will always coincide with the 12-factor's). You can also use a 4-factor to randomize what the following screen contains. For instance, (dungeon, big gift, sword upgrade, letter).
x \ 12 = random puzzle/solution EQUALS x \ 3 = semi-random place of solution shop/"safe exit" TIMES x \ 4 = semi-random consequence of solving puzzle
Did I lose anybody there?
Depending on the result you're going for, you can snip out any part of this formula, and use only part of it. Removing the "cohesive loop" steps or the low-factor ones between them will natrually break the cohesion, if you want more randomness; and removing the randomness in the end will lead to more cohesiveness. You can also play around with the "12 factor" to create a sense of foreshadowing to the "6 factor;" as that *also* has a cohesion factor about it; which can be very good for storytelling!
The second step is about the randomization itself. As mentioned before, it's optimal to gameplay value that some things randomize more often, and some things randomize less often. This is where a lot of PGC design starts sucking; because they often stick to a single source of randomization. You can mix up sources any which way you want; but here's how I see myself mostly using this approach:
1 = consistnecy. Something you ALWAYS want in place, like a starting point. Say (again) it's a PGC Zelda; you'll probably want your homescreen to have a 100% chance of containing the wooden sword. That's what 1-factor is all about.
7 = day-of-week. Not only is this pretty obvious; but 7 makes a very "lucky number" when it comes to pro-gen. Using it as day-of-the-week is something only it can do; and that insures that it's always result that's independent of other factors, such as day-of-the-month. If you plan on doing some kind of "rare item/rare treasures," I highly suggest you make this one of your variables for it; and only hide each "rarity" in the factor once.
2, 3, 4, 5, 11 = hourly shuffle. These are areas that, while they vary, they don't have a LOT of variation about them. A factor 3 section only has 3 different outcomes, so there's not a whole lot of replay value in concealing them. So sections like these, you'll want to make shuffle pretty often, because it's the combinations of them that keep PGC interesting, especially where the lower terms are concerned. The "highly randomizable" factors you can stick pretty much anywhere, but seeing as 11 is the highest I'm planning to use, why not make the largest amount of frequently-changing areas as well?
6, 8, 9, 10, 12 = day-of-month. These higher factors are where most of your level design work is at; since they're the multiples of the lower factors, and provide the most cohesion. Even 9 has cohesion potential, sandwiched between two of the 3s; if you want to explore that. And since this is where most of your core level design work is, you're also going to want to preserve as much of that work for as much replay value as you can get out of it. So by randomizing it LESS often, you create more exploration potential upon replaying it in later dates.
If you're really savvy, you can even incorporate a "month of the year" variable with the 12-factor to create holiday-based decorations or level themes; or even to change the entire flow of gameplay by introducing something like a different starting item, or a protagonist with completely different abilities! So now, from one factor of randomization, you have a whole new game to learn and play, every month! It's consistent enough to be playable, and random enough to keep you coming back.
Bear in mind also; you have a full range of factors available on every randomization type. Just because you have a 3-factor "by hour" doesn't mean you can't ALSO have a 3-factor "by day" as well.
What I hope I've illustrated with this, is that PGC really has a METRIC ASSTON of untapped potential, and that cohesive level design does not have to die at the very mention of it. And that higher levels of randomness and lower levels of randomness don't have to be greater in value than one another, but utilizing them both can have a considerably greater effect that using one alone.
|