Is programing "to the metal" on XBOX 360 forbidden?

Lol, seems that you guys hate Antwan...

On topic: I always wonder what exclusive devs can bring out of the box! But I guess that Sebbi and his team already hit some metal with their games :)

No one hates Antwan, but people do recognize he has some kind of agenda against the game.

Also studios have been hitting the metal with their games for some time now.

Now that may not be untapped power, but power used differently from a game to another.

Pretty much my thought. It's not about hitting more power but using the power you have more efficiently.

I thought the one interview/video with the engineer was surprisingly honest since he commented on giving the illusion of extracting more power out of these boxes.
 
Wow! (I looked at your posts and learned you are part of a (great I must add) developer) So it turns out "close to the metal programming is forbidden" was just a hoax .. that's strange. I will confront my friend with this knowledge

Companies just want you to think that close to the metal is bad thing. Managed code is all the rave now. They have been trying to force silly APIs on people for decades and for the most part it has worked. But as you can see that all dev kits/tools are not created equal and first party game will always look better than third party. Either they know more that 90% of the world's developers or they are coding to the metal. Win for them / fail for you.
 
Companies just want you to think that close to the metal is bad thing. Managed code is all the rave now. They have been trying to force silly APIs on people for decades and for the most part it has worked. But as you can see that all dev kits/tools are not created equal and first party game will always look better than third party. Either they know more that 90% of the world's developers or they are coding to the metal. Win for them / fail for you.

API abstract of the underlying hardware, useful on PC, not really on a console.
(Now if you meant that API are unnecessarily fat and ugly, true and unfortunately nothing new, which makes me wonder what those API designers are thinking...)
 
APIs come in handy for forwards compatibility though, which could be useful on a console. Or cross device compatibility, such as running your same game on XB3 and Win Mobile phone.
 
API abstract of the underlying hardware, useful on PC, not really on a console.
(Now if you meant that API are unnecessarily fat and ugly, true and unfortunately nothing new, which makes me wonder what those API designers are thinking...)

Are you talking about APIs on consoles or PCs being fat?

Based on this and other related threads, I thought APIs were a necessary evil in game development today, even on consoles.
 
This thread isn't about what x engine can do or if x engine is better than y engine. It's a discussion about how "close to the metal" console developers can go. I'll take the fall for not being clearer in my previous post, but I expect everyone to now be on the same page. I can only hold back Brit for so long. :p

