Anda di halaman 1dari 49

POLITECHNICA UNIVERSITY OF BUCHAREST

FACULTY OF AUTOMATIC CONTROL AND


COMPUTERS
COMPUTER SCIENCE AND ENGINEERING
DEPARTMENT

DIPLOMA PROJECT
Android Educational Game for Kids
Joc Educaional pentru Platforma Android

Thesis supervisor:
Prof. dr. ing. Florica Moldoveanu

Graduate:
Dan Rzvan

BUCHAREST
2014
Table of Contents
1.Introduction......................................................................................................................................................3
1.1.Traditionalvideogames...........................................................................................................................3
1.2.Seriousgames...........................................................................................................................................3
1.3.Educationalgamesforkids.......................................................................................................................4
2.Gameobjectives...............................................................................................................................................5
2.1.Generalpurpose........................................................................................................................................5
2.2.Motivatingtheplayer................................................................................................................................5
2.3.Targetaudience.........................................................................................................................................6
2.4.Differentapproach....................................................................................................................................6
3.Overallgamedescription.................................................................................................................................8
3.1.Background...............................................................................................................................................8
3.2.Gameplay..................................................................................................................................................8
3.3.StoryGame...............................................................................................................................................8
4.MiniGamesDescription................................................................................................................................13
4.1.TidyUp...................................................................................................................................................13
4.2.Order,NotChaos....................................................................................................................................16
4.3.Groceries.................................................................................................................................................18
5.Thegamesoftwarearchitecture.....................................................................................................................20
5.1.AndroidFramework................................................................................................................................20
5.2.Technologiesused..................................................................................................................................20
5.2.1. Overview..........................................................................................................................................20
5.2.2. Unity3D4.3.3...................................................................................................................................20
5.2.3. VisualStudio2012...........................................................................................................................20
5.3.ApplicationArchitecture........................................................................................................................21
5.4.ClassDiagram.........................................................................................................................................22
5.5.GameStateDiagram...............................................................................................................................25
6.3DEnvironment.............................................................................................................................................26
6.1.Overview.................................................................................................................................................26
6.2.Specializedsoftwareused.......................................................................................................................26
6.2.1. Autodesk3DStudioMax2011........................................................................................................26
6.2.2. AdobePhotoshopCS5.....................................................................................................................26
6.2.3.ZBrush4R6..........................................................................................................................................27
6.3.ContentCreation.....................................................................................................................................27
6.3.1.3DModeling........................................................................................................................................27
6.3.2.Mapping...............................................................................................................................................29
6.3.3.Texturing..............................................................................................................................................30
6.3.4.MainCharacterpipeline......................................................................................................................31
7.Implementation..............................................................................................................................................33
7.1.UserInterface..........................................................................................................................................33
7.1.1.Menu....................................................................................................................................................33
7.1.2.GameUI...............................................................................................................................................35
7.2GameLogic.............................................................................................................................................36
7.2.1.StoryGameQuestsystem.................................................................................................................36
7.2.2.TidyUpCleaningmechanic.............................................................................................................37
7.2.3.GroceriesDoormechanic.................................................................................................................37
8.Testing...........................................................................................................................................................38
8.1.FocusGroup............................................................................................................................................38
8.2.CPU.........................................................................................................................................................39
8.2.1.Improvements......................................................................................................................................40
8.3.Memory...................................................................................................................................................40
8.3.1.Improvements......................................................................................................................................41
9.Conclusions....................................................................................................................................................42

1. Introduction
In this paper I will present my application along with the concepts and
definitions of what defines a game as educational.

1.1. Traditional video games


Traditional video games were originally designed with the sole purpose of
entertainment , providing a fun experience for the user and relaxing him during
the game session. Clark Abt defines the notion of games in his book Serious
Games as: Reduced to its formal essence, a game is an activity among two or
more independent decision-makers seeking to achieve their objectives in some
limiting context. A more conventional definition would say that a game is a
context with rules among adversaries trying to win objectives. [Abt, 1970]. This
definition still applies in the computer era for video games with the following
addition to the definition a mental contest, played with a computer according to
certain rules for amusement, recreation, or winning a stake, [Zyda, 2005].
In Abts definition there is no mention of games being fun, probably
because fun is not a characteristic of a game. A different concept of games
comes from [Boyle, 2013], who points out the common characteristics as
voluntary, typically enjoyable physical or mental leisure activities that tend to be
set apart from real life in some way and are essentially unproductive. Therefore,
players voluntarily choose to play a game, and if the game is enjoyable to them,
then the game is fun. Despite being considered generally unproductive, games
have inarguably been known to challenge and develop the imagination and
creativity of the people who play them.
As the video game industry grew larger and larger, game designers have
taken interest in providing a more compound experience for the players that
extends beyond casual gameplay. This caused games to become more diverse
and lead to an increased interest in the effects of video games. It became clear
that users were learning useful information and developing certain skills while
playing video games.

1.2. Serious games


The concept of serious games was introduces by Clark Abt who described
them as games that have an explicit and carefully thought-out educational
purpose and are not intended to be played primarily for amusement , [Abt,
1970].
The main difference between serious games and traditional games is that
serious games have a thought-out purpose, such as to provide some sort of
training or to educate. Whether the game turns out to be entertaining or not,
doesnt represent a main concern of the game design. David Michael and Sande
Chen wrote in their book titled Serious Games: Games That Educate, Train, and
Inform about the nature of serious games: That isnt to say that the games
under the serious games umbrella arent entertaining, enjoyable or fun. Its just
that there is another purpose, an ulterior motive in a very real sense, [Michael &
Chen, 2005].
However, serious games share a lot of characteristics with traditional
games such as: they both provide an interactive environment, a set of
challenges that lead to a predefined goal or end state of the game and a social

Android Educational Game for Kids

component by bringing together multiple players. Serious games may lack a


certain characteristic that traditional games have; freedom. Because of their
educational purpose, serious games have to guide the players in order to reach
their objective, which may limit the sense of freedom throughout the game.
When designing a serious game, along with the usual game design
obstacles, a new challenge arises. The game must be able to provide the desired
output in a clear manner without destroying or eclipsing other aspects of the
game design. Often, game developer teams work alongside with experts in the
field of study that apply to the game objectives. The development team is
augmented with domain experts, who introduce specialized knowledge about the
target domain, as well as in the case of digital education games pedagogues
in order to establish an educational design of the game, [Mehm, Reuter &
Gbel, 2013].
Serious games are described by educational activities that simulate real
world examples. The game must provide feedback for the player in order to fully
unlock its educational purpose. Like any other game, serious games contain
multimedia elements such as texts to broadcast a message to the player, or
images/sounds that guide the user throughout the game.

1.3. Educational games for kids


