<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Development of the Student Simulator game: From concept to code</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vasyl P. Oleksiuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Denys Y. Dzhuha</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Petro P. Melnyk</string-name>
          <email>melnyk_pp@fizmat.tnpu.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmytro V. Verbovetskyi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Digitalisation of Education of the NAES of Ukraine</institution>
          ,
          <addr-line>9 M. Berlynskoho Str., Kyiv, 04060</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ternopil Volodymyr Hnatiuk National Pedagogical University</institution>
          ,
          <addr-line>2 Maxyma Kryvonosa str., Ternopil, 46027</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>89</fpage>
      <lpage>109</lpage>
      <abstract>
        <p>This paper describes and analyses the phases of development of a Student Simulator game application. The study analyses various game types employed in computer science education. Based on a SWOT analysis, the authors justify using simulators and combined gaming applications. Several basic requirements for a Student Simulator game are identified, such as a 3D interface, multiple game locations, manipulation of object models (computers, operating systems, programming languages), and the registration and rating of players. A matrix of game elements that meets the requirements for the Student Simulator has been created. Following a comparative analysis, Godot, Blender, and Firebase were selected as development tools. The authors describe their experience in developing the Student Simulator game. The design process of this game emphasises the incorporation of game elements with both testing and code-writing tasks involving the manipulation of computer hardware. The paper includes some fragments of the game workspace and application code. Further improvements to the game are indicated.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;educational games</kwd>
        <kwd>game design</kwd>
        <kwd>game development</kwd>
        <kwd>Godot</kwd>
        <kwd>Blender</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In today’s world, where new technologies are created, and old ones are improved, the demand for IT
