Jump to content
  • Advertisement
Sign in to follow this  
blinky41

Console vs PC

This topic is 4056 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement
Typically, Technical Requirements Checklist - TRCs.

Traditionally though, its the new unique hardware to learn. Since until now, they've been less like PCs, and aren't as powerful as PCs. Learning the architecture and how to get the most out of it. Thats why console games get better the longer the console has been out.

Share this post


Link to post
Share on other sites
Limited memory can have the biggest impact day to day. If you come from a PC backgroud, crashes when you run out of memory can be a big wakeup call.

In current next gen hardware, in order execution is also huge. Simple things like no/restricted branch prediction, high cost of floating point branches, etc can change coding style.

Share this post


Link to post
Share on other sites
For Consoles: Mainly watching out for memory usage. Understanding platform specific differences (since many console games are shipped for multiple consoles). TRCs for memory cards are pretty ridiculous sometimes, too (all hail the addition of hard drives / fixed memory in the newer consoles). Insane price of development hardware and software compared to PC development.


-PS2/PSP specific: Dealing with moving a PS2 control scheme over to the PSP.

-PS3 specific: Trying to decide if using those SPUs is even feasible in your existing codebase.

-Wii (multiplatform, not main SKU) specific: Control scheme kludging (depends on what your other systems allow).

- Remember which are big endian and which are little endian. Could affect certain algorithms (radix sort).


For PCs: Having to account for countless different hardware and operating systems that your game would have to run under. Having to support the product after it's shipped (in most cases) for hardware/software configurations that you overlooked.

Share this post


Link to post
Share on other sites
Quote:
Original post by Nypyren
For Consoles: Mainly watching out for memory usage. Understanding platform specific differences (since many console games are shipped for multiple consoles).



While many games are launched for diffent console, usually they are different projects and they are cases with different team. They just share graphics (source images), datas and part of the code (usually a generic enginer).

So, there wasn't needing to known every console specifications cause you will work in only one.




Share this post


Link to post
Share on other sites
Quote:
What are some challenges of console game development versus PC game development?


Mostly expanding on what others have said...

Challenges:

- Memory usage. You have a fixed amount of memory, you don't get more. You suddenly have to start caring about how, why, and where you allocate memory. Memory leaks become a huge problem because there are many cases where your game will be required to run for 24-48 hours without crashing to pass cert.

- Certification. Platform manufacturers have to approve your game before it's mastered. There tend to be a lot of legal issues, but there are also functional requirements your game must pass. In practice, a lot of problems with these sorts of things can be avoided by careful coding, good QA, and not being afraid to ask questions. I think something like 75% of the SKUs I've shippped have passed certification on the first try, but some developers have a lot of problems with it. It can catch you offguard if you're not aware of it.

- Patches. This is changing with new consoles, but still for the most part you don't have the ability to update a lot of console games. You kind of have to get it right the first time.

Benefits:

- Fixed hardware. This is one of the best things about working with consoles. You do not have to worry about whether or not your user's graphics card will support feature X, it just will. There's still some uncertainty with peripherals, but being to write and optimize code for a specific platform is a huge benefit.

- Control schemes. This isn't really a challenge, it's just something that's different. Console control schemes tend to be much simpler than the control allowed by a keyboard/mouse combo. It's very obvious when games aren't designed around a certain control scheme, such as in PC -> console ports. Making a good control scheme can be pretty hard, especially with newer things like the Wii.

Share this post


Link to post
Share on other sites
Quote:
Original post by Rand
Typically, Technical Requirements Checklist - TRCs.

Technical Certification Requirements - TCRs :)

(Why can't they all just use the same damn terminology!)

Share this post


Link to post
Share on other sites
Then there is (or was?) LotCheck, and I'm not even sure what that's supposed to mean, except that it is (was?) the same as TCRs...

Share this post


Link to post
Share on other sites
Quote:
Original post by SunTzu
Then there is (or was?) LotCheck

Sony = TRC
Microsoft = TCR
Nintendo = LotCheck Guidelines

It's all the same thing, a list of stuff you need to do (or not do) to prevent people from screwing up your game.

For those who are confused, don't worry. It's basically a checklist of tests to make sure your console part wordings are consistent with everybody else, make sure you can reasonably handle corrupt memory cards and broken controllers, handle stuff being removed while in use, and so on.

Two simple and typical examples are to make sure that sane things happen when up and down are pressed at the same time, and to behave reasonably when somebody ejects your game disc.

Share this post


Link to post
Share on other sites
Quote:
Original post by BrianL
Limited memory can have the biggest impact day to day. If you come from a PC backgroud, crashes when you run out of memory can be a big wakeup call.


Yep. "new" and "malloc" actually fail on consoles!

Even if there is enough total free memory available, "new" might still fail, because the memory is too fragmented and there isn't a large enough contiguous block available.
This is when you realise allocators and memory pools and the like are actually important!

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!