In the past years, serious games have seen an increased interest in
different domains such as education, military or medical. There are more articles
and books every day about the new method of learning that is educational
games, and more people who choose to adapt this method. Marc Prensky,
among other names, is well-known for his contribution in the field of serious
games. In his article Digital Natives, Digital Immigrants, he wrote: Our
students today are all native speakers of the digital language of computers,
video games and the Internet [Prensky, 2001].
Educational games are effective because of their appealing nature to
kids. Dr. Douglas A. Gentile wrote: Video games are natural teachers. Children
find them highly motivating; by virtue of their interactive nature, children are
actively engaged with them; they provide repeated practice; and they include
rewards for skillful play, [Gentile, 2004].
This holds true, now, more than ever when kids are born into the
technology and video games era. They are exposed to smartphones, tablets,
computers and notebooks , all of which support video games. Children are used
to playing video games and understand the basic concepts of a game, which is
an important factor in the success of a serious game because it allows a greater
focus on the educational objectives. Some kids may even respond better to
education through video games rather than traditional forms of education.
In addition to the learning curve, another important aspect of educational
games for kids is the visual component of the game. Due to the general lack of
entertainment in this genre, the graphical elements can provide a powerful
incentive for children to play the entire game without getting bored. Such
elements can be achieved by the use of vivid colors, cartoon-like drawings and
text, by combining jokes with informative messages or animations. Kids are more
likely to be absorbed by the video game if they are being set apart from the real
word, either by graphics or by gameplay itself.

DAN RZVAN

2. Game objectives
2.1. General purpose
Along the years, video games have created a big impact and have
managed to gather a lot of attention. Video games have become very compelling
and they somehow manage to motivate people into spending endless hours
playing them. Surely they must provide some sort of fundamental necessity or
satisfaction, seeing how successful they have become [Becker, 2007].
Games are so engaging precisely because they tap into some of the
most effective approaches for learning. Successful games teach us to play in the
manner we learn best. This is worth study., [Becker, 2007]. Then surely, games
have the potential to become a great medium for teaching kids. They have a
certain irresistibility towards them that can be taken into advantage for
captivating the user.
The game I am implementing is defined mostly by the same concepts
that revolve around every serious game. The main purpose of the game is to
motivate kids to get involved into household chores, such as laundry or cleaning.
The game will also be a tool for developing certain skills such as color and shape
recognition or improving memory. It even encloses a more interactive category of
games that are used in the purpose of improving already existing knowledge
about a specific domain or to educate and introduce new information. The
second important desired aspect is to entertain the kids. Although serious games
arent usually designed to be entertainment oriented, I felt strongly about this
aspect, because of the nature of kids.
Todays students dont just accept technology; they demand it. Fun is a
critical factor for them. A boring game, educational or not, will be avoided.
[Michael & Chen, 2005]

2.2. Motivating the player


The will to learn is an intrinsic motive, one that finds both its source and
its reward in its own exercise. The will to learn becomes a "problem" only under
specialized circumstances like those of a school, where a curriculum is set,
students are confined, and a path fixed. The problems exist not so much in
learning itself, but in the fact that what the school imposes often fails to enlist
the natural energies that sustain spontaneous learning. [Bruner, 1966]
Kids can be easily distracted or bored by an activity, so in order for the
game to reach the set out objectives, it must be able to provide a good measure
of attractiveness for the kids to enjoy playing. Therefore the game must not be
blindsided by focusing only on the educational features, and needs to
incorporate certain aspects that keeps the players interest throughout the

Android Educational Game for Kids

gaming experience. Providing them with a good amount of entertainment


through whichever channel it can be achieved, seems like a good solution. This
has been an important factor in the game design and end objectives of the
project.
In order to reach a certain level of entertainment several aspects have
been taken into consideration, for example interactivity. Kids are attracted by
games that require a high interaction with them, which provides a playful
experience. This can be achieved by the use of messages or events that lead
players into making decisions. Although these decisions are dictated mostly by
the game developers in order to reach the end goal of the game, they empower
users and stimulate thinking and creativity.
Another type of interactivity can be achieved through feedback.
Feedback can be implemented in various forms such as images, animations or
sounds. If they are properly designed, feedback elements can provide a good
amount of entertainment by themselves. Colorful images, interesting animations
and amusing sound effects are examples of good feedback elements. Whether or
not they turn out to be a sweet spot for the children, they are still a key
component in educational games for kids. Feedback elements provide a step by
step guide that is essential within a learning application. In fact, feedback is in
some degree, part of the educational objective since it provides information
about the players progress and actions. Thus, feedback can lead to the
acquirement of new information, even if the player does something wrong.
Feedback also consists as a way for the game to interact back with the players.
Implementing the game for a handheld device brings a new kind of
interaction to the game, with the device itself. Smartphones are able to handle a
variety of gestures such as taps, swipes, pinches, drag and drop, etc, which are
not available on other platforms. This gestures, by their nature, are very
appealing to children and can be used as a powerful tool.
The availability of this input method for the game, comes in use as an
easy fix to the problem of maintaining the players interest in the game. It
provides a certain amount of entertainment to the experience, a much needed
behavior in the serious games genre. This will be the most common method of
interactivity within the game, since every action requires some kind of touch
input gesture.
Beyond interactivity, there is another aspect that is very important in
achieving the desired results, which is the visual aspect. The graphics of the
game can add a layer of entertainment to the gameplay and have a big impact
in the overall experience. It can attract the necessary attention and interest in
the game. Vivid colors seem to appeal kids, so they are important to integrate
into the overall aspect of the game.

2.3. Target audience


The game is intended to provide helpful content for kids of age from 6 to
8. Kids at this age are very curious and active. They are more independent than
in their preschool years, and start to develop a more complex way of thinking.
They already have a base foundation that they can use to correlate with, when
they are learning new things.
At this age, kids are very physically active and can even be eager to help
around the house. They enjoy taking in new activities and assume
responsibilities. So teaching them about some of the chores around the house

DAN RZVAN

can have a great impact at this age, and it can help develop them into becoming
more responsible.
Regarding video games, this generation of kids are born into the digital
era and are digital natives as Marc Prensky calls them. They play any sort of
video games and are especially attracted by high graphical content games. This
makes educational games for kids this age a perfect tool for reinforcing their
current skillset, and for teaching them new things.

2.4. Different approach


At this stage, video games are not very accepted as an educational tool,
but that doesnt mean it isnt moving towards this goal. Game developers are
starting to take on educational projects to support them as a viable teaching
solution and to further explore this emerging platform. Unfortunately , some of
them are discouraged from the beginning because of the challenging barriers
that come along with educational games.
Henry Jenkins and Kurt Squire concluded in a survey about educational
games that its not that good educational games cant exist; its that people
making them usually dont understand the medium. [Jenkins & Squire, 2003].
This is true, because teachers are not experienced game designers and fail in
trying to attract players. Game developers may be able to create a good game,
but they will fail in providing pedagogic content in a valuable manner. This leads
to a need for collaboration between game developers and education
professionals [Jenkins & Squire, 2003].
These are existing issues that currently slow down the process of
adapting video games for learning purposes, and affect the perception of already
existing games. Game designers, educators, and students are all intrigued by
the pedagogical potential of games, and yet, for somewhat different reasons,
they are skeptical that the potential has been fully realized by the products
currently on the market. How do we move beyond this impasse?, [Jenkins &
Squire, 2003].
The mobile platform gaming experience is composed mostly of rather
short gaming sessions. This behavior means that this platform is perfectly suited
for casual games. This may explain why the targeted platform chosen for this
project is that much smaller when it comes to educational games. The majority
of existing games available on the Android market share the following
characteristics:
They provide mostly 2D content, they are sprite oriented
They attack a single educational aspect, for example Math games,
Memory games, Language learning games, etc.
They use a large number of animations to interact with the user
and provide feedback
The minority of games that also integrate 3D models or environments
have limited interactions with them.
This project takes a different approach by creating a fully 3D environment
and allowing players to interact with the 3D objects in the game. The reason
behind this is that kids may have little motivation of choosing an educational
game over a casual and addictive one such as Angry Birds, which requires less
effort to play, or may even feel that 2D games are silly after playing successful
3D games such as Temple Run.

