Archive

Archives pour la catégorie ‘Code’

Interpréteur Brainf*** en C++

12/03/2010 6 commentaires

Connaissez-vous le Brainf***? C’est un langage de programmation ultra-minimaliste inventé par un compatriote helvétique dans le but avoué de torturer les neurones des programmeurs de tous poils.

J’ai profité de quelques instants libres pour travailler un peu mon C++ en écrivant un énième interpréteur pour ce langage. Il se veut standard, sans fioritures, et donc sans intérêt par rapport aux nombreuses alternatives déjà disponibles, mais après tout, c’était à but purement éducatif.

Fractale de Mandelbrot générée en Brainfuck
Fractale de Mandelbrot générée en Brainf***

Vous trouverez une solution Visual Studio 2008 contenant du C++ tout ce qu’il y a de plus ANSI à cette adresse. De plus, le script permettant de générer cette jolie fractale est disponible par ici. D’ailleurs, plein de scripts et d’outils liés à ce merveilleux langage sont disponibles sur ce site.

Categories: Code Tags: ,

GameLab ’09 : Slides

03/07/2009 7 commentaires

Hello,

As I said during my speech, you can now download the slides I used during the Gamelab 2009 for the session « Developing DOFUS 2.0 : Overcoming challenges in Flash/AS3 MMOG development ».

This presentation is about two of the many challenges we faced during the DOFUS 2.0 coding : the animation engine (« Tiphon ») and the tooling.

I had a pleasant time being a speaker at this conference ! It was very interesting, and Gijón is a beautiful city. Thank to all of you who woke up so early to attend the session.

Here is the download link !

I’m gonna have another speech at the GamesCom later this year. I’ll be happy to see some of you back there. Thank you again for your attendency, and I’ll see you next year (if not before) !



Bonjour !

Cette année, j’ai participé à la conférence Gamelab, en Espagne, en donnant une conférence sur le thème « Developing DOFUS 2.0 : Overcoming challenges in Flash/AS3 MMOG development » (« Développer DOFUS 2.0 : Dépasser les difficultés dans le développement de MMOG en Flash/AS3″).

Cette présentation portait sur deux des nombreux challenges que nous avons rencontré durant le développement de DOFUS 2.0 : le moteur d’animation (« Tiphon »), et les outils.

Vous pouvez retrouver les slides que j’ai utilisé durant cette présentation par ici.

Si vous faites partie de l’industrie des jeux vidéo, je vous recommande de passer à la conférence de l’an prochain. Les thèmes abordés sont intéressants, et Gijòn est une magnifique ville dans un très beau pays. D’ici là, je vais également participer à la GamesCom à Cologne en août. Cette conf’ promet d’être intéressante, n’hésitez pas a y faire un passage.

Categories: Code, Conception Tags:

Audit de code AS3/Flex automatisé

18/05/2009 Aucun commentaire

L’intégration continue et les méthodologies Agiles semblent de plus en plus intéresser Adobe ces dernières années. Après l’intégration officielle de FlexUnit dans les projets open-source managés par la firme, il semblerait qu’une prochaine étape importante soit sur le point d’être franchie.

En effet, en surveillant Confluence, le Wiki d’Adobe Open Source, une nouvelle catégorie, encore inaccessible par le listing des projets classique, a fait son apparition le 29 avril.

Il s’agit de Flex PMD !

Cet outil permet d’analyser du code source AS3/Flex pour y détecter des problèmes potentiels et des soucis de performance. Il s’agit, tout comme son homonyme PMD (pour Java), d’une solution d’audit et de monitoring de qualité de code automatisée.

Il s’agit là d’une grande avancée d’Adobe sur le chemin du développement flexible et des outils d’intégrations continue, que l’on ne peut que saluer. En plus, il semblerait que ce projet soit mis en place par Adobe France (Xavier Agnetti et Daniel Taborga ont tous deux contribués aux pages du Wiki).

Rien ne semble toutefois accessible au commun du mortel pour le moment, la page de téléchargement étant vide, et le SVN n’étant pas encore accessible en lecture. À surveiller !

[Edition: Le projet FNA sur Google Code contient ce qui semble être une pré-version de Flex PMD ici. ]

Categories: Code Tags:

Le Python, c’est bien. Mangez-en.

27/05/2008 un commentaire

Ce week-end, j’ai fait mes premiers pas en utilisant Python. J’avais évidemment entendu parler de nombreuses fois de ce langages au cours de diverses discussions et dans le domaine professionnel (notamment parce que je bosse avec Trac), mais je n’avais jamais mis les mains dans le cambouis pour voir quel tronche ça avait.

En lisant The Pragmatic Programmer, je suis tombé sur une recommendation du style « étudiez au moins un langage par an », et ça m’a motivé. Du coup, voilà. Et ben putain, j’aurais du faire ça plus tôt. C’est carrément ultime. Syntaxe simple, légère, peu capricieuse mais forçant la lisibilité, documentation bien foutue, tutos poussés vraiment intéressants, vitesse d’execution excellente, grande quantité de bibliothèques, …

Je me réjouis vraiment d’utiliser ça dans un contexte un peu plus serieux que dans ma petite sandbox. Allez, je suis sûr qu’il va bien falloir deux ou trois moulinettes à coder dans la semaine qui arrive… Histoire de me mettre dans le bain et de passer en revue le langage rapidement, j’ai réimplémenté un algo que l’on utilise sur Dofus pour la génération des noms de personnages, et qui est accessoirement ultra-connu: les chaînes de Markov.

Z’allez voir, c’est que du bonheur.

Lire la suite…

Categories: Code Tags: , ,

"expecting leftbrace before dotlessthan"

23/05/2008 Aucun commentaire

Adobe a publié la semaine passée une première beta du Player Flash 10 (nom de code : Astro), implémentant une mise à jour de l’API de dessin, Hydra et quelques modifications de langages, dont le type Vector.

Je ne reviendrais pas dessus, car c’est un sujet qui a été largement couvert par de nombreux blogs, voici simplement quelques liens :

J’esperais plus des modifications de langage apportées par Astro. Si l’implémentation du proposal:Vector est une excellente chose, l’absence de nombreux éléments des drafts ECMA4 fait mal.

Et là où je déplore le manque, c’est surtout sur l’impossibilité de déclarer des classes génériques personnalisées :

package {
    public class CustomGeneric.
    {
    }
}

Et bim: 1084: Syntax error: expecting leftbrace before dotlessthan.

En lisant la discussion sur les paramètres-types, je m’attendais à pouvoir faire ça de mon côté. Et visiblement non. Dommage… Une prochaine fois? Après tout, ce n’est qu’une première beta.

Allez, salut.

Categories: Code Tags: ,