Siirry suoraan sisältöön

Mobile Game ProgrammingLaajuus (5 cr)

Course unit code: HTGP0290

General information


Credits
5 cr
Teaching language
English
Responsible person
Risto Koskenkorva

Objective

Objectives (goals):
The objective of this course is to understand the differences between mobile and other game development. The student will learn basics of developing mobile games with game engine middleware and optimize it for a variety of mobile devices.

This course familiarizes you with building and optimizing your games to mobile environments.

Learning outcomes:
After completing this course, you will understand the special requirements for mobile games development and practical technical skills on developing them.

Course competences:
Game production competence
Software engineering competence

Content

Have you ever wanted to make your game run a mobile platform?

Mobile games market has skyrocketed to a massive industry and most of us have played some mobile games. They are often smaller in scope than traditional desktop games and therefore faster to develop. However, mobile games also have their own special needs to take in account in development.

The course will focus on developing mobile games with selected game engine middleware. We will learn to create games of our own and optimize it for a variety of mobile devices.

Qualifications

You need to posses advanced skills in game programming and game engines and therefore this course is not for you are not familiar with modern game development.

Assessment criteria, satisfactory (1)

Sufficient (1): You have basic knowledge of mobile game development. You know the steps to set up a development environment for building your game to one mobile platform and to make a simple game to run into it.

Satisfactory (2): You are capable of setting up a development environment for building your game to one mobile platform and are able to make a simple game to run in it. The game scales barely to multiple different mobile devices.

Assessment criteria, good (3)

Good (3): You are capable of setting up and analyzing a development environment for building your game to one mobile platform and are able to make a simple game to run in the platform. The game scales nicely to multiple different mobile devices. You are also able to use some of the mobile device specific debugging and profiling tools to analyze your game during the development.

Very Good (4): You are capable of setting up and analyzing a development environment for building your game to one mobile platform and are able to make a complex game to run in the platform. The game scales well to multiple different mobile devices. You are also able to use advanced mobile device specific debugging and profiling tools to analyze and optimize your game during the development. You are skilled with main optimization tricks to make more complex games run on high performance.

Assessment criteria, excellent (5)

Excellent (5): You are capable of setting up and analyzing a development environment for building your game to one mobile platform and are able to make a complex game to run in the platform. The game scales easily to multiple different mobile devices. You are also able to use advanced mobile device specific debugging and profiling tools to analyze and optimize your game during the development. You are skilled with main optimization tricks to make more complex games run on high performance and can evaluate different optimization ways. You are also capable of taking advantage of some mobile device specific special functionalities.

Materials

Public learning materials:
- Unity (mobile) Platform development manual: https://docs.unity3d.com/Manual/PlatformSpecific.html
- Unity API: https://docs.unity3d.com/ScriptReference/index.html
- Unity manual: https://docs.unity3d.com/Manual/index.html
- C# programming guide: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/

Other learning material:
- Databases in the learning environment
- Materials in the learning environment

Practicalities and used tools:
- C# (or C++) as the programming language
- Visual Studio (or similar) as the IDE
- Unity (or Unreal Engine) as the Game Engine
//- GitHub as the Version Control System
- Extra reading materials can be found from the web and Books24x7
- Tutorial materials can be found from the web and YouTube
- Zoom is used for lectures
- Teams and email are used for official communication
- DiscordApp / WhatsApp / other comms are used for questions, answers and discussions

Execution methods

The primary mode of delivery is a combination of in-class activities on campus and on-line lectures. The lectures will be recorded to support opportunities for 24/7 learning. The in-class activities deepen the learning in the forms of tutorials, individual and group works, reflection and guidance. However, if the COVID-19 or other similar situation requires the learning will be supported by on-line tutorials and activities.

Siirry alkuun