Siirry suoraan sisältöön

Game Engine 2Laajuus (5 cr)

Code: HTGP0280

Credits

5 op

Teaching language

  • English

Responsible person

  • Risto Koskenkorva,

Objective

Objectives (goals):
The main objective is to become an efficient user of the game engine and its API. The student will learn more in-depth usage of the game engine, as well as programming own components instead of using pre-made. The student who completes the course has skills to implement and finalise more complex games from a technical perspective, taking advantage of a game engine. The student also has deeper understanding of game development, its terminology and their relation to the chosen game engine. Basically, to understand what a game engine and its API are, and how to use them to create ready games.

The student will learn more in-depth usage of the selected game engine with focus on extending earlier game development skills, as well as programming own components instead of using only pre-made.

Learning outcomes:
After completing this course, you are capable of making more complex games using the selected game engine.

Course competences:
Game production competence
Software engineering competence

Content

Have you ever wanted to make a game of your own from scratch?

Game development is these days done widely by taking advantage of game engine middleware. Using such a middleware speeds up development and gives you more focus on developing the game mechanics instead of technology.

This course aims to extend your skills gained with the selected engine in Game Engine 1 course. The course focuses on providing skills to implement a finalized game with the game engine, with a major amount of functionality programmed by the student themselves.

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 and programming.

Sufficient skills in the programming language, the OOP paradigm, the game engine, and other related tools.

Assessment criteria, satisfactory (1)

Sufficient (1): You understand how to use the main functionality of the game engine and its API to create games. You are capable of creating a simple, but functional, game with the game engine. You are capable of using common scripts, functionalities and mechanics required for developing such a game. You can be productive in a limited role as a programmer.

Satisfactory (2): You are capable of using the game engine and its API to build a ready game that takes advantage of a variety game engine’s functionality. You are capable of creating common scripts, functionalities and mechanics required for developing such a game.

Assessment criteria, good (3)

Good (3): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating and analyzing scripts, functionalities and mechanics required for developing such a game.

Very Good (4): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating, analyzing and modifying scripts, functionalities and mechanics required for developing such a game. You also have extended the game engine functionality or complex mechanics by yourself. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on some specific part of the game engine. You can be productive in a role as a programmer.

Assessment criteria, excellent (5)

Excellent (5): You are capable of using the game engine and its API to build and evaluate a complex game that takes advantage of a wide variety of functionality that game engine supports, including complex scripting. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on several specific parts of the game engine. You have done cooperation with other game developer(s) in your project(s).

Materials

Public learning material:
Unity manual: https://docs.unity3d.com/Manual/index.html
Unity API: https://docs.unity3d.com/ScriptReference/index.html
C# programming guide: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/

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
- All the sessions are recorded and the links are added to the learning environment

Timing

26.08.2024 - 18.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Face-to-face

Unit

Liiketoimintayksikkö

Campus

Pääkampus

Teaching languages
  • English
Seats

20 - 41

Degree programmes
  • Bachelor's Degree Programme in Business Information Technology
Teachers
  • Risto Koskenkorva
Groups
  • HTG23S1
    Bachelor's Degree Programme in Business Information Technology

Objective

Objectives (goals):
The main objective is to become an efficient user of the game engine and its API. The student will learn more in-depth usage of the game engine, as well as programming own components instead of using pre-made. The student who completes the course has skills to implement and finalise more complex games from a technical perspective, taking advantage of a game engine. The student also has deeper understanding of game development, its terminology and their relation to the chosen game engine. Basically, to understand what a game engine and its API are, and how to use them to create ready games.

The student will learn more in-depth usage of the selected game engine with focus on extending earlier game development skills, as well as programming own components instead of using only pre-made.

Learning outcomes:
After completing this course, you are capable of making more complex games using the selected game engine.

Course competences:
Game production competence
Software engineering competence

Content

Have you ever wanted to make a game of your own from scratch?

Game development is these days done widely by taking advantage of game engine middleware. Using such a middleware speeds up development and gives you more focus on developing the game mechanics instead of technology.

This course aims to extend your skills gained with the selected engine in Game Engine 1 course. The course focuses on providing skills to implement a finalized game with the game engine, with a major amount of functionality programmed by the student themselves.

