[img]http://www.sumea.com.au/css%5Cspn/Red_Tribe.gif[/img]
Engine Coders
Core Goals
* To achieve familiarity with the platform hardware and platform specific development tool chain.
* To achieve basic familiarity with the multi-platform middleware:
* To achieve familiarity with the core of the Red Tribe (Kymera) engine technology.
* To maintain the knowledge to support and advise the engine development team on all platform-related issues, problems and enhancements.
* To be able to take responsibility for, and to complete, programming work related to platform specific issues, problems and enhancements.
* To be able to understand and take responsibility for resolving technical issues related to product submission and approval by hardware manufacturers.
* To be able to communicate platform specific restrictions and advantages to the engine team, application team and asset creation teams.
Developing Hardware Knowledge
* Develop knowledge of incidental issues arising from the specific CPU instruction set.
* Develop knowledge of hardware specific CPU instructions useful for optimisation and for performing special tasks related to the hardware.
* Develop an awareness of general hardware features, and their applicability to solving specific problems.
* Develop a detailed understanding of render specific issues, such as shader language, fill rate costs and implications, texture size restrictions and implications. It will almost certainly be necessary to write some platform specific shaders.
* Develop a detailed understanding of the threading / multiprocessing model provided by the hardware and library kernel.
* Develop a working knowledge of CD/DVD/BluRay access techniques, restrictions, limitations and optimization.
* Develop a detailed knowledge of unusual hardware specific limitations, such as those relating to audio playback, hard-drive access, memory access, etc.
* Develop a general awareness of issues that may affect other platforms so that incompatible design decisions can be avoided.
Developing Knowledge of Software
* Develop an awareness of platform specific Technical Requirement Checklist (TRC) specifications and conditions, and the standards of development and quality assurance that will be applied on submission.
* Maintain an awareness of the application?s current and desired behaviour under play conditions, and be able to advise of situations that represent risks to TRC compliance or hardware performance.
* Develop an understanding of the interface between XXX and the rendering libraries provided by the hardware manufacturer.
* Develop an understanding of platform specific optimisations provided in the rendering libraries, including direct access to the render hardware where provided.
* Develop an understanding of the interface between XXX and the sound playback libraries provided for the hardware.
* Develop a general understanding of the software libraries provided by the hardware manufacturer for the console. A good general knowledge is most useful as specific questions can always be answered by referring to documentation.
* Become competent in the use of the various tools provided to assist with software development for the platform, such as compilers, performance analysers, memory checking tools, debuggers and utility libraries.
* Maintain an awareness of software issues that may impact on successful development, such as bugs in crucial tools (such as compilers), libraries and boot-ROMs ? so far as such information is available or discoverable.
* Maintain a detailed understanding of the rules and methods for use of storage devices that may be attached to the system, such as hard-drives or memory-cards. This includes knowledge of the TRC issues related to the use of such devices.
* Develop knowledge of how to make proper use of the platform controller libraries, though controllers may well be read through XXX. It is useful to know what buttons and axes exist, their resolutions, how they are used by players and how they are read by the hardware and associated libraries. Controller TRC issues should be understood and it should be possible to communicate issues to other team members.
* Maintain sufficient general knowledge of other platforms and their jargon so that conversations about technical issues are possible.
* Maintain a working knowledge of current ?popular? rendering techniques and effects, such as algorithms for creating lighting / shadows, bump mapping, parallax mapping, per-pixel lighting, HDR lighting, BRDF materials, environment mapping, radiosity, spherical harmonics, etc.
Core Tasks
* Develop and maintain platform specific code for engine or application.
* Assist the application team with meeting TRC standards, including coding where necessary.
* Assist the asset teams with meeting TRC standards, where necessary.
* Make regular builds of the game on the target platform and ensure they are available for QA.
* Assist the rest of the engine team with design and implementation of whatever systems are necessary, platform specific or otherwise, as the development process necessitates.
* Perform discovery and removal of platform specific bugs.
* Design and implement platform specific optimisations and problem workarounds.
Existing Knowledge Requirements for Microsoft Xbox 360
Pre-requisites
* Solid C and C++ experience
* Familiarity with DirectX 8 or above
* Familiarity with the Microsoft .Net 2003 compiler
* Some familiarity with at least one assembly language instruction set and processor architecture
* Good knowledge of maths, modern rendering techniques, shader-creation, skinning and lighting concepts
Advantages
* Knowledge of IBM Power instruction set and architecture
* Familiarity with multiprocessor techniques
* Familiarity with Xbox 1 development and tool-chain
* Experience of development on other consoles
Existing Knowledge Requirements for Sony Playstation 3
Pre-requisites
* Solid C and C++ experience
* Familiarity with OpenGL
* Familiarity with the Microsoft .Net 2003 compiler
* Familiarity with SN or GCC compiler
* Familiarity with at least one assembly language instruction set and processor architecture and some experience of actually writing assembly code
*Good knowledge of maths, modern rendering techniques, shader-creation, skinning and lighting concepts
Advantages
* Knowledge of IBM Power instruction set and architecture
* Familiarity with multiprocessor techniques
* Familiarity with PS2 development and tool-chain
* Experience of development on other consoles
* Appreciation of in-order execution issues
* Familiarity with Xbox 1 development, in particular NVidia?s idea of how graphics rendering should work on a console
Red Tribe can be contacted at
http://www.redtribe.com/jobs.htm