thesis libre

188
 Interactive Book Application for Children Group Members Mark Mitchell B00054568 Shane McCarty B00044295 Shane Mac Mathúna 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 

Upload: kashif-javaid-samman

Post on 13-Oct-2015

33 views

Category:

Documents


0 download

DESCRIPTION

Controlling Robit with Bluetooth thesis

TRANSCRIPT

  • 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;

    }

    }