Mot-clé - architecture logicielle

Fil des billets - Fil des commentaires

04 mar. 2013

Pipeline de production : modélisation et animation 3D

3dsmax-logo.jpg

J'ai déjà abordé il y a quelques mois la notion de pipeline de production de jeux vidéo. Dans ce billet, je souhaite faire un arrêt plus long sur l'un des points déjà traité dans ce billet : la problématique liée à la modélisation 3D. Il y a une bonne raison à cela : le nombre d'artistes dans une équipe professionnelle ne cesse de grandir, et les nouvelles consoles qui vont débarquer d'ici la fin de l'année vont nécessiter des ressources supplémentaires de ce coté.

Avant de continuer, et dans un soucis de transparence, certains des liens présents dans cet article sont sponsorisés[1]. Ces liens sont affichés de cette manière : lien vers le site example.com. Comme vous pourrez vous en apercevoir en lisant ce billet, ça ne me fera pas changer de ton ni devenir dithyrambique.

Note

[1] deux raisons pour cela : d'abord, être contacté par un sponsor pour insérer dans un article des liens qui sont en rapport avec le sujet de l'article lui même, j'appelle ça de la chance. Ensuite, la migration vers mon nouvel hébergeur est un peu coûteuse - c'est donc un moyen efficace de limiter la facture.

Lire la suite...

20 juin 2012

Valeurs et entités : les deux grandes classes d'objets

Mise à jour : les commentaires de ce billet ont mis en évidence un problème plus que certain dans la relation illogique que j'ai établi entre sémantique de mouvement (notamment telle qu'elle est implémentée en C++11) et entité. Du coup, ce billet a été corrigé. Je le publie de nouveau en tête de page afin de permettre aux personnes l'ayant lu au moment de sa sortie de voir ces corrections.

En programmation objet, on manipule différents types d'objets. Certains obtiennent naturellement un constructeur par copie, d'autres non. Certains sont utilisés via des pointeurs, tandis que d'autres sont simplement copiés ici et là au gré des besoins. En bref, et même si vous ne vous en êtes pas encore rendu compte, certains de vos objets ont une sémantique de valeur, tandis que d'autres ont une sémantique d'entité.

Le but de cette article n'est pas de vous apprendre aujourd'hui à différencier une valeur d'une entité, mais de vous faire toucher du doigt ces deux grandes classes d'objets que tout oppose.

Lire la suite...

10 oct. 2011

Dangers et pièges des systèmes de suivi des références

On conçoit aisément qu'il est très difficile de bien concevoir une application ou une libraire : cela demande des connaissances pointues en design ainsi qu'une imagination débordante. Par contre, il est très facile de mal faire : il suffit de se laisser appeler par les sirènes des différents pièges qui, nonchalamment, s'installent sur notre route.

Ce billet traite de l'un de ces pièges : la notion de propriété des objets dans un programme.

Je sais, vous avez déjà lu cette introduction récemment...

Lire la suite...

18 août 2011

De la gestion des gestionnaires

On conçoit aisément qu'il est très difficile de bien concevoir une application ou une libraire : cela demande des connaissances pointues en design ainsi qu'une imagination débordante. Par contre, il est très facile de mal faire : il suffit de se laisser appeler par les sirènes des différents pièges qui, nonchalamment, s'installent sur notre route.

Ce billet traite de l'un de ces pièges : l'omniprésent gestionnaire, qu'on retrouve à peu prêt partout, et dont on sait peu de choses.

Lire la suite...

14 mar. 2011

De la gestion de la mémoire

Et bien, il était temps ! Après plus d'un mois sans nouvelle, ce blog commençait à se dessécher, et sa peau parcheminée commençait même à craquer. A ma décharge, je dois dire que je prépare un volumineux, très volumineux scénario pour Dungeons & Dragons 4 qui devrait paraître dans un numéro ultérieur du webzine Petit Dragon, et que cette activité est tout aussi chronophage que mes activités sur ce blog (ce qui pose un problème puisque les journées n'ont que 24h). Mais je vais tenter de publier un autre article d'ici la fin du mois (et si j'en ai le temps, je tenterais d'être plus régulier à l'avenir).

Maintenant que tout est en ordre, attaquons le sujet du jour, et parlons justement de ces gestionnaires de mémoire. Je ne vais pas ici vous livrer le code d'un gestionnaire de mémoire ; inutile de me poser des questions sur les algorithmes à utiliser ; tout ceci est un problème d'implémentation, alors que pour une fois (étrange, me direz vous) c'est le coté fonctionnel et la vision architecturale qui m'intéresse. Incroyable, non ?

Lire la suite...

08 fév. 2011

Code source de jeux vidéo

Non, ce n'est pas un post qui va vous dire de télécharger tel ou tel jeu sous un prétexte quelconque - et surtout pas sous couvert d'une idéologie ou le libertarisme serait imposé ; chacun fait ce qu'il veut, après tout - c'est ça la liberté. Ce post a pour mission de recenser quelques jeux dont le code source est libre, parce que je suis en train d'en étudier certains afin d'en extraire ce qu'on nomme avec un amour révérencieux du cliché la substantifique moelle.

Nottez quand même que la plupart de ces jeux ne proposent que leur code - pour pouvoir jouer à ces jeux, il faudra quand même l'acheter afin de pouvoir installer les données du jeu. C'est normal : bien souvent, la réalisation de modèles 3D, des textures, des sprites et autres musique a nécessité plus de temps que le développement du code lui même. Il serait injuste de proffiter de tout ce temps sans en remercier d'une manière ou d'une autre les développeurs (il n'y a qu'à voir ce qui se passe actuellement avec Lugaru HD pour voir que tous ne partagent pas ma vision).

Mise à jour: ajout d'Alien Swarm (merci Dri) et Allegiance (merci Hydroxid Acid).

Lire la suite...

31 janv. 2011

[Code source] preview de ekogen 0.5

Non, [ekogen 0.5] n'est pas encore sorti - ça ne saurait tarder ceci-dit. Mais puisque j'ai écrit deux posts sur le sujet sur gamedev.net, il me semblait logique de faire profiter mes lecteurs francophones de mes réflexions sur le sujet. Voici donc une version réécrite des deux posts de GD.net - en français, avec des explications en plus.

Lire la suite...

19 janv. 2011

[Code source] ekogen v0.4

La librairie de chiffrement basée sur OpenSLL présentée dans un billet récent évolue et deviens plus utilisable. La version 0.4 est disponible en téléchargement sur developpez.com (ainsi que sur ce blog, attachée à ce billet).

Lire la suite...

08 oct. 2010

Alors, qu'est-ce qu'un architecte ? La réponse de Vitruve

J'ai posé la question il y a quelques semaines, et j'ai eu bien des réponses - toutes aussi intéressantes les unes que les autres. La réponse de Christophe Moustier m'a intéressé au plus haut point, parce qu'il est reparti de la définition du grec :

architecte : en grec "αρχιτεκτων" (arkitekton), littéralement "la poutre maîtresse", "l'ossature principale".

Cette définition entrait en résonance avec mes propres recherches : je suis remonté au plus ancien traité d'architecture qui nous soit parvenu - De Architectura, de Vitruve, paru vers -25 avant notre ère. Morceaux choisis...

Lire la suite...

08 sept. 2010

Alors, qu'est-ce qu'un architecte ?

Il y a peu de temps, j'ai publié un article qui expliquait les différences entre l'architecture logicielle et la conception logicielle. Au fur et à mesure de mes pérégrinations "internetienne", je lis des chose, et je m'aperçois que les définitions que j'ai donné dans cet article, bien que relativement juste, n'en sont pas moins terriblement incomplètes. En cause, la définition même de mon métier : quel est le travail de l'architecte logiciel ?

Je vais être honnête avec vous : à ce stade, je n'ai pas vraiment de réponse à cette question. J'ai des éléments de réponse, oui - j'en ai déjà livré quelques uns sur ce blog. Mais pas de réponse complète, définitive et correcte.

Je vais donc vous poser une série de questions :

  • Qu'est-ce que l'architecture logicielle ?
  • Qu'est-ce qu'un architecte logiciel ?
  • Quel est le travail d'un architecte logiciel ?
  • En quoi ce titre est-il adapté ?

J'attends vos réponses avec une impatience non dissimulée !

- page 1 de 2