By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables...

9
Page. 1 n this Article, I'll talk about Alice, a cool 3D programming environment that makes it easy for anyone to create an animation, build a game, tell a story, illustrate a concept, or make a video for fun that can be posted on YouTube or elsewhere on the web. What I absolutely enjoyed with Alice is the fact that even though it is based on a real programing language (Java), it hides the complexity of programing that all beginners hate. I will show you the basic Alice features that are available for you to use. I've gathered in this article the main qualities as well as current limitations I experienced myself with Alice. I also spent some time comparing Alice with Go!Animate, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development environment that allows anyone (kids or adults) to learn object oriented programming concepts, create simple animated movies, or advanced video games as well as experience virtual realities. Alice provides you with 3-D objects (e.g., people, animals, vehicles and trees). With Alice you can create your own virtual world and turn it into a simulated reality by designing a program to animate the objects in your world and make them do what you want them to do. As illustrated in Figure-1, you can choose from a library of objects or create your own objects then give them the appearance of your choice. Everything is possible if you put a little bit of imagination even though the outcome is still a virtual world - at least it is your world. You can choose what to put in and what not. You can choose to use your favorite color, create your avatar and express yourself in your own voice. The result can be a simple playable video animation or a complex, interactive and cerebral game. Figure-1: Simple Alice Word The snapshot in Figure-2 gives an example of a beach scene I used in my first Alice competition ("Princess and the Frog"). The bottom part of the screen capture illustrates Alice objects library. The left side depicts SIMS characters editor. The right side lists other object classes that you can use by changing their properties including but not limited to their sizes (width, height and depth), color, opacity (level of transparency), and positions (x, y and z). By object class, I meant an object category that you can extend to meet your specific needs. You can use the objects of this category as is without any efforts, if they meet your project needs. I A All About AliceBy Hania Mahamat Guiagoussou Sponsored by Fondation Hissein Guiagoussou

Transcript of By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables...

Page 1: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 1

n this Article, I'll talk about Alice, a cool 3D

programming environment that makes it easy for

anyone to create an animation, build a game, tell a

story, illustrate a concept, or make a video for fun that

can be posted on YouTube or elsewhere on the web.

What I absolutely enjoyed with Alice is the fact that even

though it is based on a real programing language (Java),

it hides the complexity of programing that all beginners

hate. I will show you the basic Alice features that are

available for you to use. I've gathered in this article the

main qualities as well as current limitations I experienced

myself with Alice. I also spent some time comparing

Alice with “Go!Animate”, an online 2D application that

enables you to create animations in a much simpler way.

lice [1] is a software development environment

that allows anyone (kids or adults) to learn object

oriented programming concepts, create simple

animated movies, or advanced video games as well as

experience virtual realities. Alice provides you with 3-D

objects (e.g., people, animals, vehicles and trees). With

Alice you can create your own virtual world and turn it

into a simulated reality by designing a program to

animate the objects in your world and make them do

what you want them to do. As illustrated in Figure-1, you

can choose from a library of objects or create your own

objects then give them the appearance of your choice.

Everything is possible if you put a little bit of

imagination even though the outcome is still a virtual

world - at least it is your world. You can choose what to

put in and what not. You can choose to use your favorite

color, create your avatar and express yourself in your

own voice. The result can be a simple playable video

animation or a complex, interactive and cerebral game.

Figure-1: Simple Alice Word

The snapshot in Figure-2 gives an example of a beach

