Software Design Document (SDD) - CankayaUniversity/ceng-407-408-2021-2022-An-Educational-Game-Platform-for-Primary-School-Children GitHub Wiki

Table of Contents

1. Introduction

1.1. Purpose

The purpose of this Software Design Document (SDD) is to detail the architectural and system design of the project titled as “Primath”. The scope of this project is the complete mathematics misconceptions and make entertainment a part of it. The concept of serious games allows using games for a primary purpose other than pure entertainment [1]. Primath is a serious game which runs on web site.

The target audience of this project is kids on primary education. This game will create an opportunity to learn and practice on the different mathematic miss concepts subjects. Primath aims to combine this process with entertainment. To provide a better understanding, this SDD includes various diagrams such as UML class diagram, activity diagram, and use case realization diagram.

1.2. Scope

This document contains the whole definition of the design of Primath. To choose the games that are suitable for the purpose depending on the level of education, detailed research is going to be made.

Unity Game Engine will be used to make this game. Coding and designing parts of production will be made by using Unity. As an IDE, we will be working on Visual Studio and as an programming language C# will be used.

For the design part, we will use assets from Unity Asset Store. Also we might download free-to-use 2D pictures using any search engine.

The games will be held for the first 4 grades. Each game will be prepared in accordance with one of the achievements determined by the ministry of national education. There will also be an information box on the games that describes the achievement in writing so that the teacher can see that achievement.

1.3. Glossary

TERM DEFINITION
SERIOUS GAMES A serious game or applied game is a game designed for a primary purpose other than pure entertainment [2].
SDD Software Design Document
UML DIAGRAM The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system [3].
UNITY Unity is a cross-platform game engine developed by Unity Technologies [4].
SPRITE Sprites are simple 2D objects that have graphical images (called textures) on them [5].
UX User Experience (UX) Design (UXD, UED, or XD) is the process of creating evidence-based, interaction designs between human users and products or websites [6].
UI User interface (UI) is the space where interactions between humans and machines occur [7].
ASSET A Unity asset is an item that you can use in your game or Project [8].
SCRIPT Unity allows you to create your own Components using scripts. These allow you to trigger game events, modify Component properties over time and respond to user input in any way you like [9].
TEXTURES Unity recognizes any image or movie file in a 3D project’s Assets folder as a Texture (in 2D projects, they are saved as Sprites) [10].
MISCONCEPTIONS Ideas that students hold about concepts which are inaccurate or false, especially in the scientific sense[11].

1.4. Overview of Document

The second part of this document describes the Architectural Design of the project. There is also a UML class diagram of the game system and its architectural design. The third part is Use Case Realization. In this section, the block diagram of the system is drawn and briefly explained. The last part is about the Environment.

2. Architecture Design

2.1. System Design Approach

As a group, we meet every week at Discord to set weekly missions. Every weekend, we clarified our work not only by bringing it together, but by discussing the unclear parts of the work done together. When everyone is satisfied with each other's work, we divide the parts we do and complete the work in that way. That way, we meet two or three times a week.

The Primath can be play on a website, Unity has WebGL application to make games suitable for websites. Game will be embedded into server, server of website, then it will make bridge between game and player inputs.

2.1.1. Class Diagram

SDD-ClassDiagram

2.2. Architecture Design of Application

2.2.1. Main Menu

Summary: This system is used by the player. Players can choose a game play, can go to the options menu, can go to the glossary, to choose or get jokers from it.

Actor: Player

Precondition: The player must have initial information and must be online on website which the Primath embedded.

Basic Sequence: • Player must be online on website which the Primath embedded.

• The player must have initial information.

• The player can choose gameplay to choose class.

• The player can go to the options menu.

• The player can go to the glossary and choose or get jokers.

• The player can exit from the application.

Exception: None.

Post Conditions: None

2.2.2. Settings Menu

Summary: Player can adjust audio settings of the game.

Actor: Player

Precondition: Player must be on the main menu or in-game to open up settings menu.

Basic Sequence:

• The player can adjust the music volume.

• The player can adjust the master volume.

• The player can apply changes.

Exception: None

Post Conditions: Any applied changes are saved.

Priority: Medium

2.2.3. Gameplay Mode

Summary: Player can select the class to play.

Actor: Player

Precondition: Player must be on the main menu.

**Basic Sequence: **

• The player can choose a class to play.

• After the player chose class to play, can interact with game objects.

• The player can pause the game.

• The player can adjust master volume through the options menu.