Android Educational Game for Kids

The goal is to convince even kids that may not be interested at first in
educational games, to play it and eventually learn something. There are other
advantages to using a 3D environment; it brings much more to the game, a
whole dimension in fact, and allows for more room to be explored. 3D games can
also cover a lot of different genres along with the ones 2D games provide, so
they allow for a more diverse gameplay.
This has allowed me to develop a mix of the serious game genre and the
RPG/Adventure genre. More specific, I was able to borrow the concept that most
defines an RPG game, and that is the open world aspect of the game. The
open world component can help expand a game and open itself up to new
ways of reaching the end goals.
It doesnt mean that 2D educational games dont have any advantages
over 3D ones, because they do. The biggest advantage is that 2D games are
easier to implement, because they use images to generate content. That means
that they are also cheaper, which comes as a different advantage in the use of
mobile platforms that have lower computational power. Images are also easier to
work with, which means that 2D games usually contain more animations, which
children find attractive and interactive.

3. Overall game description


3.1. Background
The game protagonist is the only child in a family of teachers. The action
takes place inside the familys home, a two story house.
The family members:
Papa Joe a physics teacher and a very skilled handyman.
Mama Olive a passionate teacher who specializes in botany and
zoology
Uncle Hodor as an Astronomy teacher, he is always studying the
mysteries of the universe. He is Papa Joes brother.
Grandpa Horic he is Olives father, a talented doctor who also
teaches biology of the human body.

3.2. Gameplay
The game can be broken down into three layers of gameplay. The first
layer describes the open world component of the game, which is named the
Story Game. The player is placed inside a house that represents the main
scene of the game. Here, the player can freely control the main character in
order to explore the world. The family members are placed as NPCs around the
house and the player can interact with them. When approaching a family
member, the game prompts a dialog describing a quest.
The quests represent the second layer of gameplay. They are simply
household chores that the user can complete. Each chore is a separate mini
game, and they aim to encourage kids into helping around the house and to help

DAN RZVAN

develop a sense of responsibility. Each family member holds a number of quests,


available one at a time. Quests between different family members are
independent and can be completed in any order and at any time. After
completing a quest, the player will be granted with a third layer mini game that
can be played from the main menu.
The third layer focuses on a different category of mini games; they are
re-playable games with a special thematic, based on which family member
unlocked the certain game. Their main purpose is to teach new things from a
specific field of study, or to improve already existing knowledge about the
subject.
This chapter will further describe the first layer mentioned above.

3.3. Story Game


When the player starts the game for the first time, he will be greeted by
a message with some initial information about the game. After closing the
message, the player can explore the world by touching the GUI buttons. The
player views the game through a third person camera placed above the main
character. The camera placement allows the player to view a larger portion of
the environment. While the main character can be rotated, the cameras rotation
is fixed and it will only move along with the character.

Fig. 1. Greeting screen.

Each object has a collider component attached to it, which prevents the
character to pass through it. Depending on the shape of the object, the collider is
represented as a primitive shape that contains the boundaries of the object. For
more complex shapes, the collider imitates the objects shape.

Android Educational Game for Kids

Fig. 2. Table with box collider.

The player can go upstairs anytime by simply walking towards the


staircase. Alternatively, he can go back downstairs by walking between the rails.

Fig. 3. Changing the floor.

The family members are spread out around the house. Each of them has
their name placed above, for easier identification.

Fig. 4. Papa NPC with text.

When interacting with a NPC, a dialog will be opened displaying a


message based on the state of the current quest the NPC is offering. Until a
quest is accepted it is always in the pending state. Then the quest moves to

DAN RZVAN

the accepted state and finally, when the player completes the assignment it
goes into the finished state.

Fig. 5. Quest messages.

When accepting a quest from someone, based on the nature of the chore,
the player will have to reach a certain area of the house. This zone will be easily
identified by a blue light.

Fig. 6. Quest area light.

The first floor of the house is split into 7 different areas. Firstly, there is
the main hallway, where the starting position is at, and connects with the living
room into an open space. In the center there is a recreation room with a painting
canvas. Grandpa Horics bedroom is downstairs, and is directly connected to his
own private infirmary. The first floor also has a library with a designated study
area, and a comfy reading chair. The last two areas are the kitchen, and the
garage where Papa Joe spends most of his time.

Android Educational Game for Kids

Fig. 7. First Floor (1).

Fig. 8. First Floor (2).

The second floor is composed of 6 areas. There is a hallway in the


middle, which connects the stair railway with the rest of the rooms. The main
characters bedroom is right across Papa Joes and Mama Olives bedroom. Mama
Olive has a greenhouse on this floor, where she grows and takes care of her
plants. Next to the greenhouse there is Uncle Hodors room, and lastly an
observatory with a giant telescope to study the universe with.

DAN RZVAN

Fig. 9. Second Floor (1).

Fig. 10. Second Floor (2).

Android Educational Game for Kids

4. Mini Games Description


4.1. Tidy Up
Tidy Up is a mini game that teaches kids the importance of keeping a
clean room. The gameplay is kept simple and is composed of different elements;
a 3D environment, a 2D GUI panel, elements that the player can interact with,
and elements that interact with the players actions.
The game guides the player in putting away the dirty clothes in laundry
baskets. The clothes have different colors, and the player must separate the
whites from the colors.

Fig. 11. Tidy Up - game start.

In order to put away the clothes, the player must drag and drop them
over the corresponding basket in the right panel. When picking up a shirt , a
corresponding texture appears under the players finger and moves along with it.

DAN RZVAN
Fig. 12. Tidy Up - picking object.

When placing the shirt in a laundry basket, depending on whether it was


the correct one or not, the player will receive feedback. If the player makes a
wrong move, the shirt will be placed in the original position allowing the player to
try again.

Fig. 13. Tidy Up - correct move.

Fig. 14. Tidy Up - wrong move.

When the player is done putting away the clothes, the next stage of the
gameplay begins. The broom and dust pan texture is no longer greyed out (fig.
15) to notify the player that it can be tapped. When the user taps it, the game
places a 3D broom in the center of the room (fig. 16). In order to complete the
game, the player must continuously swipe the screen in both directions to clean
the carpet. The broom will respond to the players actions and play a dusting
animation.

Android Educational Game for Kids

Fig. 15. Tidy Up - texture active.

Fig. 16. Tidy Up broom object.

