The Game Technology discussion thread *Read first post before posting*

I've actually had this conversation a while back with co workers. The consensus is that we made it too easy for devs to get stuff working on our console, and now it's backfiring on us by making developers lead on PS3.

Tongue in cheek? I'm not sure how anyone can legitimately consider the current state of the Xbox 360 relative to the PS3 as a backfire.

I mean, even if you could definitively say "XXX game would have had better AI if they hadn't dealt with PS3" it's not relevant, because games are just a series of trade-offs. In this case a 110mb hog of an AI system probably represents cuts elsewhere.
 
Tongue in cheek? I'm not sure how anyone can legitimately consider the current state of the Xbox 360 relative to the PS3 as a backfire.

I mean, even if you could definitively say "XXX game would have had better AI if they hadn't dealt with PS3" it's not relevant, because games are just a series of trade-offs. In this case a 110mb hog of an AI system probably represents cuts elsewhere.
Yes tongue in cheek, although there are a few folks here that get upset when developers change their lead console from us to the PS3. Considering how close the games are in visuals, features and performance, even for the exclusives, we're quite impressed by how well we're holding up against something that, theoretically, is significantly more powerful. It's one of those cases where good design decisions outweighed raw processing power. It's a good example of how a console is more than just it's megaflops.
 
Any guesses on how big the AI dataset on a game like Halo Reach is?
And how do games like KZ2/3 deal with the issue on PS3 (since they have pretty good AI).

I don't think any console game (including 360 exclusives) is using more than 100MB of memory just for Ai. But maybe I'm wrong :)
 
Last edited by a moderator:
Yes tongue in cheek, although there are a few folks here that get upset when developers change their lead console from us to the PS3. Considering how close the games are in visuals, features and performance, even for the exclusives, we're quite impressed by how well we're holding up against something that, theoretically, is significantly more powerful. It's one of those cases where good design decisions outweighed raw processing power. It's a good example of how a console is more than just it's megaflops.

Any chance we'll get an aftermath report on the Xbox 360 development and design decisions once the nextbox is released?

Anyway I take it the mood and morale are quite good within your department given what looks like a successful launch of both the Xbox 360 revision and Kinect accessory less than 6 months apart.

OT: I haven't yet played the game but to be honest all this talk has made me consider getting it.
 
Any guesses on how big the AI dataset on a game like Halo Reach is? And how do games like KZ2/3 deal with the issue on PS3 (since they have pretty good AI).

To be honest, absolutely no clue :) I don't really think current ai in games is all that great personally, be it Halo or KZ2. I mean when I was playing KZ2 and would die, the ai in the segments would replay itself the exact same way every time I went through it. Play any game online and there is no way it will unfold the same way twice. In my mind ai has totally stagnated this gen, although with online being so popular maybe it doesn't matter as much anymore.


I don't think any console game (including 360 exclusives) is using more than 100MB of memory just for Ai. But maybe I'm wrong :)

You might be right generally speaking, but what choice is there when these machines have so little ram. I'm not an ai expert, but the most promising stuff I had seen at the time were code that collected mountains of data on player history and adjusted itself accordingly based on that. All the purely algorithmic based solutions eventually became predictable in their behavior, but at least if you are armed with player history then new opportunities open up. It's definitely a brute force approach, but at this point there isn't anything else in the ai world that's all that impressive. I mean, playing online makes current ai look downright silly. Have the basic approaches to ai really changed all that much in the past 5 years? The ram situation really hasn't done ai any favors.
 
Did you read the thread?
SPU utilization levels on their own don't tell much of the story, they could be busy 100% of the time running inefficient code...
The sentence you separated from the next sentence was not meant to be treated like that. It hinged on the 2nd sentence in order to be complete. If you have an SPU usage chart WITH a list of jobs running on them, it would give a better picture of the inefficiencies (like only seeing 10 SPU jobs when 1st party can run hundreds of SPU jobs). Reading them both together would eliminate the logic in your reply. Could that be why you separated my post in such a manner?

Again, did you read the thread?? There's been several warnings about this kind of talk.
There is nothing wrong with my post. We all know that each system has strengths and weaknesses. We all know that multiplatform games can't really take advantage of PS3's strengths for obvious reasons (said plenty of times and in multiple threads). Therefore, there is nothing wrong with my post. However, I don't see what your reply to my post adds to the discussion.
 
To be honest, absolutely no clue :) I don't really think current ai in games is all that great personally, be it Halo or KZ2. I mean when I was playing KZ2 and would die, the ai in the segments would replay itself the exact same way every time I went through it. Play any game online and there is no way it will unfold the same way twice. In my mind ai has totally stagnated this gen, although with online being so popular maybe it doesn't matter as much anymore.




You might be right generally speaking, but what choice is there when these machines have so little ram. I'm not an ai expert, but the most promising stuff I had seen at the time were code that collected mountains of data on player history and adjusted itself accordingly based on that. All the purely algorithmic based solutions eventually became predictable in their behavior, but at least if you are armed with player history then new opportunities open up. It's definitely a brute force approach, but at this point there isn't anything else in the ai world that's all that impressive. I mean, playing online makes current ai look downright silly. Have the basic approaches to ai really changed all that much in the past 5 years? The ram situation really hasn't done ai any favors.

Oh, I thought Halo Reach had pretty good AI (for enemies at least) it was interesting to fight


It's definitely better than it was on Halo 1/2 last gen, once an Elite even got on the turret of the warthog I just bailed out of and started shooting me.
 
We all know that each system has strengths and weaknesses. We all know that multiplatform games can't really take advantage of PS3's strengths for obvious reasons (said plenty of times and in multiple threads).

I'll admit I don't read this forum often so I don't know what the "obvious" reasons brought up in so many threads are... but it's not accurate at all to say that multiplatform titles "can't" take advantage of PS3's strengths.

Assuming we're translating "take advantage of the PS3's strengths" as "write SPU code."
 
You might be right generally speaking, but what choice is there when these machines have so little ram. I'm not an ai expert, but the most promising stuff I had seen at the time were code that collected mountains of data on player history and adjusted itself accordingly based on that. All the purely algorithmic based solutions eventually became predictable in their behavior, but at least if you are armed with player history then new opportunities open up. It's definitely a brute force approach, but at this point there isn't anything else in the ai world that's all that impressive. I mean, playing online makes current ai look downright silly. Have the basic approaches to ai really changed all that much in the past 5 years? The ram situation really hasn't done ai any favors.

So how much ram would something like that typically use in a typical case scenario? Are we talking about hundreds of megabytes or gigabytes?

Also in general terms are the software developers feeling 'antsy' yet about trying out new hardware?
 
So how much ram would something like that typically use in a typical case scenario? Are we talking about hundreds of megabytes or gigabytes?

It's variable size, but more like megabytes really. It's a cumulative learning process though so the database of player knowledge keeps growing over time. Sports games for example, in current ai eventually you know exactly what the computer will do in every situation to where it just gets downright boring. Now, we know that during testing qa spends hundreds of man hours playing the games before they are shipped. What if all that data were recorded, saved and shipped with the game as the "baseline knowledge". So every move qa makes in every situation, as well as the computers responses and success rates, etc, all of that gets glopped into a massive ai database and ships with the game as the default. So when the player gets the game in his hands he will have typical ai to deal with, supplemented with hundreds of hours of example situations for the code to reference and tweak the ai accordingly. The players data gets added to this database as well when he buys the game and starts playing, and data from people on his friends list can even be merged into this brain as well over time. So it's just keep growing, changing and adapting, the ultimate goal to have a non predictable opponent over time.

You could even have special builds that let qa play as the enemy, so genuine human movements and planning get recorded and added to the database of ai possibilities for situations. Or, when the user plays a game online, record the opponents data and add it to the collective knowledge base as well. I don't really know enough about ai to know if this is the right way to go about the problem since it's a very brute force method, but current ai solutions just aren't working well enough at creating opponents that adapt and change over time so it's an interesting experiment. It does need a lot of ram, but wouldn't it be cool if every week the ai surprised you by doing stuff you never expected.

Shooters can benefit from this as well. What drives me nuts in current shooters is when you die and replay a section, and as I'm walking through the level again, there go all the ai guys exactly where I expect them to go...again. Why is he running to that barricade...again? Why doesn't he head up those stairs? Charge at me? Double team with another ai dude? I mean, just do something different to shatter the illusion that it's a cpu controlling everything. I think all shooters are currently plagued with this. Some try to randomize it a bit with scripts, but it's not enough. And all that online data? If you are playing similar levels online as with single player, then all that human activity could be harvested for ai use by adding it to the knowledge base. So the computer ai over time could know that hmm ok, the player ran along that alley and hid in that corner, and I remember that in that situation in the past L33tHax0r47 ran up the tower and sniper'd him, PlayerHater19 ran into the room and killed him with the shotty, and chiefbootknocka14 tossed a grenade through the window. Ok, this time I'll pick the gernade ai solution to the cowardly human player.


