I don’t care who you are, sooner or later everyone asks “when am I ever going to use [insert academic subject] in real life?” And you know what? Plenty of times that’s an extremely good question that should be answered with a “No, you will never use that again, I’m sorry you wasted your time on this frustrating and pointless exercise.” But sometimes, just sometimes, you get an opportunity to use something you scoffed at earlier. This is a story about a game that I hate and the most recent time I used geometry. I got a Playstation 3 about a year ago, so I have been making my way very slowly through 7 years of the best exclusive titles. I’ve played through Heavy Rain, the first two Uncharted games, the first Infamous, the first God of War, the first Killzone and, much to my frustration, the first Resistance. I hated Resistance: Fall of Man. The story wasn’t horrible for a first person shooter and the campaign was a decent length. Considering this game was a launch title for the PS3, I can definitely forgive the poor graphics and outdated gameplay design and mechanics. What I found unforgivable was the stupidly smart AI. That might sound like a contradiction, but trust me it’s not. AI can be broken down along a simple graph. Alright, even I have to admit this is a gross oversimplification of the extremely complex concepts that go into programming video game AI, but for this exercise it will have to do. Here are the four basic categories: 1. Simple and Easy There are plenty of examples of AI that isn’t very difficult and isn’t very complex. These are the kinds of games where the enemy stands out in the open and waits for you to shoot him. They fire shots back at you, but you’re almost never in any sort of real danger. It’s like playing a 90’s shooter on the easiest difficulty level. 2. Complex but Easy Pick up any Halo game and load into the campaign on the easiest difficulty setting. Notice how the enemies take cover and shoot at you, but almost always miss their shots? Notice how the grunts go running in terror when you kill one of their friends? That isn’t the most complex AI in the world, but it’s smart enough to react to the things going on around it. But because it’s on the easy difficulty level, you know you’ll be able to breeze through without much trouble. 3. Simple and Difficult I’ll get into this in a moment, since my entire story hinges upon this idea. 4. Complex and Difficult Load in any of the Uncharted games and play on the hardest difficulty level. These games are tough, but the intelligence of the enemies definitely contributes to the difficulty. Not only do the enemies take cover, but they also have a nasty habit of trying to flank you or throwing grenades on your position. It can get very overwhelming very quickly if you don’t know how to strategize on the fly. As I mentioned, a little while back I played through Resistance: Fall of Man. Unfortunately for me, the enemies fell into the third “Simple and Difficult” category. They would use different weapons and take cover, but for the most part they were all pretty dumb and easy to kill. Unfortunately, until recently game developers haven’t tried to develop any really complex AI. However, they knew that they had to make the game slightly more challenging to keep their players interested (it’s very difficult for a player to feel invested in a cakewalk). This results in a horrible practice. Instead of trying to make the AI more complex and unpredictable, game developers made the AI more accurate. A developer can easily increase the difficulty level of a game by increasing the number of hits on target that an enemy gets and increasing the number of hits on target that each enemy requires in order to be killed. If you play Gears of War, you can tell the difference very easily between the easiest difficulty level and the hardest difficulty level. On easy, players become a bullet sponge, able to absorb a ton of punishment before going down (assuming the enemy even hits the player, which isn’t very often). On insane, the player is quickly downed and it takes nearly a full magazine of lancer ammo to down an enemy. Resistance took the cheap route and made their enemies very accurate. On top of this, games sometimes have a difficult time keeping their enemies from being “psychic”. There was a huge problem with this in The Elder Scrolls IV: Oblivion. If you stole something in someone’s house, even if no one was around you, occasionally the guards would run into your house demanding that you pay your debt to society even though no one ever saw you commit a crime. That’s because the AI isn’t programmed to see walls, doors, or any other obstacles unless it impedes their movement. So while you’re unable to see the number and position of enemies in the next room, they have no problem “seeing” where you are, since the computer that controls them can see where you are. (Again, an oversimplification, but you get the idea) There was a problem with Resistance though. One of the weapons, one that a certain class of enemies uses frequently, was able to shoot through walls and other obstacles. This was designed so that if you knew an enemy was behind cover, you could shoot that cover and the round would penetrate and hit the enemy. It was a pretty awesome weapon when the player used it. Unfortunately, this wasn’t so awesome when the enemies used it. They could track your every movement regardless of if anyone could actually see you. They would fire shot after shot that I would have to dodge carefully in order to remain alive. It was a nightmareish scenario that happened time and time again and significantly contributed to my contempt for the game. But I’m not the kind of gamer to give up easily, and eventually I saw that this was a simple math problem. If I could figure out the angles of each shot, I could use their trajectory to calculate the origin of the shot. With a single shot this was relatively impossible, since I could get a straight line to the shooter but wouldn’t be able to get the exact point at which the shooter should be along that line. However, with two shots I could narrow down the potential range significantly. The more shots the enemy took, the more certain I could be of the enemy’s exact position. Then I quickly had to mentally eliminate the wall in front of me and calculate the relative position of the enemy. Not an easy task while you’re also trying to not get killed. Then, after figuring out a possible location of the enemy, I had to return fire through the wall and hope that my shots hit. The only way that I could tell if my shots hit or not, though, is if the enemy stopped firing. If there was a good 30 seconds of silence, I could assume that my enemy was dead. Unfortunately, this wasn’t always the case. Sometimes they would just hide for a while and pop out when I least expected it.
tl;dr: Pay attention in school, sometimes it can make video games a lot less frustrating.
0 Comments
Leave a Reply. |
The Legendary Carmine
Andrew Clayton (a.k.a. The Legendary Carmine) is SSG's Executive Editor. He toils at the stone to make sure this site brings its readers valuable content on a daily basis. Like what we do? Want to see more? Donate to the site using the button below!
Archives
July 2015
|