Advanced Game ProgrammingLaajuus (5 cr)
Code: HG00CI49
Credits
5 op
Teaching language
- English
Responsible person
- Risto Koskenkorva
- Jere Lamberg
Objective
The objective of the course (goals):
Have you done enough scripting and would like to dive deeper? Are you looking for deeper understanding of programming and its connection to software design and development principles? Why doing things in an organised way is good?
The clean and well organised structure is one of the most important things in game production projects. When projects get bigger, the goal is not only about trying to find quick hack to the things but more of making things in a sustainable, extendable and performant way.
Now you have a chance to take a look at the architecture approach to extend your game making and programming skills, and to focus on better understanding of programming, good architectural decisions and common games related logic. So join in and start building your dreams!
Course competences:
- Game Production: Student can produce game technology related content for a game project and can work with the tools in meaningful and systematic way. Student can program with an engine-specific language and understand the role of assets and middleware. Student can produce value for a game project while working in a game technology related specialist role.
- Learning to Learn: Also takes responsibility for group learning and sharing what has been learned.
The learning objectives of the course (outcomes):
After completing this course, you have a deeper understanding of the structure and functionality of a game. You understand what software design and development principles are and how they work in unison with the game production pipelines and core game development tools to create a maintainable and modular game mechanics library. You undertand how the principles and mechanics library can be used for creating complex abd well structured games from a technical perspective. You can apply your skills to be a part of the game production process.
Content
Some of the tools you will familiarise yourself with in this course include advanced concepts in game production, such as design and programming principles, patterns, and practices. (Tools also include CLEAN and SOLID, and technical design). You will have skills to use some of the core game development tools features to create and use building blocks for games in the form of maintainable and modular game mechanics library.
Qualifications
Intermediate know-how in game programming, game engine, and other core development tools are required. A previous game mechanics related code base is required.
Assessment criteria, satisfactory (1)
Sufficient (1): You know the creation processes of complex games with the core development tools. You know some of the game production relater design and programming principles, patterns, and practices. You can apply your skills to develop and use a simple game mechanics library. You can be productive in a limited role as a game programmer.
Satisfactory (2): You understand the creation processes of complex games with the core development tools. You can use some of the game production relater design and programming principles, patterns, and practices. You can apply your skills to develop and use a game mechanics library. You can make structurally good code.
Assessment criteria, good (3)
Good (3): You can apply your skill in the creation processes of complex games with the core development tools. You are able to take into use some of the game production relater design and programming principles, patterns, and practices. You can apply your skills to develop, share, and use a complex game mechanics library. You can make structurally good code according to the principles. You can be productive in a role as a game programmer.
Very Good (4): You can apply your skill in the creation processes of complex games with the core development tools. You are able to identify and analyze some of the game production relater design and programming principles, patterns, and practices. You can apply your skills to develop, share, and use a complex game mechanics library. You can make structurally excellent code according to the principles.
Assessment criteria, excellent (5)
Excellent (5): You can identify and analyse the creation processes of complex games with the core development tools. You are able to evaluate and describe most of the game production relater design and programming principles, patterns, and practices.You can apply your skills to develop, share, and use a complex and extensive game mechanics library. You can make structurally excellent code according to the principles. You have done cooperation with another programmer in your project(s).