scene I used in my first Alice competition ("Princess and

the Frog"). The bottom part of the screen capture

illustrates Alice objects library. The left side depicts

SIMS characters editor. The right side lists other object

classes that you can use by changing their properties

including but not limited to their sizes (width, height and

depth), color, opacity (level of transparency), and

positions (x, y and z). By object class, I meant an object

category that you can extend to meet your specific needs.

You can use the objects of this category as is without any

efforts, if they meet your project needs.

I

A

“All About Alice” By Hania Mahamat Guiagoussou

Sponsored by Fondation Hissein Guiagoussou

Page 2: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 2

From a technical point of view, Alice allows you to view

your animation by running the program you designed and

implemented. Learning Alice will enable you to

understand object oriented concepts by linking the

behavior of the objects in your animation to the Java and

Alice programming statements offered by the

development tool [2]. By manipulating the objects in a

virtual world, you'll gain experience in programming and

learn equivalent Java coding structures (do in order, loop,

if ... then ... else ..., do in thread, do together, etc.). You

might even call yourself a "mini-programmer" at that

time; I like to say a "virtual programmer" if you like to

create fancy fiction objects in a "techi virtual word".

Alice is the best animation tool I've ever used. Not the

only one out there but it's the first one that grabbed my

attention and convinced me to do programming. To avoid

being superficial and biased, I looked around on the

Internet and found other animation tools and software.

Figure-2: Beach Scene and view of objects library

In this article, I selected Go!Animate [3] which is an

excellent animation tool too, but with Alice you feel like

you're in control. But even though I like Alice much

more, I still think as a tool created by Carnegie Mellon

University, Alice should have additional features similar

to the ones in Go!Animate that are very attractive to

young animations creators. But before discussing

differences between Alice and Go!Animate, I will spend

more time talking about why Alice is cool for me a 7th

grader living in Silicon Valley with parents from Africa.

Note: This article is based on Alice 3 Beta (version

3.0.3.0.0). During the writing of the article, the final

version of Alice 3 was not released.

first learned Alice at a Summer Java Workshop in

2011 organized by Oracle for its employee’s sons and

daughters. At the beginning of the workshop, I

thought it's going to be as boring as the "Hello world"

sample Java program that my dad wanted me to try for so

long (he was quite disappointed at me his favorite and

bright daughter not embracing his passion). But it turned

to be quite the opposite. The workshop was fun, the

instructors and the volunteers were very passionate about

what they were doing. I was definitely missing

something there. Dad was right! I said to myself and I

told my brother: "let's try it and impress daddy"!

The experience was so overwhelming and grabbing that I

could hardly believe I was programming my own game,

animations and videos using Java (this “thing” that I

though first was a logo that you find in a lot of apps).

You can have the luxury of not knowing "Java" but not

me. My father has been in so many conferences and

brought so many tee-shirts and toys with "Java" painted

on them that I can't afford to say I don't know the word

"Java". Dad gave me a Java mascot for one of my

birthday, then forgot that he did then gave me another

one for a school award I got sometime after my birthday.

Certainly he forgot to buy me a present and found these

mascots in his desk or on a shelf at Oracle. I knew the

Java logo since I was 3 years old. So going back to the

Oracle Java workshop in the big Oracle amphitheater, I

particularly enjoyed the Alice session compared to

Greenfoot session. My brother of course went the other

direction and said he enjoyed the Greenfoot session

probably because he thinks it is more complicated than

Alice. He then versed himself into evaluating many

games creation tools for kids such as Scratch.

After the workshop, I was so excited about Alice that I

presented to my principal an idea I had to create an

international computer science club where we can

organize after school events on technology and

programming. My father helped convince the Oracle Java

outreach manager (Miss Yolande Poitier) to help me turn

this project into reality. I have asked all my close friends

at school to view the animation video; my brother and I

did during the workshop for which we won the best

I

Page 3: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 3

scenery award. Both my friends and my school principal

watched the video online and were excited about it and

agreed to support my project. We have not started yet but

we are planning to advertise the idea to a broader

audience at my school and start with middle schoolers.

In a long run, I would like to grow the club and involve

girls and boys of the same age and level from Schools in

Africa or anywhere in the world. I also would like to

raise fund to organize events and trips so that we can

share the experience we gained on Alice and other

technologies with the kids of these schools. In return we

would like to learn from these kids about their day to day

live and their culture. As our school receives supports

from large companies in the bay area (e.g.: iPad for use

in school), I am planning to work with my school and my

friends to raise awareness and collect tablets and smart

devices for our partner schools in the other end of the

world so that the kids there can also use similar tools

(smart phones and tablets) to exchange with us in

equivalent conditions. This may be a dream but Alice

allowed me to dream and turn my dream into a reality (at

least virtually). Anyone who can help with this project is

invited to jump in. This is a risk worth taking because

there are equally or smarter girls like me in Africa and in

other part of the world who are just looking for an

opportunity to show the world what they are capable of.

elow is a list of ten great things I found in my

evaluation of Alice. If you want to learn more

about Alice, I recommend a good book written by

professor Dann, Cooper, and Pausch [6]. You may

consider searching for the latest edition of the book as it

is based on an older version of the software (Alice 2).

1. An attractive object oriented programming tool:

Alice is an object oriented programing tool fully

developed in Java that is very simple to use. Without

having to write a single line of java program, you can

create any object; manipulate it while having the real

feeling of programing. Using Go!Animate on the other

hand is like playing a game. You don't have the

programming control feeling. Almost everything is there

for you. You won't learn advanced object oriented

programming concepts. The sample code in Figure 3

represents a full Alice program statement with two

objects or characters (me and my brother).

Figure-3: A complete program statement

As you can see in this script, the Alice language is just

like the human language (English). In my example, I

used the commands to make my brother get me a can of

soda (that is what he never does in real life). I don't like

to display the java statement but sometime I do it not to

disappoint my dad. Guess what my little brother tried to

convince me that Alice is too girlish that's why he went

with other tools (Greenfoot, Scratch). I did not buy into

his argument. Then everyone went on his side with his

preferred tool after he spend a good amount of time to

record his voice as the frog in the "Princess and the frog"

project. I need to give him a good credit for that at least.

As for a pure Java programming, I don't think an

ordinary person will understand a thing about what it

B

Page 4: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 4

means if he or she hasn't learn it before. That is not the

case with Alice. You can be ready to go in couple of

hours. I was playing with Alice codes and wrote a

working program the first day of the class. Of course a

skilled Alice programmer will do it more intelligently but

I wanted to create something fun that works while giving

hard time to my brother. So this is just a new learner

example not an expert like coding style.

2. 3D (three dimensions): Alice 3D effect makes

everything look authentic and beautiful. Go!Animate is

great but very plain and looks more like a cartoon.

Figure-4: A 3D rainforest scene in Alice

Figure-5: 2D outdoor scene in Go!Animate

Compare the trees in both images of Figure-4 and Figure-

5: in Alice the objects are well shaped as in real word

(Figure-4), in Go!Animate the images are bright but flat

(Figure-5). The Alice colors have much more contrast

and are more vibrant and attractive than Go!Animate.

3. Intuitive graphic control interface: With Alice you

can control your objects, tell them what to do and where

to go as if you are really interacting with them. With

Go!Animate it is different; you can't move your objects

wherever you want and you can't move any of your

objects parts (say moving hand to say hi!). Go!Animate

movement are predefined (there is nothing you can

change or customize). In the example illustrated in

Figure-6 we demonstrates how a character (here the

nativeGirl instance) left hand is moved (action) right

(direction) for a certain distance (0.25).

Figure-6: Alice moving statement

4. Java based programming environment: Alice is not

a simple animation tool. You can use it to create fun or

education Alice and java program depending on your

programming proficiency. Go!Animate is an animation

tool with less interactivity and creativity for its users.

5. Free: The Alice software package can be downloaded

for free at www.alice.org [2]. Getting freely such a

powerful tool created by a prestigious University like

Carnegie Mellon is incredible. Go!Animate is not free.

To use Go!Animate at full capacity, you would need a

membership that cost over 50$ per year. There are

however discounted price for school and education with

the online service.

6. Multiple direction and positions: Objects can be

moved forward, backwards, left, right, up, and down.

These basic movements are all available in one tool. That

makes it much simpler to manipulate your objects like in

real life. We will discuss next other more advanced

movements such as rotation.

Page 5: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 5

7. Powerful drag and drop and objects rotation: Alice

enables you to drag your object to your desired spot in

the scene (position). Additionally you can get your object

to rotate 4 different directions (forward, backwards, left,

and right) using the rotation handle style as shown in the

red rectangle of the left side of Figure-7.

Figure-7: Rotation Handle style

Figure 7 demonstrates how to rotate your object (here a

native girl) using Rotation Handle Style in a scene we

created for one of projects (M-Learning and Tele-

Medicine).

8. Appropriate for younger learners: Alice is ideal for

young users. I've personally thought programing and

developing animations were for older and advanced

technical people, but Alice completely proved that

statement wrong. Alice is a great tool for young learners

to create games and animations without having much

experience in programming.

9. Advanced camera function

Alice makes it easy to change the position, view of your

3D virtual word and objects by enabling you to control

the camera like a movie producer/director and decide

when and how to move the camera to your desired

position/view in which sequence and for how long. You

can do this by programming the camera or by creating a

camera marker for it to follow. Figure-8 represents two

camera markers covering two different scenes. An

animation is then driven by the camera scenes sequence.

Figure-8: 2 camera markers

10. Virtual world and interactive game tool: Alice is a

programming tool that allows you to create a 3D virtual

environment with interacting objects and characters. You

can also create interactive games with your objects by

programming them to respond to keyboard or mouse

commands. Additionally, Alice has a very colorful

design feature that makes it more appealing to people

with artistic talent.

n what follow, I will review equally ten cases that

demonstrates Alice limitations compared to the

Go!Aninate animation tool. I selected the few that I

spent time playing with both in Alice and in Go!Animate.

1. More objects: Alice has many of objects, but it's

still missing trendy day to day objects such as a

T.V, playground, pizza, laptop, tablets, iPhone,

computer parts, worm, rainbow, and many more.

In addition, objects list scroll down dialog box is

limited (in the code and in the scene editor): in

an Alice program with 50 to 100 objects, you

can't scroll to the last object in your screen as

illustrated in figure 9 and 10.

2. More characters styles: Alice needs more

varieties of characters hair and clothing styles.

Alice does not provide a built-in capability to

include your own design or object. It does not

include cultural objects and characters with

I

Page 6: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 6

different ethnicity (e.g.: African characters). I

would be delighted to design clothes for

characters representing an African girl and

upload it to Alice for my future projects related

to Africa (Figure-11). In our Tele-Medicine

project, in order to represent an African woman,

we had to use the pre-built Native Indian-

American character. I would have loved to

customize the video with characters to fit the

context of my projects.

Figure-9: Snapshot of missing scroller in code editor

Figure-10: Snapshot of missing scroller in scene editor

3. Smoothness in the actions: Alice should make

the characters walk and talk more naturally to

make the life of a mini-programmer like me

easier. In the "Princess and the Frog" animation

[4], I had to use very difficult animation tricks to

make the frog talk and the princess move

smoothly. I had no choice but to make her slide

instead of walking naturally.

Figure- 11: Snapshot of a character customization

4. More emotions: Alice has many movements to

express emotions, but it is lacking facial

expressions such as being angry, confused,

embarrassed, happy, sad, sick, and more. For the

"Princess and the Frog" project [4], I would have

loved to use two different degrees of emotions

(princess very shocked/scared the first time she

saw the frog then moderately shocked/scared the

second time she meet with the frog).

5. Time Saving: Instead of re-running the program

to test a fix of a bug (error), Alice should just

make you replay only the part you want to

review, instead of running the whole program.

That would save a lot of time to every Alice user.

6. Abundant bugs: After three (3) runs of the

application, Alice program systematically

crashes. I can't even recuperate my current

working project. To avoid these crashes, I have

to save my project every time. Sometimes to

clear the cache, I use a trick we learned from the

class: restart the whole Alice program. This is

Page 7: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 7

understandable as I was using an earlier released

version of the software (Alice 3 Beta). But

tuning the system performance up and adding

more memory did not help either.

7. Copy paste mechanism: Alice does not have

any copy/paste mechanism. There are areas of

the program that you would like to duplicate and

change slightly the behavior of one object only.

With the beta version, you have to retype your

changes all over again even if it was already

done before. My dad said I should use

"inheritance" but this is still too much for me.

8. Objects conflicts: In the object editor when

objects are too close to each other it becomes a

real hassle to move the one you want to replace.

Alice has a hard time differentiating the two

objects that are close to each other.

9. Java code generation and video exporting: I

was hoping to have my dad help me implement

advanced concepts in my project but we could

not get any java code generated. Then when I

struggled to get my project to work properly after

many bugs fixes, exporting my animation or

posting it online did not work well either. The

output was not clear: It was blurry. I had to use a

video capture tool to get my video online.

10. Online and auto-save capabilities: An online

feature to access projects from anywhere will be

very popular with kids and mostly if it is coupled

with auto-saving capability. But I understand

from dad that these require hosting and

maintenance services as well as web adaptation

of the software which can be quite costly for the

small Alice team.

There may be other appealing features to add to Alice

(Alice team may already be working on), but at this stage

I selected the few that I spent time playing with both in

Alice and in Go!Animate.

In what follow, I will review few "nice-to-have" features

for Alice compared to a full animation tool like

Go!Animate. These recommendations are only based on

my knowledge of the Alice Beta version.

I will revise this paper after I evaluated and used the

latest version of Alice (most of the majors issues may

have probably been addressed).

I I've gathered additional qualities of Go!Animate which

are not necessarily limitations from Alice's perspective

but would be nice to have in Alice.

1. Voice recording: A built in recorder in Alice

would be ideal. With Go!Animate to include my

voice I simply have to use a microphone and

record my narration directly in the application

which is automatically added to my animation.

2. Text to Voice Recording: A good feature is the

one that allows you to type text and record your

dialog as illustrated by the snapshot in Figure-12

from Go!Animate.

Figure- 12: A dialog box from Go!Animate

Figure-13: Go!Animate Action emotion selection

Page 8: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 8

3. Emotions: It will be nice if Alice has more

varieties of emotions and actions like the ones in

Go!Animate. The illustrations of Figure 13 and

14 show two variants of emotions: boy in love

and girl happiness.

Figure-14: Go!Animate Action emotion selection

4. More objects and characters: Go!Animate has

many varieties of day to day objects and varieties

of characters that will be nice to have in Alice.

Figure-15: Snapshots of different varieties of objects

5. Special effects: How about special effects like

the ones listed below found in other animation

tools such as Go!Animate, namely: snow fall,

curtain and heart, crowds, and news headlines.

Figure-16: Snapshots of Go!Animate's Special Effects

6. Cameras cut and zoom: an easy mechanism for

directing the camera selection (dynamic cut and

zoom) as illustrated below in Figure-17 will be a

valuable function in Alice.

Figure-17: Cut and zoom camera qualities

If Alice can add these features it would be unbeatable.

However Alice has many good things to justify its earlier

adoption that Go!Animate does not have.

o!Animate is quite estimable, but Alice is

exquisite. Alice makes you feel like you're doing

the work, in other world you are leading.

Go!Animate is an online application that does what it is

programed to do. In Alice you're in the driving seat and

you are free to do what you want. Personally I prefer

Alice, but there are things I'd like to use Go!Animate for

rather than Alice. A good example is after making a little

G

All About Alice - By Hania M. Guiagoussou

January 22, 2013

Page 9: By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables you to create animations in a much simpler way. lice [1] is a software development

Page. 9

funny skit, you want to share it with friends, access it

from anywhere and forget about saving it every time you

make a small change. On the other hand Alice is better

for making 3D animation, more mature videos or

advertisements. To conclude, Alice is a staggering tool

that is waiting to be used.

I recommend that you take the time to view and compare

the videos we created with the tools analyzed in this

article, namely: Alice and Go!Animate:

1. Alice "Princess and the Frog" Animation

(English with French Subtitle) [4]

2. Go!Animate U.S Constitution News Report

(School History Project - English Only) [5]

We have spent a good amount of time and efforts to

complete the ''Princess and the Frog'' animation after the

2010 Oracle Java Workshop [4]. Since then I never

stopped playing with Alice. I am about to finish a new

animation project to demonstrate how to use Mobile

Technology in Tele-Medicine and for kids’ education in

landlocked areas (particularly for girls in Africa). For this

and for future projects, I will use the latest release of

Alice (Alice 3.0) which I will first evaluate because there

are major changes and differences with the Beta version.

I will probably have to use Go!Animate for part of my

projects that Alice is missing. Alice has great potential to

help start a project and get you going but Go!Animate is

appropriate for projects such as news report or history

project like the one I did on the US constitution [5].

In the future, we are planning to work on the following

projects using Alice primarily and whenever needed we

will consider Go!Animate:

1. Mobile Technology for Tele-Medicine,

Kids/Girls Education and Knowledge sharing

From/To Africa

2. Interactive game to teach kids how to use

composting, help the planet, grow organic crops

and generate revenue

3. Video Ad on innovative thermo-solar technology

A clean energy solution for developing countries

4. Video tutorials to teach newly graduated students

how to avoid typical job interview mistakes

5. Health advisory animations for kids and funny

ESL programs for moms

1. http://www.alice.org

2. http://www.java.com/en/java_in_action

3. http://www.goanimate.com

4. http://blip.tv/M-Beauty/alice-princess-and-the-frog-

6468862

5. http://blip.tv/M-Beauty/hania-s-u-s-constitution-news-

report-6497953

6. Dann, Cooper, and Pausch, "Learning to program

with Alice", 3rd

Edition, Prentice Hill, 2006.

would like to first thank my dad for not giving up on

me and for pushing me to get into technology and

programming, my brother for helping me in my

digital dreams. I would also like to thank Professor

Wanda Dann for teaching us Alice and being patient with

all the kids during the Alice workshop, and last but not

least my favorite mentor Miss Yolande Poitier for giving

me the opportunity to learn Alice in the context of Oracle

Java Workshop and for introducing me to the OWL

(Oracle Woman Leadership).

My name is Hania Mahamat Guiagoussou;

I am 12 years old and a 7th Grader at

Fallon Murray Middle School in Dublin

California. I was born on May 21th 1999 in

Montreal, Quebec Canada. I'm an artistic

girl with lots of imaginations. My favorite subjects are

English Language Arts and Science. I would like to

someday become a doctor and practice in Africa. I am

also an active philanthropist and eager to help my dad

with his foundation to teach kids and particularly young

girls how to use technology to generate revenue so that

they can buy school supplies and clothes.

This work is sponsored by "Fondation Hissein Guiagoussou".

Contact us at [email protected] if you want to

contribute to our projects and empower little girls

like me so that together we can create more

digital values and contribute to our society.

I