Interested in a simple Skills Scan and Learning Progress Tracker tool for the Game programmer standard?
Knowledge
K1: How to approach the development of interactive, real-time applications for gaming platforms, including an awareness of industry-standard programming languages, application programming interfaces (APIs), tools, engines and frameworks.
K2: The syntax and structure of an industry-standard programming language (above and beyond visual programming languages) used for the development of games (for example C++, C#).
K3: The fundamental graphical and mathematical principles that underpin the operation of real-time graphics in two and three-dimensions.
K4: The characteristics of modern hardware platforms and how they support the efficient function of interactive, real-time graphical applications.
K5: Approaches to balancing quality and performance requirements to achieve, monitor and maintain acceptable frame rates and memory footprints for a real-time interactive application.
K6: How to use tools to identify and optimise performance bottlenecks in real-time applications.
K7: The role of debugging tools, crash reports, automated testing and continuous integration workflows in creating robust software.
K8: The role of staged deployment, monitoring and analytics in releasing, tracking and refining games.
K9: Common principles of good software design applied in the games industry including contrasting approaches and priorities (e.g. object-oriented vs. data-oriented)
K10: How a complete asset pipeline for a game operates, including the technical requirements, processing stages and tools involved in bringing assets into the game.
K11: How to use version control and project management tools to plan and coordinate the delivery of development tasks.
K12: Common development methodologies and how they are applied in game development.
K13: The broad range of roles involved in the game development process, and the different strengths and perspectives that multi-disciplinary teams bring to the creative process.
K14: Where to find information on the latest technological innovations for the games industry.
K15: The role of rapid prototyping and agile approaches in innovation.
K16: The organisation’s standards with respect to coding, documentation and issue tracking, and how they relate to wider practice in the software industries.
K17: Publisher’s technical requirements for target platforms, where to obtain them and the tools and systems available to support developers to meet those requirements.
K18: The business stakeholders in a project and how multi-disciplinary development teams can generate value within the context of different business models.
K19: Relevant data protection laws including GDPR.
K20: Security approaches to prevent products being compromised, and everyday good practice in security including password policies, phishing and use of VPNs.
K21: The relative merits of different game engines, third-party frameworks and tools, and when to use them to speed up the development process.
K22: How to balance the requirements and availability of team resources (for example staff time, software licencing) with respect to the engineering and maintenance of a game’s asset pipeline.
K23: The range of different disciplines involved in the development process and their typical skillsets and expectations in terms of technologies, tools and asset formats.
K24: The specialist operation of a specific hardware architecture or gaming platform and how to engineer efficient solutions which target its specific capabilities.
K25: How to balance the requirements and availability of team resources (staff time, software licencing) with respect to providing the maximum benefit to their users.
K26: How to use externally facing support portals and project tracking tools in order to effectively track and document technologies for sharing with a wide user-base.
Skills
S1: Program interactive, real-time applications for gaming platforms using an industry-standard programming language, incorporating APIs, tools, engines or frameworks appropriate to employer requirements.
S2: Implement and adapt contemporary real-time algorithms in two and three-dimensional games.
S3: Use profiling tools and techniques to achieve, monitor and maintain an acceptable real-time framerate for an interactive game.
S4: Track memory usage and identify opportunities for reducing requirements.
S5: Write code informed by the characteristics of modern hardware platforms (e.g. shader programming, multi-threading).
S6: Use debugging tools and automated testing systems to develop robust code bases.
S7: Use continuous integration workflow within the deployment lifecycle as part of a multi-disciplinary software team.
S8: Write robust, well-tested, maintainable code which is easy to adapt to changing requirements.
S9: Use an industry-standard version control system.
S10: Use an industry-standard project management system from the perspective of a developer.
S11: Adapt or extend existing tool chains to support new features and/or optimise workflows.
S12: Apply industry-standard development methodologies within day-to-day working practice.
S13: Manage complex relationships with diverse stakeholders and communicate information effectively to different audiences.
S14: Provide technical leadership and direction with respect to the workflow of other team members.
S15: Research, document and articulate the opportunities and threats presented by new industry technologies.
S16: Follow studio coding best-practices and participate in keeping them relevant and up to date.
S17: Give and receive feedback in code reviews in an objective and professional manner.
S18: Develop games and/or prototypes using an industry-standard or in-house game engine.
S19: Make justified choices about the implementation of different features and tools and their effect on the overall workload of the team.
S20: Write software which contributes to the player experience while balancing the extensibility and performance requirements for an evolving game design.
S21: Work as part of interdisciplinary teams, collaborating closely with disciplines outside programming, for example artists, game designers and audio engineers.
S22: Create innovative game mechanics for which solutions are unknown.
S23: Develop reusable technologies targeting specific hardware architectures or gaming platforms.
S24: Make justified decisions about the implementation of different features and their effect on quality and workload for their technology’s user base.
S25: Work as part of a user-focused product team, incorporating multi-disciplinary input from outside of the team, for example from game software programmers, artists, game designers and audio engineers.
S26: Communicate and evangelise technology solutions to promote engagement and uptake among the user-base.
S27: Profile and optimise code created by their technology users.
Behaviours
B1: Reliable, objective and capable of independent working.
B2: Initiative and personal responsibility to overcome challenges and take ownership for project solutions.
B3: Respect for other disciplines and an understanding of the role of diverse experiences and backgrounds in a successful creative process.
B4: Commitment to continuous professional development; maintaining their knowledge and skills in relation to technology developments, and sharing best practice in their organisation around all aspects of game development.
B5: Maintains awareness of trends and innovations in the subject area, utilizing a range of academic literature, online sources, community interaction and conference attendance.
B6: Acts with integrity with respect to ethical, legal and regulatory ensuring the protection of personal data, safety and security.
B7: A strong work ethic and commitment in order to meet the standards required.
Core occupation duties
DUTY: Lead the development of technical systems governed by the principles and constraints of real-time graphical environments for contemporary gaming platforms (e.g. games consoles, desktop computers, tablets and phones).
K1
K3
K4
K5
K9
S1
S2
S5
B1
B2
B7
DUTY: Engineer robust, performance-driven software using programming languages, game engines and frameworks appropriate to the requirements of the projects being developed (for example C++, C#). Conceptualise and address performance bottlenecks and optimize complex software systems and resource pipelines.
K1
K2
K4
K5
K6
K7
K8
K9
S1
S3
S4
S5
S6
S8
S20
B7
DUTY: Diagnose and fix errors in complex technical systems that involve many interacting factors, making use of automated testing systems to optimise workflows.
K2
K5
K6
K7
K8
S2
S3
S6
S8
S11
S17
B7
DUTY: Lead the development of technical systems which feed directly or indirectly into the player experience, working iteratively to continuously adjust and refine their work. Initiate and implement modifications to software architectures to support future changes in design.
K1
K5
K8
K12
S5
S11
S20
B1
B2
B7
DUTY: Plan and co-ordinate the delivery of work for themselves and junior programmers within a larger team, using appropriate version control and project management tools to manage software changes and track progress within the context of a wider development methodology.
K7
K8
K11
K12
K17
K18
S9
S10
S11
S12
S14
B1
B7
DUTY: Provide technical insight to a broad spectrum of creative disciplines from Game Programmers, Designers, Producers, Artists, Animators, Audio Engineers, QA staff, Project Managers, Analysts, Community Managers and Marketing to communicate technical constraints and opportunities.
K4
K5
K7
K8
K9
K10
K11
K12
K13
K14
K17
K18
K19
K20
S3
S7
S9
S11
S12
S13
S14
B1
B3
B4
B5
B6
B7
DUTY: Create and maintain technical standards across the project, organisation and its clients and stay informed of the latest technical requirements for gaming platforms. Undertake reviews of code, documentation, testing processes and methodologies to maintain good technical practice across the business.
K7
K8
K14
K16
K17
K19
K20
S6
S13
S17
B1
B4
B5
B6
B7
DUTY: Lead research into new technologies and identify opportunities for their potential application within the business.
K15
S15
S16
B1
B2
B4
B5
B7
DUTY: Practice continuous self-learning to keep up to date with latest industry developments, and support their effective communication within the organisation.
K14
K15
S16
S17
B5
B6
B7
Game software programmer duties
DUTY: Select and apply industry-standard game engines and tools to realise game design, employing industry-standard tools to accelerate the development process and avoid unnecessary replication of effort and resources.
K1
K3
K4
K5
K9
S1
S2
S5
B1
B2
B7
DUTY: Initiate and lead the development of bespoke asset pipelines, which affect the allocation of significant project resources, beyond the extent of their own tasks.
K1
K2
K4
K5
K6
K7
K8
K9
S1
S3
S4
S5
S6
S8
S20
B7
DUTY: Work collaboratively with other developers to maximise the combined value of the team’s effort to the player experience.
K2
K5
K6
K7
K8
S2
S3
S6
S8
S11
S17
B7
Game technology programmer duties
DUTY: Design and create libraries, engines and tools which target specific hardware architectures or gaming platforms, applying both high and low-level approaches to their development and optimisation.
K1
K3
K4
K5
K9
S1
S2
S5
B1
B2
B7
DUTY: Initiate and lead the development of standardised core technologies, software systems and workflows which affect the allocation of significant resources for the users of those technologies.
K1
K2
K4
K5
K6
K7
K8
K9
S1
S3
S4
S5
S6
S8
S20
B7
DUTY: Work collaboratively with a wide user-base to support their use of technologies and inform and improve their design and documentation.