• The player can adjust music volume through the options menu.

• The player can exit from the application.

Exception: None

Post Conditions: Player can play after any class mode when it finished the chosen class.

Priority: High

CoreGame-Draft

Constraints

This game can be integrated into the web page and played from the web page for the minimum system requirement of the video card gtx 1050 or higher, the processor 7th generation or higher, Ram needs to be 8gb or more. The minimum system opening and reopen time of the program is 10 seconds, and this time may vary in higher-level systems. The time to select the game sections and play the games is 5 seconds in the minimum system, and the time may vary in higher systems. In-game fps at minimum system requirement shows values between 100 and 120, while it may vary on higher systems. User cannot play games in-game by connecting external hardware other than mouse and keyboard. In the game, if the given time and life count expire; the user will not be able to continue the game and will have to restart the game. The user cannot access the games without an internet connection. Other restrictions will be determined by the company.

2.3. Activity Diagram

Activity Diagram

3. Use Case Realization

3.1. Brief Description of Figure

SDD-Figure

The components of the Primath Project are shown in Figure 1. All designed systems of the simulation are shown in the block diagram in the figure. The subsystems of the system are divided into two subcomponents.

3.1.1. Graphical User Interface (GUI)

The GUI design explains the relationship between the actors and the system. There are four subsystems in this design: Main Menu, Settings Menu, Select Grade, and Jokers. The Main Menu is a start page. The Settings Menu contains options for the game, you can change and show the settings. Select Grade, you advance by choosing the class you are a student of. As your class increases, your difficulty level increases as well. Jokers, he gives a hint to the children in the games where the children have difficulty and helps them to learn the games and finish them successfully.

3.1.2. Sound Design

We split the sound design into two. As Game Sound and Music Sound. Game Sounds are in-game sounds that change according to the game children are playing. Music Sound is the music we add to prevent children from getting bored while playing.

4. Environment

4.1. Modeling Environment

The Environment of the project will be developed using Unity3D and its tools. Additionally, the project will include some free assets from Unity Asset Store to develop the game quicker. To avoid boringness, the environment of the game will construct as much interactive as for primitive school students. For that purpose, the environmental design of the game should not contain violence and adult content. It must contain objects/games such that improve primitive school students to their mathematic skills of miss conceptions. To give the sense of progress and create a better competitive environment, we're going to add items and wildcards to the game to help students move forward using these wildcards where they hang out and prevent them from getting cold up too quickly from the game, and we're not going to ask them to watch/receive advertising or in-game money to generate a financial income from that grocery portion.

References

[1] D. Djaouti, J. Alvarez and J.-P. Jessel, "Classifying Serious Games: The G/P/S model," Handbook of Research on Improving Learning and Motivation through Educational Games: Multidisciplinary Approaches, 2011.

[2] “Serious Game”, Game [Online]. Available: https://en.wikipedia.org/wiki/Serious_game [Accessed 31 December 2021].

[3] “UML DİAGRAM”, UML [Online]. Available: https://en.wikipedia.org/wiki/Unified_Modeling_Language. [Accessed 31 December 2021].

[4] “UNITY”, [Online]. Available: https://en.wikipedia.org/wiki/Unity_(game_engine). [Accessed 31 December 2021].

[5] “Unity Creating Sprites”, Unity [Online]. Available: https://www.tutorialspoint.com/unity/unity_creating_sprites.htm. [Accessed 31 December 2021].

[6] “User Experience”, UX, [Online]. Available: https://en.wikipedia.org/wiki/User_experience_design. [Accessed 1 October 2022].

[7] “User Interface”, UI, [Online]. Available: https://en.wikipedia.org/wiki/UI. [Accessed 1 October 2022].

[8] “Asset”, Unity [Online]. Available: https://unity3d.com/quick-guide-to-unity-asset-store#:~:text=A%20Unity%20asset%20is%20an,of%20file%20that%20Unity%20supports. [Accessed 1 October 2022].

[9] “Script”, Unity [Online]. Available: https://docs.unity3d.com/Manual/CreatingAndUsingScripts.html. [Accessed 1 October 2022].

[10] “Textures”, Unity [Online]. Available: https://docs.unity3d.com/560/Documentation/Manual/class-TextureImporter.html. [Accessed 1 October 2022].

[11] “Misconceptions”,[Online]. Available: https://www.igi-global.com/dictionary/english-learners-el-and-computer-science-cs-learning/58705 [Accessed 1 October 2022].