Slashdot Mirror


John Carmack Discusses 360's Edge, Considers DS

Via a Gamasutra post, John Carmack's comments on upcoming id choices. Game|Life has a few quick comments on Carmack's hope to bring Orcs and Elves to the DS. This would be id's first game on a Nintendo platform in some time. Likewise, he makes it clear that he considers the 360 the dev platform of choice due to the ease of development on the console. From the article: "the honest truth is that Microsoft dev tools are so much better than Sony's. We expect to keep in mind the issues of bringing this up on the PlayStation 3. But we're not going to do much until we're at the point where we need to bring it up to spec on the PlayStation 3. We'll probably do that two or three times during the major development schedule. It's not something we're going to try and keep in-step with us. None of my opinions have really changed on that. I think the decision to use an asymmetric CPU by Sony was a wrong one."

15 of 244 comments (clear)

  1. Quit your whining... by StikyPad · · Score: 1, Interesting

    I think the decision to use an asymmetric CPU by Sony was a wrong one.

    This is just my perception/opinion, but it sounds more like Carmac is getting old and lazy than any fundamental flaw with Sony's choice in processor. What we need is a new generation of developers to embrace the domain of parallel processing so that it can begin to realize its potential. I'm tired of the foot dragging and bellyaching about how different/difficult it is to multithread. Companies such as the previously mentioned RapidMind and PeakStream have made significant advancements in making multithreading more accessible, and if developers would put more effort into thinking in parallel rather than complaining about a changing environment, we'd be a lot farther along than we are now.

    1. Re:Quit your whining... by Stormwatch · · Score: 5, Interesting

      The hardware designers at Sega probably thought much like the way you do. That's the idea behind the massive failure called Saturn. Keep in mind, Sega's arcade boards used to have multiple processors. If their coders could deal with that, why wouldn't everyone else?

      Now, don't get me wrong, I love the Saturn. Good developers could do amazing things with it -- Radiant Silvergun, Panzer Dragoon Saga, NiGHTS, Powerslave, Virtua Fighter 2, Astal, Guardian Heroes... but most chose to develop for the slightly less powerful and far more developer-friendly PlayStation.

      And why? Because it made sense. It's not just a matter of developers being lazy or unskilled; if it is too hard to develop for a system, that also means doing so will take longer and cost more.

    2. Re:Quit your whining... by StikyPad · · Score: 3, Interesting

      True, however that was many years ago, when Carmack still had some ambition and imagination. I'm not saying Doom III was bad, but...

      At any rate, it's trendy to bash the PS3 lately. It really is a leap in console capabilities (and I don't even like/buy/use consoles period), but all the negative comments about developers avoiding the PS3 are creating a self-fulfilling prophecy. The problem is people viewing it as a hurdle rather than an opportunity.

      The fact of the matter is that multi-threading is here to stay, and if developers ignore it on the PS3, they're only delaying the inevitable. It's a safe bet that the XBox 1080 (or whatever) will have multi cores, and of course the PC industry is full-steam ahead on that front. Granted, the architectures may be completely different, but the principles involved are the same.

      Oh well, I'm tired of listening to myself bitch about all the bitching. I guess we'll see what happens.

    3. Re:Quit your whining... by KDR_11k · · Score: 3, Interesting

      True, however that was many years ago, when Carmack still had some ambition and imagination.

      Blame id's game designer for the game design, Carmack is a coder and making the game fun is not his department. He makes it run and easy to modify, the game designers make the gameplay work as intended after that.

      Doom 3 has a great engine but most of its capabilities aren't in plain sight. Someone made bots for Doom 3 and just by using the AAS (with the AAS data automatically calculated for the MP maps) they were quickly able to navigate levels better than many bots that were in development for years, no waypoints necessary.

      --
      Justice is the sheep getting arrested while an impartial judge declares the vote void.
    4. Re:Quit your whining... by GradiusCVK · · Score: 4, Interesting

      I think maybe you misunderstand the issue here... it's not that multithreading is hard. In fact, the XBox 360 has three cores if I remember correctly... any game for the XBox 360 is multithreaded. The problem is that the Cell processor uses heterogeneous cores... that is, there is one main core which is basically a regular PowerPC core, as well as 8 additional cores (1 of which is disabled on the PS3) which are completely different, designed for number crunching on large amounts of data, and are radically different to program for. Having actually done a good bit of programming on this architecture, I find that it is not actually that difficult to get a program to take advantage of a reasonable amount of the processing bandwidth in the Cell processor... however, it is VERY difficult to utilize a larger amount of the available computing capability of the processor. Therefore, most developers have found it to be much easier to get X amount of performance out of the XBox 360 than it would be to get X amount out of the PS3, even though in theory the PS3 is capable of X+Y.

    5. Re:Quit your whining... by seebs · · Score: 5, Interesting

      So, it sounds to me like you haven't DONE any Cell development.

      There's a huge difference between Cell and "PPC with vectors". It's called local store. Each SPE has 256KB of local storage. You have to have your code in there, and then stream data through. That means you have to do a fair amount of setup and partitioning specifically around that 256KB limit, which wouldn't apply on a multi-core PPC. That's a real issue, and you can't just paper it over for real projects.

      And yes, in theory, the tools should be able to hide some of that from you. That's why Carmack's comments about the tools are so damning. If there has ever been an architecture which desperately needs polished and mature tools, this is it.

      Also, I don't know where you get the idea that SPEs can do scalar code. They are 100% vector-only. The closest they can get is to emulate scalar code by ignoring the rest of a vector while manipulating only its first slot. That can be done, but it leaves you with a very slow processor spending a lot of its time masking things out and merging vectors together. (or, if you just omit those slots, and use only one slot out of each potential vector, your data takes much more space; 4x as much for 32-bit objects, 16x as much for bytes.)

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  2. Re:odd by ILuvRamen · · Score: 1, Interesting

    have you seen VB? It's totally English-US-American to the max. People in other countries are all like "wtf are they doing it this way for?"

    --
    Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
  3. Re:Well... by Rycross · · Score: 4, Interesting

    He makes impressive engines. I'd say when you're talking pure development, then what he says carries a lot of weight.

    I sure as hell wouldn't take his advice on game design though. He repeats the same tired formulas over and over. DOOM was cool in the 90's, but these days you gotta be a bit more creative.

  4. ... PS3 fanboys dismiss Carmack as "moron". by seebs · · Score: 3, Interesting

    http://www.ps3forums.com/showthread.php?t=52467

    This thread has been one of the funniest things I've ever seen. All the PS3 fanboys are bashing Carmack for his comments about Cell, despite the fact that it's quite clear none of them program at all, let alone program on asymmetric CPUs.

    Hilarity ensues as people who would have been lauding Carmack to the skies if they'd seen only his gripes about the 360 CPU attempt to prove that he's totally irrelevant and afraid of learning about technology.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  5. Re:Right by Anonymous Coward · · Score: 5, Interesting

    No, Carmak is NOT using DX9. He's using an Xbox 360 - that's something completely different. Granted, the API looks a lot like Direct3D 9, but it's not actually compatible, and it exposes 100% of the hardware features directly with minimal (virtually zero) driver overhead, no stupid driver bugs, no emulation, no possibility of missing features...

    On a PC, OpenGL and Direct3D 9 are almost exactly equivalent. On a modern engine, 70% of the code is (or could be, if you put a little effort into the design) API-independent. Things like scene traversal, resource management, batching, loading and generating geometry and so on. In the API-specific part, you have a small piece of code that does useful work, and in an ideal world this is all you'd need. It simply manages resources for you, so you can (for example) tell it to load a mesh onto the video card and it does it, or give it a triangle mesh and tell it to draw it.

    The larger part is dealing will all kinds of stupid garbage. For example, in Direct3D 9 you can lose any data you have stored in VRAM at any time, so you have to detect this condition, re-load (or regenerate) all the data, and fix it before you can do any more rendering. It's not difficult, but it's more work. In OpenGL (and on games consoles) you do not need to do this. With OpenGL, you need to detect and load appropriate extensions, which you don't have to do as much in Direct3D 9 (you do have caps bits, which serve much the same function). So in the OpenGL code, you might need a couple of extra paths to deal with hardware / drivers that don't support specific extensions. You could have four separate paths for things like render-to-texture, or several different texture formats for floating point textures, you might have to deal with drivers that don't support S3TC compression, and so on. You've got to deal with the operating system, other software components you're using, and the whole thing's a huge mess.

    That entire part is unnecessary on a console. You have one piece of hardware, which maps directly to the available API, with 100% of all features exposed, including things that PC APIs deliberately prevent you from doing. It makes writing code so much simpler - you write some basic, low-level rendering code which interacts directly with the hardware, then get on with the useful task of writing the game engine. You never have to worry about whether or not you've hit a slow path (happens in OpenGL a lot) or a bug (happens in Direct3D a lot, and OpenGL if you're using Intel's rather crappy drivers) in the driver, because the drivers don't actually do anything more than queueing command packets for sumbission to the video hardware.

    The same applies to the Xbox, but also to the GameCube, the Wii, the Dreamcast, and to a lesser extent the PS2 (because you have to write all rendering code in VU assembly to do anything useful).

  6. Re:odd by redragon · · Score: 3, Interesting

    I think its more of a total pipeline issue. When you look at software development tools coming from a largely US based company (MS for example) you've got a defined pipeline for development process. You've got IDE project templates. You've got command line tools that you can batch process files on as part of your build process. It's just more integrated. Looking at the solutions that come from Sony or Nintendo (though Nintendo is way better at this than Sony) you tend to get a loose collection of tools that aren't really integrated. This means you have to create all of the glue in-between each layer. That takes time and engineering effort. Sometimes this means greater flexibility, but again, it's all about how much time do you want to spend for your flexibility?

    Honestly, developers don't want to re-create the wheel each time for their build processes, but these kinds of things end up forcing that on them. The first chance they have to jettison it, they're going to.

    --
    - Sighuh?
  7. Re:Well... by Thansal · · Score: 2, Interesting

    Zelda is a strange exeption. Some how all the games all feel the same, and look the ame on the surface, yet are still somehow very different and compelling to play. (if any one can explain it I would be very impressed).

    DOOM 3 and Quake 4 (though Q4 is a bit better in my mind) really just feel like rehashes of the same ol', same ol', just with much better graphics. Better things have been done in the FPS genre, and those 2 just have not caught up. Quake Wars looks like it will be the answer however (admitedly it isn't actualy beign developed by ID, I tihnk).

    --
    Do Or Do Not, There Is No Spoon, There Is Only Zuul. Everything in the above post is probably opinion.
  8. Re:Well... by SatanicPuppy · · Score: 2, Interesting

    Re Zelda:

    All plots are old and tired. Fantasy seldom has any sort of different plot conflict than Lord of the Rings...Man vs. Evil. But the execution is what separates LotR from "Wizards of the Coast" licensed D&D spinoff novels.

    Same is true with Zelda...The plot remains the same, but the details are always fresh and creative. It's the same with games like "Gears of War"...How tired is that formula? But the game is a great game!

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  9. Re:Well... by Anonymous Coward · · Score: 1, Interesting
    (if any one can explain it I would be very impressed).

    It is not so hard to explain. The story schema is the same in every game, but the game itself is different. This happens in almost every game, all of them are follow one of the possible story lines (i.e.: boy meets girl), Zelda follows (more or less) the Campbell's hero cycle. The stories share other points (names, the nature of tri-force, and some other details), but the development is always different. You can see this clearly when comparing Ocarina of Time with Wind Waker, same story schema, (very) different game.

  10. Re:Well... by Anonymous Coward · · Score: 1, Interesting

    Doom (Doom 1 & 2, not 3) is still played. Check out, for example, http://www.zdaemon.org/. A DooM port converted to more modern netcode, but the oldschool DM and co-op gameplay is practically identical. (New stuff such as CTF is also available, but many people don't even play that.)

    So Doom is still around, and still presumably "cool". The only reason why "you gotta be a bit more creative" is if you want to sell new games to people instead of the old games that they already have, or could buy cheaply. And since the gameplay of the old ones is good enough to make people very happy, the only reason you can persuade them to buy a new game is putting your creativity into the engine, not the gameplay.