specialists is constantly growing. That is why educational games are used increasingly in the educational
process. Teachers of various disciplines use games in both desktop and computer formats. The design
and development of such games are becoming increasingly relevant due to the possibility of engaging
students in active learning. Educational games provide an interactive and engaging experience that
can capture learners’ attention and keep them interested. The integration of game elements such as
challenges, rewards and feedback increases learners’ motivation to learn and retain learning content
compared to traditional methods. Games encourage active participation and develop critical thinking,
problem-solving and decision-making skills. Unlike passive learning, educational games engage learners
in activities that require application and analysis, which is crucial for deep learning. In addition, modern
learning games can be designed to adapt to learners’ pace, style and needs. This personalised approach
helps to accommodate diferent learning abilities, ensuring that every learner can develop efectively.
Learning games can help to develop 21st century skills such as collaboration, communication, creativity
and technological literacy, which are essential in today’s digital world. By simulating real-life scenarios,
games prepare learners for future challenges innovatively and practically. The use of educational
games contributes to the development of digital literacy and technological competencies, which are an
integral part of modern education and are essential for navigating the digital age. With the rapid growth
of the gaming industry, users are ofered more and more game applications for learning theoretical
knowledge and skills, especially in computer science. Today, there are many types of games, such
as simulation games, puzzle-based learning games, language learning games, strategy and planning
games, and role-playing educational games. Videnovik et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Chen et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Kafai and Burke [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
have highlighted the advantages and disadvantages of these games for computer science education. We
systematised these factors according to the SWOT methodology (table 1).
3. Low barrier to en-3. Can focus too much 3. Development of 3. Disconnect from
try for beginners on solutions rather multiplayer coding professional
programthan process challenges ming practices
4. Immediate feed-4. Often lacks real-4. Expansion into 4. Competition from
back on solution efi- world programming mobile learning plat-coding challenge
webciency context forms sites
5. Easy to integrate 5. May not teach good 5. Creation of custom 5. Potential focus
with existing curric- documentation prac-puzzle sets by educa-on entertainment over
ula tices tors education
1. Teachers project 1. May oversimplify 1. Integration with 1. Gap between game
management and re-software project com-real project manage-strategies and
realsource allocation plexities ment tools world practices
3. Suitable for learn-3. Dificult to assess
ing optimization individual learning
strategies
      </p>
      <p>Games</p>
      <sec id="sec-1-1">
        <title>Roleplaying</title>
        <p>Strengths Weaknesses Opportunities Threats
4. Encourages long- 4. Less focus on actual 4. Incorporation of 4. Dificulty in
keepterm planning skills coding skills real-world case stud- ing content current
ies
5. Helps understand 5. Complex learning 5. Development of 5. Potential lack of
trade-ofs in system path team-based scenarios technical depth
design
1. Excellent for teach- 1. Limited focus on 1. Integration with 1. Risk of stereotyping
ing software develop- technical skills real code review pro- tech roles
ment roles cesses
2. Develops collabora- 2. High production 2. Teaching soft skills 2. Dificulty in
maintion and communica- costs for tech roles taining relevance
tion skills
3. Good for learning 3. Dificult to create
debugging scenarios realistic scenarios</p>
        <p>
          As seen from table 1, each type of educational game has advantages and disadvantages. They should
be applied according to the field of computer science. The authors of the studies believe that simulations
are the most suitable genre for teaching computer science. The main factors supporting this thesis are
engagement [
          <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
          ], motivation [
          <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
          ], impact on cognitive activity [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], and declarative and procedural
knowledge of students [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Another approach to using educational games in computer science teaching
involves combining diferent types of games, each of which meets specific learning objectives [
          <xref ref-type="bibr" rid="ref1 ref10">1, 10</xref>
          ].
Success depends on careful alignment with the needs of the curriculum [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], the skill levels of the
students [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], and the resources available [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. We had experience with a similar learning game called
PythonLearner, which can be classified as both a Language Learning Game and a Simulation Game [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
Now, we decided to develop another Student Simulator game. Creating a Student Simulator game is
very relevant nowadays for several reasons.
        </p>
        <p>Firstly, the use of games in the educational process can motivate students to engage with the subject
matter and facilitate a deeper understanding of the discipline. Additionally, the Student Simulator
enables users to immerse themselves in the experience of student life, which can serve as an efective
tool for showcasing educational institutions to prospective applicants and illustrating the educational
process. This platform allows educators to conduct interactive lessons, where students can not only
learn theoretical concepts but also apply them through specially designed mini-games.</p>
        <p>The teacher’s ability to add and modify tasks ensures a wide range of engaging and unique challenges.
The game’s immediate feedback mechanism will alert students to incorrect actions and, when necessary,
provide guidance on how to correct their mistakes. The inherent feature of progressively increasing
dificulty in most games will promote incremental learning, starting with basic tasks and advancing to
more complex projects. This approach to education guarantees a smooth and thorough transition from
student to competent professional.</p>
        <p>Although there are many of-the-shelf solutions on the Internet, the problem of creating new gaming
applications remains relevant. Our article aims to create a simulation game to study computer science
disciplines. To do this, we need to solve the following tasks:</p>
      </sec>
      <sec id="sec-1-2">
        <title>1. Review the existing analogues of the projected game. 2. Select tools for development. 3. Design a model of the game application. 4. Describe and analyse the main stages of development.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Game design</title>
      <sec id="sec-2-1">
        <title>2.1. A brief overview of existing gaming simulators</title>
        <p>Before developing the Student Simulator game, we analysed similar projects that have gained an
audience among simulators and gaming platforms for learning. The analogues include MHRD, TIS-100,
Shenzhen I/O, Minecraft Education Edition, CyberStart, and Classcraft, which ofer game simulations
of various areas of computer science.</p>
        <p>
          MHRD is a hardware design game where players go from building basic logic gates to creating a
fully functional processor using the Hardware Description Language (HDL) [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Despite its exciting
idea and advanced features, commercial software is available via Steam. TIS-100 is a complex game for
learning assembly language programming. It simulates parallel computing. Players must optimise code
and solve puzzles using a fictional assembly language, teaching low-level programming concepts [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
Like MHRD, it is available on Steam and is not freeware.
        </p>
        <p>Shenzhen I/O is a similar simulator to TIS-100. However, it focuses on hardware engineering and
embedded systems programming. Players design circuits and write code for various electronic devices.</p>
        <p>
          Classcraft is not an accurate simulation game. However, it is a modern platform that turns learning into
a role-playing game. Students complete tasks, improve their characters, earn points for achievements,
and receive virtual penalties for mistakes [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The main goal of Classcraft is to increase student
motivation by introducing gamification elements into the educational environment [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The game
integrates with some educational platforms, allowing teachers to track student progress and encourage
student engagement. The main feature of Classcraft is team dynamics, which is when students are
united in groups to achieve common goals.
        </p>
        <p>
          Minecraft Educational Edition is an educational version of Minecraft’s popular video game, designed
specifically for educational purposes. Using this tool, it is possible to create educational environments
and tasks for students of diferent ages and levels of learning. Educational Minecraft aims to promote
collaboration and cooperation between players by creating shared virtual environments where they can
work together on projects and tasks. The game provides many opportunities for creative expression
and imagination. Users can create their worlds, objects and structures using a variety of blocks and
tools. Within the game, you can create educational tasks and scenarios that help players learn various
subjects, such as mathematics, computer science, history and others [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>
          Given that combining diferent types of games when teaching computer science is advisable, quiz
elements can be incorporated into the designed simulation game. Currently, one of the most famous
platforms for creating quizzes is Kahoot! [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. It focuses on conducting quizzes, polls, and other forms of
interactive interaction. The main advantage of Kahoot! is its ease of use and the ability to engage many
participants simultaneously. Students answer questions in real-time, competing for the highest score.
The game-like structure of Kahoot! Stimulates interest in learning and encourages healthy competition
between participants. Although Kahoot! does not have as advanced role-playing elements as Classcraft,
it is well suited for integration into the classroom as an additional tool for testing knowledge.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Analysis of the main approaches and stages of game simulation development</title>
        <p>When designing a training simulator, we understand that teams of many specialists, such as storytellers,
modellers, designers, programmers, QA engineers, and others, are currently working on creating such
games. Moreover, they have been working for a long time. Nevertheless, we organised a project to
design and develop the Student Simulator game. The work was carried out within the framework
of the joint research laboratory ‘Digital Educational Innovations’, which was created in cooperation
with Ternopil Volodymyr Hnatiuk National Pedagogical University and Institute for Digitalisation of
Education of the National Academy of Educational Sciences of Ukraine.</p>
        <p>
          The project methodology was used to implement the tasks. The article’s authors and students
studying under the Game Project Engineering programme at Ternopil Volodymyr Hnatiuk National
Pedagogical University led and executed the project. Designing a simulation game involves reducing
this complex reality to a simpler model [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. Three principles play a role in building this simpler model:
• Reduction of elements. Not all of them will be represented in the simulator.
• Abstraction. The elements included in the new model are represented in less detail than in real
life.
        </p>
        <p>• The symbolism of elements. Some real-life objects are presented in the new model in a new form.</p>
        <p>
          We tried to organise the game development workflow following the study by Peters and Westelaken
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] (figure 1). However, due to the scale of the project and time constraints, not all defined phases
were strictly followed.
        </p>
        <p>
          The first phase involved drafting the terms of reference. The game’s goal was to engage the user
in learning the basics of a computer system by simulating a student’s actions moving through several
classrooms that can be thought of as online laboratories [
          <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
          ]. At this stage, the developers consulted
with teachers who had experience teaching courses such as Operating Systems, Computer Architecture,
Scenarios
        </p>
        <p>Events</p>
        <p>Roles</p>
        <p>Rules</p>
        <p>Mechanics</p>
        <p>Rewards
Mandatory Knowledge Grade
conductauthorisation retention me-ing
Assignment chanics Academic
hondeadlines Test-taking ors
Academic in-mini-quizzes Special
certifitegrity policies Study effective-cations
ness system
and Programming. The specification of the game as a simulator was finally defined, and what it should
be at the end of the project was determined. The following requirements for the end application were
specified:
• It should be a desktop game in the simulation genre.
• Several locations (rooms) of the game should be implemented, including a quest room, a room for
learning the PandaOS, and a room for manipulating a prototype computer system unit.
• The application should have a system for registering gamers.
• The safe and eficient storage of user data and their progress and achievements must be
implemented.</p>
        <p>During the system analysis phase, the actor (student), its relationships with the surrounding objects
and the factors influencing the player’s actions were identified. The surrounding objects are walls,
doors between rooms, windows, computers, tablets, etc.</p>
        <p>The game design phase involves the transformation of the system analysis into gameplay. It consists
of several steps, such as clarifying the game components through abstraction, creating a game element
matrix, and choosing a game format. The game element matrix provides a structured basis for the
student simulator by mapping the main system components to game elements (table 2).</p>
        <p>The next step was to summarise the data from the matrix, including removing (crossing out) those
elements that were not feasible in this project. As a result, it becomes clear what information should be
included in the game scenario and what roles and actions should be highlighted. After that, a game
model was developed (figure 3), which combined all the game locations and identified possible player
actions.</p>
        <p>The next phase was the development of the simulation game. The concepts and ideas were
implemented in the programme code. The game was tested, which led to bug fixes. Teachers were also tested
to determine how the functionality corresponded to the game’s defined characteristics.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Choosing development tools</title>
        <p>
          Before creating a Student Simulator, the necessary tools for design and development have been identified.
To solve this problem, we analysed scientific publications [
          <xref ref-type="bibr" rid="ref23 ref24 ref25 ref26">23, 24, 25, 26</xref>
          ], explored vendors’ oficial sites,
and compared some software types. The main selection criteria were the following characteristics.
• Afordability. The cost of purchasing a license or subscription for the tool.
• System requirements. Demand for hardware power for comfortable development.
• Experience of the development team members in using the tool.
        </p>
        <p>• Opportunities. Availability of tools to create the functionality we need.</p>
        <p>The main game engines we considered were Godot, Unity, and Unreal Engine.</p>
        <p>
          Unreal Engine is a powerful game engine that creates AAA games and projects with high
graphical requirements. Its unique Blueprints system makes it possible to create complex logic without
programming, making it easier for beginners to get started. In addition, the engine supports C++ to
solve the most complicated technical problems. The Unreal Engine is known for its photorealistic
graphics capabilities, which makes it ideal for cinematic-quality projects. However, significant technical
resources are required to work efectively with the engine, including modern, powerful computers and
a high team expertise. It is free of charge if the annual income is less than $1,000,000. This engine is
great for teams with enough experience, time, and resources to implement large projects [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
        </p>
        <p>
          Unity is a versatile and popular engine among developers of all levels. It supports both 2D and
3D graphics. Its licensing system allows you to use the engine for free if your annual income is less
than $200,000. Thanks to an extensive database of training materials, Unity provides an easy start for
beginners and rapid further development. A large marketplace of resources greatly simplifies game
work, allowing developers to use ready-made models, textures, shaders, and even mechanics. However,
when working on massive projects, there can be problems with scene organisation and performance
optimisation, which require additional eforts from developers [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
        </p>
        <p>
          Godot has proven to be a convenient and powerful tool for indie developers and small studios. It’s
completely free, which minimizes the cost of licenses or royalties, and the open-source code allows you
to customize the engine to meet the specific needs of your project. Godot provides developers with
tools for creating 2D and 3D games like Unity. Due to its low system resource requirements, it suits
teams with low-power systems. However, it should be borne in mind that Godot may be limited in
implementing complex graphical efects or large 3D projects. Nevertheless, its intuitive interface and
native GDScript programming language (similar to Python) make it ideal for beginners or those who
want to get started quickly [
          <xref ref-type="bibr" rid="ref24 ref25">25, 24</xref>
          ].
        </p>
        <p>Therefore, at the fifth step of the project, a matrix for selecting a game engine was created based on
the previously defined criteria (table 3).</p>
        <p>Based on our analysis of the advantages and disadvantages of game engines, we concluded that Godot
is the most suitable for our project, as it is entirely free, does not require significant system resources, is
easy to use, and provides a wide range of tools for playing various simulations.</p>
        <p>
          Other tools needed for the project are programs for creating and editing 3D graphics. Among them,
were compared Blender and Autodesk 3ds MAX [
          <xref ref-type="bibr" rid="ref27 ref28">27, 28</xref>
          ].
        </p>
        <p>Autodesk 3ds MAX is a full-featured professional 3D graphics editor. It is a paid software with a fairly
high price, namely a $235 per month subscription cost for one user. The requirements for computer
resources are high, especially when working on complex scenes. Our team has minimal skills with this
tool, but not enough for our project. This creates the need for additional time to learn the interface and
functionality. 3ds Max is a powerful editor and can provide tools for all our 3D graphics needs, such as
modelling, texturing, and animation.</p>
        <p>Blender is a software package that works with three-dimensional graphics. Blender is completely free
and open source, which makes it more attractive to small teams and indie developers. It demonstrates
high performance even on average computers. Although it requires powerful hardware to work with
large scenes, optimization allows you to work comfortably with the correct settings. Our team’s
experience with Blender was insuficient, just like with Autodesk 3ds MAX. Blender ofers various capabilities:
modelling, animation, sculpting, material creation, and rendering. An active user community also
provides numerous add-ons and plug-ins to extend the program’s functionality. A matrix was also built
to select a tool for working with 3D graphics (table 4).</p>
        <p>At the end of the analysis, we concluded that Blender, due to its accessibility, low system requirements
compared to Autodesk 3ds Max, and comprehensive functionality that met our needs, was the best
choice for developing graphics for our project.</p>
        <p>
          Before starting development, choosing a cloud service to store user data was essential [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]. We
analysed and compared such services as Firebase, Supabase, Backendless [
          <xref ref-type="bibr" rid="ref30 ref31">30, 31</xref>
          ]. Also, when choosing,
it is worth considering the interaction between the network tool and the Godot engine.
        </p>
        <p>Backendless is focused on creating a backend for applications and games with minimal code writing.
Its key features include.</p>
        <p>• Codeless logic creation is suitable for quick implementation of simple projects;
• Real-time support, notification system, and data synchronisation;
• Visual database editor makes it easy to work with data;
• Cloud or local deployment, flexibility in choosing the environment.</p>
        <p>For Godot, Backendless ofers convenient REST APIs for integration. Its advantages include easy
setup and powerful tools for sending push notifications.</p>
        <p>Supabase is an open-source platform that provides developers convenient tools for creating
applications with a PostgreSQL backend. The main advantages of gaming projects are:
• PostgreSQL as a database that supports complex SQL queries and stores data in a structured form.
• Real-time via WebSocket for data synchronisation between clients.
• Authentication with support for OAuth, Magic Links, and others.
• Extensibility through features and the ability to deploy your own server.</p>
        <p>Supabase integrates well with Godot via the REST API or WebSocket, which provides a convenient
data exchange setup. Its main advantages are low cost, open source, and the possibility of self-hosting.</p>
        <p>Firebase is an application development platform from Google that provides a wide range of tools for
backend development. The main features that attract the attention of game developers include:
• Realtime database, which allows you to update data instantly.
• Firestore is a more modern, flexible NoSQL database for scalable applications.
• Authentication with support for social networks, email, and passwords.
• Cloud functions for writing server logic.</p>
        <p>• Analytics to track user activity.</p>
        <p>Firebase is ideal for projects that require scalability, real-time, and integration with other Google
services. However, its disadvantages are high costs when the project grows, the limitations of the free
plan, and dependence on Google’s infrastructure.</p>
        <p>Based on this analysis, we concluded that Firebase is the best choice for our project. Its advantages in
working with data, ease of integration with Godot via HTTP requests or custom add-ons, and scalability
make it easy to adapt the project to future changes. However, Supabase is also a promising alternative,
and Backendless can be a choice for simple games with minimal backend requirements.</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4. Designing the game structure</title>
        <p>In the 3rd and 4th phases of development, our team paid considerable attention to the study of scientific
literature and technical documentation. The primary sources were scientific articles on developing
educational games and technical manuals of Godot, Firebase, and other tools used. Additionally, we
turned to developer forums such as Stack Overflow to get practical advice and find solutions to problems
we had dificulty with. Conducting such research helped us to clearly define the tasks we were facing
and choose the most appropriate tools to solve them. This, in turn, enabled us to understand better
existing methodologies and approaches to developing such game projects.</p>
        <p>Designing the game structure included using UML diagrams to visualise the main components and
their interaction (figure 2). We also created flowcharts to detail the program logic. Use cases were
described in detail for each module, which helped us to better think through the functionality and
ensure convenience for end users.</p>
        <p>To write the code for our project, we chose the GDScript programming language, which is part of the
Godot game engine. This choice was made due to its high performance and ease of use when developing
gaming applications. Using GDScript also ensured fast prototyping and eficient work with various
aspects of the game.</p>
        <p>The tests were performed manually, as manual testing is faster and less resource-intensive than
developing and setting up automated tests. This allowed us to quickly identify and fix bugs, ensuring
the game’s high quality. In addition, we also conducted tests on real users, which allowed us to get
feedback on the immersiveness of the game project.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Game development</title>
      <p>To develop a game product to be released, one of the most important elements is planning resources
and product design. To keep the development going at the right pace, it is necessary to distribute tasks
among developers and establish constant communication between them. Therefore, game developers
used the GitHub platform. It allowed us to store the project in the cloud and synchronize the work
between developers. Also, thanks to the associated GitHub Projects resource, we distributed tasks
for implementing the game’s functionality and creating assets across the team. We also tracked the
efectiveness of their implementation with further retrospectives of the implemented tasks to improve
cooperation with each other.</p>
      <p>The design and development phases of the Student Simulator game can be divided into several main
steps such as
• Pre-production (steps 4-7). At this stage, the design and idea of the game were developed, the
design document and matrices were written, resources were estimated, a work schedule was
drawn up, and the first game prototypes were created.
• Production (step 8). This stage characterizes the primary and least active development process
when all design aspects are agreed upon. The team works on the main parts of the game, such as
programming the main game elements, creating content such as 3D models, music, and levels,
testing the finished parts of the game, and integrating them all into a complete product.
• Beta testing (step 9). At this stage, most of the game was ready, and the main focus was on finding
and fixing various bugs and performance issues, as well as polishing the visual appearance of the
3D graphics and user interface (UI).
• Release (step 10). This is the stage at which the game is fully ready for publication with access
through the oficial website of the game.</p>
      <sec id="sec-3-1">
        <title>A generalized model of the game was developed (figure 3).</title>
        <p>These modules are implemented as follows in the published version of the game.</p>
        <p>• The main player. It allows you to move around locations in the first person in the role of a student;
• Interaction system. It provides the player with interaction with the environment using the camera.</p>
        <p>Location system. It dynamically loads locations and changes them for the player.
• Virtual operating system. It is an in-game operating system that allows you to run applications
and games inside the program and view information about the player.
• Visual programming language. It was created specifically for the Student Simulator project and
can be considered as a model of natural programming languages.
• Authorization system. It allows you to create user accounts and store user data.
• Rating system. The module stores and displays users’ rating points.</p>
        <p>• The task system. It allows you to perform interactive tests at diferent levels to get points.</p>
        <p>To implement the possibility of movement, a particular physical object was created whose movement
needs to be configured using code. With the help of keyboard input, we get the direction of movement
and then call a particular built-in function that makes this object move, taking into account physics and
the environment. This is how the main player was implemented in the listing 1.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Listing 1: Player movement processing function f u n c _ m o v e m e n t _ i n p u t s ( ) −&gt; v o i d :</title>
        <p>To see the world through the eyes of the player, a virtual camera was attached to him, which followed
him everywhere (figure 4). To change the rotation of this camera when the mouse is moved, we wrote a
function that receives the diference in the cursor position of this and the previous frame and assigns
these values to the camera rotation.</p>
        <p>To make the game more immersive and increase the player’s connection with the environment, we
created a system that allows him to interact with objects he points the camera at by pressing a unique
key. To implement this mechanic, we added a beam to the camera that receives the first object it crashes
into and checks whether interaction with it is possible (figure 5). If the player is looking at such an
object and presses the interaction key, the interactive object will call a function and respond to the
interaction (figure 6).</p>
        <p>The game’s locations, which take place in university classrooms, were divided into separate scenes.
This was done to optimise the use of computing resources and increase the modularity of the project.
To move between them, we developed the function that dynamically loads and unloads rooms from
memory without changing the player’s state (listing 2).</p>
        <p>Listing 2: Function to change the current room
f u n c change_room ( s c e n e _ p a t h : S t r i n g ) −&gt; v o i d :
_ p l a y e r . h i d e ( )
_ c u r r e n t _ r o o m . h i d e ( )
_ c u r r e n t _ r o o m . q u e u e _ f r e e ( )
_ c u r r e n t _ r o o m = l o a d ( s c e n e _ p a t h ) . i n s t a n t i a t e ( )
a d d _ c h i l d ( _ c u r r e n t _ r o o m )
_ c u r r e n t _ r o o m . p o s i t i o n = V e c t o r 3 . ZERO
_ p l a y e r . g l o b a l _ p o s i t i o n =
_ c u r r e n t _ r o o m . g e t _ p l a y e r _ s t a r t _ g l o b a l _ p o s i t i o n ( )
v a r p l a y e r _ c a m e r a : Camera3D =</p>
        <p>_ p l a y e r . main_camera
p l a y e r _ c a m e r a . s e t _ c a m e r a _ r o t a t i o n</p>
        <p>( _ c u r r e n t _ r o o m . g e t _ p l a y e r _ s t a r t _ g l o b a l _ r o t a t i o n ( ) )
_ p l a y e r . show ( )</p>
        <p>When creating the authorisation system, we used Firebase tools such as authentication to implement
the authorisation system and Firestore to store user data. We used the Godot Firebase addon to simplify
the interaction between Godot and Firebase. Authentication in Student Simulator works as follows: the
user enters the required data, email and password. Since these are the primary data for authorisation,
they are stored in the Authentication tool. To store other data, a file with an individual and unique
name for each player is created in the player_stats collection in the Firestore (figure 7).</p>
        <p>User registration requires filling out a form, including entering a nickname, choosing a role (teacher or
student), and entering an email address and password (figure 8). After registration/login on a particular
device, user data is stored locally and used automatically the next time the game is launched.</p>
        <p>An example of a method for sending user data to the server is the _send_account_data() function
(listing 3), which sends data during registration. The principle of operation is as follows: first, the user
is verified, then the data from the completed form is collected and arranged, and finally sent to the
server.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Listing 3: The function of sending data to the server (Firestore) f u n c _ s e n d _ a c c o u n t _ d a t a ( ) :</title>
        <p>1 :</p>
        <p>r o l e = " Teac her "
v a r d a t a : D i c t i o n a r y = {
" nickname " : nickname ,
" r o l e " : r o l e ,
" a v a i l a b l e _ l e s s o n s " : { " 1 " : [ " 1 " ] }</p>
        <p>The virtual operating system implemented in the project is called PandaOS. It is a virtual operating
system designed to provide an interactive user experience. It is based on a design of visual ‘Control’
nodes. The PandaOS interface displays visual elements similar to those in the Windows operating
system (figures 9 and 10). This includes windows, buttons, icons and other controls, allowing users
without additional knowledge to use it using familiar interfaces.</p>
        <p>The critical function of PandaOS is to act as a bridge between the 3D game world and mini-games
implemented as separate applications or games for this operating system. This allows seamless
minigame integration into the main gameplay, providing users additional features and entertainment. In
addition to the basic features, PandaOS ofers several additional options for customising the system.
Users can change the background and colour scheme of the system to suit their preferences. The system
also has a clock that displays real-time and date, which adds even more realism and ease of use. In
Student Simulator, one of the mini-games ofered is the Bamboo+ application, where you can easily
acquire basic programming skills using the Bamboo+ visual programming language of the same name.</p>
        <p>The program can be divided into 5 main blocks such as (figure 11 and 12)
• Top bar for programme management;
• Right menu of lessons for selection of available lessons;
• Left ‘theoretical’ panel contains theory for the current lesson (article with images);
• Area for building an algorithm;
• Console is the area of data output using the print function block.</p>
        <p>The lesson theory, available units for work and correct answers for checking are loaded into the
lesson from the local JSON database. Data on which lessons are available to the user and the lesson’s
progress are stored in the Firestore database.</p>
        <p>Each block of the Bamboo+ programming language is a separate scene with its script and functionality.
When you click on the ‘Run’ button, the program execution starts. The code is read gradually from top
to bottom. Each block contains a run_block function executed when the queue reaches its block (listing
4).</p>
        <p>Listing 4: An example of calling the run_block function (initialising a variable)
f u n c r u n _ b l o c k ( ) :
v a r a u t h = F i r e b a s e . Auth . a u t h
i f a u t h . l o c a l i d :</p>
        <p>v a r c o l l e c t i o n : F i r e s t o r e C o l l e c t i o n =
F i r e b a s e . F i r e s t o r e . c o l l e c t i o n ( COLLECTION_ID )
v a r nickname = %N i c k n a m e L i n e E d i t . t e x t
v a r r o l e _ i d = % R o l e S e l e c t i o n E d i t . s e l e c t e d
v a r r o l e
match r o l e _ i d :
0 :
1 :
r o l e = " T e a c h e r "
v a r d a t a : D i c t i o n a r y = {
" nickname " : nickname ,
" r o l e " : r o l e ,
" a v a i l a b l e _ l e s s o n s " : { " 1 " : [ " 1 " ] }
The following blocks are implemented for programming in Bamboo+:
• Variable initialisation. Bamboo+ is strictly typed and supports such data types as integers, floats,
strings, and booleans.</p>
        <p>• Reassignment variable.
• Function initialisation.
• Call function.
• Construction ‘if’ and ‘if-else’ for branching.
• ‘While’ is a loop until the specified logical expression is true.
• ‘For’ is a loop with a local variable whose value starts from 0 and goes up to the specified value.</p>
        <p>The loop stops when the local variable becomes equal to the specified values.</p>
        <p>• ‘Print’ is a function that outputs data to the console.</p>
        <p>Another interactive mini-game was a test system using 3D models of tablets. For this purpose, we
developed a scene with a tablet and an interaction system (figure 13). The objects themselves are hidden
in diferent locations in visible and not-so-visible places. When the player finds one, he/she can pick it
up and then a tablet window will appear with a question he/she has to solve.</p>
        <p>Players are awarded rating points for completing various tasks and passing mini-games. This will
create healthy competition and encourage users to learn more to gain the top spot. Standard Godot
control nodes were used to build scenes displaying the best players (figure 14). The Firebase Firestore
tool was used for saving the data. The data is stored in the rating file as ‘key’: ‘value’.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Prospects and possible improvements to the Student Simulator game</title>
      <p>
        The ability to improve the Student Simulator game opens up broad prospects for further development.
One of the critical areas could be the introduction of artificial intelligence to adapt the learning process to
the individual needs of each student [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. AI can analyse user performance, strengths, and weaknesses
and automatically select tasks of the appropriate dificulty level. This will provide a personalised
approach to learning and allow for more eficient achievement of goals [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. Implementing multiplayer
and collaboration modes can make the Student Simulator even more attractive to users, allowing
students to collaborate on projects and solve problems in a virtual environment. This approach will
help develop team skills and increase motivation through social interaction and competition.
      </p>
      <p>
        The integration of the game with popular learning management systems, such as Moodle or
Blackboard, is in demand among teachers [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. This will provide easy access to educational materials and
tasks and allow teachers to track student progress and make the necessary adjustments more efectively.
      </p>
      <p>An essential task of implementing the simulator is determining its efectiveness criteria and indicators.</p>
      <p>To accomplish this task, teachers should be involved as experts. A survey of students to assess the
advantages and disadvantages of the developed game application is another promising area for further
research.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>The results of this study show that its primary objectives were met. We analysed. Modern approaches
to designing, creating, and using simulator games were explored. On this basis, the sequence of game
development was clarified, a matrix of its objects was made, and a model was designed. As a result of
the comparative analysis, we have grounded and selected the main tools for development: Godot as
a game engine, Blender as software for creating 3D graphics and Firebase as a cloud service for data
storage. The chosen set of tools should consider the needs of graphic development, interaction and ease
of use. The author’s experience in creating the game was systematised, and its critical development
points were described.</p>
      <p>The development of 3D games, such as Student Simulator, requires the collaboration of various
specialists. In our case, it was organised as a project whose participants acted as storytellers, designers,
programmers, modellers, and testers. This approach encouraged teamwork and healthy competition
among developers. The created Student Simulator has a modular structure at the level of locations
and objects with which the player interacts. These objects are the PandaOS virtual operating system
and the Bamboo+ visual programming language, which add new levels of interactivity and learning
opportunities. The project participants created a website to promote the game. However, the project
has prospects for further improvement, mainly through implementing AI and expanding multiplayer
functions.</p>
      <p>Acknowledgments: We want to express our sincere gratitude to all the students of the CS-46 (KN-46) group of Ternopil
Volodymyr Hnatiuk National Pedagogical University, who are not the authors of this paper but were participants in the
project and put a lot of efort into creating the Student Simulator game. Among them are Maksym Bazyvoliak, Honcharuk
Maksym, Ivan Hrytsai, Vitaliy Melnychuk, Vladyslav Serpevskyi, Ivan Shovag, and Andriy Yasinskyi.
Declaration on Generative AI: The authors have not employed any Generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Videnovik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kiønig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Madevska</given-names>
            <surname>Bogdanova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Trajkovik</surname>
          </string-name>
          ,
          <article-title>Game-based learning in computer science education: a scoping literature review</article-title>
          ,
          <source>International Journal of STEM Education</source>
          <volume>10</volume>
          (
          <year>2023</year>
          )
          <article-title>54</article-title>
          . doi:
          <volume>10</volume>
          .1186/s40594-023-00447-2.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.-Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.-J.</given-names>
            <surname>Hwang</surname>
          </string-name>
          , S.-Y. Yeh, Y.-T. Chen, T.-W. Chen,
          <string-name>
            <surname>C.-H. Chien</surname>
          </string-name>
          ,
          <article-title>Three decades of game-based learning in science and mathematics education: an integrated bibliometric analysis and systematic review</article-title>
          ,
          <source>Journal of Computers in Education 9</source>
          (
          <year>2022</year>
          )
          <fpage>455</fpage>
          -
          <lpage>476</lpage>
          . doi:
          <volume>10</volume>
          .1007/ s40692-021-00210-y.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Y. B.</given-names>
            <surname>Kafai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Burke</surname>
          </string-name>
          , Constructionist Gaming:
          <article-title>Understanding the Benefits of Making Games for Learning</article-title>
          ,
          <source>Educational Psychologist</source>
          <volume>50</volume>
          (
          <year>2015</year>
          )
          <fpage>313</fpage>
          -
          <lpage>334</lpage>
          . doi:
          <volume>10</volume>
          .1080/00461520.
          <year>2015</year>
          .
          <volume>1124022</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Adipat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Laksana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Busayanon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ausawasowan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Adipat</surname>
          </string-name>
          ,
          <article-title>Engaging Students in the Learning Process with Game-Based Learning: The Fundamental Concepts</article-title>
          ,
          <source>International Journal of Technology in Education 4</source>
          (
          <year>2021</year>
          )
          <fpage>542</fpage>
          -
          <lpage>552</lpage>
          . doi:
          <volume>10</volume>
          .46328/ijte.169.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Foki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Shepiliev</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. M. Mintii</surname>
            ,
            <given-names>I. S.</given-names>
          </string-name>
          <string-name>
            <surname>Mintii</surname>
            ,
            <given-names>O. H.</given-names>
          </string-name>
          <string-name>
            <surname>Kuzminska</surname>
          </string-name>
          ,
          <article-title>Methodology for teaching development of web-based augmented reality with integrated machine learning models</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3820</volume>
          (
          <year>2024</year>
          )
          <fpage>118</fpage>
          -
          <lpage>145</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3820</volume>
          / paper249.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mandlekar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.-A.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Anandkumar</surname>
          </string-name>
          ,
          <article-title>MINEDOJO: building open-ended embodied agents with internet-scale knowledge</article-title>
          ,
          <source>in: Proceedings of the 36th International Conference on Neural Information Processing Systems</source>
          , NIPS '22, Curran Associates Inc.,
          <string-name>
            <surname>Red</surname>
            <given-names>Hook</given-names>
          </string-name>
          ,
          <string-name>
            <surname>NY</surname>
          </string-name>
          , USA,
          <year>2024</year>
          , p.
          <fpage>1333</fpage>
          . doi:
          <volume>10</volume>
          .48550/ARXIV.2206.08853.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Vakaliuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kontsedailo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Antoniuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Korotun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Mintii</surname>
          </string-name>
          ,
          <article-title>Using Game Dev Tycoon to Develop Professional Soft Competencies for Future Engineers-Programmers</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>2732</volume>
          (
          <year>2020</year>
          )
          <fpage>808</fpage>
          -
          <lpage>822</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2732</volume>
          /20200808.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Korniienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. V.</given-names>
            <surname>Zahorodko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Striuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. I.</given-names>
            <surname>Kupin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <article-title>A systematic review of gamification in software engineering education</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3844</volume>
          (
          <year>2024</year>
          )
          <fpage>83</fpage>
          -
          <lpage>95</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M. B.</given-names>
            <surname>Armstrong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. N.</given-names>
            <surname>Landers</surname>
          </string-name>
          ,
          <article-title>An Evaluation of Gamified Training: Using Narrative to Improve Reactions and Learning</article-title>
          ,
          <source>Simulation &amp; Gaming</source>
          <volume>48</volume>
          (
          <year>2017</year>
          )
          <fpage>513</fpage>
          -
          <lpage>538</lpage>
          . doi:
          <volume>10</volume>
          .1177/ 1046878117703749.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K. N.</given-names>
            <surname>Wilson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ghansah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ananga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Oppong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. K.</given-names>
            <surname>Essibu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. K.</given-names>
            <surname>Essibu</surname>
          </string-name>
          ,
          <article-title>Exploring the eficacy of computer games as a pedagogical tool for teaching and learning programming: A systematic review</article-title>
          ,
          <source>Education and Information Technologies</source>
          (
          <year>2024</year>
          ).
          <source>doi:10.1007/s10639-024-13005-2.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Lamb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Annetta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Firestone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Etopio</surname>
          </string-name>
          ,
          <article-title>A meta-analysis with examination of moderators of student cognition, afect, and learning outcomes while using serious educational games, serious games, and simulations</article-title>
          ,
          <source>Computers in Human Behavior</source>
          <volume>80</volume>
          (
          <year>2018</year>
          )
          <fpage>158</fpage>
          -
          <lpage>167</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.chb.
          <year>2017</year>
          .
          <volume>10</volume>
          .040.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>A. M. Toda</surname>
            ,
            <given-names>A. C. T.</given-names>
          </string-name>
          <string-name>
            <surname>Klock</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>P. T.</given-names>
          </string-name>
          <string-name>
            <surname>Palomino</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Rodrigues</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Shi</surname>
            ,
            <given-names>I. Bittencourt</given-names>
          </string-name>
          , I. Gasparini,
          <string-name>
            <given-names>S.</given-names>
            <surname>Isotani</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. I. Cristea</surname>
          </string-name>
          ,
          <article-title>Analysing gamification elements in educational environments using an existing gamification taxonomy</article-title>
          ,
          <source>Smart Learning Environments</source>
          <volume>6</volume>
          (
          <year>2019</year>
          )
          <article-title>16</article-title>
          . doi:
          <volume>10</volume>
          .1186/ s40561-019-0106-1.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>V.</given-names>
            <surname>Oleksiuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Verbovetskyi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Hrytsai</surname>
          </string-name>
          ,
          <article-title>Design and development of a game application for learning Python</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3662</volume>
          (
          <year>2024</year>
          )
          <fpage>111</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Basu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Saha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Das</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Guha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mukherjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mahadevappa</surname>
          </string-name>
          ,
          <article-title>Assessment of attention and working memory among young adults using computer games</article-title>
          ,
          <source>Journal of Ambient Intelligence and Humanized Computing</source>
          <volume>14</volume>
          (
          <year>2022</year>
          )
          <fpage>2413</fpage>
          -
          <lpage>2428</lpage>
          . doi:
          <volume>10</volume>
          .1007/s12652-022-04494-5.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Cass</surname>
          </string-name>
          ,
          <article-title>Some assembly (language) required - Three games that make low-level coding fun</article-title>
          ,
          <source>IEEE Spectrum 54</source>
          (
          <year>2017</year>
          )
          <fpage>19</fpage>
          -
          <lpage>20</lpage>
          . doi:
          <volume>10</volume>
          .1109/mspec.
          <year>2017</year>
          .
          <volume>7906890</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sipone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Abella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rojo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Moura</surname>
          </string-name>
          ,
          <article-title>Sustainable mobility learning: Technological acceptance model for gamified experience with classcraft in primary school</article-title>
          ,
          <source>Education and Information Technologies</source>
          <volume>28</volume>
          (
          <year>2023</year>
          )
          <fpage>16177</fpage>
          -
          <lpage>16200</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10639-023-11851-0.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L.</given-names>
            <surname>Parody</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. A.</given-names>
            <surname>Trujillo-Cayado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ceballos</surname>
          </string-name>
          , Gamification in Engineering Education:
          <article-title>The Use of Classcraft Platform to Improve Motivation</article-title>
          and Academic Performance,
          <source>Applied Sciences</source>
          <volume>12</volume>
          (
          <year>2022</year>
          )
          <article-title>11832</article-title>
          . doi:
          <volume>10</volume>
          .3390/app122211832.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Riabko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vakaliuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Zaika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kukharchuk</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Novitska</surname>
          </string-name>
          ,
          <article-title>Gamification method using Minecraft for training future teachers of computer science</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3771</volume>
          (
          <year>2024</year>
          )
          <fpage>22</fpage>
          -
          <lpage>35</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3771</volume>
          /paper26.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>O. V.</given-names>
            <surname>Zaika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Vakaliuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Riabko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Kukharchuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. S.</given-names>
            <surname>Mintii</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <article-title>Selection of online tools for creating math tests</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>2898</volume>
          (
          <year>2021</year>
          )
          <fpage>82</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>V.</given-names>
            <surname>Peters</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. V. D.</given-names>
            <surname>Westelaken</surname>
          </string-name>
          ,
          <article-title>Simulation games - a concise introduction to the design process</article-title>
          ,
          <source>Samenspraak Advies</source>
          ,
          <year>2014</year>
          . doi:
          <volume>10</volume>
          .13140/2.1.4259.1367.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Striuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Rybalchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bilashenko</surname>
          </string-name>
          ,
          <article-title>Development and using of a virtual laboratory to study the graph algorithms for bachelors of software engineering</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>2732</volume>
          (
          <year>2020</year>
          )
          <fpage>974</fpage>
          -
          <lpage>983</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>O.</given-names>
            <surname>Holovnia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Oleksiuk</surname>
          </string-name>
          ,
          <article-title>Selecting cloud computing software for a virtual online laboratory supporting the Operating Systems course</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3085</volume>
          (
          <year>2021</year>
          )
          <fpage>216</fpage>
          -
          <lpage>227</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Ullmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Politowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-G.</given-names>
            <surname>Guéhéneuc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Petrillo</surname>
          </string-name>
          , Game Engine Comparative Anatomy, in: B.
          <string-name>
            <surname>Göbl</surname>
            , E. van der Spek,
            <given-names>J. Baalsrud</given-names>
          </string-name>
          <string-name>
            <surname>Hauge</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>McCall (Eds</article-title>
          .),
          <source>Entertainment Computing - ICEC</source>
          <year>2022</year>
          , volume
          <volume>13477</volume>
          of Lecture Notes in Computer Science, Springer International Publishing, Cham,
          <year>2022</year>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>111</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -20212-
          <issue>4</issue>
          _
          <fpage>8</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.</given-names>
            <surname>Holfeld</surname>
          </string-name>
          ,
          <article-title>On the relevance of the Godot Engine in the indie game development industry</article-title>
          ,
          <year>2024</year>
          . doi:
          <volume>10</volume>
          .48550/ARXIV.2401.
          <year>01909</year>
          . arXiv:
          <fpage>2401</fpage>
          .
          <year>01909</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>T.</given-names>
            <surname>Salmela</surname>
          </string-name>
          ,
          <article-title>Game development using the open-source Godot Game Engine, Bachelor's thesis</article-title>
          , Tampere University of Applied Sciences,
          <year>2022</year>
          . URL: http://www.theseus.fi/handle/10024/746943.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>J.</given-names>
            <surname>Verón</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pérez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Calero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Moraga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pérez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Cetina</surname>
          </string-name>
          ,
          <string-name>
            <surname>A Comparative</surname>
          </string-name>
          <article-title>Analysis of Energy Consumption Between Visual Scripting models and C++ in Unreal Engine: Raising Awareness on the importance of Green MDD, in:</article-title>
          <source>Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems, MODELS '24</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2024</year>
          , p.
          <fpage>114</fpage>
          -
          <lpage>125</lpage>
          . doi:
          <volume>10</volume>
          .1145/3640310.3674099.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>M. McPherson</surname>
          </string-name>
          ,
          <article-title>Blender vs 3Ds Max | Head-to-</article-title>
          <string-name>
            <surname>Head Comparison</surname>
          </string-name>
          (
          <year>2023</year>
          ),
          <year>2022</year>
          . URL: https://www. designbuckle.com/blender-vs
          <string-name>
            <surname>-</surname>
          </string-name>
          3ds-max/.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hendriyani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Amrizal</surname>
          </string-name>
          ,
          <source>The Comparison Between 3D Studio Max and Blender Based on Software Qualities, Journal of Physics: Conference Series</source>
          <volume>1387</volume>
          (
          <year>2019</year>
          )
          <article-title>012030</article-title>
          . doi:
          <volume>10</volume>
          .1088/
          <fpage>1742</fpage>
          -6596/1387/1/012030.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>V. P.</given-names>
            <surname>Oleksiuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. R.</given-names>
            <surname>Oleksiuk</surname>
          </string-name>
          ,
          <article-title>Methodology of teaching cloud technologies to future computer science teachers</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>2643</volume>
          (
          <year>2020</year>
          )
          <fpage>592</fpage>
          -
          <lpage>608</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>A. Z.</given-names>
            <surname>Ayezabu</surname>
          </string-name>
          ,
          <article-title>Supabase vs Firebase: Evaluation of performance and development of Progressive Web Apps, Bachelor's thesis</article-title>
          , Metropolia University of Applied Sciences,
          <year>2022</year>
          . URL: http://www. theseus.fi/handle/10024/771009.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>R.</given-names>
            <surname>Jain</surname>
          </string-name>
          , Firebase vs Supabase,
          <year>2024</year>
          . URL: https://dev.to/codeparrot/firebase-vs-supabase-
          <volume>4770</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Marienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. M.</given-names>
            <surname>Markova</surname>
          </string-name>
          ,
          <article-title>Artificial intelligence literacy in secondary education: methodological approaches and challenges</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3679</volume>
          (
          <year>2024</year>
          )
          <fpage>87</fpage>
          -
          <lpage>97</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>I.</given-names>
            <surname>Mintii</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <article-title>Optimizing Teacher Training and Retraining for the Age of AI-Powered Personalized Learning: A Bibliometric Analysis</article-title>
          , in: E. Faure,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tryus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vartiainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Danchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bondarenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bazilo</surname>
          </string-name>
          , G. Zaspa (Eds.),
          <source>Information Technology for Education, Science, and Technics</source>
          , volume
          <volume>222</volume>
          <source>of Lecture Notes on Data Engineering and Communications Technologies</source>
          , Springer Nature Switzerland, Cham,
          <year>2024</year>
          , pp.
          <fpage>339</fpage>
          -
          <lpage>357</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -71804-5_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>L.</given-names>
            <surname>Fadieieva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <article-title>Exploring the Interplay of Moodle Tools and Student Learning Outcomes: A Composite-Based Structural Equation Modelling Approach</article-title>
          , in: E. Faure,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tryus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vartiainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Danchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bondarenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bazilo</surname>
          </string-name>
          , G. Zaspa (Eds.),
          <source>Information Technology for Education, Science, and Technics</source>
          , volume
          <volume>222</volume>
          <source>of Lecture Notes on Data Engineering and Communications Technologies</source>
          , Springer Nature Switzerland, Cham,
          <year>2024</year>
          , pp.
          <fpage>418</fpage>
          -
          <lpage>435</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -71804-5_
          <fpage>28</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>