Coopération

Vendredi 16 février 2007
Intervention aux ICSSEA 2006. 19th International Conference, Software & Systems Engineering and their Applications. Paris, Cnam 5-7 December
MMPGs as Art Development Platforms
 
 
Pierre R. Berger
Digital artist. Chair “Les Algoristes”
2A, impasse Marie-Louise.
78600 Maisons-Laffitte, France
Tel: +33 662 605 439 – e-mail: pmberger@orange.fr
 
Stéphane Natkin
Directeur de l’ENJMIN (École Nationale des Jeux et des Médias Interactifs Numériques)
Professeur titulaire de la Chaire “Systèmes Multimédia” du Cnam
292, rue Saint-Martin, 75003 Paris, France
Tel.: +33140272296 – e-mail: natkin@cnam.fr
 
Abstract: Digital Art could break new ground through cooperation. MMPGs (Massively MultiPlayer Games) would afford a vast and powerful support, as well for technical and legal standards as for communication, marketing, and interactive creativity.
 
Key words: Art, development, cooperation, games, platforms, MMPG, property rights, users.
 
1. INTRODUCTION
 
The reflections presented here stemmed from very practical issues emerging from the development of Roxame [1], a "painter system". Started in 2001, this system has met today its primary objectives: prove that a computer program may create, without human intervention during the process, pleasant and original works of art (The pioneer in the field is Harold Cohen, with his Aaron program [2], which inspired Roxame).
 
Though still comparatively small (15000 C++ lines of code), the project seems today outgrow the competencies and time of an isolated artist, and cooperation is looked for. That raises various issues, technical as well as legal and communication/commercial. It may be hoped that a recent and rapidly expanding field could bring answers to all these issues: the Massively MultiPlayer Games (MMPGs).
 
2. MMPGs AS A COOPERATIVE WORLDS
 
Computer Graphics is today a vastly cooperating field. Movies and games [3][4], with budgets in ten million dollars, are developed by teams, which are at times counted by hundreds, including a high number of "artists", grouped in complex organizations described for instance by Phil Co [5].
 
This working environment is certainly far from the romantic image of true "artists". We see the great painter (and he sees himself) more as a Van Gogh in his miserable hotel room than as a employee in his cubicle deep buried in a corporate building!
 
Individualism may foster genius, but also imprison in mediocrity and lack of true innovation. That is perhaps why the general public does rarely finds happiness in the world of contemporary art, where authentically provoking art is often difficult to distinguish from hoax or commercial hype. It may also justify the fact that digital art is so poorly represented in the main art Shows of Basel, Miami or Paris, as shows for instance James Faure Walker [6].
 
MMPGs could open the way beyond and forward. As explains Cory Ondrejka in [7], these games need a considerable amount of content to attract and still more to retain players month after month. The key answer is "user creation" by the players.
 
That begins with mere parameterization of the game, for instance the attributes of avatars representing the users: gender, body size, clothing, fighting capacities ("crafting"). A lot of games encourage the users to build their own private spaces inside the global game universe. It may be done individually or by group of players ("guilds"). Installation of art works, of various kinds, seems natural in these spaces. At a higher level, some players create animation movies from the game (called Machinima) or develop modified versions of the game ("mods"), with or without the blessing of the original developing team [4).
 
Then, cooperative work of artists in MMPGs would be nothing but a further step in creation, and bring the answer to digital art progress. But, even with motivated artists, how to manage such a collective action?
 
3. COOPERATION IN MMPGs: TECHNICAL AND LEGAL ISSUES
 
Ideally, cooperative artists could design, implement, and negotiate specific standards, practices, and legal frameworks to support their collective creation and protect their individual property rights. A lot of professions have built such tools, with EDI (Electronic Data Interchange), syndication tools (RSS) and more recently with Web services [8]. But these constructions are technically difficult. Worse: standards elaboration is costly as well as boring but for dedicated professionals of the specialty.
 
Then, why could not artists build partnerships with game publishers? These business corporations have the tools, teams, and know-how to manage large and complex workflow [4]). Even after delivery, the MMPGs, a shortening for massively multiplayer games, have to lead and drive large and complex communities of user-players, in strong but supple coordination with their development teams (see several papers in Alexander [7]). One may argue that the goal of a MMPG publisher may be in strong opposition with the aesthetic point of view of the artists[11]. This is probably true in most of the cases, but this type of cooperation has already been experimented informally in open virtual worlds like Habbo Hotel or Second life [12], [13], which economy relies on the user’s creation.
 
Then, the cooperating digital artists could focus on their irreplaceable role of creation. Among the artistic community, this form of partnership could be pertinent in particular for the "algorists", i.e. artists using their own algorithms as the core of their creations. They would in these worlds fulfil the daring motto of Schoeffer: "The artist's role is no longer to create a work of art, but to create creation" [10]. MMPGs would bring them the engineering platform, the quality assurance, the presentation to the public... and even a rich feedback to push their ideas further.
 
The chief remaining issue will be to design an appropriate type of contract between artists and publishers. The global legal environment of MMPGs is far from being stabilized. The publishing firms would like to keep control of the whole process. They try to constrain their users by EULA's (End User License Agreements). But the trend goes to a more and more diversified set of roles.
 
MMPGs are "spaces" if not "universes", and not simply "games" in the traditional meaning. In these New Worlds, social structures progressively integrate structures inspired by the classical ones, public as well as private. The artists, after their ancillary role under princes and churches, then their romantic role devoted to (and more or less stochastically supported by) the "collectors", are here in position to redefine their position and responsibilities, both as individuals and as groups ("studios", "schools", "collectives"...) .
 
References
 
[1] See http://www.roxame.com
[2] Pamela McCorduck: Aaron's code. Meta-Art, Artificial Intelligence and the Work of Harold Cohen; W. H. Freeman 1991.
[3] Stéphane Natkin: Jeux vidéo et médias du XXIe siècle : Quels modèles pour les nouveaux loisirs numériques, Vuibert, Paris, 2004
[4] Stéphane Natkin: Video games and Interactive Media: A Glimpse at New Digital Entertainment; A K Peters Ltd, 2006.
[5] Phil Co: Level Design for Games. Creative Compelling Game Experiences; New Riders, Berkeley CA. 2006
[6] James Faure Walker: Painting the Digital River: How an Artist Learned to Love the Computer; Prentice-Hall, 2006
[7] Thor Alexander (ed.): Massively Multiplayer Game Development 2; Charles River Media, Hingham, MS, 2003.
[8] Jean-Marie Chauvet: Services web avec Soap, WSDL, UDDI, ebXML; Eyrolles, Paris, 2002.
[9] Ron Brinkman: The Art and Science of Digital Compositing; Morgan Kaufman 1999.
[10] Nicolas Schoeffer: Le nouvel esprit artistique; Denoël, Paris 1970.
[11] Stéphane Natkin, Les jeux de demain : télévision ou cinéma interactif ? , in Le game design de jeux vidéo,Approches de l'expression vidéoludique, L’Harmattan Ed, Paris 2006.
[12] See http://www.virtualworldsreview.com/
[13] Rachel Gene, Internet Art, Thames an Hudson ed, 2004 (French version 2005)
 
Par Pierre Berger et Stéphane Natkin
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Lundi 19 mars 2007

Après chaque oeuvre exécutée, Roxame l'évalue et rédige une fiche descriptive/critique. Voici un exemple On a en haut l'image d'origine à gauche et l'oeuvre à droite.

Les quatre colonnes en dessous s'écrivent à la file en fonction de données recueillies au cours de la réalisation ou de la critique.

 

 

Par les-algoristes
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Lundi 19 mars 2007

Exemple d'une oeuvre de Roxame.

 

Par Pierre Berger
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Lundi 19 mars 2007
 
Fonctionnement général de Roxame
 
Pierre Berger 3/2007
 
Roxame interprète dans son code C++ spécifique les termes figurant dans son dictionnaire (actuellement 1400 termes environ) donnant pour chaque terme sa catégorie et sa définition. Ce dictionnaire est constamment évolutif, de nouveaux termes étant construits soit à partir d'autres termes (macro), soit par l'écriture d'une routine en C++.
 
Actuellement, l'exécution se fait terme par terme. Il n'y a pas à proprement parler de structure de contrôle, sinon la boucle obtenue par récursion.
 
En revanche, une bonne partie des termes s'exécutent en tenant compte d'un contexte préalablement initialisé ou modifié, notamment :
- pour certains termes, un paramètre numérique explicitement indiqué avant le terme (par exemple 10 ranfuzz applique un "flou aléatoire" sur une matrice de 10.10,
- le plus souvent, par fixation d'autres paramètres par des termes, par exemple one large blue house créera une grande maison aux murs bleus en position centrale ; cela peut s'appliquer à tout un processus par exemple sad abstract construit (à partir de rien) une image abstraite aux couleurs grises ;
- ce paramétrage s'applique en particulier pour le dessin des formes, dont on précise au préalable la position, la dimension, les proportions, la couleur, l'épaisseur, le style plus ou moins rigide.
 
L'essentiel du fonctionnement consiste à exécuter la boucle work.
 
Selon la catégorie :
- (macro) Roxame exécute successivement les termes donnés dans la définition
- (synonym) Roxame exécute le terme donné dans la définition
- (cinematics, et plusieurs autres catégories) Roxame exécute la routine donnée par le numéro.
 
Séquence de la session globale
 
a_day              macro              awakening palettes nw question work closure
awakening     cinematics       1
palettes           macro             colors tubess pals       
nw                    cinematics        6         
question         cinematics       7         
work                macro             nw logw zzzgen fnd work (noter que le terme work , in fine, s'appelle lui-même, entraînant le fonctionnement en boucle)
closure            macro             br        
 
Exécution d'une oeuvre
 
zzzgen            synonym          gen65 gen01 recsu rec_subject
 
Décomposition de la macro quand elle est trop longue
 
gen65              macro             gen65_1 gen65_2 gen65_3 gen65_4           
gen65_1          macro             load maxcuth segment segapla0 sat+ tres    
gen65_2          macro             load maxcutv segment segapla0 sat+ reload7          
gen65_3          macro             tres gradient1 reload3           
gen65_4          macro             lighten lighten tres load gradient reload3     
 
Appel d'une fonction C++
(d'abord une fonction d'aiguillage selon la catégorie, puis la fonction proprement dite)
 
load                cinematics       926     
 
void Cinematics (int nummdop)
{
int minhuetube, maxhuetube ,lochuetube ; bool resf ;
....
switch (nummdop){
case 1 :   //=======awakening
... break;
...
 
case 926 : Load(); break ;
...
}
 
La fonction proprement dite (extrait)   
 
void Load()
{
int loaddeb ;
loadeddoc = true;
 
...
 
Xammaq = new Graphics::TBitmap();
 
Xammaq->LoadFromFile(chained); (fonction fournie par le compilateur)
locwidth = Xammaq->Width,Xammaq->Width;
locheigth = Xammaq->Height, Xammaq->Height;
 
...
delete (Xammaq);
if (rotated_doc == true) Log("Rotated document") ;
Affich();
}
 
 
Extraits du dictionnaire, classé par catégories
 
augment                   action
average                    action
rotate                        action
 
:                                 cinematics
??                             cinematics
//                                cinematics
$                               cinematics
**                              cinematics
<                               cinematics
=                               cinematics
µ                               cinematics
affcolormode          cinematics
affcolorsetname    cinematics
cgeom                     cinematics
cgeomrd                 cinematics
load                         cinematics
reload                     cinematics
 
base_yellow                    color
black                                 color
bladder_green               color
 
class_to_region        evaluation
classify                        evaluation
critic                             evaluation
declass                      evaluation
densciel                     evaluation
histo_brights            evaluation
rec_e                         evaluation
rec_f                          evaluation
rec_greenery           evaluation
 
absolute_BW             filter
contours                     filter
contours10                filter
dark+sat                     filter
gradation                    filter
gradation10               filter
gradation11               filter
ranfuzz                        filter
x                                  filter
X                                 filter
 
arrow_left                    form
ellipse                         form
pixel                             form
triangle_down            form
 
frame_difg          geometry
strech                  geometry
sym45                 geometry
sym48                geometry
 
a_day               macro
academy         macro
additive           macro
fnd                   macro
forest              macro
gen01            macro
gen1               macro
gen10              macro
...
gen65_1          macro
gen65_2          macro
gen65_3          macro
gen65_4          macro
gen66 macro
geom10           macro
geom11           macro
mod1               macro
mod10            macro
rend1              macro
rend10            macro
rend11           macro
 
bermuda           model
board                model
boat                  model
dish_washer   model
door                  model
factory              model
milk                 model
mini_jupe        model
side-barb         model
woman_body model
woman_face   model
 
colormoderef  parameter
colorref             parameter
densblue         parameter
RGBblue         parameter
RGBgreen      parameter
 
A                      position
centre            position
coin                position
Par Pierre Berger
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Jeudi 11 octobre 2007

Pour notre prochaine réunion, nous nous joignons au Paris ACM SIGGRAPH, pour sa soirée :

Retour de SIGGRAPH 2007
Table ronde au Carrefour Numérique
Le mardi 16 octobre 2007, de 19h à 22h00

 

J'espère vous voir nombreux.

Pierre Berger

Par Pierre Berger
Ecrire un commentaire - Voir les 0 commentaires - Recommander

Calendrier

Novembre 2009
L M M J V S D
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
<< < > >>

Recherche

Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus