Is the PS3 Cell architecture the wrong platform for learning game programming?

I have the opportunity to attend Sony licensing training classes to learn about programming using the PS3 cell architecture.

However, I only have a rudimentary knowledge of C ++, and I was wondering if the PS3 is a little redundant for a novice beginner player like me.

And also what are the best resources to bring me to a decent level in C ++ graphical programming in about 2 months?

+6
c ++ ps3
source share
9 answers

The problem is not so much that the PS3 overflows, that the Cell processor, as you know, is difficult to program the potential on it. High-parallel architecture is potentially powerful enough, but it’s not so easy to get this performance.

+9
source share

I bet it will be fun, and everything you learn in the course will help you become a better programmer.

+10
source share

Finally a question about my day job .... :)

Much of what you learn about the PS3 will apply to other architectures as concurrent programming is starting to look like the future. Many of the parallel methods used on the PS3 are directly applicable to the Xbox 360. I suspect that many future game consoles will go in the same direction, and we will all need to start thinking about parallelization much more than we can currently.

However, if you only have a rudimentary knowledge of C ++, a lot of material can be above your head. It depends on what you want to get out of the session, I suppose. Are you looking for an introduction to PS3, or were you hoping you could start making games on PS3 Linux the day after the conference?

Assuming that you can afford it, the information will be interesting and probably useful. I would not refuse such an opportunity if you do not feel that the cost outweighs the benefits. (I guess it stands there, I really don't know.)

Game programming resources throughout the network. If you want to do a crash course in C ++, I would take the C ++ Primer from Lippman et al. If you want a crash course in your graphics, then Realtime Rendering is the best starting place, along with a good math book such as Eric Lengyel math for programming 3D games. Swipe through some OpenGL or D3D tutorials; even if none of them are used on the PS3, the principles are no different from any API.

+10
source share

I think this is a great architecture for preparing for the future (multi-core programming). However, for most practical purposes, it’s really better for you to learn how to develop window-based games, since the cost of starting with consoles is much higher. For example, it would be much easier to start coding for DirectX.

So, in a sense, you are looking for problems. If you decide to go with the PS3, be sure to check out the MIT PS3 course.

+2
source share

No, it’s not at all difficult, it will be more difficult if you use .NET as the main language. If you want to use .NET, I would recommend C # / XNA for the XBOX 360.

Edit: Here is a great link to get started: http://www.cag.csail.mit.edu/ps3/

+1
source share

I think if you have the opportunity to visit vs without doing anything, you should definitely go for it. The gain from learning something from someone who knows more than you is a gift that he does not have. The fact that this is from a licensed trainer makes him all the more worthwhile.

+1
source share

He specifically talks about LEARNING C ++, studying PS3 architecture, libraries, special tricks, etc. I would not suggest doing this. You need to be strong in your C ++ kung fu to code PS3 well, and you will make a huge fool of yourself if you appear and don't even know the language.

Worse, you will be wasting time as a professional developer. They could actually use the information, but you will have time with beginners, which you should already know about.

I am not trying to be evil; I would not go either, because I do not know C ++ very well. Just try to be considerate of other people who paid there.

+1
source share

I have been teaching Cell processor programming (in C) for the past couple of months. This is definitely not the best place to start, because for successful programming Cell requires mastering many skills: C / C ++, pthreads, libspe, various types of communication in the cell (DMA, mailboxes, signals, interrupts, Atomic I / O). To make this harder, the documentation for Cell can be cryptic, hard to find, and erroneous. If you use a more common platform (XNA, pyGame, SDL), there will be a much larger user community. This does not mean that there is no user community for Cell, but it is less. Although there are other environments where you can find multiprocessor programming, it can be difficult to translate the methods for these environments into a cell due to its unique architecture. In addition, using the standard PS3 with linux will not allow you to access the graphics hardware.

But this is not all bad. Learning the PS3 / Cell will teach you a lot of programming close to the machine. You really have no choice, as there are not many abstractions for the programmer. Each SPU on the cell has 256 Kbytes of local memory, and if you need more than that, you will need to figure out some scheme to issue the correct DMA requests to correctly enter the correct values ​​into the memory at the right time and (hopefully) keep the SPU busy then busy while this DMA request is in flight. Cell study

So, maybe not the best learning platform, but considering that you have the opportunity to take classes from Sony, that sounds good.

In any case, if you are interested, the book from Scarpino is an excellent reference and contains a couple of chapters on game programming on a cell with an OGRE engine, which may also be of interest to you.

+1
source share

Although I have no experience developing applications on 360 or PS3, I have done a lot of research on the various merits of the two platforms. I have been using C ++ for a long time, and although I created several MFC and BeOS applications, I created several UNIX server applications with it, and yet the console game environment is significantly different.

The PS3 Cell chip is really quite a beast to tame, as others have said, and uses Carmack's talent for proper use. This suggests that there is nothing wrong with attending a course if it is free, especially if you meet people who have developed games before and could give you some advice.

If you want to develop games for the console, the best choice for someone with only a rudimentary knowledge of C ++ is to use the XNA kit for XNA for the Xbox 360. If you are familiar with how C ++ works, C # is not so difficult pick up. In fact, I would say that this is a much smaller learning curve than switching to multi-core, multi-threaded, cell-based programming. If you have never had kernel-level applications before, you should avoid these kinds of things until you are ready. Two months is not enough time.

There are several points that make the XNA platform very attractive for beginner console developers, not the least of which is the relative security of C # and C ++, as well as the fact that XNA games can be sold through the Microsoft market.

I don’t know many PS3 games that were developed alone, but there are a few 360 examples, such as Braid, which are largely solo efforts. XNA examples are also quite interesting and educational.

0
source share

All Articles