Friday, January 15, 2010

Real coder's arena

One thing we, a few guys on our tech team, wish we could experience is console development. Being able to make software for one specific hardware platform is quite exciting. The root of this excitement comes from many different factors. All the hardware specification is fixed and known beforehand, unlike PC development where every machine is different, knowing the hardware is fixed, you can try and create the best code possible to run on that machine, you can always compare this with what others are doing and any enhancement in software means something because everybody is running on the same ground. The memory is fixed, and very limited too, and a new dimension of memory consciousness while coding needs to be added to the development process and the art of the coder should come up with elegant memory solutions to support the whole product.
You would need to know the hardware very well in order to utilize it best and the border line between software and hardware really tends to become non existent. The depth of the abstraction layers while doing software engineering is much more in this case, all the way de-abstracting to the hardware itself.
The machine stays the same for a few years, the games enhance, the only way this could happen is by writing better and more efficient code and better using the hardware, unlike the usual trend in PC application development which is to write less efficient bloated code every year and rely on the enhancements in hardware performance.
Modern consoles are all multi-processor machines and they are a great platform for parallel software development which is quite complex and exciting. The best system in this area is the Cell processor on the PS3 with the 8 processing cores.
All of the above is quite a lot of work and needs tremendous amount of work but the whole idea of console development seems to be a fair and well defined game and challenge. Playing in a game where the rules are changed randomly isn't quite fun.
Hope to engage in the real coder's arena one day soon.

No comments: