🔒 Locked
industry game programming
Advertisement
Original Post
I think applications are developed on the PC under Windows for systems like consoles, where you can't develop on the target platform (But I'm also not sure). I know you can get a PS2 devkit, which runs on Windows.
You're question seems to be harder to answer if were talking about consoles.
I guess the OS is chosen based on what the company value's the most, the team's preference, the OS market share, the target audience, the OS' and hardware's price, contracts the company might have with a given OS company, etc.
It is my understanding that most are developed under Windows, but when PS3 comes out with a POWER based CPU, the scale will probably tilt a little to the Mac.
I guess the OS is chosen based on what the company value's the most, the team's preference, the OS market share, the target audience, the OS' and hardware's price, contracts the company might have with a given OS company, etc.
It is my understanding that most are developed under Windows, but when PS3 comes out with a POWER based CPU, the scale will probably tilt a little to the Mac.
For Windows games and console games the vast majority of developers will develop on Windows (XP or 2000 since many tools won't work on 9x). Early PS2 development kits were Linux based and there may still be a few developers developing for PS2 on Linux but I don't know of any. I would imagine quite a bit of development for Linux and Mac happens under Windows as well since most Linux and Mac games are ports from Windows. There are probably a few developers who develop Windows games on Linux or Mac machines but I doubt there are very many.
Interestingly much of the development work for the original Doom was done on Next machines. That wasn't exactly common practice though [smile]
Interestingly much of the development work for the original Doom was done on Next machines. That wasn't exactly common practice though [smile]
Yep, Windows is pretty dominant as a development platform. It's true for cellphones as well.
Quote:
Original post by xor
You're question seems to be harder to answer if were talking about consoles.
I guess the OS is chosen based on what the company value's the most, the team's preference, the OS market share, the target audience, the OS' and hardware's price, contracts the company might have with a given OS company, etc.
It is my understanding that most are developed under Windows, but when PS3 comes out with a POWER based CPU, the scale will probably tilt a little to the Mac.
The processor on the Console you're developing for makes little difference. PS3 will still be developed for on a PC using Windows (XP or 2000), as although the executable code is compiled on the host PC, it's then sent remotely via the network to the Console or Dev kit to run on that. Although it's possible that Cell processor may be used for compiling it's own code (since it may be faster than the host PC processor), I think it's unlikely that Macs will be used anytime soon, because of a) lack of tools, and b) lack of people used to using them.
Quote:
Original post by xor
developing in an environment where you can test out the architectural advantages and disavantages of the target system is a considerable plus, a plus that IBM and Apple will be sure to try and take advantage of.
I don't want to sound like I'm arguing with you here, 'cus we're both speculating, and you could well be right :)
... but out of curiosity, what kind of thing are you thinking of, where it would be an advantage to have a POWER PC processor in the development host as well as the target Cell based dev kit?
Windows is the dominant platform for developing games for the same reason it's the dominant platform for developing most software, robust and mature tool set. That and the fact that Microsoft will make sure it's the easiest platform to develop for both windows and Xbox games. The processor of the console doesn't matter as we're seeing with the next gen Xbox stuff. You develop on your intel based PC and push the bits to your non-intel based console. Debugging is still easy even if it's on a different platform.
WillC:
Like i said in the last post, i'm not a Mac user/lover, so i don't know specifics, so let me give you an example with an architecture i'm more familiar with and you're probably more familiar with aswell, Intel's P4.
Now the Intel has on their site an Optimization guide that describes several tricks to make our programs perform better in general, and specifically on an Intel.
For instance one of those tips is to allways use a switch statment instead of several if's because aparentely the P4 can perform branch prediction better this way.
IIRC there are tips about cache hits, memory alignment, and there are tables with the amount of cycles and throughput times of several instructions, including SIMDs and FPU instructions, those times are Intel specific of course.
Now if we were to develop a program on a Mac that was to be used on an Intel, we coudln't test different code to take advantage of certain Intel specific advantages.
I think i might actually give a Mac example, i just remembered the cell will be a 64 bit processor. Should we use a 64 bit integer? Supose the space required for a table of 64 bit integers is just a little bit to big, what if we used 32 bit integers? What would be the performance hit? Is it worth the space saved?
It's a small difference but it's considerable.
Like i said in the last post, i'm not a Mac user/lover, so i don't know specifics, so let me give you an example with an architecture i'm more familiar with and you're probably more familiar with aswell, Intel's P4.
Now the Intel has on their site an Optimization guide that describes several tricks to make our programs perform better in general, and specifically on an Intel.
For instance one of those tips is to allways use a switch statment instead of several if's because aparentely the P4 can perform branch prediction better this way.
IIRC there are tips about cache hits, memory alignment, and there are tables with the amount of cycles and throughput times of several instructions, including SIMDs and FPU instructions, those times are Intel specific of course.
Now if we were to develop a program on a Mac that was to be used on an Intel, we coudln't test different code to take advantage of certain Intel specific advantages.
I think i might actually give a Mac example, i just remembered the cell will be a 64 bit processor. Should we use a 64 bit integer? Supose the space required for a table of 64 bit integers is just a little bit to big, what if we used 32 bit integers? What would be the performance hit? Is it worth the space saved?
It's a small difference but it's considerable.
The PPU on the Cell (not to mention the system software and APIs) is different enough from a G5 that there would be no significant benefit to developing on a Mac over a PC - take a look at the articles detailing the Cell architecture on RealWorldTech or ArsTechnica for details on some of the architectural differences between the processors. Most performance intensive code will run on the SPEs anyway so even if the G5 was very similar to the PPU it still wouldn't be much help developing on a Mac. And on top of all that it's pretty irrelevant what CPU is on the development machine vs. the target platform - all performance tuning and debugging is done on the remote development kit anyway. Developers don't performance tune their Xbox titles by optimizing on their Windows machine any more than they tune their PS2 code that way.
The Mac does lag Windows when it comes to decent development tools, particularly for games and for console development. There's plenty of decent software on Macs but Windows PCs are better served for the specific tools that games developers use.
The Mac does lag Windows when it comes to decent development tools, particularly for games and for console development. There's plenty of decent software on Macs but Windows PCs are better served for the specific tools that games developers use.
mattnewport:
I read an article that showed up on slashdot a few weeks back about cell's architecture, have you read it?
linky
"Cell V's Apple
The Cell could be Apple's nemesis or their saviour, they are the obvious candidate company to use the Cell. It's perfect for them as it will accelerate all the applications their primary customer base uses and whatever core it uses the the PU will be PowerPC compatible. Cells will not accelerate everything so they could use them as co-processors in their own machines beside a standard G5 / G6 [G6] getting the best of both worlds."
Xbox developers do optimize their code for the Pentium 3 and the Gforce3(IIRC) that is inside XBox, the compilers can use a bit of MMX/SSE/SSE2 to optimize the code but just a little, the real optimization has to be done by the programmers, they have to use algorithms that work better with vectorization, no compiler can do that. And it's not the OS that matters, Windows, it's the machine, i'm speculating but if you ask around i'm pretty sure most XBox developers will preffer an Intel P3(700Mhz IIRC) to develop for the XBox instead of a P4 or even an AMD.
Like i said before i think those arguments are baseless, with all the professionals using Mac, on the movie industry, on the sound industry, on the IT industry, how do they do it?
I read an article that showed up on slashdot a few weeks back about cell's architecture, have you read it?
linky
"Cell V's Apple
The Cell could be Apple's nemesis or their saviour, they are the obvious candidate company to use the Cell. It's perfect for them as it will accelerate all the applications their primary customer base uses and whatever core it uses the the PU will be PowerPC compatible. Cells will not accelerate everything so they could use them as co-processors in their own machines beside a standard G5 / G6 [G6] getting the best of both worlds."
Quote:
And on top of all that it's pretty irrelevant what CPU is on the development machine vs. the target platform - all performance tuning and debugging is done on the remote development kit anyway. Developers don't performance tune their Xbox titles by optimizing on their Windows machine any more than they tune their PS2 code that way.
Xbox developers do optimize their code for the Pentium 3 and the Gforce3(IIRC) that is inside XBox, the compilers can use a bit of MMX/SSE/SSE2 to optimize the code but just a little, the real optimization has to be done by the programmers, they have to use algorithms that work better with vectorization, no compiler can do that. And it's not the OS that matters, Windows, it's the machine, i'm speculating but if you ask around i'm pretty sure most XBox developers will preffer an Intel P3(700Mhz IIRC) to develop for the XBox instead of a P4 or even an AMD.
Quote:
The Mac does lag Windows when it comes to decent development tools, particularly for games and for console development. There's plenty of decent software on Macs but Windows PCs are better served for the specific tools that games developers use.
Like i said before i think those arguments are baseless, with all the professionals using Mac, on the movie industry, on the sound industry, on the IT industry, how do they do it?
Quote:
Original post by xor
mattnewport:
I read an article that showed up on slashdot a few weeks back about cell's architecture, have you read it?
linky
Yes, I did read it, and like many others I thought it was a pretty poor article.
Quote:I think it's pretty unlikely that Apple would use the Cell but it could happen I suppose. Software that wanted to take advantage of the SPEs would have to be heavily modified so they wouldn't get much benefit out of using it until all the major software vendors updated their software. The PowerPC core on the Cell will be no faster than a G5 on most existing code due to it's lack of Out of Order Execution, in fact it might well prove to be quite a bit slower.
"Cell V's Apple
The Cell could be Apple's nemesis or their saviour, they are the obvious candidate company to use the Cell. It's perfect for them as it will accelerate all the applications their primary customer base uses and whatever core it uses the the PU will be PowerPC compatible. Cells will not accelerate everything so they could use them as co-processors in their own machines beside a standard G5 / G6 [G6] getting the best of both worlds."
Quote:
Quote:
And on top of all that it's pretty irrelevant what CPU is on the development machine vs. the target platform - all performance tuning and debugging is done on the remote development kit anyway. Developers don't performance tune their Xbox titles by optimizing on their Windows machine any more than they tune their PS2 code that way.
Xbox developers do optimize their code for the Pentium 3 and the Gforce3(IIRC) that is inside XBox, the compilers can use a bit of MMX/SSE/SSE2 to optimize the code but just a little, the real optimization has to be done by the programmers, they have to use algorithms that work better with vectorization, no compiler can do that. And it's not the OS that matters, Windows, it's the machine, i'm speculating but if you ask around i'm pretty sure most XBox developers will preffer an Intel P3(700Mhz IIRC) to develop for the XBox instead of a P4 or even an AMD.
I've worked on Xbox titles and as I said before you don't optimize for the Xbox by running your code on a PC, you run it on an Xbox devkit. It's largely irrelevant what processor is in the PC, you only use it to run your IDE and compiler / linker. Debugging and profiling happens remotely on the devkit. Developing an Xbox game is not just like developing for a Windows PC with a 700MHz P3 and a GeForce 3, there are significant differences, both in the hardware and in the software environment. You have the real hardware to run your code on so why would you use a PC with similar but not identical hardware and totally different software to test your code?
Quote:
Quote:
The Mac does lag Windows when it comes to decent development tools, particularly for games and for console development. There's plenty of decent software on Macs but Windows PCs are better served for the specific tools that games developers use.
Like i said before i think those arguments are baseless, with all the professionals using Mac, on the movie industry, on the sound industry, on the IT industry, how do they do it?
The Mac has good music/audio software, good video editing software and good 2D image manipulation / DTP software. It lags the PC when it comes to 3D modelling software, IDEs, compilers and support for console development. People using Macs are usually using them for the things they are good at and that doesn't include developing games for other platforms.
Quote:
Original post by mattnewport
Yes, I did read it, and like many others I thought it was a pretty poor article.
What i see is a guy bashing, the article by Mr. Blachford does have a section with clarifications/corrections to his orginal article and a rebuttal to that particular article by Hannibal. Considering it was the first one of it's kind, and the only thing he was working with were rumors and a patent, i think he did a pretty good job. Further more, the point(PU is POWERPC compatible) isn't contested on Hannibal's article.
Quote:
I think it's pretty unlikely that Apple would use the Cell but it could happen I suppose. Software that wanted to take advantage of the SPEs would have to be heavily modified so they wouldn't get much benefit out of using it until all the major software vendors updated their software. The PowerPC core on the Cell will be no faster than a G5 on most existing code due to it's lack of Out of Order Execution, in fact it might well prove to be quite a bit slower.
The software would have to be changed, sure, but not heavily. The software would have to be programmed to take advantage of vectorization, that's it. What you're saying is similar as to saying an MMX/SSE version of a given piece of software is a heavy change to the code base.
To put this to rest, you don't think a cpu made by IBM, with considerable similarities with the current(and as the rumors say, the future aswell) POWERPC architecture is a chance for Apple. Fine, i'll just agree to desagree, this is getting a bit old.
Quote:
I've worked on Xbox titles and as I said before you don't optimize for the Xbox by running your code on a PC, you run it on an Xbox devkit. It's largely irrelevant what processor is in the PC, you only use it to run your IDE and compiler / linker. Debugging and profiling happens remotely on the devkit. Developing an Xbox game is not just like developing for a Windows PC with a 700MHz P3 and a GeForce 3, there are significant differences, both in the hardware and in the software environment. You have the real hardware to run your code on so why would you use a PC with similar but not identical hardware and totally different software to test your code?
I guess you're right. Although some familiarity with the POWERPC architecture will benefit development for the cell, the actual development on a Mac isn't better then doing it any other platform.
Quote:
The Mac has good music/audio software, good video editing software and good 2D image manipulation / DTP software. It lags the PC when it comes to 3D modelling software, IDEs, compilers and support for console development. People using Macs are usually using them for the things they are good at and that doesn't include developing games for other platforms.
If you're saying Mac software takes a bit longer to come out then the software on the PC, fine, it's a market share thing, the biggest share gets served first. But if guys at Pixar(ask your regular Mac fanatic i'm sure they'll know more companies) use Macs to make movies(3d modelling software), i don't think that bit longer is worthy of note. And IIRC Mac uses gcc, there are several IDE's and support out there for it.
Quote:
Original post by xor
What i see is a guy bashing, the article by Mr. Blachford does have a section with clarifications/corrections to his orginal article and a rebuttal to that particular article by Hannibal. Considering it was the first one of it's kind, and the only thing he was working with were rumors and a patent, i think he did a pretty good job. Further more, the point(PU is POWERPC compatible) isn't contested on Hannibal's article.
Nobody was disputing that the PPU uses the POWER instruction set, that's a well known fact. It's not all that similar to a G5 though which is the point I was making. None of the information in that article was new - anybody who'd been following the development of the Cell would have known all the accurate information. What was 'new' was largely inaccurate or unfounded speculation. I've seen the rebuttals and I still hold to my original opinion of the article (before I'd seen the ArsTechnica piece) - that it didn't provide any new information and was rife with ill-judged speculation.
Quote:
The software would have to be changed, sure, but not heavily. The software would have to be programmed to take advantage of vectorization, that's it. What you're saying is similar as to saying an MMX/SSE version of a given piece of software is a heavy change to the code base.
It's a significantly bigger change than adding MMX/SSE support due to the fact that the SPEs have their own local store and no direct access to main memory and due to the fact that they run in parallel to the main CPU. It's more akin to converting software from single-threaded to multi-threaded to take advantage of hyper-threading or multiple CPUs / multi-core CPUS. It's actually a less well understood problem than that though due to the unique architecture of the Cell. Taking real advantage of the SPEs would require significant work for many applications.
Quote:
I guess you're right. Although some familiarity with the POWERPC architecture will benefit development for the cell, the actual development on a Mac isn't better then doing it any other platform.
Right. Familiarity with the POWER architecture / instruction set is definitely a bonus but there's no benefit to developing on a Mac.
About the article, the first chapter was realeased when the only development on the cell was the patent. So i think that maybe you and all the many others are the ones ill judging his speculation.
It is not all that similar(the cell's architecture) that would allow Apple to take advantage of it, i belive is your point. The software would not only have to be vectorized but also multithreaded, is the argument.
I still don't think those will be heavy modifications that would disable Apple from getting an advantage in using cell, look at the multicore cpu's that will be coming out, the software changes won't be made immediatley, will be made over time, and that doesn't stop Intel/AMD from releasing them now.
Just think of the changes needed to make it work, because for Apple to take advantage of it, it just needs to make it work, and then post another set of bogus benchmarks like with the dual G5, making it work well is something they can do over time.
It is not all that similar(the cell's architecture) that would allow Apple to take advantage of it, i belive is your point. The software would not only have to be vectorized but also multithreaded, is the argument.
I still don't think those will be heavy modifications that would disable Apple from getting an advantage in using cell, look at the multicore cpu's that will be coming out, the software changes won't be made immediatley, will be made over time, and that doesn't stop Intel/AMD from releasing them now.
Just think of the changes needed to make it work, because for Apple to take advantage of it, it just needs to make it work, and then post another set of bogus benchmarks like with the dual G5, making it work well is something they can do over time.
Quote:
Original post by xor
About the article, the first chapter was realeased when the only development on the cell was the patent. So i think that maybe you and all the many others are the ones ill judging his speculation.
I read the article when it was first linked on Slashdot and at that point I already knew all the accurate information that was in the article (he wasn't the first person to describe the information in the patent, which has been around for years) and I wasn't impressed with the speculation. I don't have anything much against the guy and his subsequent clarifications / retractions make him seem fairly reasonable. He probably wasn't expecting a Slashdot-sized audience to read his article when he wrote it. Anyway, there's much more official information available now so there's better sources to base further discussion on.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement