Professional Documents
Culture Documents
A Model For Creativity in Creature Gener
A Model For Creativity in Creature Gener
Paulo Ribeiro, Francisco Pereira, Bruno Marques, Bruno Leitão and Amílcar Cardoso
AILab – Creative Systems Group
Centro de Informática e Sistemas da Universidade de Coimbra (CISUC)
Polo II, Pinhal de Marrocos
3030 Coimbra, Portugal
E-mail: pjcr@mail.telepac.pt
isa(fighter,human) After the mapping is finished, the module starts to make the
strength(fighter,5) projections for the blend. This is the most time consuming
defense(fighter,4) part of the process, as it needs to search a usually large
food_consumption(fighter,4) number of possibilities. This is done with a parallel search
team_colour(fighter,white) engine that works by seeking the projections that give the
colour(fighter, flesh_colour) best possible individual. Current implementation is based
made_of(fighter,flesh) on a genetic algorithm, which allows a massive search in a
pw(head,fighter) large search space. This process is accomplished with the
pw(left_arm,fighter) help of a weighted set of constraints (an implementation of
pw(right_arm,fighter) Fauconnier and Turner’s Optimality Constraints),
pw(torso,fighter) composing the evaluation function, which, in our context, is
pw(left_leg,fighter) known as fitness function. During this search phase, one of
pw(right_leg,fighter) the constraints verifies if the blend falls into any of the
possible frames.
We need to make a remark regarding the pw keyword, When the search process ends, we have the best blend
which represents a part-whole relation, meaning, for found by the mechanism, but before delivering it to the
example, that the head is a part of the whole, in this case, Output Module, there are two more phases comprised in the
the fighter. All the other relations should be self blender module: elaboration and validation.
explanatory. Although the example could be more detailed,
this should give the reader a clear view of what is intended The elaboration phase tries to enhance and refine the blend.
as an input script. However, given that we are working on a It uses the Game Knowledge Base to search for further
concepts that can be added to the new blend. For example,
if the blend results in a bird, the knowledge base may for proprietary formats. This way, it can be used in the early
contain information regarding the fact that a bird has stages of game design or has a vital part in a final product.
feathers and it can fly. Thus, we can add new features to the To exemplify some of the results provided by the Output
blended creature. The elaboration phase also applies a set of Module, the following picture shows some of the creatures
rules to the blend. As an example, if the blend represents a produced:
human fighter with just one leg, and there’s a rule
specifying that “if X is human and X has just one leg, then
add a wooden leg to X”, the blended creature will end up
with a wooden leg.
Output Module
It may be of relevance to state that we are only presenting As far as we know, we can find in Microsoft Impossible
an example that is a result of the interaction between Creatures (MIC) and Computer Artworks Evolva the works
Divago and the Output Module. We have made many more that can be most similar to ours. However, there are
experiments in these conditions, yielding a large variety of considerable differences both in approach and in general
results. However it is not intended in this document to objectives. MIC is a game that generates creatures by
evaluate the results obtained with the help of Divago, composition of parts from different sources (which is also
although it may give the reader an idea of how our system possible in our work), but it does not work at the conceptual
is going to work when concluded. level, meaning that in principle it is not possible to blend a
creature with an object or a scenario, which is viable in our
Obviously, there are some properties of the new creature project, depending on the used frames. As far as we know,
that cannot be drawn in 3D, such as strength, defense or creatures in MIC all share the same representation scheme
food_consumption. However, these too are handled by the (i.e. the same set of slots, but different values), also a big
Output Module and are returned in a formatted structure difference to our work. Evolva is also a game for dynamic
and should be interpreted by the game environment. There generation of creatures, but, as with MIC, the space of
are, of course, better and worse programming practices to possibilities is limited to a number of predefined
handle the output of our system, but that information is out chromosomes, with which the user is allowed to play. We
of the scope of this document. believe that, for achieving a game genuinely dynamic, we
need a world that is as open as possible, even taking the risk
Although we described all the processes and phases of generating less valued outcomes, which also happens
involved in the creation of a new creature, we must many times with Divago.
remember the reader that this is a work in progress and
some parts of the system are in the development stage. If Although this is an academic work with scarce funding, we
we show a more confident tone in some passages of this want to experiment to which extent we can improve content
text, it certainly has to do with the background experience novelty in games, using recent AI techniques, and in which
gained with Divago, as we already know how the different way these are received by both the game industry and the
parts of the system are, at least, expected to work. gaming community.