Break time is over, and I'll be getting back into the swing
of things. I'll try to continue what I
was doing last month: once a week, a
post about the horror text adventure, and on the other post of the week will be
something random, be it an article, review, or whatever. We'll see how far that gets me.
Tuesday, July 30, 2013
Tuesday, July 16, 2013
The outernet calls.
For the next couple of weeks, I'll be busy going to a wedding,
travelling, and having relatives visit.
Next post should be on Tuesday, July 30th.
Friday, July 12, 2013
Dev Log: Horror Text Adventure #14
This week I spent taking care of runtime errors (trace is my
best friend), and trying to get new text to show up. I've got it working for the top-left box,
which says what rooms are in different directions.
Next is to get it to work for the top-center box which will
be a bit more complicated. That box
isn't static, and doesn't change simply because you move from room to room. It changes basically when you do anything at
all; every command should change that box.
For now, my goal is to get a room and item description to show up there,
so the player can see their surroundings.
I'm also trying to figure out the best way to tackle doors. I kind of want the world to know what room is
next to it, even if there's no door directly connecting it, that way if
something happens in the next room, like a loud noise, the player will know.
For now, all that I have is a doubly-linked list of pointers
in each direction, but there is no way of distinguishing between two rooms
connected by a wall or a threshold.
Then, I'll also need to figure out how to make a door that starts
locked, and have the world generation be smart enough to not put the key on the
wrong side of the door. But that will
come later, once I've figured out door basics.
Tuesday, July 9, 2013
Infinite Beginnings
When I play MMORPGs, I make a new character and get plopped
into a pre-chosen location to begin my journey.
In Tera Rising, everyone starts in the same place. In Dragon Nest, there are two places to
start, depending on your class. In DC Universe Online, you get six starting locations, based on your chosen mentor. In World of Warcraft, each race has a
separate starting location, giving thirteen total options. As much as I retch when I say this, WoW wins
for variety.
Also: Pandas. No other MMO has Pandas. |
And a variety of starting locations is needed for MMOs and
similar genres, because players are constantly making new characters and
starting fresh, and the player may not want to see the same thing or go on the
same journey every time. And if they do want things to be the same, they can
make a similar character.
But beyond the beginning, unfortunately, all of these games
combine. In Dragon Nest, for instance,
it doesn't matter what class you pick, because by the time you get to level 10,
you're following a story and quest structure that's identical to every other
class. Even WoW is guilty of this (despite it's thirteen starts),
though much less so: Trolls and Orcs,
for instance, combine together once the player reaches the first city, as do
Dwarves and Gnomes (I don't know beyond level 20, but I imagine that more races
combine over time).
Yet oftentimes I feel that the content for unique character
customization is far superior to storyline customization. The first few times the player creates a
character, they may feel that they are getting something unique... until they
reach a point where their last character had been.
Now, I don't begrudge any game for being linear or having a
linear story, since some of my favorite games are just that. No one expects to pop in God of War, start up
a game, and have Kratos appear in Egypt . It's a linear story about a specific
character, and his journey does not change, so a player restarting the game
shouldn't expect to have a different experience.
But games that are heavy on customization, like MMOs, are
trying their best to make the player feel like the game was made just for them,
that they are an individual and are going on an epic quest that no one else has
ever (or will ever) go on. And
surprisingly, thirteen distinct starting locations still isn't enough variety.
At least, not when it's predictable.
I've mentioned in an earlier article how MMOs can suffer
from cloning because their is not enough variety is character customization, or
in armor, etc. But this is also very
true for story. If I know another player
is experiencing an identical story, I don't feel like a hero anymore. There is enough space between me and another
player if I'm playing God of War, since I don't have to physically see another
Kratos running around, but when I see another player completing identical
quests (the worst offense is watching them kill a boss and waiting for it to
respawn), I feel like a cog.
I think there are ways to fix this, and none-too-difficult,
either. Take a look at WoW, for
instance: there are clearly defined Alliance and Horde
cities, where all races come together.
So let's take Alliance ,
just for kicks. If you are Human, you
start in a completely human area. If you
are Dwarf or Gnome or Night Elf, ditto.
They all start in areas where all players and NPCs are the same race as
the player.
But if cities exist where all races join together, why
should picking my race determine my starting spot? It's not like choosing to be a Dwarf means I
am born from a specific hole in the ground and by my nature I have to start
there. I could start in any Alliance city, outpost,
village, etc., as long as those areas were set up for tutorial bits, and as
long as the enemies weren't overpowering to a level 1 character.
The latter problem is easy enough to solve: there is no reason today to have
statically-stated (stat-ed? statted?) enemies. Three words: dynamic difficulty adjustment. MMOs use this concept already for PvP. Players have their
levels raised or lowered to average out teams and put everyone on equal
footing. This can be done in PvE
environments, too. A player who is
level 1 might attack an enemy that appears to be level 1 to it, and deal out
the appropriate damage, while a player who is level 10 looking at the very same
enemy will see a level 10 beast. And
those two players can fight side by side, seeing the stats that match
them. This isn't impossible; it might
not be the easiest thing to program, but the principle is there both in MMO
PvP, as well as in games like America 's
Army where players see different things depending on their own circumstances.
The slightly less technical problem is the one of player
tutorials being everywhere. This however, doesn't need to happen nearly as much as you'd
think.
NOT NECESSARY. |
Almost every stinking game I've played has a section where
you have to test your first spell or skill on a training dummy, and there's no
reason for it. Half of the MMORPGs I've
played also suffer from Glorified Exterminator Syndrome at low levels, where
the player has to just go out and kill 20 rats.
Half of this nonsense can be eliminated.
Even if you are brand new to the world of MMOs, you don't need that much
hand-holding. "Click to attack,
press the number keys for special stuff" is basically a combat tutorial
for 90% of MMORPGs. The tricky things
for MMORPGs are those oddly specific mechanics like crafting which a non-gamer
might not readily understand. But
everyone can understand "click on the enemy to kill them."
But, let's suppose for the sake of argument that we really
do need those early tutorials. Do it
basically the way DCUO does it: the
tutorial sequence is the same for everyone, and then the player gets placed in
their individual starting location after the first ten minutes. It's not ideal, but it's an example to go by. And if that must be done, making it skippable
would be better. No need for
hand-holding the fifth time you play.
The opening level of a game has always been regarded as the
most important, just as much as the opening chapter of a novel or opening scene
of a movie. In each case, it's to grab
the audience and make them want to continue playing/reading/watching. Games have an additional reason: it's the part that's going to be played the
most. It needs to be good enough that it
can withstand being played over twice as much as the rest of the game.
Multiple starting points fixes that, to some degree, but
players do blast through them all if there's only a handful (and the most I've
seen is only thirteen). But if the
entire game world were an option, with every town or city or outpost or any
civilized area at all, the number of options would rise exponentially.
Friday, July 5, 2013
There's Something About Adventure Games
There is something beautiful about Adventure games. MYST-style, that is: first-person,
puzzle-based, surrealistic, thought-provoking, mind-bending. Of course, I call it "MYST-style",
but I think that's kind of like calling an FPS a "DOOM clone". That was true once, but they've come into
their own, and though they appear to be oddly specific on the surface, the
paradigm allows for infinite variety.
There is the MYST series, of course, and others of its time
like The 7th Guest games (a slightly different take, but within the mold). And after that, of course, Adventure games
died--but this article is not a history lesson.
So let's zip to the present, where there is a light
resurgence of Adventure games. Often
they're in the guise of another kind of game, such as Platformers, or mixed
half-and-half (or worse proportions) with other genres, like Action. Pure first-person puzzle-Adventure has become
exclusive to casual games, and there are too many awful ones (if it labels
itself as an "Escape the Room" game, odds are you want to skip it),
so searching for a diamond in the rough is quite a task.
There are great Adventure game developers, like Mateusz Skutnik, as I've
mentioned before, with his Daymare series, though his Submachine series is even
better. But unfortunately the list of
quality Adventure devs is quite small.
What happened to Adventure games? There seems to be this constant complaint
that games these days are too violent (they've been violent since Spacewar! in
1962, so knock it off with the "these days" nonsense), and violence
creeps into practically every genre. Too
often, my search for a puzzle platformer leads me to a puzzle platformer with
guns. Adventure games are rarely
violent, partly because they don't lend themselves to violence well. Violence tends to be a quick, think-on-your-feet
kind of action, while Adventure games are designed around thoughtful, drawn-out
decisions and contemplations. I've
played Adventure games with violence, but I have found the violent sequences to
be almost universally quick, actiony challenges that quite break the flow of
the game.
Games where you have to type are not meant for action... Note to self... |
I don't quite know what the demand is for Adventure
games. The big industry doesn't seem to
care, so Adventure games have become an indie thing. But hey, if games these days are too violent,
bring back the Adventure games, and have yourself a ball...
I think the death of Adventure games was also partly because
it was thought that anybody could make them.
MYST's puzzles were extremely difficult, but they were also fair, and
quite clever. I think Adventure game
makers jumped on the "extremely difficult" part, but forgot about the
"fair" and the "quite clever" bits. You can still see this, not just with older
Adventure games that left no mark, but also in today's casual Escape-the-Rooms,
where the puzzle might make no sense ("Of course you have to take the light bulb out of the fixture to unlock
the door! Why didn't I think of that before?").
The other trick of a great Adventure game is
surrealism. Even a game that takes place
in a "normal" house (The 7th Guest, for instance) is very
surreal. In most games, the art of a
game is a given, and beautiful vistas are not taken into consideration. Although a player might have their jaw drop
when they enter a new area (and I hope all developers strive for that), their
mouth shuts when they need to shoot something.
But with Adventure games, that feeling of awe should happen
with almost every click of the mouse.
Every time the player sees a new screen or solves a puzzle, something
striking should happen. I just finished
playing an Escape-the-Room game that took place in an apartment. There was nothing interesting to see. There were probably a dozen puzzles to be
solved in the room (or even more), but each one only achieved an unlocking of a
drawer or a safe in the wall. There was
nothing impressive about it.
Yet even a beautiful, surreal world follows logic, and the
combination of the two can trip up a designer.
It can follow its own logic, to some degree, but it must make sense in
the context of the game. MYST's world
used books as a mode of teleportation, and this concept was introduced at the
very beginning of the game. Everything
else that followed was a beautiful screen with a completely logical
puzzle. You never needed to drown a fish
to unlock a door.
There was a game called Juggernaut for the Playstation (full
disclosure: it was panned, but I loved
it) which took place inside the mind of the player character's girlfriend. Since it took place basically in the
imagination, anything could happen. Yet
the designers did not give into that temptation, and instead made each puzzle
completely logical within the context of the incredibly surreal world. You needed to do illogical things like paint
a door to make it take you somewhere else, but before you tried to solve that
puzzle, you understood that that was something that could happen in this world,
so you went along with it.
The key to making a great Adventure game is to understand
the opposing forces of the medium: a
logical surreality that, like all videogames should do, is challenging but
solvable. A player should never need to
guess at the solution to a puzzle, but they should have to think about it for a
bit. It's the "Aha!" moment
that drives the Adventure gamer. Too
often that moment is non-existent in a game, and that's why it fails.
The third, perhaps equally important piece of an Adventure
game lies in the convergence of story and puzzle. Each puzzle exists for a reason, and can't be
there arbitrarily. In MYST, Atrus
created many of the puzzles to keep his sons from getting into the books behind
them. They are not just logical puzzles,
but logically existent. The
Escape-the-Room game I played recently had no reason for the puzzles to exist
in the first place. Why am I locked in
this apartment? Who would go through all
this trouble to hide all these keys around, create all these puzzles? No one, really.
Adventure games, all told, are much more difficult to create
than most casual gaming mills think.
This is probably why they died:
there were too many terrible ones, not because they were hastily slapped
together like many of today's, but because making a passable Adventure game is
much tougher than it seems. When one
genre grows in popularity, it suffers from too many copycats that don't know
what they're doing.
Tuesday, July 2, 2013
Dev Log: Horror Text Adventure #13
Mostly been trying to figure out items. Items are basically
everything, I've decided: a poster on a wall is an item, a key is an item, a
bed is an item, etc. Then each item has a "takeable" boolean, a
description vector of strings (separate sentences, so if one sentence changes I
can change that part, I think), and a "container" boolean. The
container boolean basically is whether the item can contain other items (like a
treasure chest).
I spend a lot of time hemming and hawing over how to make
the content itself. I considered text files that would be read in, but that was
99% just for making it easier for me to type up. I am unsure how best to code something like
that, with most tutorials I see load the file into memory, and it doesn't work
for large files. I don't know how large such a file would be, but even so, it's
really not necessary to go through the trouble just so I can write item
descriptions easier.
So instead, I've done it in good ol' fashioned AS3 code,
with lovely switch statements and the random function to pick descriptions for
items. I expect the same will work for room descriptions, as well. So it doesn't look pretty; I think it works
well enough. I think there should be a
way for me to squeeze the switch statement by eliminating one more repeated line (just a vector.length++ line that really needs to go),
but I'll figure out the proper way to do it sooner or later (preferably
sooner).
I guess now one of my concerns is making more universal
statements. I mean, why repeat "There is a bed here" and "There
is a chair here" when I can type "There is a [item] here" and
have the code take care of all that? But
the two tricks I need to learn is making upper and lower case properly so it
doesn't say "There is a BED here" or garbage, and also determining,
with more descriptive ones, which ones go where ("The TOILET PAPER is
RUSTY" should not occur... although that would certainly be disturbing).
Subscribe to:
Posts (Atom)