By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables...
Transcript of By Hania Mahamat Guiagoussou · Alice with “Go!Animate”, an online 2D application that enables...
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
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
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
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
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
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
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
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
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