If you see an off-topic post, please do not respond to it but instead report it (and that's not unique to this thread!).
 
Being able to construct an engine which can handle realtime reflections on all cars is considered art instead of programming now?


a simple cubemap, and the one applied to the player's car is the same applied to the other cars. So when the player's car passes in a tunnel, the reflection map of the other cars, even those which are not in the tunnel, is the reflection of that tunnel.
 
This is from 2009:

It's often been said that one of the many advantages of working on console is that you have a fixed set of hardware to work with, that you can "write to the metal" and code to the "bleeding edge" of the spec. However, our sources suggest that this simply isn't an option for Xbox 360 developers. Microsoft doesn't allow it.



Suspicions were first aroused by a tweet by EA Vancouver's Jim Hejl who revealed that addressing the Xenos GPU on 360 involves using the DirectX APIs, which in turn incurs a cost on CPU resources. Hejl later wrote in a further message that he'd written his own API for manual control of the GPU ring, incurring little or no hit to the main CPU.
"Cert would hate it tho," he added mysteriously.



According to other dev sources, what that actually means in real terms is that circumventing the use of the standard APIs would result in a submitted game not ever making it past Microsoft's strict certification guidelines which state that all GPU calls need to be routed through DirectX. Compare and contrast with PS3 development, where writing your own command buffers and addressing the RSX chip directly through its LibGCM interface is pretty much the standard way of talking to the hardware.

http://www.eurogamer.net/articles/digitalfoundry-directx-360-performance-blog-entry

And from the twitter in the article:

@ivanassen : I wrote an api for direct control of the gpu ring. Manual packet submission. Proves low/no cpu cost. Cert would hate it tho

Ivan-Assen Ivanov ‏@ivanassen @primaryring Sounds good, but needs to be done by MS, right? Let's hope they do something like that for some late-cycle graphics boost.

https://twitter.com/jimhejl/status/1452696474
 
There is always a way to code to the metal even it is undocumented or a first party secret. Nowadays consoles are so fast that you can do pretty much anything you want at 60fps but if you compare thirdparty games to first party games there is definately a clear difference in the amount of performance that is achieved. Maybe the first party people are putting in more work (artists, labour) but I doubt their programmers are better than people in the wild so they must know something that other people dont know and coding to the metal is the best way to get those magical results on limited hardware.

Not to mention people who depend on engines that are on top of the console such as Unreal. I don't think they have much choice but to use the APIs provided.
 
There is always a way to code to the metal even it is undocumented or a first party secret. Nowadays consoles are so fast that you can do pretty much anything you want at 60fps but if you compare thirdparty games to first party games there is definately a clear difference in the amount of performance that is achieved. Maybe the first party people are putting in more work (artists, labour) but I doubt their programmers are better than people in the wild so they must know something that other people dont know and coding to the metal is the best way to get those magical results on limited hardware.

Not to mention people who depend on engines that are on top of the console such as Unreal. I don't think they have much choice but to use the APIs provided.

First party don't have to make difficult decisions about how to achieve the same thing on multiple platforms. I think thats the biggest factor because you dont want to write large amounts of specific code just for one platform. Even at API level there are quirks for each platform you have to make sacrifices to keep the platforms as similar looking as possible.

Not only for looks, but you also want to reduce the platform specific bugs to as low as possible.
 
API abstract of the underlying hardware, useful on PC, not really on a console.
(Now if you meant that API are unnecessarily fat and ugly, true and unfortunately nothing new, which makes me wonder what those API designers are thinking...)

The API on Xbox is the reason we've had to debug one GPU crash on that platform in the last 4 years vs 1 every couple of weeks on PS3. I would not say that APIs are not useful on consoles, nor that programming "to the metal" is always good.
 
The API on Xbox is the reason we've had to debug one GPU crash on that platform in the last 4 years vs 1 every couple of weeks on PS3. I would not say that APIs are not useful on consoles, nor that programming "to the metal" is always good.


Just out of curiosity,

How many full PS3 games has your team had published?
 
Just out of curiosity,

How many full PS3 games has your team had published?

It's significant enough to establish the team as having expert credibility in what they say about Xbox or PS3 development. You should not doubt what they say.
 
It's significant enough to establish the team as having expert credibility in what they say about Xbox or PS3 development. You should not doubt what they say.

I see what you're saying but the question is still relevant and isn't attempting to undermine their credibility. One Xbox debug in 4 years and 1 a week on PS3 is relevant if they've only work on one Xbox game in the last 4 years an several PS3 games etc.
 
I see what you're saying but the question is still relevant and isn't attempting to undermine their credibility. One Xbox debug in 4 years and 1 a week on PS3 is relevant if they've only work on one Xbox game in the last 4 years an several PS3 games etc.
Yeah, there is a statistical qualifier needed, but that's pretty implied as constant development across both platforms for a significant period of time. It would be good to hear if those PS3 issues are across titles though.
 
That's not much of an answer. I think he was looking for a number.

I don't feel comfortable with saying how many as I don't want to give away which development house he works for. It's significant enough to say they have multiple titles released over the systems' lifetime. Their titles are released on several platforms (PC, XB360, PS3).
 
I'm interested in discussing the current APIs that console developers are given access to and how close to metal they are. I'm also interested in discussing the pros and cons of those APIs. What I'm not interested in discussing is how many PS triple games a certain game studio produced.

Want to know someone's personal information (like who he works for)? Ask them in PM (btw, this isn't new).
 
Question about handhelds....

Do handhelds like the 3DS, VITA and PSP go API-free, or is there one available?

What's the approx frequency that developers will not use them? Like, is it common?
 
Question about handhelds....

Do handhelds like the 3DS, VITA and PSP go API-free, or is there one available?

What's the approx frequency that developers will not use them? Like, is it common?

I think the license agreements form the company forces people to use the APIs. You have to use the APIs at some point unless you are releasing a hacked cart or doing homebrew code.

The thread is more about how much low level "to the metal" asm hacking you have to do to get a pretty game. VERSUS sticking to the api and just pissing about.

I think the Uncharted on the ps3 is clearly a case of clever to the mental code. First party or third party it really depends on how much you know and how much time you willing to put into learning the machine.

A cross platform engine would always have to make sacrifices - no sense talking about them since your can't go to the mental when you have limited time and money.
 
On PSP1 it was reasonably common to just forego the API and submit raw command buffer. No idea about any of the other handhelds.
 
Back
Top