The Hard Science of Making Videogames
twoblackeyes writes "PopSci delves into the 10 greatest technical challenges faced by game developers today, and the technology that will hopefully make them a thing of the past. At the top of every dev's wish list is increased realism: realisitic fire, water, enemy AI, material physics, etc. Here directly from the developers where the tech stands today, and where it will likely be tomorrow. '4. Artificial Intelligence - Problem: Once upon a time, the bad guys in videogames wandered around mindlessly, shooting at you while they waited to die. That doesn't cut it anymore. Players demand sophisticated enemies to fight and reliable in-game allies with which to fight them. Thing is, it's freaking complicated, and it eats up processor speed. "We're faking just enough smarts to make it work," says Mathieu Mazerole, lead engineer on Ubisoft's Assassin's Creed. Status: Imbuing characters in a game with lifelike decision-making ability involves employing the kind of high-level logic theories--learning decision trees, mobile navigation, finite-state machine models--used by top robotics engineers.'"
would rank the importance of realistic water simulations above the importance of good artificial intelligence in games.
And to think, I used to subscribe to popsci...
using namespace slashdot;
troll::post();
On the contrary, it is both. However, the topics discussed here are the science portion of it. Things like the textures, character design, music, scripting, etc. are the art of it.
http://blog.heavensdomain.net
" '4. Artificial Intelligence - Problem: Once upon a time, the bad guys in videogames wandered around mindlessly, shooting at you while they waited to die. .."
I think this describes me on any FPS.
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
The article should be renamed from "10 greatest technical challenges faced by game developers today" to "10 greatest technical challenges faced by first person shooter game developers today" Contrary to popular belief, not all game developers are striving for photorealism.
You'd think with the success of casual games, and less "technically advanced" games for platforms like Wii and the web, game developers would see huge market of gamers who are simply looking for games to be more fun again. Who cares if it has the latest AI or better cloth physics? Leave the better cloth and fire effects to the SIGGRAPH people :).
It's just that even if they solve all these issues with games, and are able to render a true to life simulation with AI that can mimic a real person. It still doesn't even begin to solve the most important aspect of video games, which is FUN.
Fun cannot be realized through more processor power, better looking faces or AI.
All these problems are very hard to get 100% right and all they really need to do is to get it right enough that people pretend that they are in a fantasy world. Which is why old text based games like Zork can still do a good job of pulling a player into the world enough that it's fun. It's all about stimulating a person's imagination, not creating a photo realistic simulation of reality.
Sure it would be neat to have photorealistic fire that can burn the entire environment and interact with water in a realistic manner. But is that what you really want? I mean it's also very fun to be able to play as the human torch, which means that you have to bend the laws of physics in your game world to simulate such a being. So it's not really about being real as much as fun, no?
Art direction, character design, level design, are much more important then these issues, yet we are spending much more time on the motion capture of a video game then on the plot. Crazy, IMO.
Designing good AI is extremely difficult.
But is good AI really needed in games? Wouldn't it be enough to give the enemy AI's a few basic styles/options and what to do when they run out of ammo?
#1. Team options - how well do they operate together?
#2. Seek cover/concealment vs charge!
#3. Prioritize area effect weapons vs others (grenades vs pistol).
#4. Play dead vs pick up comrade's weapon.
You enter their zone, they have high team operations so they'll ALL have the same reactions. They ALL take cover and throw grenades at you.
You enter their zone, they have low team operations so they'll ALL be decided individually. "A" charges, firing his pistol as he runs. "B" ducks behind a tree and throws grenades until he's out then he fires until he's out and then he plays dead. "C" ducks behind a tree, shoots his pistol and then tries to move to a tree closer to you. When he's out of ammo, he grabs what he can off of "A"'s corpse and keeps fighting.
With a few options, each game will be very different.
Did anyone actually read this article before greenlighting it? This isn't news, science, well researched or even well written. It's crap.
Less than a year ago, there wasnt enough processing power to dynamically generate the movement of water in games, says Lee Bamber, a programmer for 20 years and founder of The Game Creators, Ltd.
Wow, fluid simulations started less than a year ago? Damn.
Simulate it on the molecular level real time, maybe no. But still.
If a characters face is too close to human, players will reject it, a psychological phenomenon known as the uncanny valley: Objects more familiar to the human eye are inspected with greater scrutiny, leading to a drop-off in acceptance as the simulated object nears the point of being lifelike.
A terrible description of a lousy buzzword.
"Like cramming the sum of all automotive engineering knowledge into a joystick"
Please.... please stop writing.
Dance Dance Revolution is goofy as can be, and I don't play it, but as a "game" it's a lot more fun and interesting than the anti-utopian fascist horseshit that passes for fun these days.
In fact, the Wii opens up a whole 'nother wonderful can of possibilities, as does Guitar god games an similar things. THAT'S where the creative action is, and that's wher ethe REAL innovation is going on. Not in stupid 12 year old boy shoot 'em up bullshit.
RS
Shoes for Industry. Shoes for the Dead.
would place the importance of graphical detail as shown inside above gameplay. If you don't have a good gameplay, you can have 1000000000000 triangle per square inch of pixels, it won't make your gamer more happy. The Primary challenge of a good game is not graphism. it is a good idea which translate to a good technical gameplay.
C. Sagan : A demon haunted world:
http://www.amazon.com/gp/product/0345409469/
visit randi.org
Yes, AI is difficult. The best way to do it is to model it on the way actual players play, which would mean collecting a large database of player actions in specific situations, something that is finally becoming achievable due to the popularity of online play.
Programming a logic tree is old school. It doesn't work very well because it's easy for a player to "learn" the logic tree of a bot...It's something you don't even do consciously, but after you find yourself tossing a grenade in a certain direction, because you just sort of know the bot is going to be there...It's game over. You know the tree.
Picking up the data from the game though, you can get a lot of information. Using weapon X, 70% of players started shooting from 100 meters, hitting the target 30% of the time. Why? Who cares? A bot that engages from that distance with that weapon at that accuracy will seem normal to a person. Weapon nerf comes along, and all of a sudden people only engage with that weapon at 20 meters or less (desperation). The tree updates itself.
Learning systems are the next step. Build the tree from harvested data, don't sit and try to figure it out yourself. You don't even have to make it that complicated a tree...Take the 10 most popular situational actions (Bot on Defense with Weapon X) add some random rock-and-roll to keep the choices from getting repetitive, and you can work out positioning and situational reactions based on statistical comparisons with the actions of previous players.
Compile stats on a daily/weekly basis, resample the tree, and push it out to the clients as a patch...Or hell, if the bot logic is online, just update their datasets.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
The article claims "hard science" but instead is a collection of blurbs that read like half-assed filler written by someone without a clue as to the subject.
Coding with assembly is like playing with Legos. Coding an application in assembly is like building a car with Legos.
This list is about making games more real, which doesn't necessarily mean better. There more to it, such as balance, game play, user interface, premise, and plot.
I'd still rather play NetHack than any MMO game, and I enjoy the early Final Fantasy games more than the later ones.
Trust me, my cat doesn't use learning decision trees, mobile navigation or finite-state machine models when trying to evade me or get into various trouble. And her processing power is pretty dim compared to a computer. Maybe it's time to start looking simpler solutions. Like rules based behavior.
Everyone is now familiar with flocking algorithms. That's one behavior. Model several behaviors, superimpose them where possible (i.e. walk and chew gum), slap a probability algorithm, and that's how a lot of researchers are getting lifelike behavior from robotics. Best of all, you get goofy, unexpected results. Just the type of stuff to make a game interesting.
The world is made by those who show up for the job.
Indeed, two of the problems mentioned in this piece are really the same thing: both Water and Fire are manifestations of Fluid Dynamics. Real supercomputers (not Beowulfs or BOINC nets, but specialist big iron) are mostly used for this sort of thing, and the nature of the problem (non-linear fractal) means that it can soak up every bit of compute power you throw at it and you'll still not really have enough. Indeed, it's going to come down to how good a cheat people can get away with (rather like AI, another of the Really Really Hard problems...)
"Little does he know, but there is no 'I' in 'Idiot'!"
If yes then when enemy is in throw range throw grenades until grenades == 0 or enemy == 0.
If you've gotten to the point where you have to ask that, you've already too far. Ask yourself why you as the designer are giving grenades to the guards inside the art museum.
Why would he need to decide that? He'd use his weapon until it was empty or the enemy were all killed. Then the decision comes in to look for other weapons or to play dead.
Again, he'd use his weapon until it was empty or there were no enemies. Then either look for another weapon or play dead.
Nope.
Nope and that's the point. The tactics the PLAYERS will use will have to CHANGE each time they play because the tactics the enemy will use will have changed.
Why do you think that isn't possible in my scenario?
The same can be said of processors and video cards.
Nope. That's just because it was easier to write them like that. That way there's no way for the players to "get lucky" and get through a level easily. The players have to gain "levels" and "equipment" to beat the "boss" monsters.
Nope. Because the computer will always be able to process faster than the player. The computer will know exactly how far you are from it and which weapon will do the maximum damage at that range. And instantly switch to that weapon.
You're falling back into the "boss" monster mentality. Why does the "boss" need to PERSONALLY be stronger, faster, smarter, etc?
Again, that's a holdover from the old 8-bit games. Kill the minions, kill the boss, grab the treasure, check xp to see if you gained a level, turn in the key, get better equipment, start the next level.
You don't need AI for that pattern. As I've demonstrated. The problem set is already defined by what equipment the players can have, what level they'll be (which yields hit point ranges and spell options) and the room.
With that, you could handle the boss simply by having a few more scripts he would use based upon the possible options I've listed. Of course, if you're still focused on the "boss" monster concept, then giving him a few more scripts makes more sense.
Personally, I don't see the appeal in that.
I find it amusing that an entire piece about the "hard science" challenges in game development doesn't even deal with the development process itself. I mean, when you code in a higher level language, dealing with strings is now easy, whereas it was tedious in C. There's no library sharing like in every other language. There's no #include , whereas there's really nothing new to moving a bitmap anymore.
Even with something like OpenGL, you're still basically given a pile of bolts, beams, and sheet metal and asked to make a car. If I had a nickel for every time game developers reinvented the wheel, I'd be Bill Gates. Heck, I'm still coding font routines and sprite handlers for companies. I heard that even the Wii doesn't have a system level call for the main menu stuff...it leaves that up to you.
Someday, the tools will come along enough that people will be able to work with something higher level like Python or Ruby and not have to worry about twiddling their own framebuffers. We're still in the dark ages in game development this way. Having a CPAN for games is DECADES off. Instead, game developers are stuck trying to make a rock fall or a torch look right, and when they're done tweaking that crap, THEN they remember they have to make a game, not a shadow simulator. Thus: Doom LXXXVIII.
Crap. How about a game that's fun to play ? Yes, I know, I'm getting old and have ridiculous expectations.
*shrug* Now _I_ too would say "who cares about graphics? Gameplay is king." However I end up talking almost daily with a couple of gamer co-workers, who, any way you want to slice it, _do_ place graphics above everything else.
They might _say_ that they value gameplay more, but any talk about some game they've bought will revolve 90% around how awesome or how sucky the graphics are, an you'll have to work on it to get even a nodding acknowledgement of anything else in the game.
A recent conversation with one, for example, went loosely from memory like this. (It's about a game which will remain unnamed because I'm not discussing here whether the game is good or bad. I'm just illustrating how -- whatever other faults the game might have had -- they didn't even play long enough to discover those, they got stuck on "eew, the graphics look like PS2 graphics!")
Him: "Hey, I went and bought game X because you said it's OK, and it's the biggest piece of crap ever. You made me waste my money on it."
(Not the most polite way to start a talk, but maybe he's just joking.)
Me: "Hmm? Well, ok, I guess these things are subjective. What didn't you like about it?"
Him: "The graphics! It looks like a PS2 game! Or like something that might have been ok on the Wii or maybe on the XBox last year, but in the meantime people discovered how to use all three GPUs!"
(I didn't know the XBox had 3 GPUs, I thought the 3 were the CPU cores, but ok.)
Me: "Hmm, well, maybe you shouldn't take advice from me if your tastes are that different. I generally don't pay much attention to graphics."
Him: "Well, I don't care about graphics either, but these are crap! They look like on the PS2!"
(Bit of a contradiction there, I would guess. But let's prod it some more.)
Me: "No, when I say I don't care about graphics, I mean I've played a bit of <insert PS1 game from the 90's> over the weekend."
Him: "Eeew... Isn't that almost 10 years old and with 2D graphics?!?"
Me: "Yep, that's the one. Just saying, I don't care much what it looks like."
Him: "Well, I don't care about graphics either, but, eew, that's 2D and low res."
Me: "Well, the one you were talking about isn't."
Him: "Yeah, but it looks like on the PS2! They can publish that kinda crap on the PS2 or the Wii, if they want to, not on the XBox!"
And so on and so forth.
Now how many gamers are that shallow, I couldn't tell. I like to think that this guy is an extreme case. Still, as they say, if you're one in a million, there are 6000 exactly like you. Plus by virtue of it being a continuum, there'll be some tens of millions in shades of grey on that side of zero.
And to return to whether TFA is fluff or not, well, think of it this way: people tend to gravitate around sites and magazines which see things that way. If one magazine or site told the above-mentioned guy to buy a game 'cause the gameplay rules, even though the graphics suck, I'm guessing it wouldn't take more than 1-2 times following their advice to stop reading it completely. So as long as there are people basing their purchases on glitter above substance, there will be people catering to that market segment. It's only capitalism in action, after all.
A polar bear is a cartesian bear after a coordinate transform.
1) So now the enemy only throws grenades when he's out of bullets? You're missing the point. You gave a very simplistic "If he's within range, throw grenade" explanation. If you use something that simplistic it's predictable and exploitable. More complex scripting is better AI...this is the easy shortcuts you outlined originally aren't groundbreaking.
2) Again, simplistic AI. Move one player into range that can handle the grenades and the AI will switch to lobbing grenades at him while his allies shred him. To be realistic the AI would need to assess the situation and prioritize targets as well as which weapons to use on those targets.
3) So flanking, pincer attacks, getting the high ground, strategic smoke concealment, etc.. are governed under your "Charge or Cover" mechanic? Again, now you're talking orders of complexity higher to achieve anything other than a "wait for player" or "move along quickest route to player" routine.
4) So a scenario should never even be considered because it means the player is already outclassed? That's ridiculous! What if it's 4 on 20? You're outnumbered and the bad guy pin you down with covering fire while they evacuate a VIP. As they pull out of the room they toss some grenades behind them to keep you in cover and delay your advancement. This is exactly the sort of real world tactics missing from games today. With your version they would either run at you and shoot, throw grenades in a confined space or take cover and wait for you. 3 options.
5) The designer should be able to do whatever the hell he wants. What if you have a compound filled with armed guards, who have grenades. You sneak into and get close to your objective, a large reactor, without being spotted. You get spotted though and guards are quickly called from surrounding areas (rather than magically appearing). Should they just start lobbing grenades next to a reactor? Probably not. Again, it's not weakness on the developers part, it's realism. What are they going to do, drop the grenades before they come in? Or maybe in your game non-grenade carrying enemies will just magically appear...
6) Okay, so if there's ever a tank, the designer's an idiot... I guess that rules out a LOT of WWII scenarios then! Oh, and nice job of completely glossing over the need to prioritize weapons!!!
7) Fine, you have a sum-machine gun and he had an M60. You don't need to "adjust" much on an M60 in order to fire it effectively, and it's clearly superior to an SMG in terms of shots down range, but not in accurracy. Some situations it would be good, others it wouldn't.
8-10) For you last couple of points, let me illustrate it like this. You have three people standing in a line, when a whistle blows they either jump up or crouch. That's multiple different combinations, but of the same behavior. They don't automatically start flanking and using squad tactics because they can randomly jump up or crouch, they just randomly pick between some pre-scripted events. The overall effect though is that some guys are jumping and some are crouching...big whoop.
"Life's short and hard, like a body building elf." -- The Bloodhound Gang
"It was a cheat that only looks good close up if nothing much is happening. But why don't you get the wakes from the patrolling boats out there rolling in or making it hard to stay in your own boat? If you blow up a helicopter and the pieces fall in the water, where are the waves from that? That's right, they're not there. And that's because the physics of water is Really Really Hard."
Well the solution is also a trick. Zones of energy. The greatest amount is at point of impact and a certain degree out. That's the first zone. The second has less energy and less visual effects. And so forth and so on till you get to the banks were it could be a simple ripple. This is basically the divide and conquer solution to the problem. most code and processing inner, and decreasing working out. It's also in keeping that the water surface is a sheet.
Fire would be point sources with degrees of repulsion* on each other based on amount of energy from inner to outer (source of greatest energy to least). Basically model energy flow and factor in surrounding (cooler?) geometry.
*This is in keeping with the nature of a gas expansion.
"Indeed, two of the problems mentioned in this piece are really the same thing: both Water and Fire are manifestations of Fluid Dynamics."
In the real world, yes. However part of a trick is to model ONLY what's absolutely needed to create a believable effect.kisses
"It was a cheat that only looks good close up if nothing much is happening. But why don't you get the wakes from the patrolling boats out there rolling in or making it hard to stay in your own boat? If you blow up a helicopter and the pieces fall in the water, where are the waves from that? That's right, they're not there. And that's because the physics of water is Really Really Hard."
Who cares about that level of Water physics? I mean seriously. It adds practically nothing to gameplay, the physics in many games are merely gimmicks, take Bioshock for instance. The water EFFECTS are very beautiful and interesting but you don't need to model the physics of water for it to be immersive. The art, color and sound, and atmosphere built up by the game is far more important then the physics of water.
I mean really... look at all of the best games we've ever played... Take God of war for instance, basically an action-platform game, one of the best games I've ever played who's AI was not overly complicated, but a game that allowed a lot of freedom of action and had well built combat system, tight control, withimmersive camera angles while fighting, all set in a fantastic 'plastic' world in which you were for the most part 'on rails'.
The game EXPERIENCE is most important, what kind of emotions and stimulation you're giving the player matter more then something totally irrelevant to the experience...
When we think of the best games we've ever played, we're not thinking about -- woah, the water physics in that game was 'awesome', we're thinking about something ENTIRELY different, unless the game is based around someone having figured out a way to make it integral to the FUN and enjoyment someone gets out of a game.
I know people have said this every year since 0, but graphics are fine these days. The biggest improvement in my view would be animation/lack of rag doll-ness on the rag-dolls. Animation tends to be either really over-the-top or really static, sometimes varying between the two in a single game. Even some films have this problem (I'm looking at you, Spiderman).
But AI is surely where it's at. Current AI is terrible, and I think most people confuse "hard" with good AI. They just up the accuracy people! That doesn't mean it's more intelligent, it means it's less crippled. Sports games can be even worse - I just started playing a copy of Pro Evo 4 (okay, not new...) and it's shocking. The basic strategy of the computer players is to stand still and look at the ball. Or if there's really a risk of the opponent scoring, run away. And that's a game with a good reputation. Infuriating.
sam brightman