DAN RZVAN

Fig. 17. Tidy Up - end game.

4.2. Order, Not Chaos


This games purpose is to teach kids about the importance of helping
others with household chores. Papa Joe asks for help in arranging the tools in the
garage back in their usual order. To correctly place the tools, the player must
take into consideration their shape and size. Both the environment and the tools
that the player interacts with, are 3D objects.
In the beginning of the game the player will notice that the tools are
placed in a random order on a table. Next to the table there is a board with
several tools already placed and with a placeholder element for each of the tools
that need to be arranged.

Fig. 18. Order Not Chaos - game start.

The player must drag and drop each tool in the correct spot. When
moving the finger around the screen, the selected tool will follow it. When
designing a game, it is important to take into consideration how the game itself
could affect the gameplay. If the player feels like the game caused him to lose,
then he will often get frustrated and abandon the game.
This problem relates to the current game, as the tools on the board are
placed closely together. In order to avoid the problem, two solutions were

Android Educational Game for Kids

implemented. Firstly, the positions of the initial tools on the board were chosen
to distance the more difficult tools that needed to be placed. The second
solution, which tested to provide great results, was to make the camera zoom in
on the board when picking up an object from the table.

Fig. 19. Order Not Chaos - camera zoom.

The game will provide feedback with each step the player takes, notifying
him if the tools is placed in the right place or not. When making a mistake, the
tool will be placed back on the table allowing the player to try again.

Fig. 20. Order Not Chaos - correct move.

DAN RZVAN

Fig. 21. Order Not Chaos - wrong move.

Fig. 22. Order Not Chaos - end game.

4.3. Groceries
A mini game that will teach kids how to properly put away the groceries,
with each object having a special storage place. The game will also train their
memory, because it requires remembering where each grocery needs to go.
There are four different categories of products and four storing spaces including
a refrigerator and three cupboards. The storing spaces are brighter in color to aid
the player in recognizing them easier. The game combines 3D elements with 2D
elements.
There are four rounds of groceries that must be stored away. The player
must drag and drop each of them over the correct storing space. At the start of
the game, an instructional animation is played, showing the player the possible
places to store the groceries.

Android Educational Game for Kids

Fig. 23. Groceries game start animation.

At the beginning of each round a paper bag is placed on the table and
the groceries appear. Each paper bag contains four random groceries, one from
each category.

Fig. 24. Groceries - product categories.

Fig. 25. Groceries - round beginning.

When picking up an item from the table, the player must hover over a
door in order to open it. When the door opens, the contents behind it are also
displayed, which allows the player to see what can be stored inside. Because the
players view may be obstructed by his finger, this can lead to the same problem
in game design mentioned above. To avoid this problem, the player is given the
freedom to tap on a door at any time and open it.

DAN RZVAN

Fig. 26. Groceries hover over door.

As with all other games, the player will receive feedback for every action
he takes. If the player places a grocery into the wrong spot, it will be returned to
the initial position on the table.

Fig. 27. Groceries correct move.

Fig. 28. Groceries wrong move.

Android Educational Game for Kids

5. The game software architecture


5.1. Android Framework
Android is an open source platform and is owned by Google. The Android
operating system is based on the Linux kernel and is designed for smartphones
and tablets, which are touchscreen driven. The open source nature has
motivated a lot of users from the community and other developers to build new
projects that add new features. Android is the most spread mobile operating
system, which means it has the most sold devices, the highest number of
downloaded applications, found in the Google Play market, and 71% of mobile
developers that choose to target this platform [Vision Mobile Report, 2013].
Android offers the Android SDK for developers to easily create applications.
Android is regularly updated and receiving improvements from Google. The most
recent Android version released is 4.4 or KitKat.

5.2. Technologies used


5.2.1.

Overview

This project has been developed under the Windows operating system
because it provides a user friendly interface and transparency to the developer
when working with external programs or libraries. The game itself is
implemented in Unity3D, an award winning and complete game engine that has
cross-platform support. All game scripting inside Unity3D has been done using
C#.

5.2.2.

Unity3D 4.3.3

Unity3D has two main components. The first component is the engine
itself, which is a complete solution for integrating graphics, audio, physics,
network solutions and web support. As the graphical engine for the Android
platform, Unity3D uses OpenGL ES, with support for bump mapping, reflection
mapping, ambient occlusion (AO), dynamic shadows and much more. The second
component of Unity3D is an Editor that provides a user interface for the
developer to work with. This provides a project viewer with easy access to the
game assets, an Inspector that can be used to modify or set object properties or
can even manipulate scripts and a Scene/Game viewport.
Unity3D comes with a variety of scripting languages that include C#,
JavaScript and Boo. For scripting, Unity3D uses a customized version of the open
source IDE MonoDevelop. As an alternative to the default IDE, Unity also provides
support for Visual Studio to be used as the main scripting environment. In order
to publish games for the Android platform, Unity3D requires the Android SDK to
be installed.

5.2.3.

Visual Studio 2012

Visual Studio 2012 from Microsoft, has been the chosen development
environment for this project. Visual Studio includes a code editor that supports

DAN RZVAN

syntax highlighting and code completion using IntelliSense. It also includes a


debugger that works as a source-level debugger and machine-level debugger.
Visual Studio provides background compilation that checks for syntax and
compilation errors as code is being written in order to provide feedback.

5.3. Application Architecture

Fig. 29. Application Architecture.

Figure 29 is a representation of the overall design of the applications


architecture. The phone provides the user with the input and output. The player
input is consisted by the touchscreen itself and the accelerometer sensor. The
game logic then, handles the various inputs and triggers a specific action based
on the input. Finally the graphical and audio content are registered and passed
on to the screen or speaker to output. The graphic or audio components are not
directly provided by the game logic, but they can be altered by it.
Figure 30 below, is a more in-depth look at the architecture with all the
relationships.

Android Educational Game for Kids

Fig. 30. Detailed application architecture.

GameObjects - They are objects that contain different components such


as meshes, colliders, scripts, etc. They are used to represent images, 3D models,
animations and sounds. These are all the assets that are being used in the game.
PlayerPrefs They are responsible for storing information that must be
shared between independent components. PlayerPrefs are also used to save
persistent data that needs to remain between level changes or game sessions.

Fig. 31. MVC Pattern of the architecture.

The Model - holds all game objects such as the main character and the
environment objects.
The View - can be divided into two layers. The first layer is the camera
inside the scene that is used to render the 3D models. The second layer is the
Graphical User Interface, which holds all the buttons and images that the user
interacts with. The View is used to render the Model component through Unitys
rendering engine. It can also provide extra inputs to the Controller through the
GUI Layer.
The Controller - provides the input (touch gestures and accelerometer)
that can manipulate the objects inside the Model component. It can also change
the View by modifying the cameras properties or by changing the GUI Layout
where the player input allows, such as dialogs.

DAN RZVAN

5.4. Class Diagram


