What is a Gameplay Programmer?
A gameplay programmer is typically focused on developing a game's strategy, implementing the game's logic and implementing the "feel" of the game. This discipline is not a separate one from game development.
A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebases for video games or related software, such as game development tools. Game programming has many specialized disciplines, all of which fall under the umbrella term of "game programmer".
Gameplay programmers work alongside level and gameplay designers, to write the code for everything that happens in the game - what you need to accomplish in a level, the rules, what certain objects’ functions are, and how it is all balanced, to give the player a satisfying experience. Gameplay programmers also write code for tools, fix bugs and optimise gameplay
Entry Level Skills & Capabilities
The following information outlines the exact skills you need to demonstrate as a Certified Digital Artist. You must be proficient and capable of completing all these skills and capabilities.
1. Communication skills
- Strong communication skills to describe and present your work with confidence
- Willing to show progress frequently and able to receive and discern feedback objectively
2. Reference Gathering
- Gathering and analyzing real-world photographic and video reference
- High level of proficiency in finding and identifying good references.
3. Defining Gameplay Features
- Demonstrate knowledge of physics and player movement
- Applying physics to a game such as gravity
- Implementing game logic and mechanics: Scripting functions, events, interactions
- Create transitive or intransitive relationships in your game
- Bonus: Artificial Intelligence behaviour and movement: Simulating artificial intelligence in opponents
4. UI design/implementation
- Incorporate assets and designs and getting it all to work in the game engine
5. Troubleshooting
- Testing, debugging, profiling, analysing, and optimising the existing code-base.
- Demonstrated knowledge of the C# programming language to develop, update, and troubleshoot in the Game Engine.
- Bonus: Implementing algorithms, addressing memory requirements and caching issues work with QC team to analyze and fix gameplay bugs in the most reliable way possible
6. Tool Creation
- Ability to write iOS and Android plugins for Game Engines
Language & Technical Proficiencies
Basic ability to use on or more of the following coding languages:
- Java
- Python
- Maya Embedded Language (MEL)
- Bonus: C++
Software Proficiencies
Ability to use on or more of the following software packages:
- Unreal Engine
- Unity
- Autodesk Maya
- XCode
- Visual Studio
- SourceTree
- Perforce
- Openapi
- AWS
Prerequisites
These skills are equally important in terms of your understanding and ability to do this role. Although they are not skills or knowledge that is officially certified, it will be obvious to recruiters and Certified Digital Artist(CDA) reviewers if you have knowledge in these areas.
General
- Knowledge of Mathematical Principles: Linear Algebra, Geometry, Calculus
- Familiar with how a GUI works
- Familiar with coding languages such as: C#, C++, Python
- Strong analytical and problem solving skills.
- Game knowledge: Have a strong and wide-ranging interest in PC, Console and Mobile Games.
Life Skills & Communication
- Thinking Critically
- Communication Skills
- Conflict Management
- Taking initiative
- Collaboration
- Time Management
Portfolio Projects
Roles in Creative Media & Entertainment industries are quite different to traditional roles. As a Digital Artist, you need to prove your creative and technical abilities which requires an online portfolio filled with projects that showcase your work. One of more of the following projects should be included in your digital portfolio to demonstrate your skills and abilities to perform the required skills of this role.
- Complete technical designs of different types of games ranging from first-person shooters, puzzle games and games with complex environments
- Showcase a tool that you have created for a game
- Show examples of how you implemented a user interface into a game
- Implement the health regeneration mechanic, or implement the player jump controls for a given game.