Hacker News new | past | comments | ask | show | jobs | submit login

Don't agree at all. I've been in this business since 2000 - in teams that shipped for PSX, DC, PS2, XBOX, GC, 360, PS3, WII - The rules are there for many other reasons:

- Backward compatibility. For example it was not allowed on PSX to use certain tricks to draw the triangles faster, as future emulators would've had problems with that.

- Save systems. Made for not yet smart kids, not so smart parents. The save system has to be robust, so much that it has to write exactly how many blocks it's gonna write - you are buying a memory card, you need to know how much is going in there.

- DVD/CD-ROM/BluRay speeds. You can't just stream tons of things and expect to work. You also need to consider where/how your data is, and how you react to I/O errors - it's different per consoles. Also how you handle multiple disk games.

- No frame rate hitching (yes, more allowable nowadays), but in the past - severe frame hitches would've made your certification not possible. After all, on all consoles ever released the code is running in ring 0 - the game code runs along with whatever is there that serves as a kernel. And there is reason for that - maximum hardware explotation (which also takes years to learn)

- Security - just think about this - how easy is to steal non-console game data. It's much harder on the consoles. Yes people eventually break them. But nothing is easier than unzipping .IPA iphone file.

- Size of the games. Really - As much as I love my new Nexus 7, my dear iPad, by humble TouchPad, and my fancy PlayBook - there has been none AAA games shipped there. Infinity Blade is very close, but not AAA (too short).

- The biggest game for mobiles have not yet reached 1GB, while console games have been shipping sometimes 10GB of data, for older consoles.

- Why this is important? - You can QA an indie game much faster, and easier (check progression breaks), than AAA title.

- Multiplayer, scoreboards, etc. - This is where the life of the new console experience is. Cheating here is the plague, and makes players go away. Certification is there to help, but not isolate problems.

- And most of all - no audio hitching (yes, unlike many modern PC games).

- Let's not forget - localization, safety zones (no swastika in German), etc. French correctly hyphenated, etc.

There are many fine details, that would bring an indie title into AAA. Most obvious is content, but overall stability, much less perceived bugs (It's possible that AAA game ships with much more bugs than indie, but then again it's played by much more people/hours).

TRC's are good. They save in long term both the publisher, and the console manifacturer.




"TRC's are good. They save in long term both the publisher, and the console manifacturer." This is exactly one reason why developers are looking for greener grasses. Jonathan already said it but developers and console manufactures could economically save a lot if those TRC's/TCR's/Lotchecks would be handled more intelligently. Looking at that "save" message, why isn't there a standard message implemented by the manufacturer developers could use? Then you could just make a checkmark in the TRC docs saying "using default save msg" and everyone would save a little time. If I was a manufacturer I would take care that developing for my platform was economically for developers and me alike. And I fail to see some of your arguments for TRC's. What does size (hours, gb, dead animals?) have to do with a game being AAA? Some iOS games deliver a greater quality in terms of customer enjoyment than traditional console 'AAA' games. Furthermore Jonathan was not totally against TRC's but just used examples that make totally sense from a developer perspective.


About standard save - well it might be possible - but it's not clear how it should be done.

In certain games, the saving is done asynchronously. This means you have to collect (serialize) all the save game data in very short amount of time in a buffer - a millisecond might be a hitch for an 60fps shooter. Then write the data asynchronously.

So there is not much an API could help - either write the data in second thread, or use async function to write it. (open/close the file is also good to be async, or on a second thread if possible).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: