WIP

Des choses qui bougent

· 2 minutes de lecture

En ce moment, je travaille principalement sur mes cours à L'ESAD d'Orléans, sur du code créatif et la création de jeux vidéo, de Bitsy à Unity. En parallèle, je travaille également sur Mars Survival, un jeu mobile que je développe avec Joëlle Akali.

1- Processing - creative coding

L'année dernière, j'ai passé du temps à essayer d'enseigner les bases du code à des étudiants en école d'art. J'ai essayé de le faire avec PICO-8, qui est très bien, mais j'ai découvert un ÉNORME défaut à mon avis, qui reste inexpliqué. La bibliothèque par défaut de Lua n'est pas incluse, ce qui signifie que certaines fonctionnalités de base, telles que la gestion des tableaux, ne sont pas forcément incluses. Cette année, j'ai de nombreux nouveau cours et notamment avec des étudiants de deuxième année. L'idée était encore une fois de s'initier au code, mais dans le but de créer des graphismes, en l'occurrence des affiches à imprimer. J'ai donc abandonné Pico-8 pour un langage de programmation plus simple à prendre en main et mieux adapté à la pédagogie et aux artistes graphiques. Nous apprenons donc actuellement Processing/Java.

J'en profite pour l'enseigner à mes 3ème années (orienté plus JV et design d'intéraction).  J'ai commencé à documenter les exemples que je réalise pour eux et un cours classique. Ça me permet de faire du tris dans tous ce que je raconte.

0:00
/0:11
0:00
/0:22
0:00
/0:39
0:00
/0:13
0:00
/0:02

2- Mars Survival - Game dev

Tandis que Joëlle a presque terminé le scénario, j'ai bien avancé sur les différents défis techniques. J'ai mis en place mon outil de gestion narratif (YarnSpinner), travaillé sur le style graphique, la maquette et plus récemment sur le gameplay de base.

0:00
/0:04
0:00
/0:03
0:00
/0:08

 
Ma plus grosse difficulté a été de convertir les dimensions/positions de l'interface utilisateur (UI) d'Unity dans le monde 3D et vise versa. J'ai découvert qu'il y a plusieurs points de vue à prendre en considération pour le point de transformation des objets dans Unity. J'ai trouvé une bonne explication de ces différents points de vue dans ce post.

  • Local
  • World- Viewport : de [0,0] à [1,1]
  • Screen : de [0,0] à [Screen.width, Screen.height]

Viewport et Screen sont identiques, ils se réfèrent tous deux à l'écran, mais ne partent pas du même point d'origine.

local space   [-inf, -inf] to [+inf, +inf]
    \/                                     -- localToWorld (Model)
world space   [-inf, -inf] to [+inf, +inf]
    \/                                     -- worldToCamera (View)
camera space  [-inf, -inf] to [+inf, +inf]
    \/                                     -- projectionMatrix (Projection)
clip space    [  -1,   -1] to [   1,    1]
    \/                                     
view space    [   0,    0] to [   1,    1] \
    \/                                      -- handled by GPU / driver
screen space  [   0,    0] to [   W,    H] /

A+

⤜(ⱺ ʖ̯ⱺ)⤏