This was my assignment for the first week of my class and I felt like it made a good blog post so I hope you enjoy!
Pick a game you've played and discuss two bugs or exploits you encountered while playing. You will need to play close attention in order to find some of these bugs, but they are there. Write 250 words with your analysis. In order get full credit the analysis must include:
- Title, genre, and platform of the game
- How much time you played in order to discover 2 exploits
- Full description of the bugs - what happened, when, where, what were you doing
- Discuss if the bugs are software or design related
- Suggest a possible solution for the bugs
As I began thinking about this assignment I was going over
various exploits that I had found and used or decided against using more than
particular bugs I had found. Since the
main two things I’m going to describe are exploits I will also include a third
encounter with an easily explained bug I stumbled into.
The
first exploit I’ll get into is the simpler of the two and one I discovered completely
on my own. Skyrim is an enormous open
world role-playing game which allows you to play in a ton of different
ways. It has more rich content than any
other game I’ve played; it follows that it’s also one of the buggier games due
to that though. I play it on the
PlayStation 3 and discovered this with my second character, so probably between
twenty-five and thirty hours of gameplay.
The exploit is quite simple: when you pay a trainer to teach you,
upgrading your skill, the money goes into their inventory and when those
trainers are your followers you can access that inventory retrieving that
money. So one of the early followers,
Faendal, can train you in archery up to I believe 50 skill level. You can only be trained five times per level
but near the start it doesn’t take much more than that to level up. Faendal can be you follower and then after
you train, ask to trade some things with him and take your money right
back. Not only does this allow you to level up very
quickly, you also get a useful, if not main, combat skill upgraded. Personally, I decided not to use this since
it cheapened the game for me. I tend to
feel this way about exploits but for the most part I don’t mind them being in a
game. This one would be a pretty easy to
fix one though as it’s a design feature.
You could simply remove the gold from the world entirely when you pay
for a trainer though this would slightly lessen immersion since it would just
vanish. A better solution would be to
put that money into the same type of inventory that keeps their clothes and
extra weapons. For example, Faendal will
always have a set of clothes, a dagger, and a bow no matter how much you take
from his inventory. Then, you could have
that gold drop should you choose to kill him.
The inventory you can access could be more of what he’s holding for
you. He wouldn’t likely just give you
back all the money he earned from teaching you after all. The gold could also be reset every so many in
game days as well, just like most containers in the game.
I can never decide if he bothers me or not... Ah well, better than Sven! Bloody Bards -.- |
This
next exploit is quite a bit more complicated so I’ll try to keep it
simple. Fire Emblem on the Gameboy
Advance is a tactical/strategic role-playing game. I discovered the feature (as it is intended,
just not exploiting it) on my own after about maybe 4 hours in or so the first
time I lost a character. When I
restarted the game, it loaded right before the fight and I just lost the
character again. In essence I had
discovered the slightly less than random Random Number Generator (RNG from now
on). I didn’t really understand though
and only got a better inkling later when I leveled up after a fight and had
almost nothing upgrade for my character. I wanted to make sure I hadn’t done
something wrong so I looked it up. I only
properly understood with a fair amount of research about it on my part. Fire Emblem uses a series of numbers
previously generated that range from 0 to 99.
Every time there is a random event in the game such as hit chance,
critical chance, chance of a special one-hit-KO activating, stats improving at
level up, etc. it uses one to two numbers.
The method for exploitation comes
from the numbers all having been set up before you start and using the movement
paths to figure out if they are generally “high” or “low”. Say one character can move five spaces. You set the movement path as one right, one
down, two left, and one up. You have
used the max amount of movement to go one space left. If you move the path one more space up, what
path will be drawn? Will it be up then
left or left then up? The creators
decided to use the RNG to determine this.
If the next number is “high” (50-99) it will be left or right first and
if it is “low” (0-49) it will be a vertical path first. So you save the game (it autoaves after every
confirmed action) and check movements from which you can get a list of high or
low values. Then you reset the game and
you have a general list of all the random rolls you’ll get. It’s impossible to be perfectly precise but
this is still a huge advantage. In fire
emblem, lower is better. If the chance
of getting a crit is 25 percent then a value below 25 will succeed.
To use this knowledge you can
either figure out the projected battle outcomes or use it to dramatically
improve your stat gains. The latter is
more interesting and the only thing I considered using it for. First, get a character close to level up and next
to an enemy they can kill. Then make a
list of high and low values from the paths and find a string of mostly low
values (7 is the best since that is how many stats might be improved). Then you work backwards; you attack first,
the hit chance is calculated with two
numbers in every game released outside Japan, and if you hit, then there is a
number for the critical chance. If the
enemy survives then they get the same thing (if they miss, there isn’t a number
used for the critical roll) before a second attack that once again uses 3
numbers. So if you are killing the enemy
with one move it will only take the 3 numbers before. If, however, you are killing them after their
retaliation then it will be seven to nine numbers before (depending on if you
miss the first attack and if they hit). Once you figure that out, you load up
the save before you calculated the numbers and use the same trick of the path
to use up the numbers before where the attacks should start. After all your work, the character will level
up and get a large number of their stats increased making them much more powerful
than they would probably be.
This would make me smile. |
Personally, I find this exploit to
be not only a ton of work but not important.
I find it more interesting to have the random aspects of the leveling up
prevalent. It increases both excitement
and replayability for me. If the makers
wanted to take this capability out of the game there are a few methods I
thought up. You could have the numbers
recalculated every time you load up the game but then people could do something
similar where they just keep reloading to get a good outcome. A much better and simpler method would be to
have the paths prioritize going either horizontal or vertical (I’m partial to
vertical). Then there would be no way to
determine what the RNG numbers are even generally and it would be as if the
game was generating a number every time.
Now, as I mentioned, I did want to
do a third one quickly on the bug I found a while back. My sister and I were playing Lego Harry
Potter, an action adventure game, on PlayStation 3 when we encountered a
game-breaking glitch. We were playing
very thoroughly and it was around 75 percent of the way through so we had
probably played somewhere around 15 hours.
This was a software glitch, unlike the last two exploits. We jumped into a trapdoor, down into a secret
area. It autosaved as we entered that
place but after solving the puzzle, the thing that was supposed to bounce us up
and out didn’t actually get us out, just up.
No matter what we did, we couldn’t leave that small room and since it
had saved, there was no way to continue.
We had to quit and eventually play back up to that point. They did fix this but at the time it was
completely awful. To fix it, I assume
they fixed either the launcher or the room exit location so that it would
actually get you out when it was supposed to.
Sirius only kind of dies. Cause... He's a Lego. |
All RNG details were obtained from:
“Random
Number Generator FAQ” by Misael Villegas
http://faqs.ign.com/articles/520/520430p1.html
http://faqs.ign.com/articles/520/520430p1.html