Unity3D uses a component based architecture, which is intended to
reduce the traditional deep game hierarchy. Every script is a component, and in
order for a script to run, it must be attached to a game object. A game object can
have any number of scripts attached to them. This means that ideally, the
functionality of a game object is separated into individual and independent script
components. It doesnt mean that scripts cant be aware or interact with each
other if necessary. A component approach can also use the OOP paradigm in
some cases, but is usually limited at two branches of inheritance, or otherwise it
will lead to difficulties and lots of code changes when modifying parts of the
hierarchy.
The advantages of using a component based approach is that it allows
for lightweight code, where each script usually fulfills a single functionality.
Another good thing about the component approach is that a lot of code can be
re-used. Since every script component is independent, the main component can
be modified by switching sub-components or adding new ones.
For example, in a RPG style game, a wizard can have multiple spells.
Each spell will be a different script component, and if the wizard learns new
spells , then it simply has a new component attached to it. This way each spell
can be modified separately and no unused data will be shared between them,
which avoids the problems of overhead. Scripts are not the only components that
can be attached to a game object. The following figure describes the component
model of the game. The grid-view model is borrowed from Mick Wests article
Evolve Your Hierarchy.

Fig. 32. Component based architecture model of the game.

Transform component Holds three Vector3 variables for position,


rotation and scale.

Android Educational Game for Kids

Script component Each object can have multiple scripts attached to it.
Scripts can access and modify every other component attached to the game
object. They can also access other scripts or components attached to a different
game object.
Renderer component Renders the object on screen. It also holds a
material component for 3D models and a texture for GUI elements.
Animation component Holds all animation clips of the game object. It
also includes animation properties such as animation speed or looping mode.
Collider component Part of the physics system in Unity, they are used to
detect collisions between objects and can trigger events such as
OnCollisionEnter and OnCollisionExit.
Audio component Holds an audio clip that can be played at any time.
Some objects have multiple audio components with one audio clip each.

The following diagram describes


components from the main scene.

the

relationship

between

script

DAN RZVAN

Fig. 33. Class diagram of main scene.

Quest Base class that defines a quest as a collection of a title, a


description, a state, and a number for easy identification.
CharacterMove A script which applies transformations to the main
character game object.
CameraPan A script which uses the new transformation property of the
main character in order to control the camera.
NPC_Behaviour The main logic of the quest system. It uses the Quest
base class to create a list of custom quests. It also handles the quest dialog and
changes the quest state according to user input.
Load Quest It loads a mini-game based on the current quest. Changing
a quests properties in NPC_Behaviour can modify the behavior of this script.

Android Educational Game for Kids

5.5. Game State Diagram.

Fig. 34. Game State Diagram.

Main Menu This is the first state, where the player will be when starting
the game. The main menu will provide the player with choices.
Main Scene If the player chooses to go into Story Game mode, the
Main Scene will be loaded.
Mini Games menu If the player chooses Mini Games, he will be
provided with a list of games.
Play MiniGame This state can be reached through the Main Menu by
selecting an unlocked game from the Mini Games menu. The games can be
unlocked from the Main Scene by completing certain challenges. These
challenges are a different type of mini games, and they can be played directly
from the Main Scene.
Main Scene It is represented as an open world environment where the
player can control a character and explore it. Inside the main scene the player
can go either to the NPC Dialog state or the Play MiniGame based on his
actions.
NPC Dialog Upon interaction with a NPC (Non Player Character), a
dialog appears that offers information about the challenge. If the player declines
the challenge then he will return to the Main Scene state. If the player accepts it,
a trigger event is activated in the Main Scene, and he is returned to the previous
state.
The player can return to the Main Menu state by pressing the physical
Back button on the handheld device. This can be done from every mini game
or from the main scene.
The player can quit the game from the Main Menu state by selecting the
Quit Game option.

DAN RZVAN

6. 3D Environment
6.1. Overview
Inside this chapter the game assets pipeline will be explained. Game
assets are a vital part in the developing of a game. They are the visual
representation of a game, without them a game is simply an idea. They give
meaning to a game and help make sense of things, they offer depth and
complexity. Good assets can take an average game concept and turn it into a
captivating game, and bad assets can turn a good idea into an unbearable
experience.
Along with the technological advancements in the field of computer
hardware, games have become more complex and allowed for improved
graphics. This lead to more freedom when modeling assets and allows for more
details to be put into them, but it also means that their complexity has grown
and require more effort.
The asset creation pipeline can greatly slow down the game development
if it is not planned ahead of time. A certain amount of discipline and patience is
required to achieve the best possible results, without having to sacrifice quality.
A typical pipeline starts from a 3d modeling tool, such as 3D Studio Max, where
the models are created. Afterwards, the models texture coordinates are
generated using the same 3d software, and the textures are then created in
Photoshop. In a large game, textures for a typical 3d model include a diffuse
texture, a normal map and a specular map. After the model is fully textured, it
goes into the 3D tool again to be animated, if it is required, and as a final step it
is exported into a supported format to be used by the game engine.

6.2. Specialized software used


6.2.1.

Autodesk 3D Studio Max 2011

3D Studio Max is a professional 3D computer graphics program,


developed and produced by Autodesk Media and Entertainment. It can be used
to create 3d models, animations, special effects and much more. It is used in a
variety of domains such as the video game industry, in the movie industry or TV
commercial studios and even in architectural visualization. It offers multiple
modeling techniques, with polygon modeling being the most used in the game
industry.
Polygon modeling is also the preferred technique for the creation of game
assets in this project, because it allows access to individual polygons and is
useful in optimizing the models geometry. It begins by using a primitive
available in 3DS Max, and then the primitive is converted to a Editable Poly.
This mode allows for free modifications at the sub-level of vertices, edges,
polygons, border or element. It also has, depending on which sub-level is active,
a set of modifiers that can be applied such as Extrude or Chamfer.

Android Educational Game for Kids

6.2.2.

Adobe Photoshop CS5

Adobe Photoshop is a graphics editing program developed and produced


by Adobe Systems. The software is used around the world in the video game
industry for creating texture images for 3d models. It contains a large number of
tools for manipulating images such as the Pen Tool, Magic Wand, Clone
Tool, Lasso, Burn Tool and much more. The artist can also apply adjustments
to the image to modify the brightness and contrast, the saturation or even the
color balancing among others. There are also available effects that can simulate
motion blur, the sun flares from a camera lens or that add noise to the image.

6.2.3. ZBrush 4R6


Zbrush is a digital sculpting program developed by Pixologic. It combines
modeling, texturing and painting. Zbrush is used for games, movies and
animations. The difference between ZBrush and other 3d modeling programs is
that it is more assimilated with sculpting. The main purpose of ZBrush is creating
real high resolution models that the artist can detail to a very high level. Models
in ZBrush can reach tens of millions of polygons, a number that causes other 3d
computer graphics programs to crash.
Usually ZBrush is used for creating concept work, because the models
have a very large number of polygons. The resulting model can then be
retopologized to obtain a low polygon version. ZBrush allows for a dynamic
change in levels of resolution, which provides more control when refining details
for a lower density version of the model. It is often used alongside a traditional
3D computer graphics program such as 3DS Max.

6.3. Content Creation


