Skip to main content

Unity Development C#Laajuus (5 cr)

Code: TE00CY20

Credits

5 op

Objective

Upon completing the Advanced Game Programming course, students will be able to:

Demonstrate an understanding and application of advanced programming concepts, including data structures, algorithms, object-oriented programming, and scriptable objects.

Apply software design principles and design patterns to develop maintainable, extensible, and reusable systems.

Identify and fix complex bugs and performance issues for digital environments. Employ various debugging techniques, profiling tools, and optimization strategies for improving the efficiency and performance of their code.

Efficiently consult and use API documentation and manuals for industry-standard content creation engines and programming languages.

Design and develop AI for utility agents and goal-driven agents.

Show a surface comprehension of essential networking client-server concepts such as authoritative servers, client side prediction, synchronization, server reconciliation, dead reckoning, entity interpolation, and lag compensation.

Content

The following topics are given extensive attention

Behaviour trees, state machines and Bayes’ rule in games
Scriptable objects (Unity specific)
SOLID vs. KISS principles
The principles of network gaming
Delegates, code optimization and design patterns
Code debugging