I'm interested in game development and have some very curious questions. Im a newbie in game dev so pardon my silly mistakes and question and repetition if any. I hope biggies here will guide me and help me. So, here are my questions:

  1. PS3 hardware is like low end PC and PC is very high end, still the games on PS3 can still run very nicely at 720p in 30FPS and some of them even in 3D with very high textures like in uncharted series, god of war and other games, while PS3 is not that powerful compared to high end gaming rig. So my question, is this because the game code on PS3 is a direct machine code written on blu ray game disk's, no abstraction layers in PS3? Because, what i know from PC game code, that it has to go though lots of abstraction layers and hence take longer and powerful hardware to completely process game data. While this may not be case with consoles and the game code their is direct machine code.

  2. But if PS3 game code is layered code as well just like in PC then can someone please elaborate the layers in a simple block diagram? And explain in short how that code works in consoles (PS3) vs in PC?

  3. I guess its a similar question but just being curious. Since, the PS4 configuration is similar to a low or mid end gaming PC, so would there be a difference between game code? And if there is a difference, how much that is?

  4. How is an age old hardware can still perform pretty well like in consoles (PS3/PS4/X360/XBONE)?

I am an embedded developer so very familier with programming like C/C++. Also had some experience with core java as well. But, dont know anything about game development. Sorry for being stupid, i hope i am very clear in asking questions and thanks for answering. :)


  • \$\begingroup\$ This sounds odd but why do you actually care about any of this? Are you trying to create a game that runs on PS3, PC, and XBOX* all at the same time (from one code base)? \$\endgroup\$
    – ashes999
    Jul 11 '14 at 16:48
  • \$\begingroup\$ yes, im willing to develop for PS4 in future. And i have this curious question for so long. \$\endgroup\$
    – Ashutosh
    Jul 11 '14 at 17:06
  • \$\begingroup\$ I don't htink you'll get an answer here; your question will probably be closed as off-topic. \$\endgroup\$
    – ashes999
    Jul 11 '14 at 18:18
  • 1
    \$\begingroup\$ Welcome to the site. This is a Q&A site, not a forum. As such we prefer you ask a single question per post; you've got four questions here. Further, some of them are speculative! overly broad, or otherwise off-topic here; please see the help center. \$\endgroup\$
    – user1430
    Jul 11 '14 at 19:56
  1. Usually, the reason that consoles perform better than PCs with equivalent hardware is that the hardware available on a given console is well-defined, and it is possible for programmers to make optimizations that are not possible for PC games, which need to run on a wide range of hardware configurations. AMD's Mantle API for PC boasts the ability to make these optimizations, but only because it works based on certain hardware assumptions (GCN architecture).

  2. The biggest difference is that PC code has to go through a very complex operating system, while code for a PS3 goes through a very thin layer that goes right to the hardware. Most of the performance differences come from the high cost of memory allocation on PC and the system resources that background processes use.

  3. Most of the game's code would be very similar. The biggest differences would appear in the code associated with file systems, memory management, rendering, and sound because the APIs are different. Even so, the PS4 uses OpenGL and the Xbox One uses D3D, which are both APIs that PC games use, so the code is going to be much more similar than, say, the code between PC and PS3 or Wii/Wii U.

  4. See points 1 and 2.

  • 1
    \$\begingroup\$ Note that PS4 does not use DirectX. It uses OpenGL. Both the PS4 and Xbox One have a GPU that is "DirectX 11.1+" capable. \$\endgroup\$ Jul 11 '14 at 20:53
  • \$\begingroup\$ Ah, I just saw PS4 and DirectX 11.1 and assumed it meant it used the API. \$\endgroup\$
    – jmegaffin
    Jul 11 '14 at 21:08
  • \$\begingroup\$ Thanks man, that actually answered my question in brief. :) \$\endgroup\$
    – Ashutosh
    Jul 15 '14 at 12:09

Not the answer you're looking for? Browse other questions tagged or ask your own question.