new features according to their needs. This framework for
algorithm animation consists of both guidelines and reference
algorithm animation model.
The guidelines will define rules to regulate the packages to
be disseminated through our repository and will cover the
following areas:
Copyright of the assets used in packages
Copyright declaration of packages
Creator information and contact e-mail
User documentation, etc.
The reference algorithm animation model is based on a
model-view-animator software structure. The model in the
software structure consists of data structures directly used
by the algorithm (such as graph data structure) and helper
structures (such as priority queue). The view is a scripting
library used to convert the models data structure into visual
data structure and render the resulting visual data structure
to the users display. Whenever a data structure is changed
throughout an algorithm, the visual structure must be changed
accordingly. The animator is used with algorithm execution
module to configure the animation sequence to highlight the
important steps performed by the algorithm execution. The
reference algorithm animation model is meant to be used
as a reference model, whereas the detail implementation
is left to the algorithm animation designer. For example,
in the implementation of our graph algorithm animation,
we use co-routines to implement algorithm execution with
animator control inserted in the execution code position where
our animation designer wants to change the visual state to
direct the progression of the animation. More detail of the
implementation of our graph algorithm animation will be
provided in next section.
Our reference algorithm animation model is somewhat
similar to the animation framework given in [1], except with
one major difference. Our model is created on top of Unity
3D, whereas the animation framework in the referenced work
is primarily written from scratch. Since Unity 3D is designed
for game and graphical software development, our model of
algorithm animation development may be accomplished more
productively. More importantly, the use of Unity 3D packages
and the Unity Asset Store can result even more re-usable
code and programming efficiency.
IV. GRAPH ALGORITHM ANIMATION IMPLEMENTATION
In this section, we explain the current implementation of
our graph algorithm animations based on the model-viewanimator
reference model. The design goal of our graph
algorithm animation is to enable learners to understand and
make comparisons among the following three common graph
search methods from a source node to a single destination:
Depth first search
Dijkstra’s algorithm
A* search
CGAMES 2015 The 20th International Conference on Computer Games