Bonjour Nal,
Je t'écris pour te donner des nouvelles de nanim. Au départ simple format d'animation 2D basé sur protobuf optimisé pour les jeux vidéos, le projet a évolué pour proposer un outil d'édition d'animation générique.
nanimstudio
Cette version propose les nouveautés suivantes:
Compression
Je suis passé de fossil à git et ce dernier n'apprécie pas les gros fichiers. Nanim étant un format non compressé, on arrive facilement à des fichiers de plusieurs dizaines de mo...
Les fichiers d'animation peuvent ĂȘtre compressĂ©s au format gzip (extension .nanim.gz ou .nanimz).
J'envisage de gérer d'autres types de compression (bzip?) si je trouve des bibliothÚques simples.
Packaging
Je fournis un paquet pour debian et un installeur pour Windows. J'essayerais de faire des rpms ou d'autres paquets si j'ai des demandes.
J'aimerais bien faire des paquets pour Mac OS X, mais je ne sais pas si c'est possible sans acheter une machine Ă Apple.
JSON
J'envisage de faire une version web de Newton Adventure. Malheureusement, il est assez difficile de gĂ©rer des fichiers binaires avec cette (ćé€) daube (ćé€ăăăŸă§) technologie du futur qu'est HTML5.
J'ai fait un essai, mais ça donne un code est moche et des performances pas terribles... De plus la quasi totalitĂ© des cadriciels de jeu ne prĂ©voient pas qu'une nimage puisse ĂȘtre autre chose qu'une image au format png/jpg/gif.
Comme j'ai peu de chances de faire accepter nanim par (ćé€) le W3C (ćé€ăăăŸă§) (ćé€) le whatg (ćé€ăăăŸă§) la fondation Mozilla, j'ai dĂ©veloppĂ© une version web de nanim en json:
{
"animations": [
{
"name": "walk_up",
"frames": [
{
"duration": 100,
"image": "ned_image_0.png",
"u1": 0.0,
"v1": 0.0,
"u2": 1.0,
"v2": 1.0
},
{
"duration": 100,
"image": "ned_image_1.png",
"u1": 0.0,
"v1": 0.0,
"u2": 1.0,
"v2": 1.0
},
{
"duration": 100,
"image": "ned_image_2.png",
"u1": 0.0,
"v1": 0.0,
"u2": 1.0,
"v2": 1.0
},
{
"duration": 100,
"image": "ned_image_3.png",
"u1": 0.0,
"v1": 0.0,
"u2": 1.0,
"v2": 1.0
}
]
},
Code clean
J'ai également fait beaucoup de ménage: les outils peu utiles ont été abandonnés, la génération des paquets est plus simple et réduits la taille des livrables, le code a été nettoyé...
Aujourd'hui linuxfr et demain le Monde!
nanim commence Ă ĂȘtre utilisĂ© pour d'autres projets que Newton Adventure. Il y a bien sĂ»r Ned et les maki, mais aussi Akagoria et un Ă©tonnant moteur de jeu qui reproduit le fonctionnement d'une Super Nintendo.
The end?
A plus dans le bus, Nal!
# Git
PostĂ© par reynum (site web personnel) . ĂvaluĂ© Ă 2.
Utilise le fichier .gitignore, Ă priori versionner des animations n'a pas grand intĂ©rĂȘt (mais je peux me tromper)
kentoc'h mervel eget bezan saotred
[^] # Re: Git
PostĂ© par liberforce (site web personnel, Mastodon) . ĂvaluĂ© Ă 4.
Je crois que tu te trompes...
[^] # Re: Git
PostĂ© par Ê âŻ . ĂvaluĂ© Ă 3.
Ben non : il vaut mieux versionner les sources des animations que les fichiers nanim...
â Ă g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Git
PostĂ© par liberforce (site web personnel, Mastodon) . ĂvaluĂ© Ă 2.
Je ne vois pas en quoi tu n'es pas d'accord avec moi: ce que tu dis revient à versionner des animations, et ça c'est utile. Je n'ai pas parlé de versionner des sources ou des fichiers générés.
[^] # Re: Git
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 3.
Dans un jeu, les animations font parti du projet!
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Git
PostĂ© par liberforce (site web personnel, Mastodon) . ĂvaluĂ© Ă 2.
Dans ce cas, comme dit plus haut, versionne les infos permettant de gĂ©nĂ©rer les animations, pas les animations elle-mĂȘmes. Tu les gĂ©nĂ©reras Ă la volĂ©e au moment de la compilation. Dans tous les cas, tout ce qui peut ĂȘtre gĂ©nĂ©rĂ© automatiquement ne devrait jamais ĂȘtre en gestion de configuration, Ă quelques exceptions prĂšs.
[^] # Re: Git
PostĂ© par rewind (Mastodon) . ĂvaluĂ© Ă 2.
Dans le format, il n'y a que des informations pour générer des animations...
[^] # Re: Git
PostĂ© par reynum (site web personnel) . ĂvaluĂ© Ă 1.
Et juste avec ces informations
ça me semble étrange m'enfin bon, je dis ça je ferme ma g.... et je ~~~>[]
kentoc'h mervel eget bezan saotred
[^] # Re: Git
PostĂ© par rewind (Mastodon) . ĂvaluĂ© Ă 3.
Le problĂšme, qui est d'ailleurs Ă©voquĂ© dans cette dĂ©pĂȘche, c'est que les images sont stockĂ©s en format raw (RGBA) pas compressĂ© et qu'avec beaucoup d'images, ça peut faire beaucoup de place sur le disque. Avec une compression zlib, on va arriver grosso-modo Ă la mĂȘme chose que des png.
[^] # Re: Git
PostĂ© par reynum (site web personnel) . ĂvaluĂ© Ă 3.
Ok c'est bien ce qui me semblais !
Alors je reviens Ă mon raisonnement initial, quel intĂ©rĂȘt a versionner des images et pas juste les infos pour animer celles-ci ?
kentoc'h mervel eget bezan saotred
[^] # Re: Git
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4.
Ces infos sont dans les fichiers nanim :-)
nanim est un format Ă comparer avec gif ou apng.
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Git
PostĂ© par reynum (site web personnel) . ĂvaluĂ© Ă 1.
du coup ce ne serait pas plus souple de faire un fichier d'info Ă part des images ?
kentoc'h mervel eget bezan saotred
[^] # Re: Git
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4.
Ca dépends de la souplesse souhaitée :-)
Le format json+pngs est là pour ça.
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Git
PostĂ© par ClĂ©ment David (site web personnel) . ĂvaluĂ© Ă 4.
Si le problÚme de performance vient du diff binaire de gros fichiers, gitattributes te permet d'éviter cela.
.gitattributes
*.nanim binaryChaque fichier nanim sera alors vu comme un fichier binaire (git n'essaiera pas de faire un diff ni un show).
[^] # Re: Git
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 3.
J'ai eu deux problĂšmes avec les gros fichiers et git:
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Git
PostĂ© par Julien Jorge (site web personnel) . ĂvaluĂ© Ă 3.
git compresse aussi le dĂ©pĂŽt, mais seulement de temps en temps. Peut-ĂȘtre que ça ne t'es pas encore arrivĂ© ?
Pour le push http, j'ai eu le mĂȘme problĂšme avec GitHub, mais je n'ai pas trouvĂ© de solution hormis le push en ssh.
[^] # Re: Git
PostĂ© par Goffi (site web personnel, Mastodon) . ĂvaluĂ© Ă 3.
Pourquoi avoir lĂąchĂ© fossil, toi qui n'arrĂȘtais pas d'en faire la louange ?
Sinon pourquoi ne pas sĂ©parer les donnĂ©es du code ? Ăa Ă©vide d'avoir un dĂ©pĂŽt trop lourd tout en les versionnant. C'est ce qu'on fait pour SĂ T: d'un cĂŽtĂ© les mĂ©dias, et de l'autre le code (mais on a Ă©videmment beaucoup moins de fichiers binaires que pour un jeu). Mercurial s'en sort pas trop mal, m'Ă©tonne que ça ne soit pas le cas pour git.
[^] # Re: Git
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4.
J'adore toujours fossil, mais j'ai commencé à travailler avec d'autres personnes et vu que tout le monde fait du git... Monde de merde!
La gestion de version est aussi intĂ©ressante pour les donnĂ©es et c'est plus simple d'avoir tout au mĂȘme endroit.
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Git
PostĂ© par Goffi (site web personnel, Mastodon) . ĂvaluĂ© Ă 2.
Oui j'entends bien, je parlais de sĂ©parer dans un autre dĂ©pĂŽt. Ăa rend le dĂ©pĂŽt de code moins lourd (tĂ©lĂ©charger les binaires Ă chaque clone, c'est un peu relou et pas cool pour le serveur), et les mĂ©dias bougent moins souvent a priori (mĂȘme pour un jeu). Pour SĂ T le backend est dans sat, les mĂ©dias sans sat_media: http://repos.goffi.org/
La gestion de version est bien utile pour les binaires aussi, je suis d'accord.
[^] # Re: Git
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 2. DerniĂšre modification le 20 dĂ©cembre 2013 Ă 17:03.
Pour ça je clone depuis github et je push/pull avec le dépÎt du jeu. Un peu de cloud dans l'autohébergement, ça ne fait pas de mal :-)
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Git
PostĂ© par Renaud Casenave-PĂ©rĂ© . ĂvaluĂ© Ă 1.
Tu pourrais peut-ĂȘtre essayer git-annex qui est prĂ©vu pour les fichiers binaires. L'utilisation est un peu diffĂ©rente de git et le support de windows est pas au top mais c'est trĂšs prometteur.
# xz
PostĂ© par Thomas Debesse (site web personnel, Mastodon) . ĂvaluĂ© Ă 7.
xz ?
Je fais pas de java, mais une brĂšve recherche m'indique apache common compress (licence apache) et xz for java (domaine public).
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: xz
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4.
Accordé! http://git.bci.im/nanim/commit/76383f519a44c9144ffb21a632e12d59348286d4
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: xz
PostĂ© par Thomas Debesse (site web personnel, Mastodon) . ĂvaluĂ© Ă 2.
ah super !
au passage, commentaire hors-sujet, c'est joli gitlist ! :)
ce commentaire est sous licence cc by 4 et précédentes
# APNG
PostĂ© par matteli . ĂvaluĂ© Ă 2. DerniĂšre modification le 20 dĂ©cembre 2013 Ă 15:07.
Les spec de ton format nanim ne sont elles pas couvertes par l'APNG qui lui est lisible sous Firefox ?
[^] # Re: APNG
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4. DerniĂšre modification le 20 dĂ©cembre 2013 Ă 15:22.
nanim a quelques particularités:
L'idée c'est de pouvoir charger toutes les animations d'un niveau trÚs vite dans le GPU en minimisant le nombre de texture.
nanim
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: APNG
PostĂ© par Julien Jorge (site web personnel) . ĂvaluĂ© Ă 2.
Pourquoi imposer des textures aux dimensions Ă©gales Ă des puissances de 2 ? Je sais bien que de nombreuses cartes requiĂšrent des textures en puissance de 2, mais rien n'empĂȘche crĂ©er une texture de cette taille et transfĂ©rer l'image quelconque sur une partie de la texture avec glTexSubImage2D. Est-ce que ça apporte un avantage ?
[^] # Re: APNG
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4.
C'est nanimopt qui par défaut génÚrent des images de 128x128 à 1024x1024, mais ces tailles sont configurables.
Il faut que j'étudie la question!
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.