thesis libre
DESCRIPTION
Controlling Robit with Bluetooth thesisTRANSCRIPT
-
Interactive Book Application for Children
Group Members
Mark Mitchell B00054568
Shane McCarty B00044295
Shane Mac Mathna B00042804
Supervisor
Aoife Fox
Submitted in part fulfilment for the Bachelor of Science in Computing in Information
Technology
School of Informatics and Engineering,
Institute of Technology Blanchardstown,
Dublin, Ireland
Project Start Date: 8/11/2012
Project End Date: 20/5/2013
-
2
Declaration
The group herby certify that this material, which we are submitting for assessment on the
programme of study leading to the award of Ordinary Degree in Computer Science and
further progression in the Institute of Technology Blanchardstown, is completely our work
except where otherwise stated, and has never been submitted for assessment for an
academic purpose at this or any other academic institution other than in partial fulfilment of
the requirements of that stated above.
Group Member 1
Signed: ________________________ Dated: ____/_____/_____
Group Member 2
Signed: ________________________ Dated: ____/_____/_____
Group Member 3
Signed: ________________________ Dated: ____/_____/_____
-
3
Table of Contents
Chapter 1: Introduction ......................................................................................... 6
1.1 Introduction ........................................................................................................... 6
1.2 Background ............................................................................................................ 7
1.3 Main Research Questions ...................................................................................... 10
1.4 Justifications and Benefits ..................................................................................... 11
1.5 Feasibility ............................................................................................................. 12
1.6 Proposed Methodologies ...................................................................................... 14
1.7 Expected Results ................................................................................................... 15
1.8 Conclusion ............................................................................................................ 15
Chapter 2: Literature Review ............................................................................... 16
2.1 Education and Technology .................................................................................... 16
2.3 Overview of 3D Animation .................................................................................... 17
2.3 Children and 3D Animation ................................................................................... 18
2.4 Impact of Incorporation of 3D Animation in Learning ............................................. 19
2.5 3D Animation Frameworks for the Project ............................................................. 19
2.6 Overview of Method ............................................................................................. 20
2.7 Review of Existing Work ....................................................................................... 21
Chapter 3: System Analysis ................................................................................. 24
3.1 What the Application aims to do ........................................................................... 24
3.2 System ................................................................................................................. 24
3.3 System Requirements ........................................................................................... 25
Chapter 4: System Design .................................................................................... 26
4.1 General Design Guidelines .................................................................................... 26
4.3 Character/Model .................................................................................................. 30
4.3.1 Character/Model Concept ...................................................................................... 30
4.3.1 Character/Model Design and Development........................................................... 32
4.3.1.1 Drawings .............................................................................................................. 33
4.3.1.2 Blender Models ................................................................................................... 63
4.3.1.3 Blender Models in Unity ...................................................................................... 80
4.3.1.4 Development of Models from Drawing to Unity ................................................. 97
4.4 Animations ......................................................................................................... 102
4.5 Sounds ............................................................................................................... 104
4.6 Textures ............................................................................................................. 104
4.6 Unity .................................................................................................................. 105
4.7 Code Structure .................................................................................................... 106
Chapter 5 System Implementation ..................................................................... 117
5.1 Building the Application ...................................................................................... 117
5.1.1 Current Build ........................................................................................................ 117
5.1.2 Assembling the Application .................................................................................. 117
5.2 Problems Encountered ........................................................................................ 117
5.2.1 Importing Models ................................................................................................. 117
5.2.2 Animations on Imported Models ......................................................................... 120
5.2.3 GUI Textures at Runtime ...................................................................................... 121
-
4
5.2.3 Porting to iPad ...................................................................................................... 121
Chapter 6 Testing and Evaluation ....................................................................... 122
6.1 System Tasks ...................................................................................................... 122
6.2 Testing ............................................................................................................... 122
6.2.1 Performance Testing ............................................................................................ 122
6.2.2 Graphical Testing .................................................................................................. 122
6.2.3 Functionality Testing ............................................................................................ 123
6.2.4 One to One Testing with User .............................................................................. 124
6.2.5 Evaluation of Testing ............................................................................................ 126
7 Conclusions and Future Work .......................................................................... 127
7.1 Project Results .................................................................................................... 127
7.2 Future Work ....................................................................................................... 127
7.2.1 Porting to iPad ...................................................................................................... 127
7.2.2 Graphics Improvements ....................................................................................... 127
7.2.3 Animation Improvements..................................................................................... 127
7.2.4 Future Work Overview ......................................................................................... 128
8 Personal Experiences....................................................................................... 129
8.1 Shane McCarthy ................................................................................................. 129
8.2 Shane MacMathuna ............................................................................................ 129
8.3 Mark Mitchell ..................................................................................................... 130
Appendix A: Project Diary .................................................................................. 131
Appendix B: Code Listings .................................................................................. 134
References ......................................................................................................... 187
-
5
Abstract
This Project in hand was carried out to develop an Interactive Educational Book Application
for Children. The current Interactive book applications available to end-users are
etetaiig ut dot offe a eduatio eefits othe the the use haig to ead. To solver this issue an Application has to be developed that offers the user a story and another
form of education. In this report there is a detailed description of the type of Applications
available to end users, a review of all research carried out and the development and life
cycle of the solution that was developed to bring together interactive book Applications and
Educational Applications into one well-rounded Application.
The goal is to develop the Application from the ground up using Blender (software for
creating graphic models) and Unity (graphics engine). The programming language chosen is
C#. This is one of three languages supported in Unity. Then when project development and
testing is completed it will be ported o to the iPad ia a Uits iOS license, which gives the ability to port onto iOS.
The result is a very fun entertaining Application for children that will also help teach as the
child plays with the application and still remain simple to use.
Acknowledgments
The group would like to give a big thanks to the following people for the help they have
given while planning and developing this project.
- Aoife Fox
- Mihael ODoell - Luke Reaside
- Matt Smith
- Hugh McCabe
- Students of Central Model Infant School in Dublin City Centre with a special thanks
to Alexandra Spina, age 11 from Dublin inner city
- Everybody involved in testing with a special thanks to Lewis Kelly, age 9 from Finglas
-
6
Chapter 1: Introduction
1.1 Introduction
Interactive book applications are becoming more and more popular on the iOS platform.
This project will outline some of the features and technologies that can be used to make an
Interactive Book Application for the iOS platform. There are many different types of
software out there that can be used to create such an application. While Researching which
technologies would be best the group had to take multiple factors into account. First of all
the software had to be affordable because a lot of software to do with graphics and game
development can be very costly. The next factor to take into account was how user friendly
was the software the group was going to use. With these decisions made in the end it was
decided that Blender would be used to make all the 2D models and Unity would be the
graphics engine used to make the application. The group has had some past experience with
Unity via a multi media module covered in semester two of second year. It was brief but the
basics of how to use Unity were thought. From the start Blender was a new experience but
the groups use of this would be beneficial for the computer graphics module in semester
two of third year.
The group also carried out research on what age group the application should be aimed at
and if children would like the idea of said application. The research ranged from reading past
works done on the same or similar topics to going to Central Model School in Dublin and
gathering field research. The research carried out in the school was in the form of a question
and answers session and also a fun competition for the children. It was of great benefit to
the group and was a new and very beneficial experience.
The group wrote the story for the application. First step in the process was brainstorming
ideas that could be then merged into a fun understandable story for children of the decided
age group. The educational aspect of the book is done via mathematical and spelling
questions. Our objective was to aim the questions at what the age group would know and be
learning about in school. Research was carried out to find this information out. The group
decided to make the questions start of easy and progressively get harder as the child
progresses through the book.
-
7
1.2 Background
The area that was decided for the project was application development for mobile
platforms. More particularly interactive educational book applications aimed at children.
Although it is know Android has a greater market shear (this information can be seen on any
mobile market shear website), when it comes to applications being sold Apple has one up on
the competition with over 700,000 applications on there store with 250,000 of them
developed specifically for the iPad (Information found on apples website). Over 25 billion
applications have been sold from the iOS app store, which is massive compared to the
competitors. This is why we have decided to develop our application for the iOS platform as
opposed to the other mobile platforms.
The group organized to visit Central Model Infants School in Dublin city center on
Wednesday the 14th
of October 2012. A lot of field research was carried in the form of a
question and answer session and a competition that was held with the class. The
competition basically let students enter drawings of characters they think should be in the
application. The feedback that was retrieved from that day was very valuable and it also was
a new, very pleasant and rewarding experience.
-
8
Figure 1.1: Interactive book application developed by TabTale LTD
A company called TabTale LTD developed the first application that was considered a nice
looking fun interactive book application. What this company had developed was an
application that was free to download from the app store but when inside the app you can
download whichever interactive books they have at no cost. A draw back that was noticed
straight away was that there was an advertisement on the screen and there is a charge of
.9 to eoe it. The advertisement could be frustrating to children if they keep accidently tapping it as it brings the user out of the app into a web browser. This application
currently has a three star rating on the store (rating determined by users).
-
9
Figure 1.2: Interactive book application developed by StoryToys Entertainment Limited
The next application was by a company called Story Toys Entertainment Limited. This is an
interactive 3D pop-up book called Gis ed idig Hood, which looks really nice, and the gaphis ad illustatios ae eall sooth ad polished. This appliatio osts .99 ad it has 4-5 star ratings across the board [5]. Story Toys make a range of these books featuring
different fairy tales.
-
10
1.3 Main Research Questions
1. What other interactive book applications for children are on the market?
2. What way do they teach the children and what do they teach the children?
3. What age group would benefit from the application?
4. What technologies are available and which ones would suit our budget?
5. What platform would be the best to develop the application for?
The first question that arose was what has been done before in this genre of applications?
To find which applications were developed in the past the app stores on both android and
apple iOS devices were visited. The applications that we found were all fun but none of them
were very educational apart from reading the story they didt offe athig else aied towards education. These applications that seemed to be the best and most liked by users
are documented above in the background section.
The applications that were found on the app stores were similar to the idea presented here
but none of them really teach the user anything other then helping them with their reading
skills. The goal to be reached with this project is to have this feature but also included the
element of answering math and spelling questions to advance through the book.
It was decided after our field research that the Application should be aimed at 9-13 year
olds. The questions and story that will be made for the application will fit in perfectly with
what children of this age group get thought in school. This was one of the questions that was
answered while carrying out our field research (visiting the school).
When considering which technologies to use, there were two main factors taken into
aout. Oe as ost ad othe as ill it pefo ad e compatible with what we want to use it for? First of all we decided to go with Blender to make the models (Characters and other models) and use Unity, which is a free to use graphics engine. This way the app could
be developed at now primary cost. It was planned to port the application over onto the iOS
platfo fo uit. This featue i uit osts ad allos ou to uild the fiished appliatio to ok o the iO deies. The thee ould e aothe ost of to pulish the application on the iOS app store.
-
11
1.4 Justifications and Benefits
It was decided to develop this application because the group members feel it would make
learning fun for children and it will keep them interested in education. While developing this
project we have come to the conclusion that using fun and interesting applications to teach
children will work better and more effective. The application that is being developed will
give children and also children with learning difficulties a fun but educational application to
play were they feel they are escaping from there school books but still answering the same
questions as they would be in school. The group feels that the current low scores in maths
from small to older children is because these type of subjects are complex and hard to grasp
when presented statically on black or white boards. For example ADHD (Attention deficit-
hyperactivity disorder) is a disorder where children find it difficult to learn and concentrate.
Through research we learned that the application being developed and other applications
that could be developed aimed at being fun and educational could help children with
disorders like these concentrate and learn just by seeming more entertaining then reading
times tables for example.
Thee is also the fato of saig oe. I todas liate ith uts i eploet ad cuts in gross pay schools using the iPad for education could effectively lower the cost of
books for the parents who purchase a large amount of books each school term. Workbooks
fo shools a ost a lot of oe o aeage its aout - a ook. Apple also has a school textbook section of their bookstore for publishers of schoolbooks to sell digital copies
of their workbooks. The fact that schools are heading towards using iPad as a learning tool
will mean a lot more children will have access to one in the near future and in turn
applications like this one could do well in the market.
-
12
1.5 Feasibility
While carrying out research for the project a couple of different technologies that could be
used to develop the application was discovered. The ones that fitted are requirements best
were Blender version 2.65 and Unity 4 version 4.1.0f4.
Figure 1.3: Interactive book application developed by TabTale LTD
Blender is the software that will be used to create all the models for the application. Blender
is a free open source modelling tool. The primary use of blender is to create 3D models for
games or other modelling projects. The characters for the application are going to be 2D so
in the end it gives the effect of a pop up book.
-
13
Figure 1.4: Interactive book application developed by TabTale LTD
Unity is the graphics engine being used to build the application. The group feels it is a better
choice to use the graphics engine rather then a tool like OpenGL purely because of time
constraints and ease of use. All the models, sounds and textures will be imported to unity
and then from there the application can be developed. All coding is done from with in unity
using the monodevelop script editor built in. There are three languages unity supports,
which are JavaScript, C# and boo. C was the preferred script because the group feel
comfortable with it and think its syntax is similar to java a language that all members are
very comfortable with. Unity is a 3D graphics environment, which will work well for this
project. The plan is to make the book 3D but have all the 2D models on top of it to give the
effect of a 3D pop up book.
All single white blank texture will be created in Microsoft paint and imported into unity. In
Unity then materials will be made using this blank white texture. Then these materials can
be added to objects to give them colour.
-
14
1.6 Proposed Methodologies
Figure 1.6: Interactive book application developed by TabTale LTD
The software development life cycle of the project is going to follow the waterfall model.
The group have chosen this model because it is easy to go back steps if need be. One of the
main reasons for choosig the atefall desig odel is eause its the fist tie developing a mobile application and its felt that there could be a lot of trial and error and
the waterfall model suits this allowing steps back as well as forward.
As stated in the Feasibility section above Unity is the graphics engine used to develop the
application. Experience in developing this project is essential. While studying at the ITB
(Institute of Technology Blanchardstown) experience with Unity was gained via the multi
media module during semester two in year two. Further research will be required to get to
the level needed to be at to develop the project.
The Other tool that is being used is Blender. There will also have to be research put into
learning how to use this piece of software. While developing this application the group will
have to learn how to use these tools to the standard that will have to be known in order to
be able to develop the application. The idea of making an application and eventually having
it on a mobile device is very exciting.
The final build of the application will have to be ported onto iOS using a Mac computer.
Apples development kit is only available on Apple computers. After the application is on the
device it will have to be tested to make sure there are no bugs in the application.
-
15
1.7 Expected Results
With the research we have done with our project proposal, the group members now believe
that the project can be completed and delivered on time. Our idea for the Interactive
Educational Book Application seems very possible. From the research carried its clear these
applications are not impossible to make. Applications in the same sort of genre already are
available on the app store but none quite like this project. The difference between this
application and all the other applications on the market is that there will be a more balanced
fun to educational ratio unlike the other applications out there that tip more towards the
fun side.
1.8 Conclusion
The goups plan is to develop an interactive book application for children. The application will have very strong elements of fun and also be very educational. The application will be
aimed at the age range of 9-13 year olds and make learning fun for them. Through research
carried out the tools for the development of the project have been chosen. Blender will be
used to create the models and Unity is the graphics engine that will be used to tie everything
together and make the actual application. Inside unity c# scripting will be used to control the
game in every aspect from triggering events to creating audio.
-
16
Chapter 2: Literature Review
2.1 Education and Technology
Over the past years, a wide range of applications for instructional technology have paved
their way into untimely intervention settings. Of particular significance to education and
students in general with problems such as in scientific subjects and spelling checks is their
evidence of school risks for school failure. According to Parette, Hourcade & Blum (2011, p.
58), with these forms of occurrences, is the increase in novel media and presentational
technologies in the current generation. These technologies encompass all dimensions of life,
for instance employment, entertainment and learning. Felice and Tacket (2011, p.1) add that
with the initiation of uncomplicated software packages, education can be created into an
interesting experience. This is with special reference to children with certain learning
disabilities and challenges in technical subjects such as mathematics and other sciences.
In modern days, teachers can acquire access to a range of focused designed to back the
development of evolving literacy skills. Nevertheless, numerous barriers may hamper the
widespread application of these technologies in early intervention education programs
(Zagal, Piper & Bruckman 2004, p. 1). In particular, is the practical nature and usefulness of
3D animation in education? 3D animation represents augmented reality, which offers
hilde tul iteatie paties eal D aiatio ad ojets spotaeousl appea o the page. Research studies in education have ascertained that children preserve information
through diverse learning modalities. These modalities may be kinaesthetic, auditory or
visual. Therefore, 3D animation has been developed to back all three learning models. Felice
and Tacket (2011, p.2) outline that, 3D animation is fundamentally a result of computer
generation with imagery that when discovered, is responsible for the interest developed by
children. Therefore, animation does not present as a conventional method of education,
rather an identified resource that can enhance the process of learning to both teachers and
students.
-
17
2.3 Overview of 3D Animation
Historically, the preparation of teaching plans by teachers comprised of static graphics.
These graphics involved pictures, numbers and words. Over the years, it has been hard for
majority of teachers to possess capability, resources and time to construct graphic materials
that integrated movement or animation (Zagal, Piper & Bruckman 2004, p. 1). In the current
day however, there is an increasing bigger responsibility played by the teachers to integrate
computer-based instructions. The two principal contributors of animation in instruction-
based teaching are the different capabilities. The primary ability is to elicit the complete
attention of the student to significant elements of the lesson. The second ability is to prompt
the student as apposite to make sure of correct responding. Parette, Hourcade and Blum
, p. sigif that, i ode to aptue the studets attetion through applying animation, teachers can occupy literacy lessons with elements that are attention grabbing.
These include texts or pictures, often delineated as moving graphic images.
The current development in 3D has overseen different more sophisticated form of imaging
that engages the audience at a large extent. This is in contrast to the conventional methods
of graphic education. Contemporary, young people and children are seen to possess several
technological tools. In addition, these individuals continually apply these tools frequently.
The current pan European research outlined that 85.3% of children have at least a single cell
phone, 90.1% have a personal computer and 74.6% with individual handheld games
(Bamford 2011, p. 2). According to research, one of the most frequent users of online
technology and Internet is young students with approximately 91% using it on a regular basis
every day. This indicates that young people and children are most habitual users of
technology with majority of them applying Internet in most hours of the day.
Approximately 90% of children are reported to have observed a 3D movie while some have
observed either three or more (Bamford 2011, p. 2). Most of the reported movies are 3D
animation movies. The students are aware about overall 3D innovations and are the most
informed 3D products consumers currently. The process of developing animation presents
as challenging and cumbersome tasks. Even though it is complicated, most teachers agree to
a gap in studies. It highlights the need for animation by children since; there is readily
available technology. Therefore, there is need for a different element and approach to
teaching in classrooms. This does not only apply to students with learning disabilities, but
also in general classrooms. It is therefore, more philosophical to develop ways of integrating
animations for the purpose of education, that just place computers in different study rooms.
Use of animation is not merely about content learning, but also changing the childrens
-
18
outlook on life. This is based on the notion that children ought to possess a diverse outlook
of life.
2.3 Children and 3D Animation
In relevance to learning, the children have positive mind-sets towards 3D animations and are
enthusiastic to have additional 3D experiences. With present day students being digitally
native, there is need of exploitation of this element in their studies. Most reports reveal
that students have challenges in comprehension of science and mathematics subjects
(Bamford 2011, p. 3). In addition, the most efficient and most widely applied method of
communication especially in education is through spoken language. Therefore, the use of
animation as a learning model is of great impact to students with spelling problems and
other technical subjects. The concept is to apply different models that they enjoy taking part
in. When there is loss of hearing or the ability to speak, people can experience social
isolation. Self-expression of these people can be enhanced through modern integration
information and communication method such as animation.
Children who have speech or comprehension impairment require complex learning
techniques and rely on accessibility of signers and different forms of translation. In this
context, 3D animation helps to capture the attention of learners while helping them to
imitate different concepts they learn from the teachings (Jovanova et al. 2010, p. 498).
Furthermore, to providing a platform for comprehension and understanding of studies by
children, teaching them how to come up with the animations themselves can boost their
skills. For instance, the development of Alice, 3D software was aimed at giving students
without experience their own ground for developing animations (Zagal, Piper & Bruckman
2004, p. 1). However, without the required motivation, it is complex for students to develop
their preferred individual materials in classrooms. The challenges faced by students on
technical subjects present a gap for the integration of 3D animation for educational
purposes. There is acknowledgement of good use of technology by teachers in charge of
children and young students since thee is eploitatio of the hildes iteest i D animation.
-
19
2.4 Impact of Incorporation of 3D Animation in Learning
Most children do not comprehend only through listening, but also through the use of visual
instruments that allow observation. The same case applies to children with disabilities such
as hearing and spelling. Mathematics as a complicated subject for some can be corrected by
highly interactive 3D animation (Adamo-Villani, Doublestein & Martin 2005, p. 241). Since
research indicates that children with learning disabilities are significantly under-represented,
particularly in sciences. With the complications associated with these subjects, development
of tools that apply 3D animation enhances their interest and capabilities significantly
(Parette, Hourcade and Blum 2011, p. 62). Use of 3D animation additionally, provides a
podiu fo ehaig studets opehesio of futioalit though oseig the entire unit of the object of interest. This enables them to understand all the elements
(Bamford 2011, p. 4).
According to learning models, students prefer kinesthetic and visual learning since they are
motivated to learn and understand more about technical subjects. When there are complex
concepts involved in a unit, they become more digested effortlessly when condensed to
imagery. 3D animation concepts are able to embody information in a mode that facilitates
comprehension and learning, therefore simplifying abstract, large and complex information.
The pupils are greatly influenced by the 3D content that appears in the classroom. The
deepest form of 3D exert has a great impact in both retention and learning. These highly
dramatic experiences conveyed by the animations create deep and captivating experiences
to the senses of the children.
2.5 3D Animation Frameworks for the Project
The purpose of the project is to create a learning book that integrates 3D animation for
teaching mathematics and spelling tests for the children. As identified by the research, there
is high underestimation of children who are underprivileged in these areas. The best
operating system for the learning book is IOS. This operating system runs iPad, iPod touch
and iPhone devices produced by Apple Inc. The system contains interfaces and tools
required to construct, install, test and run native apps (Apple Inc 2012, P. 7). The system has
Game Kit framework applied for peer-to-peer connectivity elements especially for animation
games. The kit also contains in-game voice elements and peer-to-peer connectivity. Even
though these elements are mainly widespread in games of multiplayer network nature, the
kit can also be integrated in other applications as well.
-
20
The proposed developer software for the learner book is a combination of Unity Software
and blender. The integration of these different softaes akes it uomplicated for the learner book to run on the Apple operating system. The learner book will also be coded with
C# programming language that merges animation programming interface with a high-
performance compositing device. The programming language makes it easy for the program
to lea o the IO. The leae ooks ipliit aiatio epesetatio pesues that all modifications to the animation layer characteristics should be asynchronous and gradual.
Dynamically animated prospects can be accomplished devoid of applying animating layers.
In addition to application of the game kit and C# programming language, IOS also has a
developer library. The library is a significant resource targeted at development of animation
in the book. It also contains reference information suited for different technologies. There
are also release notes, programming guides, sample code and tech notes providing guidance
and tips regarding the best applications to incorporate in the learner book. It is easy to make
the learner's book touch screen with the use of Apple IOS (Apple Inc 2012, P. 25). Digital
natives are also familiar with the most recent forms of hardware such as touch screen
phoes. This akes the leaes ook ost suitale fo hilde.
2.6 Overview of Method
On November the 20th
2012 the group finally came to an agreement about the technologies
the group were going to use to develop the application. During our time of researching there
the group explored different technologies that could be used to develop the Application. For
example flash player, Blender, Unity, Java, C-sharp, IOS and Android were all researched to
develop the application. The group members came to an agreement that Blender, Unity and
C-Sharp would be the technologies that would be used to develop the Application.
This was based on cost, experience, learning and working with the technology. Flash player
was a really good game engine to develop the application but the cost of the software was
expensive for the group to purchase. Blender is a free open source product that is widely
available on the Internet. Blender was a module that the group members would be learning
at ITB while developing the application. Unity was really researched for the application and
from having this subject in our previous semester we knew that our experience would play a
vital role into developing the project. When viewing the forums on the Unity website
significant information was collected. For example the cost was not an issue in the
development of the application the cost only came to into effect when the application was
to be implemented onto the IOS (Apple Store).. Also an important feature would security
-
21
within the application. Researching this part of the project was a very significant part of the
Application. From reading the forums we discovered that Apple would implement their own
security into the application. C-sharp programming is a script language based within Unity
and the group members had a vast amount of experience working with this technology.
Creating objects in blender and transferring them into unity was going to be a new challenge
for the group. This was a new avenue the group members explored before making our final
decision. While researching this method we found many videos and forums on different
websites, which included Unity.com, Blender.com and Youtube.com. From reviewing the
entire websites the group decided that the task would be difficult but also achievable.
2.7 Review of Existing Work
On the apple IOS store there was many different kinds of 3D animation books to be found. A
selection of animated books found to be interactive and fun for children but none of them
were educational. A particular 3D animation that the group got some ideas from was Little
Red Riding Hood. The book was developed To tos Etetaiet. The ook is ased on a story of Little Red Riding Hood.
From page 1 the users have to interact with the book by using finger touch, which is
provided from the apple library. The book uses two different ways to interact with the user.
The first type was texture being displayed on the graphical user interface. The second one
was voice interactive control were a voice told the story to the user.
Different pages throughout the book had animations that also let the user interact with the
story. For example page 1 of the book, the users had to tidy up the room to move to next
page. This interactive was done by using the finger touch. The user would have to select
items (clothes) and put them into a wash basket and put the toys away to proceed to the
next page.
The features within our application would be quite different as the user will have to get
multiple Mathematical questions or spelling correct to proceed to the next page. Our idea
for the project was to make the interactive application fun but also educational for children.
Sound was also implemented into the application. For example when the user selects items
a sound would be made to let the user know that the item has been selected. The graphics
within the Red Riding Hood application where developed by professional artists. Having
professional artists to create the objects for the application would have gave the developers
-
22
many great advantages. One advantage the application had was developing the objects in
3D format.
Unfortunately none of the group members for our project had the experience to develop
our characters or objects in 3D format. The application Little Red Riding hood was developed
over a two-year period.
Over 91% of people gave positive views about the book application. More significant to us
was that it was perfect for four year olds. The application been developed by the group
ranged from 4 12 year olds. So the potential for application would be extremely positive with the right funding and experienced developers to make the project more scalable. Fully
interactive pop-up screens were also implemented into the application. This makes the
effectiveness of the book look more real and entertaining. Below figure 11 demonstrates
how well designed the application is. As the group explained earlier about the interactive
touch screen method, the user can use his/her finger to collect the items and locate them
into the basket.
-
23
Figure 2.1: Grimms Red Riding Hood iOS application
-
24
Chapter 3: System Analysis
3.1 What the Application aims to do
The application is an interactive educational book application aimed at children. The
application is made up primarily of a story and math/spelling questions. When the player
starts the book they are prompted with a main menu, from here they can choose to read the
book. After this is pressed the book will launce to the first page. Upon openning each page
the user will see animations happening at the start that correspond with the part of the
story that is on that page. Also when a user touches the screen this will trigger movements
of a majority of the objects in the book (interaction). Once the user touches the turn page
they are prompted with a question (ether math or spelling) and three possible answers. To
progress to the next page the user must get the question right. This process is repeated until
the book is finished. The questions get progressively harder as the user progresses through
the book.
3.2 System
The application is built with two main technologies. The first one is Blender. This is used to
create all the models and characters for the application. In Blender the models and
characters are also fully coloured and animated.
The next technology is Unity. This is the graphics engine and it is used to build the
application. Models from Blender, Textures, Images and audio files can be easily imported
into Unity and used to create the application. All the programming is also done from inside
unity in ether C#, JavaScript or boo. These scripts then link directly to in application objects
that they are relative to. Unity also comes with a license system. If you purchase the iOS
license you can port the game across to iOS devices.
-
25
Figure 3.1: Architectural Diagram
3.3 System Requirements
On The application is made up of one build with no dependencies on any external service. It
is felt that this is best for an application of its type and also there is no real need to use any
external services such as databases or network connection. Only if there was, say a high
score tracker or something of the sort built in, in further developments, then there would be
a need for network connections or other services. Even though there are several pieces of
software being used to make different elements of the application all of them are imported
into Unity and once the finished product is built in Unity all the elements become one build
file.
The hardware the application is being built for is the iPad. Utilization is key because there
are several factors to keep in mind when developing for a mobile device such as low RAM,
Mobile Processor and small screen. All these factors have to been taken into account during
development.
Another big factor that was taken into consideration was screen resolution. The application
is built in Unity on desktop machines and laptops with different screen resolutions then the
iPad, which is 2048-by-1536 [ref apple site]. During development this had to be taken into
account with all aspects of the application that were going to be out putted to the screen.
-
26
Chapter 4: System Design
4.1 General Design Guidelines
The application had to be designed in a logical way. The design processes we followed was
to design the story, characters and models that correspond with those in the story, sounds
and textures to be used in the story and finally put everything together to make the
application.
4.2 Story
Another big factor that was taken into consideration was screen resolution. The application
is built in Unity on desktop machines and laptops with different screen resolutions then the
iPad, which is 2048-by-1536 [ref apple site]. During development this had to be taken into
account with all aspects of the application that were going to be out putted to the screen.
The story was written with the targeted age range in mind. One of the things we wanted to
implement into the story was a sense that each page was a step closer to an overall goal. It
was felt that by making it like this the user would read carefully and also take care to answer
the questions correct. The images have the finished story up until the characters were
designed they were unknown.
Figure 4.1: Page 1 of the story
-
27
Figure 4.2: Page 2 of the story
Figure 4.3: Page 3 of the story
-
28
Figure 4.4: Page 4 of the story
Figure 4.5: Page 5 of the story
-
29
Figure 4.6: Page 6 of the story
Figure 4.7: Page 7 of the story
-
30
4.3 Character/Model
The next objective in the design phase was to create the characters for the game. It was felt
that these needed to tie in with the story to keep the whole application interesting and give
the application a good feel.
4.3.1 Character/Model Concept
A competition we held in Central Model Infants School in Dublin City Centre as part of our
field research was very effective, the response from the students was amazing and they
submitted a lot of drawings for the competition. Two characters drawn by one of the pupils
named Alexandra Spina, age 11. They were really impressive and it was felt these characters
would fit in well with the story so it was decided that she was the winner and those
characters would give the inspiration to make the rest of the characters for the book.
Some slight modifications were made to the characters that won the competition but the
core design was still there and they were very influential to how the rest of the characters
were drawn.
Figure 4.8: Original drawing of Smarty Pants by Alexandra Spina
-
31
Figure 4.9: Original drawing of Peter the Pencil by Alexandra Spina
-
32
4.3.1 Character/Model Design and Development
All the characters and models were designed and drawn by the group. The process of
making a character/model for the game started by drawing the concept art for the
character/model. After this phase was completed the character/model had to be modelled
in Blender. Once the Character/Model was fully made in blender they could then be
animated. The next Phase is then exporting the Characters/Models out of Blender and
Across to Unity to be used in the Application.
-
33
4.3.1.1 Drawings
Figure 4.10: Basket Ball Hoop finished concept drawing
-
34
Figure 4.11: Benny the Bully finished concept drawing
-
35
Figure 4.12: Blackboard finished concept drawing
-
36
Figure 4.13: Book finished concept drawing
-
37
Figure 4.14: Brainy Brian finished concept drawing
-
38
Figure 4.15: Chair finished concept drawing
-
39
Figure 4.16: Child 1, 2 and 3 finished concept drawings
-
40
Figure 4.17: Computer Front finished concept drawing
-
41
Figure 4.18: Computer Side finished concept drawing
-
42
Figure 4.19: Daddy Pencil finished concept drawing
-
43
Figure 4.20: Door finished concept drawing
-
44
Figure 4.21: Goal finished concept drawing
-
45
Figure 4.22: Geek finished concept drawing
-
46
Figure 4.23: Janitor finished concept drawing
-
47
Figure 4.24: Ladder finished concept drawing
-
48
Figure 4.25: Locker Front and Side finished concept drawing
-
49
Figure 4.26: Mammy Pencil finished concept drawing
-
50
Figure 4.27: Music Stand finished concept drawing
-
51
Figure 4.28: Professor finished concept drawing
-
52
Figure 4.29: Sandpit finished concept drawing
-
53
Figure 4.30: Desk Front finished concept drawing
-
54
Figure 4.31: Desk Side finished concept drawing
-
55
Figure 4.32: Slide finished concept drawing
-
56
Figure 4.33: Smarty Pants finished concept drawing (digital drawing done on iPad)
-
57
Figure 4.34: Competition wining drawing of our Pencil that will be in the application
-
58
Figure 4.35: Teacher (Mr Cortex) finished concept drawing
-
59
Figure 4.36: Teachers Desk Side finished concept drawing
-
60
Figure 4.37: Teachers Desk Front finished concept drawing
-
61
Figure 4.38: Tree finished concept drawing
-
62
Figure 4.39: Window finished concept drawing
-
63
4.3.1.2 Blender Models
Figure 4.40: Finished Basketball Hoop Blender Model
Figure 4.41: Finished Benny the Bully Blend Model
-
64
Figure 4.42: Finished Blackboard Blend Model
Figure 4.43: Finished Book Blend Model
-
65
Figure 4.44: Finished Brainy Brain Blend Model
Figure 4.45: Finished Chair Blend Model
-
66
Figure 4.46: Finished Child 1 Blend Model
Figure 4.47: Finished Child 2 Blend Model
-
67
Figure 4.48: Finished Child 3 Blend Model
Figure 4.49: Finished Computer Found Blend Model
-
68
Figure 4.50: Finished Computer Side Blend Model
Figure 4.51: Finished Daddy Pencil Blend Model
-
69
Figure 4.52: Finished Desk Front Blend Model
Figure 4.53: Finished Desk Side Blend Model
-
70
Figure 4.54: Finished Door Blend Model
Figure 4.55: Finished Geek Blend Model
-
71
Figure 4.56: Finished Goal Blend Model
Figure 4.57: Finished Goal for opposite side of GYM Blend Model
-
72
Figure 4.58: Finished Janitor Blend Model
Figure 4.59: Finished Ladder Blend Model
-
73
Figure 4.60: Finished Locker Front Blend Model
Figure 4.61: Finished Locker Side Blend Model
-
74
Figure 4.62: Finished Mammy Pencil Blend Model
Figure 4.63: Finished Music Stand Blend Model
-
75
Figure 4.64: Finished Pencil Blend Model
Figure 4.65: Finished Professor Blend Model
-
76
Figure 4.66: Finished Sandpit Blend Model
Figure 4.67: Finished Slide Blend Model
-
77
Figure 4.68: Finished Smarty Pants Blend Model
Figure 4.69: Finished Teacher Blend Model
-
78
Figure 4.70: Finished Teachers Desk Front Blend Model
Figure 4.71: Finished Teachers Desk Side Blend Model
-
79
Figure 4.72: Finished Tree Blend Model
Figure 4.73: Finished Window Blend Model
-
80
4.3.1.3 Blender Models in Unity
Figure 4.74: Basketball hoop imported into Unity
Figure 4.75: Benny the Bully imported into Unity
-
81
Figure 4.76: Blackboard imported into Unity
Figure 4.77: Book imported into Unity
-
82
Figure 4.78: Brainy Brian imported into Unity
Figure 4.79: Chair imported into Unity
-
83
Figure 4.80: Child 1 imported into Unity
Figure 4.81: Child 2 imported into Unity
-
84
Figure 4.82: Child 3 imported into Unity
Figure 4.83: Computer Front imported into Unity
-
85
Figure 4.84: Computer Side imported into Unity
Figure 4.85: Daddy Pencil imported into Unity
-
86
Figure 4.86: Desk Front imported into Unity
Figure 4.87: Desk Side imported into Unity
-
87
Figure 4.88: Door imported into Unity
Figure 4.89: Geek imported into Unity
-
88
Figure 4.90: Goal Right imported into Unity
Figure 4.91: Goal imported into Unity
-
89
Figure 4.92: Janitor imported into Unity
Figure 4.93: Ladder imported into Unity
-
90
Figure 4.94: Locker Front imported into Unity
Figure 4.95: Locker Side imported into Unity
-
91
Figure 4.96: Mammy pencil imported into Unity
Figure 4.97: Music Stand imported into Unity
-
92
Figure 4.98: Pencil imported into Unity
Figure 4.99: Professor imported into Unity
-
93
Figure 4.100: Sandpit imported into Unity
Figure 4.101: Slide imported into Unity
-
94
Figure 4.102: Smarty Pants imported into Unity
Figure 4.103: Teachers Desk Front imported into Unity
-
95
Figure 4.104: Teachers Desk Side imported into Unity
Figure 4.105: Teacher imported into Unity
-
96
Figure 4.106: Tree imported into Unity
Figure 4.107: Window imported into Unity
-
97
4.3.1.4 Development of Models from Drawing to Unity
All the models for the application have been built from the ground up. The tool that was
used to get each model from the drawing to the finished model imported into Unity was
Blender. Blender played a big role in creating the application. Each of the above models
shown under heading 4.3.1.3 were brought from paper to life via Blender. This process is
explained below.
Figure 4.108: Image of drawing imported into Blender
Firstly the drawing of the model you want to create needs to be imported into Blender.
Activating the background images tool can do this. Once the background images tool is
activated you can then select an image by browsing a file system explorer window. Once an
image is selected it will then be seen on the screen once you are in front view and ortto
mode.
-
98
Figure 4.109: Plane added that will become the characters body
Next whichever object (plane, cube, sphere) you have chosen to make the model with needs
to be brought in using the add tab. For all the models in this application planes were used to
give the 2D effect.
-
99
Figure 4.110: Plane being shaped using background image as a reference
Now with the plane selected chose edit mode. This mode allows the user to manipulate the
vertices, edges or faces of the object. For all the models in the application the vertices were
manipulated as seen in figure 4.110 the red cycles indicate a vertices and vertices selector
mode. Once the main body of each model was completed the rest of the model had to be
completed depending on the complexity of the model. With all of the characters the planes
for each part of the model (body, arms, eyes, mouth, tongue, legs) had to be layered. This is
when each plane has to be strategically placed in front or behind the other. This method was
used because when animating each plane could be place anywhere for that frame, this gives
the developer a lot more freedom to animate, as they want to.
-
100
Figure 4.111: finished model
This is the completed model of the main character of the application Smarty Pants. In this
model all the planes are lined up correctly and the faces of the planes have been coloured in
according to the planed colour of the model. This process was applied for each model as
seen above under headings 4.3.1.1 to 4.2.1.3.
-
101
Figure 4.112: Finished model in wire frame mode
This is the same image as figure 4.111 only this is in wire frame mode. In wire frame mode
you can see how the model is created a bit better. Each plane has been made to great detail
so the model will represent the drawing as close as possible.
-
102
4.4 Animations
Once each model was created the ones that needed to be animated could be animated.
Figure 4.113 to figure 4.115 will show you how this was done step-by-step.
Figure 4.113: Animation view in Blender. Time line (green line) on frame 0
Fig () shows the animation section of blender. This is where all models that need to be
animated are animated. The Dope sheet, which is the largest window with the orange lines,
which are transitions and the orange diamond shapes, represent key frames.
-
103
Figure 4.114: Animation view in Blender. Time line (green line) on frame 24
Each key frame holds the position of the corresponding plane and each transition it the
movement to get from one key frame position to another. Figure 4.113 to figure 4.114
shows an example of transitions from one key frame to another.
Figure 4.115: Animation view in Blender. Time line (green line) on frame 30
-
104
In this image as the current frame bar progresses through the dope sheet you can notice the
models hand has moved from the position it was in in figure 4.114 to the position its in in
figure 4.115.
Animations were also created in unity. This uses the same steps only in Unity. The
animations in Unity were used to move characters around and also for the interactive
movements on the other objects in the application
4.5 Sounds
Sounds for the game were downloaded from a website that hosted downloadable sound
effects both paid and free ones. To stick to our set budget it was decided that free sounds
would be used for the application.
4.6 Textures
The textures for the application were made in Microsoft Paint. Three textures were made
for the application. Two all white textures were made, one to use to make different colour
materials in Unity and one that was white with little images of the main Character on it to
make it look like wallpaper for the background behind the book.
Figure 4.116: Wallpaper texture for background of application
-
105
4.6 Unity
All of the above from section 4.2 4.5 were then imported into unity. Organisation was key, a file system was built and each model had its own file for it and its materials folder that gets
import from blender also. Files were also created for audio files, materials, textures, scripts
and the scenes of the game.
Figure 4.117: The Applications file system in Unity
-
106
Figure 4.118: Page 1 of the application
In fig 4.118 you can see how Unity works basically. Models are created from out of the file
system or from within Unity itself (Cube, Sphere, Plane, Cylinder). The elements in the
picture that were made in blender are the book and all the characters and models on it.
Then the books back and sidewalls, table and rooms back wall were made with Unity objects
(planes and a cube).
4.7 Code Structure
All the code written for the application is linked to an object in Unity. This can be seen in the
UML class diagrams below.
Figure 4.119: BasketBallHoopAnimationTrigger UML
-
107
Figure 4.120: BlackboardScene1AnimationTrigger UML
Figure 4.121: BlackboardScene6AnimationTrigger UML
Figure 4.122: ComputerFrontAnimationTrigger1 UML
-
108
Figure 4.123: ComputerFrontAnimationTrigger2 UML
Figure 4.124: ComputerFrontAnimationTrigger3 UML
Figure 4.125: ComputerSideAnimationTrigger1 UML
-
109
Figure 4.126: ComputerSideAnimationTrigger2 UML
Figure 4.127: ComputerSideAnimationTrigger3 UML
Figure 4.128: DeskFrontAnimationTrigger UML
-
110
Figure 4.129: DeskSideAnimationTrigger UML
Figure 4.130: GoalAnimationTrigger UML
Figure 4.131: GoalRightAnimationTrigger UML
-
111
Figure 4.132: LockerFrontAnimantionTrigger1 UML
Figure 4.133: LockerFrontAnimantionTrigger2 UML
Figure 4.134: LockerSideAnimantionTrigger UML
-
112
Figure 4.135: MainMenu UML
Figure 4.136: SandpitAnimationTrigger UML
Figure 4.137: SlideAnimationTrigger UML
-
113
Figure 4.138: TeachersDeskAnimationTrigger UML
Figure 4.139: TurnPageButton1 UML
-
114
Figure 4.140: TurnPageButton2 UML
Figure 4.141: TurnPageButton3 UML
-
115
Figure 4.142: TurnPageButton4 UML
Figure 4.143: TurnPageButton5 UML
-
116
Figure 4.144: TurnPageButton6 UML
Figure 4.144: TurnPageButton7 UML
-
117
Chapter 5 System Implementation
5.1 Building the Application
5.1.1 Current Build
The current build of the application is the first and only prototype version 0.1. This version
hits the set scope for the application in what can be done on the application. It is ready to be
poted oe o to the iPad ut hast ee poted oe due to opliatios ith time and funding. Other then this, the over all application meets the standards set in the project
proposal and it is a good concrete foundation for future updates.
5.1.2 Assembling the Application
Once all components needed to make the application were completed development could
get under way. Unity uses a 3D view that is used to place all the elements of the project that
is being created. This feature works really well when creating the scenes for the application.
Each object can be placed at a point on the x, y and z-axis in each scene. This allows each
scene that is created to be an accurate representation of the same scene that was designed
during planning.
Once all the scenes are fully created the next step in the development programming the
appliatio. All the ode ipleetatio is doe usig C# usig Uits uilt i ode edito mono develop. In unity each C# class that is written is linked to an object directly. Each
scene in the application has a main Class, which is linked to the scene camera, and smaller
classes used to trigger animations on objects with in the scene.
5.2 Problems Encountered
5.2.1 Importing Models
One of the biggest issues the group encountered while developing the application was at the
beginning of development. This was a tough problem to over come as both the Blender
website, Unity website and forms related to both did not shed light on the problem. A vast
amount of time was spent working on fixing this issue as no further progression could be
made until this problem was fixed.
-
118
The Problem occurred every time a model was exported from Blender and imported into
Unity. The model would export fine but every time it was imported into unity some of the
faces of each plane were invisible on one side and visible from the other. This was a major
issue and brought progress to a stop.
The reason for the problem is still unclear but the group found a solution. Once the model is
exported from Blender, import it into Unity. Then take a note of each face that is not facing
the correct way. Once noted open the same model back up in Blender and select edit mode
on the desired plane and select each face that was facing the wrong way. Next press the w
ke o the keoad ad hoose the optio flip oal. This ill eet the seleted faes so when exported from Blender and imported back into Unity none of the faces will be
facing the opposite way.
Figure 5.1: One side of the imported model in blender before the problem was solved
-
119
Figure 5.2: The other side of the model from figure 5.1
-
120
5.2.2 Animations on Imported Models
Another problem that held the group back was the animations on models when exported
from Blender and then imported to Unity. The problem was encountered with the model of
the page that was developed to show a nice page turn transition. In blender it worked
flawlessly as seen in fig () but in unity only the page turning was seen but not the realistic
bends to the page that added a large amount of realism.
Figure 5.3: Page model in blender halfway through its animation
Figure 5.4: Page model from figure 5.3 in unity halfway through its animation
-
121
5.2.3 GUI Textures at Runtime
This problem occurred during run time. When the turn page button is pressed a question for
the user to answer has to pop up along with three possible answers. This functionality had
to be implemented using C#. This problem unlike others was easily solved with a couple of
hours of applying different methods.
This problem occurred during run time. When the turn page button is pressed a question for
the user to answer has to pop up along with three possible answers. This functionality had
to be implemented using C#. This problem unlike others was easily solved with a couple of
hours of applying different methods.
The first method that was tried used the Update () method that is built into Unity. This is a
method that is referred to by the application every frame. Any changes to this method
during run time are reflected in the running application. Unfortunately this method could
not be used because the element that is being created at run time is a GUITexture and these
have to be implemented in the OnGUI() method.
The next method was to use a floating-point number called questionTrigger and set it to 1.
Then once the turn page button was pressed an if statement was used to set
questionTrigger to 0. In the code then the GUITexture for the math question and the
GUIButtons for the answers were in an if statement with the condition if the questionTrigger
is equal to zero. Because we set the questionTrigger to zero when the turn page button was
pressed the if statement condition was met and the question and answer buttons appeared.
This same process was used for each page as seen in appendix b under turnPageButton1.cs,
turnPageButton2.cs, turnPageButton3.cs, turnPageButton4.cs, turnPageButton5.cs,
turnPageButton6.cs and turnPageButton7.cs
5.2.3 Porting to iPad
This problem was due a lack of funding. The initial plans were to have the application ported
onto the iPad for April so testing could be carried out on the device. The iOS license for unity
etails at ad this as a steth fo the goup.
-
122
Chapter 6 Testing and Evaluation
6.1 System Tasks
The current finished prototype meets the scope of the project and all aspects perform to
spec. The application is made up of one build and all components needed for the application
to run are included in the build.
On launch the application compiles all elements of the application. Each page of the
application is built using a new scene. In Unity scenes are used with the same concept that
they are with films. Each scene runs its course and is linked into another scene. During each
scene all of the elements (code, models, animations) belonged to that scene run while the
other scenes wait to be loaded when called.
6.2 Testing
6.2.1 Performance Testing
One of the first elements of the application that the group tested was the performance of
the application. How smooth and quick the application performed at run time was crucial to
the finished application. Upon numerous tests carried out through the course of the project
the group was satisfied with the overall performance of the application. The group carried
out these tests.
6.2.2 Graphical Testing
The most important element of the application is how it looks. The application is aimed at
children so it needs to look good and also be very colourful. Each model that was developed
was tested and viewed during run time in unity. Each scene of the application was also
tested during run time in unity. The group used these testing sessions to make sure the
colour on the characters met the standards set and that the lighting in each scene worked
and projected the correct amount of light needed to sufficiently light up the scene.
The group used external testers to evaluate how the look and feel affected the user and
what reactions were given when the graphics were seen. The feed back received was very
positive.
-
123
6.2.3 Functionality Testing
Another important feature that needed to be tested was the functionality of the application.
This testing coved page transitions and the questions that the user needed to answer.
Again external testers were used to test these aspects of the application. The group urged
each tester to play through the application several times and go back and forth pages
through the pages. Clicking the in app buttons a lot of times (example: clicking the turn page
button several times really fast) to see if this would cause errors or lags of any sort.
-
124
6.2.4 One to One Testing with User
Name of tester: Lewis Kelly
Age: 9
Area of residence: Finglas
On the 1st
of May 2013 the group members carried out a survey as part of testing the
application. The group members got feedback a group of children but this was a one on one
session were it was the group members and a child that is neutral to the project. Below are
the questions asked and the answers that were given buy the user during and after using the
application.
1. What do you think about the application and what is good about it?
epl: I thik its geat fu, the olous ae geat the eall stad out ad the story is good to after reading each page it makes you want to get to the next
page. The questions are good to they make you think and use math and spelling
skills I am learning in school.
2. Would you prefer books or an application like this to help you with your
homework?
Reply: I would prefer the app because its a lot more fun, school books should
definitely be more like this, I get so board in school.
3. What is your favourite part of the application?
Reply: I like how playful it is and the idea, it is really fun to use.
4. What do you think would make the application better?
Reply: I would like to see the application being mad longer and maybe add on to
the math and spelling questions by adding more and even put different types of
mini educational games in the app.
5. What do you think of the story?
-
125
Reply: The story was very good. After each page you read you want to know
hats o the et page staight aa. I also like the a the haates oe around and other parts of the book move around when click them.
6. What is your Favourite part of the book?
epl: I thik its good that ou at tu to the et page till ou ase the question. This makes the book challenging unlike others I have played with on
my iPad where I can skip to the end straight away if I want. I also really like the
characters they are fun and the colours really stand out.
Figure 6.1: Lewis testing the application
-
126
6.2.5 Evaluation of Testing
Over all the application performed really while during testing. Each element mentioned in
6.2.1 to 6.2.3 passed the tests and no internal bugs were found. The group is happy with the
over all functionality of the application and the lack of error handling needed to make the
application run as stated in the project scope.
-
127
7 Conclusions and Future Work
7.1 Project Results
The group has learned so much from the time the idea of the project was thought right up to
now. All of the goals set by the group were reached bar getting it onto a mobile device. The
application is built and ready to be ported over on to the iPad from Unity as explained under
heading 5.2.4.
Other then the set back of not getting the application on the iPad the scope was reached
and the application performs how it should. It meets all standards set and past all the testing
sessions. The application is fun and educational and we received good feedback when
testing with children.
Considering this project was the first time any of the group members attempted to develop
a mobile application that employed graphics and animations as one of the main aspects the
group feels it went very well. The group is happy with the amount of research carried out
and how well the finished application turned out.
7.2 Future Work
7.2.1 Porting to iPad
The group is hoping to have the application running on the iPad in the near future, the
application has been made to work on the iPad straight off the bat so minimal testing has to
be preformed when ported over onto the iPad.
7.2.2 Graphics Improvements
The group hopes to polish up the graphics to give them that professional graphic design look
and feel. This project was the first time any member of the group really delved into graphic
design and application development on a big scale.
7.2.3 Animation Improvements
Another aspect of the application the group plans to improve in the near future is the
character and model animations. Again this project was the first time any of the group
members experienced working with animations.
-
128
7.2.4 Future Work Overview
The group is extremely happy with the first prototype and it is a solid foundation to further
develop the application to make it app store ready. It is felt that the world needs an
application like this where children can have fun and still learn at the same time.
The application is going to be further developed and it will be getting the time and
investment needed to grow and become an application available on the Apple mobile app
store.
-
129
8 Personal Experiences
8.1 Shane McCarthy
From when this project was decided right up to now I am extremely happy with all the
research and work carried out by the group. It was very challenging and the problems
encountered made the development difficult but over all it was great experience watching
the application grow from plans on a page to the working prototype of the application. I am
very egger to further develop the application and publish it to the world I feel there is a lot
of children that would really enjoy this application. My confidence has also grown a lot over
the development. I feel more technically and academically able to develop large projects
and supply solid write ups and documentation with them, In my eyes this has been the
perfect stepping stone to lead me into fourth year and beyond.
8.2 Shane MacMathuna
Throughout the entire project I have learned many new skills and developed upon the skills I
already had. Some of the skills I have learned are Blender, Researching and Report writing.
These skills have helped me in understanding how I should approach my thesis in my final
year. I fell that I have grown from this learning experience, which will aid me to endeavour
with deadlines and other aspects, which are vital for success in the real world and
succeeding in life. Learning Blender was of great benefit as we had a module in our final
semester of third year, which was based around the Blender Game Engine.
I developed on my communication, Unity and team working skills, these skills where key for
the creating and developing the project. As a team we made sure that we kept one and
another up to date on new developments in the project and on research we found
individually. When it came to demoing the project we had a mock presentation that helped
to settle our nerves and now I fell confident to speak to a large group and to demonstrate
my point clearly. When learning to use Unity I learned a lot more than just the initial
commands and tools I learned how to troubleshoot problems that we encountered along
the development of the project.
Wokig as a tea had its ups ad dos to it. We had to ok aoud eah othes schedules to allocate time and workloads for the completion of the end project. We had to
sit back sometimes and let other members take the lead on certain parts of the project and
it was nice to take the lead and too watch and learn from the other members.
-
130
8.3 Mark Mitchell
While developing this project i learned many different skills and technologies. Using
Communication skills with group members and our supervisor was an excellent experience.
For example group meetings and working together each week with different ideas was a
valuable experience. I have gained valuable skills including building excellent relationships
with collages involved with the project. My organizational skills have improved vastly and i
could now focus on meeting deadlines of future projects that i develop.
-
131
Appendix A: Project Diary
The project diary shows all the work done by each individual in the group. It is broken down
into monthly sections, with each section showing what work each group member carried
out. Meetings with the project supervisor are also documented.
September
Shane McCarthy researched different technologies that could be used and mobile platforms. Shane MacMathuna researched similar applications and different technologies that could be used. Mark Mitchell researched similar applications and mobile platforms. Group meeting held to discuss information found through research.
October
Shane McCarthy further research into technologies and platforms for development and visit the Central Model Infants School on Marlboro Street for field research. Shane MacMathuna further research into technologies and platforms for development and visit the Central Model Infants School on Marlboro Street for field
research. Mark Mitchell compose a draft of the Literature Review and visit the Central Model Infants School on Marlboro Street for field research. Group meeting to discuss the project proposal and literature review. Review information gained from the visit to the school.
November
Shane McCarthy final decision on technologies to use and platform to develop the application for. Finalise the Project Proposal. Shane MacMathuna final decision on technologies to use and platform to develop the application for. Finalise the Project Proposal. Mark Mitchell final decision on technologies to use and platform to develop the application for. Finalise literature review.
-
132
December
Shane McCarthy write story and draw concepts for characters and models for the application. Research how to use blender. Shane MacMathuna write story and draw concepts for characters and models for the application. Research how to use blender. Mark Mitchell write story and draw concepts for characters and models for the application. Research how to use blender.
January
Shane McCarthy discuss and decide character and model design. Create characters and models. Shane MacMathuna discuss and decide character and model design. Create characters and models. Mark Mitchell discuss and decide character and model design. Create characters and models.
February
Shane McCarthy Create characters and models. Import finished models to Unity to test they import correctly. Shane MacMathuna Create characters and models. Mark Mitchell Create characters and models. Problem encountered importing models to Unity as explained under heading 5.2.1. Halted further progress.
March
Problem was solved. Shane McCarthy Animate characters in Blender. Reimported all working, animated models into blender. Shane MacMathuna Animate characters in Blender. Gathered sounds for application. Mark Mitchell Animate characters in Blender. Created the textures for the application.
-
133
Problem encountered with the page flip animation when the page model was imported into Unity as explained under heading 5.2.2.
April
Shane McCarthy Build and program the application in Unity. Trouble shooting page flip animation problem. Shane MacMathuna Build and program the application in Unity. Mark Mitchell Build and program the application in Unity. Trouble shooting page flip animation problem. Pole eouteed, ouldt get the ath uestios ad ases to sho up o the screen during run time as explained under heading 5.2.3. Halted further
progress.
May
It was decided by the group that the page flip problem was taking up to much time and
resources and it was decided that to go on with the next task at hand.
Shane McCarthy Test Prototype. Fix Bugs. Group Project Demo. Shane MacMathuna Test Prototype. Fix Bugs. Group Project Demo. Mark Mitchell Test Prototype. Fix Bugs. Group Project Demo. Meetings with Project Supervisor
Tuesday, October 9th 2012 at 11:30 E132 Thursday, October 25th 2012 at 10:30 Tuesday, November 5th 2012 at 12:00 Wednesday, March 13th 2013 at 12:00 Wednesday, April 17th 2013 at between 10:00 13:00 Wednesday, May 1st 2013 at 14:15 Thursday, May 2nd 2013 at between 10:00 12:00 Also in the first semester every lab for the module project skills we discussed the
project with our project supervisor Aoife Fox as she was the lecturer for that class.
-
134
Appendix B: Code Listings
turnPageButton1.cs
using UnityEngine;
using System.Collections;
public class turnPageButton1 : MonoBehaviour
{
//variable declarations
//array to store all objects we want to destroy
public GameObject[] destroyObjects;
//object to store animation
public GameObject animationObject;
//textures to hold the story page and math question
public Texture2D page1;
public Texture2D math1;
//audio clips to hold the right and wrong answer sounds
public AudioClip wrong;
public AudioClip right;
//float for math question activator
public float questionTrigger = 1.0f;
//controls the delay timer from when the right answer is picked to the next scene is
loaded
public float sec = 1.0f;
//method to place everything on the screen and control the main mechanics of the
application
void OnGUI()
{
//draw the story board to the screen at set co-ordinates
GUI.DrawTexture(new Rect(90,10,900,240),page1);
//if questionTrigger is 0 draw the question and answer buttons
if(questionTrigger
-
135
//the second button is pressed do this
else if(GUI.Button(new Rect(500,200,100,90), "9"))
{
//play right sound
audio.PlayOneShot(right);
//place all the game objects tagged with "page1Objects"
into the destroy objects array
destroyObjects =
GameObject.FindGameObjectsWithTag("page1Objects");
//foreach loop to run through the array
foreach(GameObject item in destroyObjects)
{
//destroy the item in the array
Destroy(item);
}
//animationObject hold the animation
"fullPageModelAnimation"
animationObject =
GameObject.Find("fullPageModelAnimation");
//play the animation held in animationObject
animationObject.animation.Play();
//call method MyCoroutine
StartCoroutine(MyCoroutine());
}
//the third button is pressed do this
else if(GUI.Button(new Rect(800,200,100,90), "11"))
{
//play wrong sound
audio.PlayOneShot(wrong);
}
}
//if page turn is clicked set questionTrigger to 0
if(GUI.Button(new Rect(1000,10,100,90), "Turn Page"))
{
//make questionTrigger = 0
questionTrigger = 0;
}
}