6.3.1. 3D Modeling
The game asset creation began inside of 3DS Max, where the objects in
the game environment were modeled. The main objective here was to obtain the
lowest number of polygons possible, in order to achieve a good performance
even on low to mid-end android devices. This paper will provide a full example of
the entire process behind the creation of a television prop. The entire
environment was created in a similar way.
Step 1. Creating a simple box primitive from the creation panel.

Fig. 35. Box creation (step 1).

DAN RZVAN

Step 2. Converting the primitive to an Editable Poly by right clicking the


object.

Fig. 36. Convert object (step 2).

Step 3. Going into the polygon sub-level mode, and selecting the front
and back faces of the box. Then , in the modify tab apply the Inset
transformation.

Fig. 37. Inset transformation (step 3).

Step 4. Deselecting the


transformation to the front face.

back

face

and

applying

Extrude

Fig. 38. Extrude transformation (step 4).

Step 5.
transformation.

Selecting

only

the

back

face

and

applying

Bevel

Android Educational Game for Kids


Fig. 39. Bevel transformation (step 5).

Step 6. Going into the Edge sub-level and selecting the 2 bottom
edges, afterwards applying a Connect transformation.

Fig. 40. Edge transformation (step 6).

Step 7. Switching back to Polygon mode and selecting the bottom


polygon in-between the 2 new created edges, then applying the Extrude
transformation.

Fig. 41. Extrude transformation (step 7).

Step 8. Applying another Extrude transformation and resizing the


polygon on the XY axis.

Fig. 42. Extrude and scale (step 8).

Step 9. Applying a final Extrude transformation on the same polygon.

DAN RZVAN

Fig. 43. Final Extrude (step 9).

6.3.2. Mapping
After modeling the prop, the next step is generating the mapping
coordinates through the process of UVW Unwrapping. This works similar to a
two step mapping algorithm. The user selects a part of the object, through a sublevel mode that supports faces, edges and vertices, and maps it to a primitive by
selecting one of the available mapping methods such as Planar, Spherical,
Cylindrical, etc. The process offers a lot more options and control, like aligning
and fitting the mapping with the surface. A very powerful tool that is great when
mapping organic models such as characters, is the Pelt tool. Before using it,
the user must place seams along the edges of the surface. They act as cuts, and
when applying the Pelt tool, the surface is pulled in all directions and unwrapped
based on them. A visual representation of the process can be seen in figure 44.

Fig. 44. Box unwrap with seams, 2012.

For the television prop, the unwrapping was mostly done by selecting the
different faces of the object and applying a Planar mapping. The reason behind
the method, is that when creating the diffuse texture, the edges will be used to
create the outlines of the object to achieve a Cartoon effect. The process was
similar to the rest of the environment.

Android Educational Game for Kids

Fig. 45. Television UVs layout.

6.3.3. Texturing
After the environment modeling is done and the UVs are generated, the
next step in the pipeline is creating the textures. The resulted UV layout is
exported from 3DS Max and imported into Photoshop, where it will be used as a
guide for painting the textures. Performance is an important factor for the mobile
platform, so each object will only have a diffuse texture that contains color
information.
The exported UV layout from 3DS Max is inverted into Photoshop to
achieve the black outlines of the object.

Fig. 46. Inverting the UV Layout.

Using the Magic Wand tool, the insides of the outlines are selected and
then painted with color using the Brush tool.

DAN RZVAN

Fig. 47. Diffuse texture of TV.

6.3.4. Main Character pipeline


The creation process for the character was more complex and it required
a few extra steps. The pipeline started in ZBrush where a high resolution base
mesh was created using the powerful sculpting tools. Variations and props were
added to the base mesh to create different concepts for the character. Once the
desired look was achieved, the model was decimated to reduce the polygon
count and then exported for further optimizations in 3DS Max. Because the
model was going to be animated in the final step of the pipeline, further changes
were made to the topology of the model in order to achieve an animationfriendly edge flow.
The polygon count was further reduced by deleting edge loops that were
not offering any extra details to the model. Afterwards, the model was
unwrapped using the pelt tool and the resulted UV layout was exported to create
the diffuse texture. The final step in this pipeline was animating the character.
The model was skinned to a biped system available in 3DS Max, where
each bone was mapped to a certain part of the mesh. The biped then, was posed
into multiple positions, and by interpolating the values between each pose, the
animation was created. A diagram describing the process can be seen in figure
48.

Android Educational Game for Kids

Fig. 48. Character pipeline.

7. Implementation
7.1. User Interface
The user interface (UI) is a very challenging and important part in game
design. It is the medium that connects the player from the outside world with the
game world. The user interacts with the game through the help of the user
interface. In games, it is usually more complex than in other computer software.

DAN RZVAN

For example, games generally hide information from the player, revealing it as
the game progresses. Some elements of the user interface can even be parts of
the game story itself.
The following diagram shows how the user interface is used to mediate
between the player and the game.

Fig. 49. UI interaction.

It is important that the user interface should follow a few guidelines:


Ease of learning Players seek challenges in games, they keep the
gameplay interesting and provide a sense of accomplishment. This
is not the case with user interface design. It must be easy to learn,
or even intuitive, meaning that the player can simply pick up the
game and play it.
Ease of use Using the UI must require little to no effort from the
user, in order to provide a smooth gaming experience. The UI can
be seen as a quick tool to trigger an action or to solve a problem.
Attractiveness Being the layer between the game and the player,
means that the UI will be visible most of the time. Therefore it
needs to have a pleasant visual aspect.
Entertainment In some cases the user interface can even add a
degree of entertainment to the game. This can be achieved by the
way the user interacts with the UI or by integrating animations into
it.

7.1.1. Menu
The starting point of any game is the main menu. It is like a central node
that connects all elements of the game. Every gaming session starts and ends
with the main menu. It usually contains options for starting a game or loading
from a saved state, for customizing options such as audio volume, and it can
even have submenus for selecting a certain level.
It can be viewed as the package that promotes the game, since its the
first thing the player sees. If the player is not attracted by its design, either
because of the graphics or because of the layout and general sloppiness, then he
may never even get past it.

Android Educational Game for Kids

Fig. 50. Main menu.

The main menu is a separate scene with very few elements and a simple
design. It has a background image, three main buttons for the gameplay and two
controllers for turning on/off the background music and game sounds. The
buttons are centered and placed so that they dont cover the graphics in the
background, but big enough to be selected. They blend in with the rest of the
image and dont seem to just float around without purpose.
From the main menu, the player can either load the main scene with the
story game, he can select a mini game that was previously unlocked, or he can
quit the game. When loading the story game or a mini game, the loading screen
comes up. It is a very important part of the user interface because it notifies the
player about the current state of the game.

Fig. 51. Loading screen.

Since every mini game is a separate scene, the gameplay requires a lot
of switching between them. When changing to another scene, all elements of
that scene must be loaded into memory, and depending on the scene size it can
take a few seconds. While waiting for the scene to be loaded, the last rendered
frame is displayed on the screen, which can lead the player to believe that the
game has frozen. This does not provide a good user experience.

DAN RZVAN

The solution was to create a very light scene, which will be loaded almost
instantly. This will be used as the loading screen. Every time the game needs to
load a different scene, it will first bring up the loading screen, which will then
load the desired scene.

