Using Unity To Teach Game Programming
Using Unity To Teach Game Programming
Golob, Sara
Pagnon Eriksson, Niels
Computer Science
Bachelor’s Thesis
15 ECTS
Spring 2024
Supervisors: José Font, Gustaf Larsson
Examiner: Alberto Alvares
TABLE OF CONTENT
1. Introduction 2
2. Related Research and Framework 3
2.1. Unity in Higher Education 3
2.2. Freedom of Choice and Learning 4
2.3. Unity tutorials and workshops 4
3. Method 5
3.1. Methodological background 5
3.2. Problem Identification and Motivation 5
3.3. Objectives of the Artifact 6
3.4. Artifact Design 6
3.5. Artifact Development 7
3.6. Artifact Evaluation 8
3.7. Limitations 8
4. Contributions 9
4.1. Unity project 9
4.2. Documentation 10
4.3. Implemented tutorials 10
5. Results 13
5.1. Domain Experts test results 13
5.2. Students test results 14
6. Discussion 17
7. Conclusion and Future Work 20
7.1. Conclusion 20
7.2. Future Work 20
References 22
Appendix 1 - Links to the project 23
Appendix 2 - Testing process 23
Appendix 3 - Group A Interview Questions 24
Appendix 4 - Group B Interview Questions 24
1
Using Unity to teach Game Programming
Golob, Sara
Pagnon Eriksson, Niels
Game Development Program
Computer Science and Media Technology
Malmö University
Nordensskjöldsgatan 1, 211 19 Malmö, Sweden
3
At the end of each course, evaluation questionnaires are sent to
1
In 2023, 621 applied while only 95 were accepted students. The data is then reviewed by the course teachers.
2
According to the school's statistics, only ~ 20% of game 4
DA335B is a course in the second term of the Spelutveckling
development students complete their studies. Exact numbers for Program at MAU, where students encounter Unity for the first
students that started in HT20 are: 63 enrolled in first term, 16 time through workshops. In this course the students are instructed
completed the bachelor's thesis to create a full game using Unity or Unreal Engine. In VT24 all
groups chose Unity as their engine.
2
of the Game Development program at MAU are be able to use this template to deliver a higher quality
introduced to Unity as a game engine. At this point in project that can be used in their portfolio, while not
the program, creating a full game in Unity can be losing the ability to showcase their skill in a shorter
quite overwhelming due to the tight time frame and amount of time. This template could alternatively be
the fact that the workshops provided can not cover all used by the teachers to aid them in evaluating the
needed topics to achieve this. syllabus of the DA335B course.
The purpose of this study is to find out to This project serves as an addition to an
what extent project based tutorials can be used in existing framework, which is aimed to include
higher education. We have therefore asked ourselves multiple projects of a similar nature to the one
the following research questions: described in this research. Each project is meant to
RQ1: How helpful can project based tutorials serve a similar purpose, but for different courses
be at teaching game programming in higher within the Game Development program at MAU. The
education? purpose of the framework is to supply students with
RQ2: To what extent can this artifact be extra material for completing assignments with better
integrated in the System development with focus on developed results. Currently the framework only
games course (DA335B)? includes two versions of the same project, one in
RQ3: How can this artifact be used after the Unity [8] and the other in Unreal Engine [9].
DA335B course in relation to future projects that This paper contributes with a functioning
students will make? project in Unity and proper documentation to help
To answer our research questions, we have concerned parties.
developed an RPG starter kit game template in Unity
intended to be given to students following the System 2. Related Research and
development with focus on games course (DA335B)
Framework
at MAU. This project contains two parts, step by step
tutorials and the final project. The tutorial topics have 2.1. Unity in Higher Education
been picked with a consideration of what the game
We are basing our research on papers by P. E.
development program at MAU lacks. Some of the
Dickson [5] and V. Kuznetsov et al. [6]. The
topics cover newer content that is not that commonly
contribution of these papers was to create a course of
included in older books and tutorials online (example
game development for higher education. As the
using Unity’s Input System Package [7] for player
authors point out, creativity and learning through
movement), other topics expand on the knowledge
making games is great motivation for the students
provided by the program and give it a practical
even though they have little to no experience with
example. The final version of the project implements
game development and game engines. After some
all the chosen tutorial topics and provides students
attempts, both papers concluded Unity is the superior
with a starting point of an RPG game that can be
engine for the task. This is due to its less steep
expanded upon. Following the tutorials, the students
learning curve, allowing the creation of games for
will be introduced to Unity as a game engine and learn
many different platforms, being free for educational
how to program basic game mechanics. They will also
means, being mac user friendly and being a proper
3
game engine that helps the developer with everything This has prompted our decision to create an
they need to create high quality games. The negative RPG template to provide students with a dynamic
side of Unity is however that it is not industry's learning environment, where they have the freedom to
mainstream unlike Unreal Engine, which has a steeper explore various concepts and directions within game
learning curve but otherwise covers similar benefits as programming. By adopting this model, students will
Unity does. This is why we decided the project will be be able to expand upon the project according to their
made in Unity. The students this project is targeting interests and skill levels. This approach not only
will also have very little to no knowledge in Unity, but fosters creativity and autonomy but also encourages
because some students might have prior knowledge, active engagement and deeper learning experiences.
the template will be equipped with the starting scene Providing them with a basic implementation of a
for each tutorial as well as the final version of the game genre they have seen before will hopefully
project combining all tutorials. This will give those counterbalance the challenge of working in a game
students the choice of skipping the tutorials and engine they have not familiarized themselves with yet.
developing the project further on their own. Not only will they be able to choose which subjects to
learn amongst the ones we provide but they will also
2.2. Freedom of Choice and Learning be able to use the project as a starting base to learn
even more subjects that they themself can pick out
It is shown that students being given the right
and implement. Through our project, we seek to
amount of freedom to choose what and when to learn
motivate students to pursue their passions and excel in
has a positive effect on their motivation to stay
game development which is expressed in the
actively engaged and achieve more in their studies. A
Challenge yourself section at the end of each tutorial.
study by Atanas R. [10] describes the development of
This section provides the students with alternative
digital study packs, which serve as comprehensive
implementations of the knowledge they learnt
collections of resources and activities ranging from
throughout the tutorial. It also gives them the
introductory-level lab-based to upper level project
flexibility of choosing what to delve into next,
based courses. These digital study packs provide
whether that is to deepen their knowledge of the topic
students the freedom to choose their programming
at hand or move on to the next tutorial.
language, topics and project assignments within
guided limitations set by the professors. In the results
2.3. Unity tutorials and workshops
they show that students who were given assisted
freedom in choosing their semester project, and who The existing tutorials for Unity and game
were allowed to choose when to conduct their work, programming on the internet are close to endless.
found it more motivating than when the project was Unity themselves have an extensive collection of
mandated by the instructor and when working hours tutorials on their learning platform [11]. There are also
are limited to traditional scheduled labs. Using the a lot of YouTube videos that explain and guide their
study packs would also minimize the need for audience to specific goals. This many resources can
instructors to impart guidance to each individual make it hard for a novice programmer to know where
student. to find the exact information needed without getting
overwhelmed and spending a lot of time. That is why
4
MAU provides Unity and Unreal Engine workshops requires you to send in the CV and portfolio.
in the DA335B course. These workshops give a very As this method is becoming a wide-spread
basic introduction to the engines and what you can do standard recently, not many educators have
with them. adjusted their programs to prepare their
Within this framework, we have condensed students for the work market and provide
information that is needed for students to create a them with the ability to develop and produce a
basic game and developed the tutorials based on it. good looking portfolio.
We have added links to external resources when B. Transition to game engines
needed so that students can easily access information As the gaming industry develops further and
required to upgrade their knowledge on the topic if games take longer to develop with higher
they so wish. The workshops also worked as a good expectations from the players, it is unrealistic
guideline of which topics are already available to the to not use game engines for game
students and which could be expended upon more. development. The engines provide the
designer with the needed tools to quickly test
Considering all four problems we have using this project, but were only going to be
identified, the following objectives for the artifact implemented if the time scope allowed it. All these
programming, game design and other relevant - Player Character & Unity’s new input system
topics of game development that are not - Implementation of a pause menu (UI)
C. The artifact can be used to evaluate the - Terrain Generation with Unity
7
comments which would then be used to iteratively professional opinion on the pedagogical aspect and
improve the tutorial and the implementation. potential of the tutorials and the project (Appendix 4).
The artifact has been reviewed several times The interviews were recorded and transcribed.
during the development process by the domain experts The data gathered was then evaluated with the use of
and their feedback was iteratively taken into Thematic Analysis [15] and discussed in later
consideration.. sections. Each group was analyzed separately to get a
clearer understanding for what students think about
3.6. Artifact Evaluation the project versus what the domain experts’ opinion of
8
4. Contributions
4.1. Unity project
The large majority of our contributions come
in the form of the artifact that we have developed in
Unity. This is a game-like artifact that implements
basic features of the first person adventure game. The
scene and all assets were taken from Unity’s asset
Figure 5: Some settings UI found in the pause menu, as well as
store [16]. Figures below show the scene view of the “stinky fish” particles on the left.
artifact (Figure 2) as well as the in-game view of the
final scene (Figures 3,4,5). The final version of the artifact includes a
character that can move, interact with the object,
accept the quest, pick up a weapon and fight the armor
stand. The artifact can be downloaded through the link
in the Appendix 1.
The Unity Project is divided into two
overarching folders. The “FinalProject” folder which
contains all the scripts, scenes and other contents as
they look once all tutorials are followed through.
Figure 2: Scene view showing the whole world that is used for all
These contents are marked with the prefix “F_”, that
tutorials. This scene is a copy of a scene available in the Unity stands for “Final”, and serve as final solutions that
asset store [link]
students can compare their work with or use as
backup in case they get stuck on a tutorial. All scripts
in this Final Project are extensively commented for
this specific purpose. This final project can also be
used by any student already familiar with all given
topics, who wants a basic but properly implemented
starting point of a RPG that they can build upon to
create their own game.
Figure 3: First person view with the manakin displaying its health The second folder “TutorialProject'' contains
and an NPC in the background.
all the starting material the students will need for each
of the individual tutorials. It is set up in such a way as
to give the students an example of how to properly
organize sub-folders in any of their own future Unity
projects. This is the folder that any student wanting to
follow the tutorial will save their work in according to
the instructions in the documents. This folder contains
some assets, prefabs and scenes (marked with the
Figure 4: In-game Quest UI.
prefix “S_” that stands for “Start”) that the students
9
are provided with, to prevent them from having to do teaches them in a pedagogical manner. The Challenge
everything from scratch. Yourself sections, as described in 3.4 Artifact Design,
serves as reflectionary exercises where the students
4.2. Documentation need to think about the work they've just completed
and consider alternative ways to apply their new
‘RPG Starter Kit - Introduction document’
knowledge.
describes the project and its intended purpose. It also
gives instructions on how to download the Unity
4.3. Implemented tutorials
project and how to use it together with the tutorials.
This document is accessible in Appendix 1. Due to time constraints not all Optional
The tutorial documents follow a template; tutorials listed in 3.4 Artifact Design were
each document has a Title, Introduction, Starting implemented. Here is a list and description of all
Scene, Tutorial content and Challenge yourself implemented tutorials, all of them can be accessed
sections . In Figure 6 below you can see a visual through the links of the Appendix 1:
representation of the general structure of the
mentioned tutorial documents. I. Player Character w/ The Input System
In this tutorial the students are taught how to
use the Unity input system to set up and
implement a first person player character.
This is taught to them in three main steps.
A. How to set up the input system and
how to create new actions and bind
them.
B. How to properly set up a player
character game object in Unity.
C. How to code player movement and
camera rotation.
Figure 6: General structure of the tutorial documents
The title and introduction, which always when II. Background Sound And SFX
possible includes a gif that shows the final result of In this tutorial the students are taught how to
the tutorial, gives the student a good idea what they implement background sounds/music and
will achieve in this tutorial and how they will get to different SFX’s using Unity’s own Audio
the final point. The Starting Scene matters for students Source library. This is achieved through the
that don’t follow the linear progression as shown in following steps.
Figure 7 and it tells them which scene they should use A. How to create an SoundManager that
to apply the tutorial instructions to. The main content will hold any sound methods we need
of the tutorial then explains step by step, with pictures and function as a sound bank
when necessary, what the students need to do and
10
B. Learning about singletons and how to D. Setting up the Audio Mixer to
implement them? separate different audio channels and
C. How to trigger a Sound effect from make them code accessible.
various scripts. E. Implementing the alteration of the
different volume channels in code.
III. Interaction with Objects through
Raycasting and Interfaces V. NPC Dialogue using Scriptable Objects
This tutorial teaches how to create a simple In this tutorial the learning topic is how to
yet effective interaction system using create dialogues with NPC’s using scriptable
raycasting and interfaces. This system can be objects to save dialogue information and
used in the game to interact with objects. This coroutines to write out the text letter by letter.
goal is reached through the following process. This in combination with the knowledge
A. Learning about what interfaces are acquired in the 3rd tutorial on interaction. The
and how they work? following steps are depicted to get to the final
B. How to implement ray casting and product.
retrieving information from the ray. A. Preparing the scene by making the
C. How to implement the interface in NPC interactable and setting up the
other scripts. Dialogue UI.
B. Learning about Scriptable Objects
and their utility.
IV. Pause Menu and Settings C. Learning about Coroutines and how
Here students are taught the basics of Unity they are executed.
UI and how to set up and implement the UI to D. Creating the Dialogue Manager
allow the alteration of different Audio and singleton which will be incharge of
Graphical settings. They are introduced to the loading and displaying the text to the
majority of UI elements (buttons, dropdowns, player.
sliders etc..). This tutorial contains the E. Learning about Queues and how to
following main steps. use them in connection to Coroutines
A. Creating and setting up the Pause to display the text letter by letter as to
Menu and learning about the different mimic a text animation.
UI elements provided by Unity VI. Animations
B. Implementing the pausing and Learning about the Animator controller and
unpausing of the game its basic usages is very important to
C. Implementing the graphical settings understand how Animations work in Unity. In
such as screen resolution, mouse this tutorial it is also taught how to create a
sensitivity and full screen option simple custom animation using the Animation
View and property altaration. This is
11
accomplished through the following B. Introducing Actions and how they are
approach. used to ensure that only goals of the
A. Setting up and getting familiarized correct type subscribe to the correct
with Unity’s Animator Controller and Action.
understanding the basics of using C. Creating and implementing the Goal
States to trigger different animation script which is used to track the
according to the value of different progress of specific objectives within
parameters. the game, such as interacting with
B. Triggering different states through certain items or killing specific
code. enemies.
C. Learning how to create a simple D. Creating the Quest script which holds
animation through the Animation all information about a specific quest
view to make a game object grow in such as title, description and goals.
size and twirl when interacted with E. Implementing PlayerQuests scripts
D. How to trigger this new animation which keeps track of all active quests
using Unity’s Animation component and checks if they are completed or
(as opposed to Animator). not.
12
D. Altering the PlayerSwingAnimation followed in correct order. An example of this is
script to include a collider on the Interaction and NPC Dialogue tutorials; the latter uses
sword and triggering collisions with interaction logic to trigger the conversation with an
damageable targets to make them lose NPC. When the tree branches off, the students can
health. pick which path to take first but it’s suggested they do
E. Setting up and implementing a health both before continuing to the next level. The reason
bar that displays the targets remaining the tutorials are also independent was to make the
health and changes color depending tutorials flexible to the students' needs and give
on the health. students with previous knowledge on the topics ability
to skip ahead. Unforeseen but very welcomed benefit
was also to make testing of the individual tutorials
easier.
5. Results
This section gathers the results of the testing of the
project. 9 first year students of the Game
Development program at MAU as well as 4 domain
experts (teachers and assistants of DA335B course)
assessed the artifact and were interviewed. The quotes
are a literal transcription of the answers and the square
brackets add the context when needed. Each quote is
followed by a tester ID, E stands for expert and S
stands for student (example E1 - expert one). This
displays an overview of the opinion each tester had of
the thesis project as a whole as well as show that some
testers were very engaged and others more reserved in
all aspects of the project.
14
The first year students that were tested, had an The topics of the tutorials seemed interesting
overwhelmingly positive view of the project. General and relevant to the students. Some testers were
consensus was that the project looks interesting, and interested in a specific tutorial whilst others thought
as one person commented: “As someone who’s never multiple, if not all, were exciting topics to learn.
worked with Unity before, I think it’s wonderful”(S8). Students were also asked which topic they thought
A lot of testers expressed that they felt the workshops could be added in the future. Subjects that were
the course provides were lacking in knowledge and brought up as an answer were: different camera
they didn’t feel prepared for the game they have to behaviors, setting up a level, creating cinematics,
make in the course. Someone stated “It [the multiplayer, map design and navigation, character
workshops] was really not enough and you’ve been progression.
sort of on your own trying to find stuff online.”(S9) II. Future development and portfolio
and another stated that the workshops “didn’t teach us When asked about usability of the project for
as much as this would teach us. If you spend a day future assignments and portfolio, most of the students
and go through all of these tutorials, you’re going to were encouraged to use it. Some had a hard time
have such a bigger understanding of Unity.” (S4) understanding the question relating to future courses
Although most tutorials were not completed since they haven’t encountered any assignments that
entirely during the testing, all students, including require an already developed game. However, after
those with some experience in Unity, stated that they some given examples from the interviewers, they all
have learnt something new. Some students said they expressed the need of the project to save time and
expanded upon previously obtained knowledge, others stated they see the use of the project in this case. Most
obtained completely new knowledge. One student of the students stated they would be willing to use it
stated that although they used the topic of their for future assignments, one student even stating “This
tutorial before, “.. I didn’t know this [vertical layout is the ideal situation to have this [for tight time
group] was a thing. So knowing this would have saved schedule assignments]”(S4). Two students said they
me a lot of time.”(S4). would rather develop their own game if the time
Seven out of eight students (for one student, allows it since “that is just more fun”.
this question was accidently skipped) that were asked In regards to using the project as a portfolio
which tutorial they would start with if they would be piece the answers were not unanimous. Most students
given this project in the course, stated that they would would consider using it in the portfolio as “...it’s a
follow the tutorials in suggested order from start to very good ground to have and also for the first
finish since they want to learn everything and deemed portfolio piece”(S1), “I feel like you also give the
the tutorials useful. Some even pointed out they would person doing the tutorial a lot of freedom because it is
like to take time and redo/finish the tutorial they were not very niche. … Everyone can just continue
tested on and take proper time on it. One student developing it as they see fit.”(S8). One student stated
stated they would skip the ones they have knowledge they would “use it as a reference if not implementing
of and gave an example: “I’ve made a text-based that directly”(S3) while a different student stated they
game before with NPCs that you could talk to …, so wouldn’t use it since “it would just feel like I’m
NPC dialogue, I already have a good idea of”(S6).
15
editing another person’s game”(S6). The summarized they felt the best time to introduce students to it would
answers are represented in Figure 8 below. have been at the start of the workshops so that they
could follow through the tutorials at the same time as
the workshops. The last tester agreed that it could be
delivered in cooperation with the workshops but put
emphasis on the fact that it should be delivered before
the start of the practical part of the course. They
related to the use of this project as a way for students
to make a choice on which game engine to use for
creating their game, saying the following “I feel like
Figure 8: Results to questions about future development and usage the whole point with the workshop is kind of like for
of the project in portfolio you to be there, decide whether you like this engine or
III. Integration of the project in DA335B
not”(S7).
When discussing timing for the project
The next matter discussed was whether the
delivery, the students were prompted with three
testers thought the project’s value would be better put
options, “As early as possible”, “At the start of or
forth as part of an obligatory evaluation or as optional
during the workshops” or “After the workshops and
material that students could choose to complete or not.
before the course project”. As seen in Figure 9 below
The division of answers can be seen in Figure 10
the answers were split.
below.
material which gives the students the opportunity to work best as part of the workshops. They mentioned
learn everything they need to showcase in the that having it then would make it easier for the
practical part of the course, rather than students being teachers to provide assistance on the material when
evaluated on the content provided by the project. needed, as well as for the students to be able to have
Three testers expressed that in their opinion there was conversations with other students or teachers on
no wrong choice and either obligatory or optional different ways to implement the Challenge yourself
would work just as good. One of them said “if it sections. The rest of the testers were evenly split, one
would be mandatory everyone would have to do it and half thinking it would be more valuable to students as
learn that way … as extra material that would be good homework and the other half being of the opinion that
also because the students wouldn't stress through it it would bring the same value to students whether it
and do it just because they want to”(S3). One tester was part of the workshops or homework assignment.
17
experts was the need for maintenance with newer have more time. This highlights the potential scope
versions of Unity constantly being released. Despite for improvement when it relates to the testing methods
this the domain expert still thought that the potential and data gathering.
of this artifact as a great teaching tool was an The fact that the testers gave different answers
interesting opportunity and that it would definitely be regarding which tutorial piqued their interest the most,
a very valuable asset to the students. This emphasizes proves different interests students have as well as the
the need for future work on this thesis project but also good variety of the included topics. On top of that
highlights the encouraging view of domain experts almost all students struggled coming up with a topic
around the possibility of this, one day, being they would want to add to the project. This also shows
integrated into the DA335B course as an official part that the included topics cover enough core aspects of
of the syllabus. game programming in Unity.
The look of the project and its structure was All students learned at least one new piece of
well received by both domain experts and students, information when testing, and it was brought to our
however the tutorials potentially need more work. attention that since the course game project is done in
Most students thought that the instructions included teams of 4-6 people, some students don’t get the
an extended amount of text and expressed they would opportunity to learn everything that is expected from
prefer having more pictures. Some students still them. One person commented: “...[in my group]
realize that this would be hard to do since we are someone else fixed the inputs and stuff so I haven’t
trying to teach the students that don’t have much seen how to do that and you showed me how easily
experience and instructions need to be detailed. One that is done. It calms me down that oh yeah, maybe it
student even commented: “I was about to say maybe isn’t that hard.”(S3) This artifact gives the students an
have less text but then I think that; no, the text that is opportunity to get familiar with basic game mechanics
here is the text you need.”(S6) The domain experts in the context of a game engine which they might miss
agreed with the students as they pointed out the working in a group. This is further supported by the
importance of creativity to capture students’ attention. fact that almost all students wanted to follow all
Some examples for improvement were given, such as tutorials in the suggested order as they didn’t want to
adding more figures, giving different text elements miss any important information and were knowledge
different fonts and breaking up the text flow in hungry. Accomplishing this was not an initial goal of
different ways. The structure of the Unity project the thesis project, but it sets forth another manner in
however seemed to make sense and didn’t need which the project could be a beneficial teaching tool
changing. to the DA335B course.
Most students didn’t have a hard time In relation to the usage of the artifact in the
navigating in Unity and following the tutorials, but DA335B course, the results showed that the optimal
there were some overlooked issues that had to be way forward would most likely be to provide the
clarified during the testing. This could be due to stress students with the content as early in the course as
and time limit from our site but also students, as some possible, for them to explore it both individually at
expressed they would click on the follow up links and home and with assistance during the workshop
read instructions better, if they would be at home and sessions. An interesting suggestion was given: “if you
18
can do it as homework so you can focus on it at home section as an evaluation is that “the students would
and then come to the workshops if you have any have a chance to decide which things they want to
questions that would be my favorite”(S3). This aligns learn more about. To kind of start getting specialized
with our opinion on the optimal way of delivering this towards for example user interface or some player
project to the students as it caters to students of all character mechanics, and so on and so forth.“(E1)
levels. Beginners can give it a try on their own at As shown by the majority of the students'
home and have the necessary assistance available to interest and willingness to develop the RPG further
them during workshops, while more advanced and use it as a platform to solve assignments in future
students can work on the project in their own time and courses, this artifact could serve both as a personal
develop it further as they see fit. One tester that project for the students to personalize and add as a
thought it was better used as homework gave us the major portfolio piece. It could also be used by
following interesting quote: “I think homework is teachers of different courses as teaching/assignment
actually good, because it forces you to be material. The benefit of the artifact providing a
accountable”(S5) which made us realize that the version where all currently designed tutorials are
students had different understanding of what the word implemented, is that it would be relatively
homework entitles. It seemed that some thought of it straightforward to design new tutorials in the same
as obligatory home assignment and others as optional format as the currently implemented ones for students
work to do in their free time as the following quote to follow through and learn the basics of the concept
mentions: “It could work as homework… It's not at hand. Furthermore if students are familiarized with
something you've got to do. It's more like a teaching this artifact in the first year, teachers could take this
moment.”(S6). into account when designing assignments for their
As noted by the domain experts, this artifact, respective courses. It would allow them to broaden the
with some improvements and clarifications, could in scope of the assignments, increasing them in difficulty
the future be turned into a means for evaluating the and size without needing to take into account the time
students on what they have learned through the students would normally spend on creating a basic
workshops. Although it is still unclear in what manner game from scratch. This would in turn mean students
the course teacher would use this to evaluate students, would have the opportunity to learn more and
the idea of using peer review, where students would implement the new concept in a more relatable way.
analyze each other's work, was brought up. As In relation to social aspects, the affected
expected the Challenge yourself sections were seen as parties are primarily the students of the Game
having the biggest potential of becoming an development program at MAU and their teachers.
evaluating method, where as for example one of the Although the implementation of the project in the
domain experts said “this can be done by the teacher, program could be time-consuming, it should ease the
for instance, having a pool of exercises from these teachings and save time in the long run. The students
extra challenges [Challenge yourself] on canvas and should be positively affected as having more help,
then assigning each student as a peer reviewer of instructions and content to go through in the manner
another student“(E1). It was also mentioned that we implemented should ease their studies and the
another positive of using the Challenge yourself learning curve of Unity, as this was the main objective
19
of the project. Having students learn the game engine, RQ2: To what extent can this artifact be integrated
such as Unity, could potentially affect the rize of game in the System development with focus on games
engine users even more. Spreading the awareness of course (DA335B)?
what game engines can do could encourage some If integrated into the DA335B course this
game developers to develop their own game engine project would ensure that all students have the
and expand the game engine market. On the other opportunity to learn important game programming
hand, some students could start feeling too topics which they might miss out on working in large
comfortable in Unity and avoid learning other game groups on the project. This would ensure that all
engines such as Unreal Engine, which could have a students meet the learning goals of the course. This
negative impact on their career as Unity had some project could also serve the course as a means of
recent controversies and other game engines such as evaluation where students would be able to complete
Godot and Unreal are having more users than ever. either the tutorials or the Challenge Yourself section
and proceed to present their learnings from the work
7. Conclusion and Future Work completed. However, for this to be possible, more
work would need to be done on this project.
7.1. Conclusion
RQ3: How can this artifact be used after the
The overwhelmingly positive and enthusiastic DA335B course in relation to future projects that
feedback given by the student testers, who showed a students will make?
great desire for being provided with this artifact when The results show that the design and structure
they were following the course, underlines its of the thesis project would encourage the majority of
motivating and engaging way of learning. The vision students to expand and work further on the project due
for the potential of this project as a teaching tool was to its openness and creative limitlessness. They would
shared by the domain experts. However, addressing even use it in their portfolio and to complete
the concerns raised by these domain experts regarding assignments in further courses where time restraints
maintenance and evaluation methods is very important prevent them from creating a new game from scratch.
to ensure the long term viability of the artifact as a
teaching resource. Dealing with these improvements 7.2. Future Work
is also crucial to the official incorporation of the
During development and testing some
project into the DA335B course.
improvement to the artifact and the testing methods
RQ1: How helpful can project based tutorials be at
used were discovered. First and foremost, it was
teaching game programming in higher education?
brought up during the pre-seminar that it could be
From the results of this research it can be
good to interview current students about which topics
deduced that creating a template project accompanied
should be included in the project before the project
by text format tutorials which cover basic and not
starts. At this point however, the project was already
niche topics is a positive, interesting and motivating
completed with all chosen topics implemented. It was
way of using Unity to teach game programming in
decided to interview students and teachers on this
higher level education.
topic anyway, as a means to include it as future work.
From the topics suggested by the testers, newly
20
sparked ideas and the topics we didn’t manage to freely browse the tutorials and text would be given out
implement, we would suggest to implement in the in small sized bites.
future the following: Level design (touching on
setting up the scene, prefabs, grids and terrain
generation), Lighting (different kinds of light
sources), Inventory (as a means to expand pick up and
questing system), Enemies (with very simple AI) and
Character progression (level ups, stats and
experience). These topics seem like a good next level
to learn for an RPG kit and are still generic enough to
help with other game genres, though they might be a
bit too advanced for first year’s students. This should
be taken into consideration if this project is ever
expanded upon.
Considering the time limitations of the thesis
project, extended testing at the appropriate time would
show more exact results. We would suggest testing
groups of first year students and give them the artifact
with instructions at different times in the course to get
a better understanding of when the RPG starter kit
gives the most value to the students. Another
interesting point that would be great to be tested is the
use of the project as obligatory versus non-obligatory
content since both students and teachers were split.
Since this thesis paper has not tested the Challenge
Yourself sections as an evaluation method , we suggest
conducting testing on their potential as a means of
evaluating the students on the goals of the course.
This could be achieved through for example, as
suggested by one of the domain experts, Peer-to-Peer
evaluation , where students are asked to evaluate each
other’s work.
Lastly, the already existing tutorials could be
made more interesting by adding more pictures and
changing fonts, with intent to capture students’
attention. It could be also made more accessible
turning this project into a webpage where students can
21
References [10] A. Radenski, ‘Freedom of choice as motivational
factor for active learning’, in Proceedings of the
[1] ‘Spelutveckling TGSPA | Malmö universitet’. 14th annual ACM SIGCSE conference on
Accessed: May 13, 2024. [Online]. Available: Innovation and technology in computer science
[Link] education, Paris France: ACM, Jul. 2009, pp.
[2] ‘Mau · Utbildningsinformation - DA335B - 21–25. doi: 10.1145/1562877.1562891.
Kursplan våren 2025’. Accessed: Apr. 08, 2024. [11] ‘Learn game development w/ Unity | Courses &
[Online]. Available: tutorials in game design, VR, AR, & Real-time
[Link] 3D’, Unity Learn. Accessed: May 08, 2024.
an/20251 [Online]. Available: [Link]
[3] Dataspelbranchen, Swedish Games Industry 2023 [12] A. R. Hevner, S. T. March, J. Park, and S. Ram,
Game Developer Index, Second Edition. ‘Design Science in Information Systems
Stockholm: The Swedish Game Industry, 2023. Research’, MIS Q., vol. 28, no. 1, pp. 75–105,
[Online]. Available: 2004, doi: 10.2307/25148625.
[Link] [13] K. Peffers, T. Tuunanen, M. Rothenberger, and S.
03bb7a65252b2d/t/654c9ece950b90706387302e/ Chatterjee, ‘A design science research
1699520218008/GameDeveloperIndex2023-EN- methodology for information systems research’,
[Link] J. Manag. Inf. Syst., vol. 24, pp. 45–77, Jan. 2007.
[4] ‘Detaljsida - Universitets- och högskolerådet [14] J. Nielsen, Usability engineering. Boston :
(UHR)’. Accessed: Feb. 21, 2024. [Online]. Academic Press, 1993. Accessed: May 07, 2024.
Available: [Online]. Available:
[Link] [Link]
ngsstatistik/detaljsida/?utbildningId=9F04383C86 [15] V. Braun and V. Clarke, ‘Thematic analysis.’,
A21C81CA4D6AA7EFD18A67&astasearchperio 2012, pp. 57–71.
d=HT23&astasearchfor=mau%20spelutveckling [16] ‘Unity Asset Store - The Best Assets for Game
&astasearchcategory= Making’. Accessed: May 13, 2024. [Online].
[5] P. E. Dickson, ‘Using Unity to Teach Game Available: [Link]
Development: When You’ve Never Written a
Game’, in Proceedings of the 2015 ACM
Conference on Innovation and Technology in
Computer Science Education, in ITiCSE ’15.
New York, NY, USA: Association for Computing
Machinery, Jun. 2015, pp. 75–80. doi:
10.1145/2729094.2742591.
[6] V. Kuznetsov, M. Moiseienko, N. Moiseienko, B.
Rostalny, and A. Kiv, ‘Using Unity to Teach
Game Development’:, in Proceedings of the 1st
Symposium on Advances in Educational
Technology, Kyiv, Ukraine: SCITEPRESS -
Science and Technology Publications, 2020, pp.
506–515. doi: 10.5220/0010933400003364.
[7] U. Technologies, ‘Unity Input System Easier
workflows for multiplatform projects | Cross
platform game development | Object-oriented
input system | Unity’. Accessed: Apr. 12, 2024.
[Online]. Available:
[Link]
[8] fire-walk-with-me,
‘fire-walk-with-me/Auto-Chess_Unity’. Jan. 17,
2024. Accessed: Mar. 06, 2024. [Online].
Available:
[Link]
_Unity
[9] valter100, ‘valter100/AutoChess’. Oct. 23, 2023.
Accessed: Mar. 06, 2024. [Online]. Available:
[Link]
22
Appendix 1 - Links to the project
Link to the GitHub Repository:
[Link]
Link to the introduction document: RPG Starter Kit - Introduction
Link to the folder containing all tutorials:
ThesisProjectTutorial
Links to individual tutorials:
1. Player character with input system 1. Player Character w/ The Input System
2. Background sound and SFX
2. Background Sound and SFX
3. Interaction with objects through raycasting and interfaces
[Link] with objects through Raycasting and Interfaces
4. Pause Menu and Settings
Part 1:
4. Pause Menu and Settings Part 1
Part 2:
4. Pause Menu and Settings Part 2
5. NPC Dialogue using Scriptable Objects and Coroutines
[Link] Dialogue using Scriptable Objects
6. Animations
6. Animations
7. Particles
[Link]
8. Quests
8. Quests
9. Combat System
9. Combat System
24