Video games are gaining popularity each year (Newzoo, 2018, Statista, 2021), while kids growing up with modern technology consider virtual worlds as part of their everyday reality (Prensky, 2001a). Research (Backlund in Hendrix, 2013, Chatzeparaskevaidou and others, 2017, Harrington, 2012, Prensky, 2001a and Prensky, 2001b) has shown that educational video games help to maintain motivation and well-being throughout the learning process.
At the Faculty of Education, 4th year students, majoring in the two-subject teacher programs, studying computer science, get acquainted with the game-design based learning. Under the mentorship of professor dr. Jože Rugelj and co-mentorship of assistant Matej Zapušek, students get to make educational games, which are practically tested in the context of pedagogical practice in primary schools (Zapušek and Rugelj, 2014).
In the last few years, at the Faculty of Education, educational games are developed in the Unity game engine. The Unity environment along with the C # libraries provide tremendous functionality (Unity User Manual 2020.3, 2020). Majority of Faculty of Education students encounter game development tools and scripting languages for the first time, thus the vastness of the Unity game engine appears to be an advantage in the creative area and a weakness in learning how to use and develop. To make our work easier, it is useful to use high-quality Unity documentation and free online video guides, as well as diploma and master's thesis that describe and explain the functionalities of the Unity environment and the scripting language C # in detail.
In his work Brglez (2017) describes the basics of the Unity program, while Abram (2019) presents some more advanced functionalities of programming and use of the Unity environment. In contrast to their works, the present thesis focuses on how to create good foundations for 3D video games – by explaining how scripts for first- and third-person character control are created, the use and script implementation of main character animations, camera tracking, and the implementation of a smooth camera collision. The explanatory scripts presented provide a good foundation for creating a 3D video game with controls that provide a pleasant user experience.
I created examples of my own using the Unity documentation, basing them on the user experience of popular titles, such as e.g. The Witcher 3 and The Elder Scrolls Skyrim.
|