Oppimateriaali ja suositeltava kirjallisuus

This field describes the public learning material that is required for passing the course.

Learning material:
- Teacher's written materials
- Lecture materials (Slides and in the learning environment)
- Databases (in the learning environment)
- Materials related to implementation (in the learning environment)
- Extra reading materials can be found from the web and Books24x7
- Tutorial materials can be found from the web and YouTube (or the course database)

Practicalities and used tools:
- A Version Control System (VCS) compatible with the game engine (e.g. Git, GitHub as the location)
- A game engine (e.g. Unity / Unreal Engine / Godot...)
- Integrated Development Environment (IDE) related to the game engine (e.g. Visual Studio / JetBrains...)
- A programming language related to the game engine (e.g. C# / C++...)
- 3D modelling and animation software (e.g. Blender)

Some tool related public learning materials:
- Microsoft. (2024). C# programming guide [Documentation website]. https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
- Unity Technologies. (2024a). Unity - Manual [Documentation website]. https://docs.unity3d.com/Manual/index.html
- Unity Technologies. (2024b). Unity - Scripting API [Application Programming Interface website]. https://docs.unity3d.com/ScriptReference/index.html

Teaching methods

This field describes the methods of teaching and learning used in the implementation and how student guidance will be arranged.

A blended model:
The primary mode of delivery is a combination of activities in-class on campus, and in specific cases on-line.
However, if the COVID-19 or other similar situation requires the learning will be supported by on-line activities.

The activities will deepen the learning in the following possible ways:
- Theoretical lectures and testing
- Individual and possible group work (implementation)
- Individual and possible group exercises, learning tasks (assignments) and reflection
- Guidance in the form of guided demos and end result reviews (also help with challenges)

The course activities can also contain:
- Project-based learning
- Flipped learning (learning about the topic before theory lectures)
- Knowledge tests
- Topic specific focus teaching
- Topic specific research
- Database use for challenges/problems/tutorials (problem based learning)

Participation to possible on-line activities:
- Zoom is used for on-line activities
- Requires a working webcam, headphones and microphone
- If one or more of the following are missing, the participation can be declined

Artificial intelligence (AI) usage:
- The use of AI and AI-assisted tools is permitted and recommended
- Pure copying (plagiarism) is still prohibited and will result in appropriate penalties

Official communication channels:
- Teams (primary) and email
- Course news (forum)
- DiscordApp / WhatsApp / other comms are prohibited from the faculty members
- The sessions can be recorded and the links added to the workspace (recording permission will always be requested from the participants beforehand)

Employer connections

This field describes connections to working life and practical training.

The course might have visiting lecturers (game industry experts), and possibly an excursion (virtual or physical).

The possible course project will mimic real-life project experiences.

Exam schedules

This field indicates the date and time of the actual exam and all retake opportunities.

There will be no exam on this course!
- Every student reserves a 30 min evaluation slot, where they will show their end results (portfolio) to verify the skills and knowledge required to pass the course
- The evaluation will be carried out with 1-on-1 conversations together with the course teacher(s)
- The reservation of the evaluation slots will be made possible through the learning platform

The date and time of the evaluation:
- From mid December to January
- Exact dates and the chances to retakes are announced during the course

Vaihtoehtoiset suoritustavat

This field describes the alternative completion methods for the course.

You have the right to apply for recognition of your studies if you have prior learning (e.g. university studies completed elsewhere) that can be accredited towards the degree you are currently completing.

The recognition of prior learning is possible in the following ways:
- Accreditation of higher education studies (replacement or inclusion)
- Recognition of informal learning

More precise info:
- JAMK Degree Regulations, section 17
- https://www.jamk.fi/en/for-students/degree-student/recognition-of-prior-learning-and-experience

Student workload

This section describes the learning assignments and the time needed for completing them and the student’s other scheduling.

The workload of 5 credits is 135 hours. The load is distributed the following way:
- 55 hours of guided in-class activities
- 80 hours of independent work

This is roughly the following hour amounts:

~55 hours: In-class activities (Lectures, testing and implementation in demo)
~35 hours: Tasks (weekly and other), module assignments, and preparing for lectures
~30 hours: End product work
~15 hours: Portfolio preparations (for evaluation purposes)

Content scheduling

This section describes the scheduling of the course. Meaning what happens every week (rhythm, timing, weekly tasks, mandatory parts of the implementation)?

The course consists of 5 modules:
- Modules are 3-5 weeks long
- Every module is mandatory and has weekly in-class activities and independent work
- At the end of each module, there is a mandatory module assignment that checks the student's progress and module-related understanding and skills
- Detailed module contents will be available in the learning environment

The course starts with a 3 week long module. The module focuses on the course introduction, setting up the tools and environments as well as taking the first dive into the course topic. By the end to the 1st module every student must have fill the following criteria:
- Participated to all of the course in-class activities (marked participation)
- Returned the module assignment that has been accepted
- If 1 or more of the criteria is not filled, the student will be considered as inactive / withdrawn from the course (according to Jamk course resource requirements)

Weekly scheduling:
~4 hours per week for mandatory in-class activities (theory, testing, and implementation in demo) -> Possibly in 2 separate sessions
~4-6 hours per week of independent work relating to the tasks (weekly and other), module assignments, preparing for the lectures, and end product work (everything should further the student's end product)

This means that you should reserve ~8-10 hours of working time every week for this course!

The course also expects every student to have an end product to show by the end of the course:
- The end product demonstrates the student's understanding and skills related to the topics of the course
- The course ends with a final end result presentations in December

Evaluation scale

0-5

Arviointikriteerit, tyydyttävä (1-2)

Sufficient (1): You understand how to use the main functionality of the game engine and its API to create games. You are capable of creating a simple, but functional, game with the game engine. You are capable of using common scripts, functionalities and mechanics required for developing such a game. You can be productive in a limited role as a programmer.

Satisfactory (2): You are capable of using the game engine and its API to build a ready game that takes advantage of a variety game engine’s functionality. You are capable of creating common scripts, functionalities and mechanics required for developing such a game.

Arviointikriteerit, hyvä (3-4)

Good (3): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating and analyzing scripts, functionalities and mechanics required for developing such a game.

Very Good (4): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating, analyzing and modifying scripts, functionalities and mechanics required for developing such a game. You also have extended the game engine functionality or complex mechanics by yourself. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on some specific part of the game engine. You can be productive in a role as a programmer.

Assessment criteria, excellent (5)

Excellent (5): You are capable of using the game engine and its API to build and evaluate a complex game that takes advantage of a wide variety of functionality that game engine supports, including complex scripting. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on several specific parts of the game engine. You have done cooperation with other game developer(s) in your project(s).

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 and programming.

Sufficient skills in the programming language, the OOP paradigm, the game engine, and other related tools.

Enrollment

01.08.2023 - 24.08.2023

Timing

28.08.2023 - 19.12.2023

Number of ECTS credits allocated

5 op

Virtual portion

2 op

Mode of delivery

60 % Face-to-face, 40 % Online learning

Unit

Liiketoimintayksikkö

Campus

Pääkampus

Teaching languages
  • English
Seats

20 - 41

Degree programmes
  • Bachelor's Degree Programme in Business Information Technology
Teachers
  • Risto Koskenkorva
Groups
  • HTG22S1
    Bachelor's Degree Programme in Business Information Technology
  • ZJA23SI
    Avoin amk, tiko
  • ZJK23SI
    Korkeakoulujen välinen yhteistyö, TIKO

Objective

Objectives (goals):
The main objective is to become an efficient user of the game engine and its API. The student will learn more in-depth usage of the game engine, as well as programming own components instead of using pre-made. The student who completes the course has skills to implement and finalise more complex games from a technical perspective, taking advantage of a game engine. The student also has deeper understanding of game development, its terminology and their relation to the chosen game engine. Basically, to understand what a game engine and its API are, and how to use them to create ready games.

The student will learn more in-depth usage of the selected game engine with focus on extending earlier game development skills, as well as programming own components instead of using only pre-made.

Learning outcomes:
After completing this course, you are capable of making more complex games using the selected game engine.

Course competences:
Game production competence
Software engineering competence

Content

Have you ever wanted to make a game of your own from scratch?

Game development is these days done widely by taking advantage of game engine middleware. Using such a middleware speeds up development and gives you more focus on developing the game mechanics instead of technology.

This course aims to extend your skills gained with the selected engine in Game Engine 1 course. The course focuses on providing skills to implement a finalized game with the game engine, with a major amount of functionality programmed by the student themselves.

Oppimateriaali ja suositeltava kirjallisuus

Public learning material:
- 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
- Git as the Version Control System (GitHub as the location)
- 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
- All the sessions are recorded and the links are added to the learning environment

Teaching 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.

A blended model:
- The course can also contain project based learning, learning tasks, knowledge tests, topic specific focus teaching, database use for challenges/problems/tutorials (problem based learning)

Employer connections

The course might have visiting lecturers and possibly an excursion (virtual or physical).

Exam schedules

There is no exam on this course. Every student reserves a 30 min evaluation slot where they will show the task and project results (portfolio) to verify the skills and knowledge required to pass the course. The evaluation will be carried out with 1-on-1 conversations together with the course teacher. The reservation of the evaluation slots will be made possible through the learning platform.

During the last 2-3 weeks after classes will be reserved for the 1-on-1 evaluations. Students can use this time to make games in voluntary game projects.

Vaihtoehtoiset suoritustavat

You have the right to apply for recognition of your studies if you have prior learning (e.g. university studies completed elsewhere) that can be accredited towards the degree you are currently completing.

The recognition of prior learning is possible in three primary ways: accreditation (replacement or inclusion), recognition of informal learning and studification. More precise info: JAMK Degree Regulations, section 17.

Student workload

One credit corresponds to an average of 27 hours of work, which means that the load of five credits is approximately 135 hours. The load is distributed roughly the following way:
- Lectures: ~26h
- In-class activities (demos): ~26h
- Tasks (weekly and other), module projects and lecture preparations: ~53h
- End task / portfolio preparations: ~30h

Content scheduling

General scheduling - 75% compulsory participation:
- 2 hours per week for mandatory lectures (virtual)
- 2 hours per week for mandatory in-class activities (demo lectures)

Further information

Avoin amk 2
EduFutura 3

Evaluation scale

0-5

Arviointikriteerit, tyydyttävä (1-2)

Sufficient (1): You understand how to use the main functionality of the game engine and its API to create games. You are capable of creating a simple, but functional, game with the game engine. You are capable of using common scripts, functionalities and mechanics required for developing such a game. You can be productive in a limited role as a programmer.

Satisfactory (2): You are capable of using the game engine and its API to build a ready game that takes advantage of a variety game engine’s functionality. You are capable of creating common scripts, functionalities and mechanics required for developing such a game.

Arviointikriteerit, hyvä (3-4)

Good (3): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating and analyzing scripts, functionalities and mechanics required for developing such a game.

Very Good (4): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating, analyzing and modifying scripts, functionalities and mechanics required for developing such a game. You also have extended the game engine functionality or complex mechanics by yourself. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on some specific part of the game engine. You can be productive in a role as a programmer.

Assessment criteria, excellent (5)

Excellent (5): You are capable of using the game engine and its API to build and evaluate a complex game that takes advantage of a wide variety of functionality that game engine supports, including complex scripting. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on several specific parts of the game engine. You have done cooperation with other game developer(s) in your project(s).

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 and programming.

Sufficient skills in the programming language, the OOP paradigm, the game engine, and other related tools.

Enrollment

01.08.2022 - 25.08.2022

Timing

29.08.2022 - 21.12.2022

Number of ECTS credits allocated

5 op

Virtual portion

2 op

Mode of delivery

60 % Face-to-face, 40 % Online learning

Unit

Liiketoimintayksikkö

Campus

Pääkampus

Teaching languages
  • English
Seats

0 - 41

Degree programmes
  • Bachelor's Degree Programme in Business Information Technology
Teachers
  • Risto Koskenkorva
  • Peter Ciszek
Groups
  • ZJK22SI
    Korkeakoulujen välinen yhteistyö, TIKO
  • HTG21S1
    Bachelor's Degree Programme in Business Information Technology
  • ZJA22SI
    Avoin AMK, tiko

Objective

Objectives (goals):
The main objective is to become an efficient user of the game engine and its API. The student will learn more in-depth usage of the game engine, as well as programming own components instead of using pre-made. The student who completes the course has skills to implement and finalise more complex games from a technical perspective, taking advantage of a game engine. The student also has deeper understanding of game development, its terminology and their relation to the chosen game engine. Basically, to understand what a game engine and its API are, and how to use them to create ready games.

The student will learn more in-depth usage of the selected game engine with focus on extending earlier game development skills, as well as programming own components instead of using only pre-made.

Learning outcomes:
After completing this course, you are capable of making more complex games using the selected game engine.

Course competences:
Game production competence
Software engineering competence

Content

Have you ever wanted to make a game of your own from scratch?

Game development is these days done widely by taking advantage of game engine middleware. Using such a middleware speeds up development and gives you more focus on developing the game mechanics instead of technology.

This course aims to extend your skills gained with the selected engine in Game Engine 1 course. The course focuses on providing skills to implement a finalized game with the game engine, with a major amount of functionality programmed by the student themselves.

Oppimateriaali ja suositeltava kirjallisuus

Public learning material:
- 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
- All the sessions are recorded and the links are added to the learning environment

Teaching 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.

A blended model:
- The course can also contain project based learning, learning tasks, knowledge tests, topic specific focus teaching, database use for challenges/problems/tutorials (problem based learning)

Employer connections

The course might have visiting lecturers and possibly an excursion (virtual or physical).

Exam schedules

There is no exam on this course. Every student reserves a 30 min evaluation slot where they will show the task and project results (portfolio) to verify the skills and knowledge required to pass the course. The evaluation will be carried out with 1-on-1 conversations together with the course teacher. The reservation of the evaluation slots will be made possible through the learning platform.

During the last 2-3 weeks after classes will be reserved for the 1-on-1 evaluations. Students can use this time to make games in voluntary game projects.

Vaihtoehtoiset suoritustavat

You have the right to apply for recognition of your studies if you have prior learning (e.g. university studies completed elsewhere) that can be accredited towards the degree you are currently completing.

The recognition of prior learning is possible in three primary ways: accreditation (replacement or inclusion), recognition of informal learning and studification. More precise info: JAMK Degree Regulations, section 17.

Student workload

One credit corresponds to an average of 27 hours of work, which means that the load of five credits is approximately 135 hours. The load is distributed roughly the following way:
- Lectures: ~26h
- In-class activities (demos): ~23h
- Weekly tasks: ~36h
- Projects and preparing for lectures: ~40h
- End task / portfolio: ~10h

Content scheduling

General scheduling:
- 2 hours per week for lectures (virtual)
- 1,75 hours per week for in-class activities

Further information

EduFutura 5

Evaluation scale

0-5

Arviointikriteerit, tyydyttävä (1-2)

Sufficient (1): You understand how to use the main functionality of the game engine and its API to create games. You are capable of creating a simple, but functional, game with the game engine. You are capable of using common scripts, functionalities and mechanics required for developing such a game. You can be productive in a limited role as a programmer.

Satisfactory (2): You are capable of using the game engine and its API to build a ready game that takes advantage of a variety game engine’s functionality. You are capable of creating common scripts, functionalities and mechanics required for developing such a game.

Arviointikriteerit, hyvä (3-4)

Good (3): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating and analyzing scripts, functionalities and mechanics required for developing such a game.

Very Good (4): You are capable of using the game engine and its API to build a ready game that takes advantage of a wide variety of functionality that the game engine supports, including complex scripting. You are capable of creating, analyzing and modifying scripts, functionalities and mechanics required for developing such a game. You also have extended the game engine functionality or complex mechanics by yourself. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on some specific part of the game engine. You can be productive in a role as a programmer.

Assessment criteria, excellent (5)

Excellent (5): You are capable of using the game engine and its API to build and evaluate a complex game that takes advantage of a wide variety of functionality that game engine supports, including complex scripting. Level of the scripts and work you produce is structurally good. You also have more in-depth knowledge on several specific parts of the game engine. You have done cooperation with other game developer(s) in your project(s).

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 and programming.

Sufficient skills in the programming language, the OOP paradigm, the game engine, and other related tools.