By using this site, you agree to our Privacy Policy and our Terms of Use. Close
staticneuron said:
sieanr said: The 360 and PS3 version will be... almost the exact same.... save one will have good online But. It's hardley a PS3 "demo" since it was runnin on a 360 dev kit http://www.blasteroids.com/games/file_details.cfm/9783/star_wars_next_gen Also: AI is mostly branching... And the SPEs in cell. CANT do branching worth an damn. So... Useing cell to do traditional AI. Like on PC and every other consoel. Is a pain. And I can cite the hell out of this.... if you want to argue.
My knowledge on programing is very limited. I have made scripts for active directory and physics based runtimes/scripts for 3d studio max and maya. I was wondering why only american devs seemed to be complaining about this and not any japanese ones. I came across this: "To say “most of the code is general purpose” probably refers to code size, not execution time. First, it should be clarified that “general purpose code” is only a label for the garden variety instructions that may be given to hardware. On the hardware end, this code fits into various classifications such as arithmetic, load/store, SIMD, floating point, and more. General purpose applications are programs made up of general purpose code. In different use cases, the application might do an arithmetic heavy operation relying on a vector unit in the processor, and in another use case the application might make heavy use of memory operations hitting on the bandwidth of the CPU and RAM. Good examples of this are MS Word, a web browser, or an entire operating system. With MS Word there is a lot of string processing which involves some arithmetic, comparison, a lot of branching, and memory operations. When you click import or export and save to various file formats, it is an I/O heavy operation. Applications like these tend to not execute the same code over an over, and have many different functions that can occur on relatively a small set of data depending on what the user does. Ultimately, there is a large amount of code written to handle the small set of data and most of it never gets executed unless the user explicitly tells the application to do something. Games are not general purpose programs. Any basic game programming book will introduce you to the concept of a game loop. This loop contains all of the functionality a game performs each frame. This loop handles all of the events that can occur in the game. An important principle in a game loop is to avoid branches when unnecessary as it slows down execution and makes the code on screen long and generally inefficient. The paradigm for a game isn’t to build explicit cases for everything that can happen, but to program the nature and laws of various things, and let the game objects handle themselves in that logic. Due to limited resources, completely natural and accurate laws aren’t possible, but it is an end that is being worked towards. A good example of this is the Cohen-Sutherland line clipping algorithm. Instead of writing lengthy and complicated branches to check the 9 regions a point lies in and the 72 different conditions a line could render in, the algorithm performs 4 simpler checks, and computes a region code which can be easily be used to minimize the work of checking all of the different cases. This automatic and repetitive processing has to occur for many game objects which represents a massive amount of data, with a relatively small code size. This is opposite of the general purpose paradigm, which typically has a small set of data (word document or html) and performs many various functions on it representing a large code size. Games processing has a large data size, but much smaller code size. Game objects also tend to be very parallel in nature as game objects are typically independent until they interact (collision) – which means they generally can be processed well on parallel architectures if they are well thought out. What this general purpose power does grant Xbox360 over Playstation 3 is the ability to run general purpose applications faster. If the Xbox360 had a web browser(official or not), the design for such an application would work better on a general purpose CPU. Running multiple general purpose applications is where the most benefit from a multicore general purpose CPU is held. Games can take advantage of the parallelism too, but if the parallel tasks aren’t general purpose in nature, the benefits may not be as large. AI routines that navigate through large game trees are probably another area where general purpose processing power might be better utilized since this code tends to be more branch laden and variable depending on the task the AI is actually trying to accomplish. Writing code for that on a general purpose CPU is a straight forward task and would execute very well across the board. Generating these game trees, which is also time consuming, may still lend itself to a SIMD architecture as it involves computations based on game state and the Cell offers more parallel units to possibly speed up the task down more independent" What I am getting from this is that these complaints are based off of "approaches" to programming for the PS3 ( I am pretty sure the PS2 was similar to program for). It makes sense why devs who primairaly programming for PC's are complaining.

 thank you for sharing friend