Also in general terms are the software developers feeling 'antsy' yet about trying out new hardware?

It's the opposite problem really. Give a coder new hardware and they are all over it! That's where you can get into horrible trouble if you don't set a baseline. For purposes of code related dram use, the ps3 sets the baseline. It has 256mb of dram of which the os eats some, standard code moduls eat some, and standard graphics needs eat some. Whatever is left is the absolute maximum you can afford to use for this generation of games. Go past it and, well, guess who will be spending late nights at the office until it's fixed :)
 
With respect to 60Hz:

-I still don't think that it is the main important factor for COD...but I cannot prove it, and you guys cannot prove it...thus it is a little bit difficult to come to a conclusion. Treyarch concluded this, Insomniac the direct opposite and the Unleashed guys research a tec where you get the visuals, but not the controller response...so who is right, judging financial success...of course the Treyarch guys.
-But I also want to mention, that most of the (I admit limited) reviews I read stated things like "tec shows its age", "tec always the same", "tec does not evolve", ... and I am really not sure if you can "afford" a real 60Hz game throughout the whole console life time...
-I also want to mention that I am able to appreciate 60Hz gaming, in the form of Dante's Inferno (which seems to be rather stable 60Hz according to DF) - so I am happily converted if I personally can precept the value of 60Hz.



With respect to parity and PS3 version:

-Babarian, you stated in the BO thread that parity was always intended. This is something I cannot understand (being myself an engineer/mathematician):
-Joker exactly explained us how parity can be achieved:
...
2) He demo's it on ps3. It looks good. More memory would improve it, make it more human like, but hey we don't have more memory, and this version will automatically work on the 360. So we go with it because it's ready to go on all platforms.
...

- For me, this seems to be rather easy?!? Just make PS3 lead platform -> parity achieved! It is a simple/objective engineering decision. So if you guys have parity on the agenda...it seems to me that the biggest fault you can make is making X360 lead!?!? And this is what you did, and this is what I simply don't understand?



If you allowed to talk, insight into some decision making is very appreciated!


OT: anyway, read that BO now has something like a story...last piece I needed for my decision->but I'll buy X360 version...for sure!
 
There is nothing wrong with my post. We all know that each system has strengths and weaknesses. We all know that multiplatform games can't really take advantage of PS3's strengths for obvious reasons (said plenty of times and in multiple threads).

You should go back and re-read those threads. It's been stated many, many, many times that if you write stuff to run fast on the PS3's SPUs it'll run fast on the 360 and PC as well. You can take advantage of a good deal of the PS3s strength in a multi-platform game.

With respect to parity and PS3 version:

-Babarian, you stated in the BO thread that parity was always intended. This is something I cannot understand (being myself an engineer/mathematician):
-Joker exactly explained us how parity can be achieved:


- For me, this seems to be rather easy?!? Just make PS3 lead platform -> parity achieved! It is a simple/objective engineering decision. So if you guys have parity on the agenda...it seems to me that the biggest fault you can make is making X360 lead!?!? And this is what you did, and this is what I simply don't understand?

Even if you aim for parity you can overshoot with your baseline and the weaker platform (relative to your particular game) will still suffer more.

If the weaker platform can't make the baseline you have two options:
1) Gimp the stronger platform even more
2) Let the stronger platform run ahead.

Mod: Removed non-technical opinion
 
Last edited by a moderator:
Yes tongue in cheek, although there are a few folks here that get upset when developers change their lead console from us to the PS3. Considering how close the games are in visuals, features and performance, even for the exclusives, we're quite impressed by how well we're holding up against something that, theoretically, is significantly more powerful. It's one of those cases where good design decisions outweighed raw processing power. It's a good example of how a console is more than just it's megaflops.

Absolutely, you guys did a great job there.

Incidentally, AI should never take much memory. The biggest thing holding back good AI in a single player campaign is QA/Testing rather than good AI routines being hard to program. You can easily make clever AI that learns and changes strategy, but it is very hard to make it so that it doesn't break the game. And here I don't just mean cause a bug, but also creating difficulty spikes well beyond the capabilities expected from a player at any chosen difficulty level.
 
function said:
Complaining about a lack of parity is at odds with wanting to see highly optimised* versions of multiplatform games for different systems.
1) Multiplatform in general is at odds with "highly optimised"
2) Serial game production(usually 'AAA' productions that have unmovable release dates and 2 or less years of devtime) is at odds with "highly optimised"
3) Monolithic codebases spanning years of legacy code (endemic of most yearly releases, as well as multiplatform codebases) are at odds with "highly optimised"
etc.

Games compete with software on their own platforms, the "bad" multiplatform releases often fall below par on their own platform (in one or even multiple ways), which is the real problem, rather then nebulous claims to hw utilization on some platform or other.
 
If you have an SPU usage chart WITH a list of jobs running on them, it would give a better picture of the inefficiencies (like only seeing 10 SPU jobs when 1st party can run hundreds of SPU jobs). Reading them both together would eliminate the logic in your reply.
No, such a chart can't give you any insight because it doesn't show if/why you are stalled or if you are running inefficient tasks. And you would need a lot of additional information. I wish performance analysis would be so easy :D

And i think the bolded part is unfair and insulting to most multiplat developers. Are they more stupid than Sonys 1st party devs or what? There are a lot of examples of great efforts, some recent made by the devs of Saboteur, Force Unleased II or Blur. And writing a good task based scheduler is not that hard, even i (a dumb business developer) can write such stuff in a couple of days.

On topic: Thanks Barbarian for the insights. I'm glad you are sticking to a fluid gameplay experience with 60fps. Recorded gameplay is also a great new feature that every game should have.
 
For me, this seems to be rather easy?!? Just make PS3 lead platform -> parity achieved! It is a simple/objective engineering decision. So if you guys have parity on the agenda...it seems to me that the biggest fault you can make is making X360 lead!?!? And this is what you did, and this is what I simply don't understand?

One thing to remember...leading on PS3 will make parity *much* easier, but it will also make development times longer. Games with flexible schedules don't have to worry out it as much, but games on very fixed schedules like yearly sports games or the Cod series don't have that luxury. They have a fixed date and they need to make that date, period, so they can't mess around. I can tell you first hand that if sports games miss a ship deadline, the fines can be in the millions! The results of Cod missing christmas I imagine would be catastrophic as well. So they will always chose the best dev environment to get the job done.

Fyi, what we did on mlb years ago was work on the versions in parallel, but most people had 360 kits to keep development moving along fast. If someone broke the nightly ps3 build then they would get a warning the first time. If they broke it again, then they got a visit from IT who replaced their 360 kit with a ps3 kit. This was a long time ago, so back then the ps3 dev environment was miles behind the 360's, so the threat of losing your 360 kit was very effective in making sure the ps3 build ran smooth.


1) Multiplatform in general is at odds with "highly optimised"
2) Serial game production(usually 'AAA' productions that have unmovable release dates and 2 or less years of devtime) is at odds with "highly optimised"
3) Monolithic codebases spanning years of legacy code (endemic of most yearly releases, as well as multiplatform codebases) are at odds with "highly optimised"
etc.

Games compete with software on their own platforms, the "bad" multiplatform releases often fall below par on their own platform (in one or even multiple ways), which is the real problem, rather then nebulous claims to hw utilization on some platform or other.

Generally speaking I agree with you, especially near system launch. But it does change over time. We're now five years into this gen so the multi plat teams have had a lot of time to re-write stuff. I suspect some stuff like ai is still legacy, but the graphics related code is probably all custom to each platform by now. Plus multi plat games often have more money and larger teams backing them so they can accomplish stuff that even a ps3 exclusive studio may not be able to. Finally, the multi plat studios have better debugging tools, namely 360 dev kits. For example, can you debug pixels yet on ps3? That was one of the coolest things on the 360 dev kits way back where you can debug the entire history of any pixel and see how it's color came to be, watching it progress through the shaders and even change the shaders in realtime right in the debugger. I wonder if ps3 dev kits ever finally got that functionality. Stuff like that makes development so much easier. It's ironic, but when I was a ps3 only programmer for a few years the most important tool in my arsenal was a 360 dev kit. I'd work on ps3 tools when I could, but sometimes I had to break down and go to someone with a 360 kit to debug something that would just take too long to figure out with just a ps3 kit. Maybe that's changed though, it's been a while so I don't know what the divide is now.
 
First, easier development meant shorter development time, a couple years ago. Now, easier development means LONGER development time? Hmm...
 
First, easier development meant shorter development time, a couple years ago. Now, easier development means LONGER development time? Hmm...
He said that with leading on ps3 you will achieve parity easier,but will have longer development time,not that development itself will be easier.
 
First, easier development meant shorter development time, a couple years ago. Now, easier development means LONGER development time? Hmm...

Easier as in easier to get the game working at parity on both machines. In other words, if you have everyone on ps3 kits then it will take you longer to make the game, but the resultant game will be very close parity on both versions.
 
Back
Top