Yesterday, while travelling to work, I thought about what things PC videogames (almost) always do today that should be applied to general development.
This are my five ones:
- Efficient and painless update system: Updates in MMORPGs are very common (both for new content and bug fixing), but almost every PC game now has updates. The best systems auto-update themselves or allow you to do it without having to search in gaming websites or the official game website. Some games (like Guild Wars) have even ingame updates, not forcing you to restart the game.
Excepting for example Windows (with Windows Update), lots of applications aren't even designed with updates/patches in mind.
- Secure and robust software: It may not appear so, but videogames (again, specially MMORPGs) are a good sweet for hackers. Hacking your way through the game and creating lots of virtual money or powerfull items can be very rewarding. Games use encrypted communications, thin-client logic (you don't send commands like "get me to position [4,5]" but commands like "I want to go forward"), and some even anti-keyloggers soft.
Security concerns in applications and websites is growing a lot.
- Good resource management: Yeah, to play Crysis in it's full flavour you will need a herculean PC, but it's true too that games extract every bit of your CPU power, optimize their memory consumption and get the most speed of every CPU instruction set extension.
I've seen applications that are true resource-hogs.
- Correct Localization: While in Spain this is not usual (I prefer english games because voice acting is poor too many times, but my past experiences are most games with grammar mistakes and translated without playing through the game so some things don't make sense), translations from japanese to english games (for example the Final Fantasy series) is very delicate and has a lot of work on it. Japanese texts are usually shorter, for example (this happens too with english to spanish translations).
I came across in the past with some software that was a pain in the ass to find something in spanish just because the translation was "directly from the dictionary" (now I've got even my Windows in english).
- Usability: A good game usually is one that is easy to play to (simulators apart). Menus, icons, GUI elements are (usually) logic and easy to understand. As nobody ever reads the manual, now is a requirement that every game has either a ingame tutorial or teaches you all the basics in the first level.
As of today, still a lot of applications are quite hard to use without having to look at the help or some sort of tutorial.
Do you know other interesting things that we can learn from videogames (either PC or console)? If so, please leave a comment and share it with the rest of us :)