7.1.2. Game UI
Since the user interface is the layer between the real world and the game
world, it can either be integrated in one world or both. Based on this, UI
components can be classified into four categories; terminology from [Fagerholt
and Lorentzon, 2009]:
Diegetic components They are elements placed in the fictional
game world, so that they not break the player from the story of the
game. Because they exist in the fictional world, it means that
characters in that world are aware of their existence and can even
interact with them.
Non-diegetic components They only exist outside of the game
world, so they are only visible to the player.
Meta components These components are usually part of the
game world, but not necessarily physical elements inside of it.
Instead, they are rendered over the game world for the player to
see. For example, blood splatters over the screen when the
character takes damage.
Spatial components They exist inside the fictional world, but are
not visible to the characters in the game, so they are not part of
the story. They are only integrated with the world in order to
provide information to the player.
This project combines multiple UI components in order to provide a
certain level of attractiveness and entertainment. For example, the input controls
in the story game are non-diegetic components. The character movement
controls are placed in the bottom of the screen so they dont block the view
when playing, and the pause button is placed in the top left corner. They have a
simple design with an intuitive texture.

Android Educational Game for Kids

Fig. 52. Story Game - UI components.

There are also spatial components inside the story game, like the text
above each family member, or the glowing lights around certain objects in the
scene. They exist in the game space, but are not visible to the main character
and are not a part of the story. Their purpose is to provide useful information to
the player with a little added pleasant visual aspect to the game.
Message boxes that are displayed throughout the game are also non
diegetic components. They pop up when the game needs to provide certain
information to the player. They stay on screen until the user taps the close
button, or in some cases the user can navigate through a series of messages.
In the mini game Groceries, the user interface is hard to define. The
gameplay is similar to Order Not Chaos where the user interacts with the
objects in the 3D world, so there is no explicit user interface. But since the
groceries are 2D textures, they can be considered part of the user interface, and
since they also exist in the fictional world they can be labeled as diegetic
components.

7.2 Game Logic


7.2.1. Story Game - Quest system
Each family member has a predefined list of quests with a title,
description, state and a number. They each have a box collider attached to them
that triggers an event when the main character enters in range. A script
attached to each family member listens for the collision trigger event. When it is
triggered, a persistent data model is accessed in order to retrieve information
about the current quest. This data model is known as PlayerPrefs inside Unity.
It resembles a global and persistent database where important information is
saved. The PlayerPrefs model is used when information needs to be shared
between different scenes or when it needs saving between gaming sessions.
Based upon the state of the current quest, a dialog is opened with a specific

DAN RZVAN

message. The dialog can change the quest state, for example; when the player
accepts a new challenge, the quest state becomes active. This change is saved
in the PlayerPrefs model. When the player finishes a quest and returns to the
respective family member, he will receive the details of the next quest from the
list. The following diagram describes the components in the Quest System and
how they interact.

Fig. 53. Quest System diagram.

7.2.2. Tidy Up Cleaning mechanic


A script is set to detect touch inputs from the user. There are several
states a touch can have; began, moved, stationary, ended and canceled. When a
touch began is detected, the script records the system time and the position on
the screen. Then, when it goes into the moved state, the direction of the swipe is
calculated. If the direction of the current touch changes, or if the player ends the
input, the swipe needs to be validated. If the duration of the swipe is less than a
previously defined constant, and the length larger than a certain threshold, then
the swipe is taken into consideration. Every registered swipe decrements the
Blend variable, and calls the broom animation to be played.
The carpet has a Blending shader attached to it. This shader uses two
textures, and blends them together, the first texture being used to make the
carpet look dirty. With every swipe the blend value in the shader is changed with
the Blend variable until the second texture, with the clean carpet, takes over.
The following diagram describes the components in the Cleaning mechanic and
how they interact.

Android Educational Game for Kids

Fig. 54. Cleaning mechanic diagram.

7.2.3. Groceries Door mechanic


The environment is imported as a single object, with multiple animations
with different timelines. This means that one animation starts at the end time of
another animation. By separating the animations, the doors can be opened
individually. To identify which door needs to be opened when a certain touch
event is recorded, four box colliders were placed around each door.
The doors can be opened only when the player taps on them, or when
the position of the finger is over a door, and the state of the touch is
Stationary; this means that the player has dragged a grocery over it. In order
to detect when the position of the finger is over a door, the camera sends out a
ray from the screen position into the world. If the ray hits a door, then the
opening animation is played. Behind each door there are two groceries from a
certain category.
Because the groceries are 2D images, they are rendered on top of the 3D
objects. This means that they are hidden from the player until the door is opened
by a certain amount. The current time of the animation is compared to a certain
threshold, and only then the groceries are enabled. When opening a door with a
tap, the door is automatically closed. When hovering over a door with a grocery,
the door is closed after the finger is no longer over it. The groceries are also
disabled after the closing animation reaches a certain threshold in time. The
following diagram describes the components in the Door mechanic and how they
interact.

DAN RZVAN

Fig. 55. Door mechanic diagram.

8. Testing
8.1. Focus Group
The game has been tested by a small focus group of 6 participants to
help assess the current development of the game. They were given a
questionnaire in order to provide feedback about the game. Each question has a
grade between 1 and 5.

Question
How easy are the game
controls to learn/use?
How attractive is the overall
visual
aspect of the game?
Does the game provide
educational information?
How entertaining is the
gameplay?
Would you play the game
again?

Focus Group results


Average score
Lowest score
5
4

Table 1
Highest score
5

4.5

3.5

Giving the fact that this is an evaluation of an educational game, this


project aimed for a high score in the educational information quality. The focus
has been directed towards that section in particular, because providing
educational information is the main purpose of the game. The Focus Group
questionnaire plays an important role because it answers questions regarding
five key elements in game playing. Its important because analyzing the results

Android Educational Game for Kids

reveals what improvements need to be added to the game. To have relevant


score results, the group that participated was formed by kids with ages between
six and eight years old supervised by a parent.
One of the most important factors in a game is the use of the game
controls. The way the controls function can make a big difference between a
good game or a bad one, because they condition the experience the player has.
They can either facilitate the work, or make it hard. A game can offer a great
experience through the use of the controls by simply being responsive and
having the appropriate reaction in the game. They also have to be consistent,
adoptable and progressive. Without all of these important factors, the experience
of a game can be frustrating. From a 1 to 5 scale, this project recorded high
results, meaning the players were satisfied with the game controls.
When developing a game, there are many other factors to consider,
besides the controls. There is the importance of the visual aspect that can have a
positive effect. According to Increasing Speed of Processing With Action Video
Games [ Dye, Green & Bavelier, 2009 ], which analyzes the differences between
people who often play video games and those who barely play, it can speed
peoples ability to process and use visual information. The graphic of this project
is based on the use of vivid colors to stimulate the speed visual search, improve
object recognition and to create a moody experience to evoke emotion. The
results of the Focus Group show that improving the visual aspect of the game,
would also improve the experience of the player.
The lowest score was registered by the entertainment factor of the game.
This was an expected result for this type of game. However the score itself is
surprisingly good, and further improvements can be made in this area with little
effort. Improving other factors of the game such as the visual aspect can also
help.

8.2. CPU
The following results have been collected using the Unity Profiler, which
is a powerful tool for gathering in depth statistics about CPU consumption,
memory leaks and much more. The profiler reports in real time, while the game
is played on the mobile device. The tests were conducted on a minimum required
hardware device with a single-core Cortex A5 CPU at 800MHz and 512MB RAM.
The most expensive part of the game is the main scene, because it has
the most 3D geometry and textures. The main character is a Skinned Mesh,
and it creates a bigger toll on the CPU than static meshes, like the environment.

Fig. 56. CPU usage - Main scene.

The above graph shows that the average FPS of the game is between the
60FPS mark, with a 16ms total time for rendering one frame, and 30FPS with
33ms. An estimated figure would place the average FPS at 45 with a 20ms
rendering time. The most CPU intensive component is the rendering itself. A
more detailed description of the CPU consumption can be seen in figure 57.

DAN RZVAN

Fig. 57. CPU overview Main scene.

The overhead is mostly caused by the profiler itself, because of the


Deep Profiling option which means that the entire script code is verified, and
each function call is recorded. The second most expensive component is the
skinned mesh with 7.3% CPU usage. This is because the mesh contains bones
that affect a certain part of the body, and since the character is animated
through the entire gameplay, it requires more complex calculations.
The mini games reach a considerably higher amount of FPS. They stay
mostly at the 60FPS mark with an average of 9ms rendering time per frame. This
is because the scenes are less complex, with fewer 3D objects and a more
reduced polygon count overall.

Fig. 58. CPU usage Mini games.

8.2.1. Improvements
The graphs report various spikes during the gameplay, which are caused
by a frame rate drop. The frame rate drop is much more problematic in the main
scene, because of the higher polygon count and the skinned mesh. In order to
improve the overall FPS of the game, some objects need to be remodeled with a
lower geometry. This will lead to a smaller time spent on rendering each frame
and will increase the FPS.

8.3. Memory
Memory usage is important for any mobile application, and games are no
exception. Bad memory management can further decrease the performance of
the game. The main scene is analyzed here because it is the most complex.

Android Educational Game for Kids


Fig. 59. Memory usage Main scene.

The above graph


throughout the gameplay.
high for mobile platforms.
79 materials and a total of
in figure 60.

shows that
The usage is
It also shows
2700 objects.

the total memory usage is constant


set at a total of 24.8MB, which is a bit
that there are 51 meshes in the scene,
A more detailed description can be seen

Fig. 60. Memory overview Main scene.

The high number of textures is present because each object has a


separate texture. However, they have been compressed and are low resolution,
not exceeding 256 x 256, so they use 3.9 MB of the total memory usage. The
meshes also use a fair amount of memory, a total of 2.7MB. However, having a
separate texture for each object implies that each object has its own material
also. A large number of materials leads to an increase number of draw calls that
are basically requests to the CPU/GPU for rendering something.

Fig. 61. Rendering statistics Main scene.

The number of draw calls for the main scene is rather high and this can
reduce CPU time and decrease the overall performance. This is the most
important aspect that needs to be improved.

8.3.1. Improvements
The biggest performance hit is caused by the high number of textures
and materials. This leads to an increase in memory usage and in draw calls that
reduce CPU time. Since the main scene and all mini games share some part of
the environment, they can all be improved together. This can be achieved by
creating a single texture for the environment, called an atlas texture. An atlas
texture is used to combine multiple sub-images into one larger image.
The environment must be remapped so all the objects share the same
texture coordinate space. Then, the textures must be combined into a single

DAN RZVAN

image. This means that the entire environment will only need one material and
only one texture.
Some objects use more complex shaders, which can also increase the
number of draw calls. Some shaders require two or more draw calls per frame.
Keeping the number of complex shaders to a minimum or replacing them with a
much simpler shader will also improve the game performance.

9. Conclusions
This project aims to contribute to the emerging domain of educational
video games with a different approach. Kids spend more time playing video
games than watching TV, so there is a lot of potential in using them as an
educational medium. The purpose is to blur the line between educational games
and commercial video games in terms of entertainment. There are numerous
elements that can be brought into this domain from traditional video games.
Most educational games seem more like infomercials or are just too plain and
simple, and are not motivating enough. This doesnt mean that the educational
objective is going to be less effective. The idea is to improve and recondition the
transmission channel, not the message.
Educational games can become more attractive by simply creating an
immersive environment, or by involving the player in the story that drives the
gameplay. This will of course require more effort and teachers and designers
would have to work together, but every other traditional medium used in
education is at least as challenging.
The project will continue to be developed and improved in the hope that
it will provide a different view on educational games.

Android Educational Game for Kids

REFERENCES
[1] C. Abt, Serious Games, 1970.
[2] M. Zyda, "From Visual Simulation to Virtual Reality to Games", vol. 38, Sept. 2005.
[3] E. Boyle, Psychological Aspects of Serious Games, in Psychology, Pedagogy, and
Assessment in Serious Games, Nov. 2013, pp. 1-18.
[4] D. Michael and S. Chen, Serious Games: Games That Educate, Train, and Inform,
Thomson Course Tehnology, 2005.
[5] F. Mehm, C. Reuter and S. Gbel, Authoring of Serious Games for Education" in
Serious Games and Virtual Worlds in Education, Professional Development, and
Healthcare, 2013, pp.60-73.
[6] M. Prensky, Digital Natives, Digital Immigrants, MCB University Press, vol. 9, no. 5,
Oct. 2001.
[7] D. A. Gentile, "The effects of video games on children: what parents need to know",
Pediatrics for Parents, 2004, vol. 21, no. 6.

[8] K. Becker, Pedagogy in Commercial Video Games, 2007.


[9] J. S. Bruner, "Toward a Theory of Instruction", 1966.
[10] H. Jenkins and K. Squire, "Harnessing the Power of Games in Education", vol. 3,
2003.
[11] M. West, Evolve Your Hierarchy , Jan. 5 2007.
[12] B. Tate, Box unwrap with seams (photograph), 2012, June 20, 2014 from
http://cgi.tutsplus.com/tutorials/an-introduction-to-uvmapping-in-3d-studio-maxusing-the-unwrap-uvw-modifier--cg-13780.
[13] E. Fagerholt and M. Lorentzon, Beyond the HUD User Interfaces for Increased Player
Immersion in FPS Games, Master of Science Thesis, 2009.
[13] M. W.G. Dye, C. S. Green, D. Bavelier, Increasing Speed of Processing With Action
Video Games, 2009.
[14] M. Cruz-Cunha, Serious Games as Educational, Business and Research Tools, IGI
Global, Feb. 2012.
[15] K. Bredl and W. Bsche, Serious Games and Virtual Worlds in Education,
Professional Development, and Healthcare, IGI Global, March 2013.
[16] B. Brathwaite, I. Schreiber, Challenges for Game Designers, Course Technology
PTR, Aug. 2008.

Anda mungkin juga menyukai