Phoque you !

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 16 mars 2012

Migration

Hellow,
Je ne suis pas revenu poster la suite de l'IA de résolution de Logimage, c'est (presque) normal. J'ai fini le système de sélection des cases pleines a coup sur et de placement des points (avec malgré tout toujours ce risque de faux positif), et j'ai mis de coté un peu le projet.

Je me suis entre temps mis sur un projet plus rigolo, a savoir reproduire un rubik-cube en OpenGl. Le projet a bien avancé, et les fonctionnalités de base sont implémentées. Vous trouverez la dernière version dans les liens en bas. Pour les contrôles, "zqsdae" permettent de sélectionner la ligne que l'on veut déplacer (pour chaque axe) et "ijkluo" de les déplacer pour de bon.

Mais ce billet au vue de son nom n'a pas pour but de vous raconter mes derniers projets, mais plutôt d'annoncer la fin de e blog et de sa courte et peu agitée vie. Tout informaticien se doit d'avoir un site vitrine qui montre ses projets, et j'ai franchi le pas : j'ai pris un hébergement OVH et je m'en vais construire ce site. Il n'est pas exclus (et c'est d’ailleurs le seul module actuellement installé) que je fasse un blog, mais le nouveau sera sensiblement différent de celui ci pour différentes raisons que je ne veux expliquer ici.
Donc voila, après environ un an (?) d'activité, ce blog touche a sa fin.

Je fais une grosse bise aux peu de visiteurs, et aux revendeurs de piscine qui squattaient mes commentaires, et vous dit peut être a une prochaine sur mon nouveau site.

Bye !

deneb

Et maintenant les liens :

Le Rubik cube v0.5 : Rubikioute0.5.zip
Mon nouveau site : bblois.fr

mardi 28 février 2012

Tel le phénix...

Cela faisait longtemps que je n'avais pas eu l'envie ou la motivation de poster un billet. Il est temps de dépoussiérer quelque peu ce blog avec du sang neuf !

Étant actuellement en "pause" scolaire et exilé en Angleterre, il se trouve que j'ai plein de temps a consacrer a des projets persos (ce qui n’était pas arrivé depuis un certain temps). Ce blog étant principalement fait pour raconter un peu mes projets du moment, et leur avancement, j'ai enfin de la matière :).

Bref, trêve d'intro, pourquoi écris-je ce soir ? Et bien pour vous présenter un de mes petits projets du moments, j'ai nommé : l'IA de résolution de Logimage !

Premièrement, pour ceux qui ne savent pas ce qu'est un logimage (ou puzzle japonais, ou picross), je vous invite a regarder la page wikipedia qui l'explique.

Bien, maintenant que tout le monde sait de quoi l'on parle, on peut donc commencer.

Il y a quelque temps que je réfléchis avec un ami aux différentes manières de résoudre ce type de casse tête et a la manière de généraliser le raisonnement. L'ami en question a fait un logiciel en java qui permet de faire des logimage, sans avoir d'IA de résolution, et moi... rien.

Cependant, je suis sur que l'on peut généraliser de manière plus ou moins automatique la résolution, et c'est ce que je vais essayer de vérifier.

Afin de ne pas me compliquer la vie pour avoir une interface, et de le coupler au logiciel de mon ami s'il marche, j'ai décidé de coder cela en java.

La première étape fut l'adoption d'un format de donnée. Le plus intuitif fut un tableau a double entrée d'entiers pour la grille, et deux tableau de tableaux de nombres de blocs (un pour les lignes et un pour les colonnes). Après vérification, mon ami avait choisi a peu près la même représentation : good point.

La deuxième étape fut la création d'une interface permettant de visualiser la grille. Bah ouais, c'est plus pratique de pouvoir voir la grille pour savoir si l'IA est efficace ou non. J'ai fini une petite interface textuelle qui comblera tout a fait mes besoins pour ce petit projet, et vous pouvez en voir des petites photos un peu plus bas. Certains me demanderont peut être pourquoi je n'ai pas utilisé la super interface de mon camarade. Et bien parce que j'avais envie de le recoder, et de ne pas mixer le code a un stade encore très embryonnaire du projet.

Je suis claqué, je commence a débroussailler le début d'IA et surtout ses méthodes d’accès aux données et je vais me pieuter.

Au programme de demain, corriger la pléthore d'erreurs que j'ai laissé sur ce billet, et attaquer le gros de l'IA afin d'avoir une IA qui pré-remplit toutes les cases triviales.

Quand j'en serais a ce stade la, je referais surement une note de blog.

Sur ce, bonne fin de soirée, et bon début de nuit.

Deneb

Image de l'interface (la grille est encore vide) logimage

dimanche 19 juin 2011

Génération procédurale, Dwarf Fortress et autres

Bonsoir, Ça faisais longtemps que j’avais pas fait de notes (et je dois en faire sur quelques uns de mes projets qui sont fini).
Mais pour changer, ce soir, ça sera une note un peu 36-15 malife, et présentation de quelques trucs trouvés sur internet (au programme génération procédurale, moteur 3D, générateur de sons et surtout, Dwarf Fortress).

Pour commencer, parlons de la génération procédurale.
Qu'est ce que c'est ? C'est un moyen de générer (a la volée ou non) du contenu de manière pseudo aléatoire.
Mais ça sert a quoi ? C'est principalement utilisé en graphismes et dans les jeux vidéos, principalement pour générer des textures réalistes, ou des environnements (a base de heightmap).
C'est beaucoup utilisé Dans des jeux "bac a sable" par exemple (qui a dit Minecraft ?), ou dans les demoscènes ou l'espace est trop limité pour intégrer des textures.
Mais la question qu'on se pose tous (ou du moins que je me suis posé, moi, pendant longtemps), c'est comment ça marche ?

Le plus important est l'aspect pseudo aléatoire, qui va donner l'aspect naturel a la texture ou a l’environnement. On l'obtient grâce a divers algorithmes, mais je vais ici détailler les deux qui m'ont l'air les plus utilisés, j'ai cité : DiamondSquare et Perlin noise.

  • DiamondSquare : l'algorithme est récursif, en deux étapes a chaque itération : carré et losange.
    • Étape carré : on fait la moyenne des 4 points du carré et on élève son centre de cette moyenne plus un nombre aléatoire, le tout multiplié par la distance aux points du carré et par une variable de lissage (variable entre 0 et 1 permettant d'éviter un terrain en dents de scie).
    • Étape losange : pour chaque losange formé par les points du carré et son centre, on élève le centre de la moyenne des points formant le losange + un nombre aléatoire, le tout multiplié par la distance entre le cercle et les points et par la variable de lissage.
    • On réitère pour tout les carrés formés par l'ancien carré, son centre et les centres des losanges. Vous trouverez un lien vers un article bien plus détaille dans les liens de bas de page. Cet algorithme est tres utilisé pour la génération d’environnements, surtout montagneux. Il est utilisé par le logiciel Terragen par exemple.


  • Perlin noise : La c'est nettement plus compliqué, je vais juste me contenter de le décrire et de dire pourquoi il est super bien. C'est en fait un algorithme qui va générer une heightmap composé d'éléments ayant tous la même taille. C'est un algorithme qui fait partie de la famille des gradient noise, la génération du bruit étant basé sur un gradient (une amélioration de cet algorithme est par exemple basée sur des simplexes plutôt que des gradients).

La particularité de l'algorithme est d’être valable pour n dimensions (bien qu'optimisé pour 4 dimensions maximum), ce qui permet, si l'on choisit une dimension de plus que celle qu'on souhaite représenter, de faire une animation fluide en effectuant une simple translation dans la dernière dimension.
Mais l'algorithme prend toute sa force lors d'une utilisation fractale : si on somme cette fonction avec elle même a différentes échelles, on obtient alors un bruit bien plus inégal, plus naturel ! On a alors presque fini, il suffit de jouer un peu avec le résultat pour avoir beaucoup d'effets différents (par exemple du feu, des nuages, du marbre ! ...). Mais l'article Wikipédia, et surtout son premier lien externe en parle bien mieux que moi :).

Vous avez maintenant les deux plus grandes clés de la génération procédurale, et les moyens d'en trouver d'autres, voir même, et c'est la force de telles fonctions, les mixer entre elles très facilement.



La génération procédurale étant survolée, on peut passer a Dwarf Fortress, le jeu le plus chronophage auquel j'ai joué depuis Minecraft, réussissant même l'exploit d’être encore plus moche !
Le topo : Dans un monde procéduralement généré on incarne un groupe de 7 nains (au début, le nombre augmente avec le temps) devant construire un avant poste, destiné a devenir une forteresse. Il faudra alors jongler entre les différents métiers et possibilité pour fournir a manger et a se loger a tout le monde, ainsi que pour construire sa forteresse (ou devrais je dire creuser).
Le jeu est en ASCII art (de très bonne qualité) : "c" est un chat, "," de l'herbe, etc... , et représenté sur deux dimensions, mais il est possible également de monter et descendre sur l'axe des z.
Il faut donc dans un premiers temps trouver de quoi nourrir tout le monde et de quoi loger tout le monde, et pour cela il faut mettre en place les premières industries : charpentier, maçon...
Cependant le jeu est a réserver a une élite, la difficulté de prise en main (après peut être 10h de jeu, je suis encore loin de connaître 1/4 des possibilités et des besoins, et je joue toujours avec le wiki et un traducteur a coté), et le style graphique en rebouterons plus d'un. A réserver aux meilleurs :D


A part ça, au gré de mes pérégrinations, j'ai trouvé un utilitaire super bien fichu pour fournir des sons a vos jeux, ou même a vos applications qui sait :p. Il s’appelle "sfxr" et a l'air d’être pas mal connu et apprécié dans le milieu des GameJam.
Il permet d'exporter toute une série de son tirés aléatoirement et personnalisables a souhaits, le tout en quelques clics, et cerise sur le gâteau, est Cross plates-formes ! Le lien est en bas du billet


Enfin, dernier truc trouvé sur le net, un moteur 3D basé non pas sur les surfaces, mais sur les volume. C'est une idée que j'avais eu il y a longtemps et dont je me demandais si une implémentation existais quelque part, et bien oui. Ce n'est pas entièrement ce a quoi je pensais, mais ça gère déjà une bonne partie de l'idée. En particulier l'altération d'une surface, qui peut être très coûteuse et longue a calculer pour un moteur basé sur les surfaces, qui est géré Piece of cake par ce moteur. Et encore une fois, cerise sur le gateau, il peut facilement s'interfacer avec lesdits moteurs "a surfaces" comme OpenGL.
Ce moteur s'appelle Termite3D, et est basé sur la bibliothèque de stockage / utilisation de volumes PolyVox.
Je vais regarder ça de très près et je vous tiens au courant.

Sur ce je vais bosser un peu avant la fin de ce week-end (qui se déroulera demain vers 15h15)

See ya all.

deneb


Les liens :

DiamondSquare Perlin noise (le lien anglais est plus détaillé).
Dwarf Fortress (une communauté française existe, le lien est sur ce site).
sfxr (site du créateur, il y a d'autres programmes intéressants).
Termite3D (site de Thermite3D, contenant des exemples sympas).

jeudi 19 mai 2011

Projet IHM

Salut,

Alors comme prévu en fin de semaine dernière, voici le premier bout de mes nombreux et très prenant projets, j'ai nommé...

Le projet d'IHM, alias projet Pie-Menu !!!

Le topo était relativement simple, je le rappelle : faire un menu circulaire (nommé Pie-menu a cause de sa forme).
Il y avait quand même deux trois contraintes :

  • Le projet devait être fait en java
  • Le projet devait se baser sur des machines a états (explication juste en dessous)...
  • ...Et pour cela utiliser SwingState, une bibliothèque (potentiellement boguée) écrite par des chercheurs du LRI (dont notre prof faisait parti).

Machine a états : Une machine a états définit, comme son nom l'indique, différents états pour un système.
Ces états sont ensuite reliés par des transitions, elles même effectuées seulement sous certaines conditions.

exemple : un bouton a deux états : "ON" et "OFF" reliés l'un a l'autre dans les deux sens par la transition "Clic",
cette transition ayant pour condition que le clic soit effectué sur le bouton. (c'est un exemple simple, en général c'est un poil plus compliqué :p)

SwingState est une librairie graphique ressemblant beaucoup a Swing (une interface par défaut très connue de java). SwingState a plusieurs cartes dans son jeu :
la gestion de canvas vectoriels, la possibilité d'implémenter et de gérer des machines a état simplement, et surtout, SURTOUT, d'interfacer ces deux derniers de manière assez intuitive.
(btw, elle permet également une visualisation de la machine a état en fonctionnement particulièrement agréable).

De base, seul la création d'un menu de 8 éléments était demandée, et en plus de ceci, il y avait deux questions bonus :

  • faire des menus d'un nombre aléatoire d'éléments
  • faire des sous menus, et pour cela deux méthodes :
    • gérer un seul niveau de sous menus (le plus simple)
    • gérer un nombre indéfini de sous menus (plus difficile).

J'ai implémenté le nombre aléatoire d’éléments, et pour les sous menus, j'ai voulu faire la deuxième solutions, mais a cause de nombreux soucis et d'un manque de temps flagrant, je n'ai pas implémenté cette deuxième fonctionnalité :(

Et nous y voici enfin, mon rendu !
C'est une archive JAR exécutable, donc normalement, quel que soit le système que vous utilisez (et si tant est que vous ayez un JRE sur votre machine), il suffira de double cliquer pour lancer le programme.

Une fois le programme lancé, il suffit de faire un clic droit pour faire apparaître le menu, et de relâcher le clic sur un élément pour le sélectionner.
On peut changer le nombre d’éléments en changeant le chiffre en haut et en tapant sur "enter" (je n'ai pas mis de garde fous, donc c'est NORMAL que ça ne marche pas si vous entrez autre chose que des CHIFFRES).
L'affichage devient hautement chaotique a partir de 12-15 éléments.

note : pour des menus de 2 et 3 éléments, SwingState a l'air de merdouiller un peu et fait un problème de rotations, donc les éléments se baladent un peu partout, mais restent attentifs.
note² : Ne faites pas attention au placement des labels, ils sont souvent un peu décalés, mais encore une fois ça n’empêche pas le fonctionnement, et l'item sélectionne se met en gras, donc pas d'erreur possible.

Enfin, la traditionnelle zone des liens :



Sinon, on a enfin les sujets des deux derniers projets :

  • Projet IHM/Java/OpenGL : faire un gestionnaire de fenêtres.
  • Projet Système : re-coder find (une des fonctions de traitement de fichier les plus complexes de bash...) qui effectue une recherche de fichier.

Mais je ré-aborderais le sujet plus en détail un peu plus tard.


See you on the Moon

ps : aujourd'hui j'ai remarqué que Chrono Trigger et Dragon Quest étaient dessinés par Akira Toriyama (DBZ)... je suis fier de m'en être rendu compte tout seul (même si les mauvaises langues diront comme ma copine : il a un style très reconnaissable, c'est facile).

samedi 14 mai 2011

Projets

Salut, ça faisait un bout que j’étais pas passé par ici :p

En fait, comme beaucoup de blogueurs, j'essaye de me fixer un rythme de parution et ai du mal a le suivre.
Je sais, c'est déjà entendu et redit... mais par dessus tout ça j'ai pas eu l'inspiration ces derniers temps :
j'ai ce blog depuis pas si longtemps et je suis pas encore vraiment sur de ce que je vais dire ici...

Enfin voici une news en tout cas.

alors 36-15 ma life :

En cette période de fin d'année, entre deux DS, je croule sur les projets.
Vu que j'ai pas le temps de faire autre chose, et qu'en fait ça fait pas mal de matière, je vais en profiter pour faire des notes de blog facile :p.
Alors voici une liste des projets que j'ai, et donc des prochains sujets de notes de blog :

  • Projet Info Graphique : en OpenGL, faire un robot, un environnement, et leurs interactions (collisions, etc) (avec deux potes)
  • Projet IHM : faire un pie button (bouton circulaire) en Java avec une machine a état
  • Mémoire d'éco sur La guerre des formats avec un camarade chinois
  • Exposé d'Informatique graphique sur les fractales, avec une grande majorité de mes camarades de la Kfet
  • Exposé Marketing sur je sais plus quel truc lambda, a faire avec plein de gensse en anglais... c'est très secondaire.
  • Exposé Anglais, sur les différences culturelles entre la France et un pays anglophone, mais j'ai pas d'idée de sujet...
  • Projet système : (bientôt) l'an dernier c’était un système de forum erata : chat...
  • Projet IHM-Java-IG : (bientôt) une interface java respectant les principes d'IHM, entourant un truc en OpenGL. Je sais pas du tout ce que ça sera :s

Bien sur je doit mixer ceci avec une recherche de stage. D’ailleurs, on sais jamais :

-> Avis a tout recruteur : je recherche un CDD ou un stage entre le 1er juillet et le 15 aout. Il faut un minimum de rapport avec l'informatique.
-> Je recherche par exemple : vente de matériel informatique, hot-line, déploiement/ gestion de parc informatique...

Voila, fin de cette petite note globalement 36-15 ma life.

Prochaine note bientôt pour vous présenter mon Pie-button donc le rendu est prévu pour le 15 mai.

Voila, tchaw et surement a demain.

Ben-j

mercredi 23 mars 2011

Firefox 4

Salut salut, En ce moment je fais plein de choses et peu de choses a la fois, mais je ne vous oublie pas :) (ou j'essaye du moins). Je mettrais bientôt ici du code OpenGl ou des versions perso de quelques interfaces de Swing (java) mais on y est pas encore. Je passais juste pour vous prévenir que je ne suis pas mort, et surtout pour présenter vite fait bien fait Firefox 4.

En effet, aujourd'hui est sortie la version 4 du navigateur le plus connu au monde, et il y a une certaine liste de nouveautés (cf liens). donc principalement le changement de moteur JavaScript qui n'est pas moins de 6 fois plus rapide que l'ancien (qu'ils disent :p).

Le paquet Debian n'est pas encore disponible mais ne devrait pas tarder (on peut l'installer si on ajoute un dépôt, mais ça l’installe en anglais).

Je tiendrais juste a signaler un problème, qui pour moi est assez IMPORTANT, c'est la disparition de l'option permettant de sauvegarder les onglets ouverts a la fermeture de Firefox. Fort heureusement pour cette nouvelle mouture, ceci est corrigeable (et j'ai mis 10 bonnes minutes a trouver comment, alors comme je suis grand prince, je vous le met direct ici :) ). Il suffit de vous rendre a la page about:config (directement dans la barre d'adresse) de confirmer qu'on veut y accéder ("je ferrais attention, promis !"), et de mettre l'attribut "browser.showQuitWarning" a true (il suffit de double cliquer sur la ligne).

Voila, vous avez un navigateur viable et qui (évolution par rapport a la bêta) est compatible avec AdBlock, ce qui permet une navigation bien plus agréable. Je l'ai pas encore testé, mais je pense qu'on peut faire confiance a l’équipe de Mozilla pour nous pondre un truc bien bugé mais tout de même bien sympa :).

Bye les copains

ps : j'ai oublié de préciser, je suis désormais sur Twitter : @DrBenj42 \o/

Références :

- Télécharger Firefox 4

- installer le paquet Debian

- Améliorations - plus technique

dimanche 6 février 2011

Global Game Jam

Bonsoir, Cela fait un certain temps que je n'ai pas posté ici. Alors me voici, pour une note informatique, et même internationale :).

Le dernier week-end de janvier s'est déroulé un évènement relativement peu connu, mais très sympa, j'ai nommé : le Global Game Jam.

Le principe : des gens de tout horizons viennent le temps d'un week-end afin de créer un jeu. Quelques précisions :

- Le jeu peut être numérique (la plupart) mais aussi plateau ou n'importe quoi.
- Les gens ne se connaissent pas forcement, et les premières recherches se font en commun, comme ce sont les idées qui forment les groupes et pas l'inverse.
- Tout talent est bon a prendre, du graphiste au programmeur au mec qui fait le café.
- Les participants ont 48 heures pour trouver une idée sur le thème et créer un jeu (ou au moins une démo).

Pour cette année, le thème était "Extinction".

Je suis allé a Rennes pour participer avec un ami (Hamdi Chahed pour le citer) a moi qui est compositeur, et dans ce centre ce ne sont pas moins de 5 projets qui sont sorti des esprit (parfois malades) et des nuits blanches des participants.

Notre projet se nomme Chasing Heat, il est en C++ et utilise la lib graphique SDL (j'ai hésité a me mettre a la SFML, mais déjà vu comme le temps a manqué c'est pas plus mal d'avoir gardé des valeurs sures).

A cause de petits soucis de train et de santé de ma part, nous avons commencé en retard, et c'est en quelques 26 heures que nous avons fait notre projet (car les autres étaient déjà bien fourni ou ne nous branchaient pas trop).

Notre idée : Le thème du multi n'ayant pas été exploité, nous avons décidé de jouer la dessus. Le BG : Le soleil s'est éteint et les humains doivent fuir vers le centre de la planète et de sa chaleur pour survivre. Le Topo : 2 a x joueurs doivent creuser le plus vite pour arriver en premier et avoir la meilleure place. Cependant, les différents matériaux rencontrés sont plus ou moins long a creuser. Les plus : Des bonus afin de mouvementer un peu la partie, des Event ou il sera nécessaire de collaborer afin de gagner une avance sur les autres. En somme, des micro alliances.

Il ne s'agit actuellement que d'une ébauche du moteur du jeu final, et la plupart des fonctionnalités finales ne sont pas la. Pour l'instant, deux joueurs s'affrontent dans un environnement statique avec peu de blocs différents, et ne peuvent pas interagir entre eux. De plus, des petits soucis avec la lib gérant le son empêche de jouer le son, il faut donc lancer la (magnifique <3 ) musique dans un lecteur a la main :s.

Enfin ce n'est qu'un début et une version améliorée, optimisée (et avec un code dé-cradé) vous sera montré sous peu (des que j'ai le temps de m'y atteler.

Bonne soirée a tous, et sans plus attendre les liens :

Site de la Global

Projets proposés a Rennes

Notre Projet

Dernière version de Chasing Heat (mêmes directives d'installation que sur le site)

Myspace de Hamdi (j'ai rien trouvé d'autre :p)

mercredi 19 janvier 2011

Minecraft ou la vie !

Salut, comme je n'ai pas trop de choses appliquées à la programmation à raconter ces derniers temps, je vais vous parler un peu de ce qui occupe principalement mes journées : Minecraft.

Minecraft est un jeu de type "bac a sable" c'est à dire en gros qu'on donne un environnement au joueur, qui s'amuse a créer tout un tas de choses et a faire a peu près ce qui lui plait. Si ce n'était que ca, ce serait assez répétitif, et c'est la la force de Minecraft : même s'il est encore en bêta (depuis peu, j'ai commencé a jouer en alpha :p) il possède un contenu très riche, une communauté très active (même les francophones) , et surtout il possède une caractéristique qui permet de changer un peu.

En réalité, Minecraft possède deux caractéristiques propres : un aspect graphique "bloc" que l'on trouve repoussant au début, mais qui en réalité est très agréable et donne un style tout a fait particulier. La deuxième caractéristique repose sur le fait de devoir se procurer ses ressources dans un univers généré aléatoirement, et dans lequel une fois la nuit tombé, des mobs viennent vous poutrer la gueule (a tel point qu'on entend assez fréquemment des phrases du genre "Minecraft réapprend a avoir peut du noir").

Enfin le seul moyen de comprendre c'est de l'essayer pour ca il existe le mode classique, qui est une vieille version et est très limitée (la deuxième caractéristique est absente d'ailleurs dans ce mode). Sinon, il suffit de l'acheter, et la ca se corse, avec le passage a la béta, le jeu vaut maintenant 15$ (au lieu de 5) et toutes les MAJs ne seront pas incluses dans le prix. Cependant, le jeu les vaut LARGEMENT :D.

Enfin ce billet surtout pour vous présenter une série de vidéos sur sur Minecraft que j'ai commencées il y a peu, qui pourra vous montrer a quoi ressemble le jeu (n'hésitez pas a regarder les vidéos des chaines auxquelles je suis abonné, elles sont de bien meilleure qualité).

Voila, sur ce, je retourne jouer :)

ps :

site du jeu : http://www.minecraft.net/
- des petits soucis de serveurs le rendent difficile d'accès, bientôt réglé normalement.

blog du créateur : http://notch.tumblr.com/

Wiki du jeu : http://www.minecraftwiki.net/wiki/Minecraft_Wiki

Site de la communauté française : http://minecraft.fr/

lien direct vers ma vidéo : http://www.youtube.com/watch?v=5eJwQZOe7jg

jeudi 13 janvier 2011

Super Projet

Salut, Enfin un sujet entièrement dédié a la programmation.

  -- Lien --

Voici un super sujet que l'on donne en école d'ingé... Si Si, enfin bon, ca m'empêchera pas de ne pas avoir un programme fini (ni peaufiné) par manque de motivation et de temps dédié a ce projet (même si au début c'était plutôt bien parti).

Le code est un peu commenté, mais pas trop, surement plein de fautes d'orthographe etc, mais bon c'est du code c'est pas trop grave. A part ca j'ai essayé d'être structuré un maximum, mais ca n'est pas encore optimal... (et coder en C ca aide pas).

L'exécutable a l'intérieur de l'archive devrait marcher sous Linux, sinon je fournis un Makefile pour re-compiler tout ca (les libs SDL_ttf et SDL_mixer sont obligatoires pour faire tourner le prog) Tout le code source est dispo, vous pouvez le modifier, le réutiliser, tout ce que vous voulez (mais si vous faites de l'argent avec pensez aux royalties :D ).

Enfin dernière précision, c'est encore une version de debug, l'affichage va un peu évoluer :p.

Justement, en parlant d'évoluer, si vous avez des idées d'évolution, faites m'en part, je tenterais d'implementouiller ca.

Voila, bonne nuit :)

ps : pour les Mac'iens : le Makefile devrait marcher pour vous. Pour les windosiens, j'ai la fleme de compiler le projet, mais il est entièrement cross-plateforme, donc avec de la motivation vous pouvez le compiler pour Windows

dimanche 9 janvier 2011

Présentation du blog

Hum, déjà quasiment un mois depuis que j'ai ouvert ce blog, et je n'ai toujours pas fait ce billet de présentation que j'avais promis vite. :s Les fêtes (dont le programme a été bien chargé vous pouvez me croire) et ce début (merdique) de nouvelle année en sont bien sur la cause, et j' m'en excuse platement.

Venons en au fait, a savoir l'intérêt du blog ! A l'origine je voulais créer ce blog pour raconter mes déboires avec la programmation 3D, et retirer un certain soutien de mes quelques lecteurs, mais l'idée ayant depuis tout ce temps fait du chemin. En réalité étant développeur (je me présenterais pour ceux qui ne me connaissent pas dans un autre Billet), je me suis dit qu'il serait également bien d'avoir un dev-blog. Et enfin, j'aime bien raconter tout un tas de trucs.

Phoque you regroupera donc toutes ces fonctionnalités : les sujets principaux seront :

  • La programmation, 3D bien sur, mais aussi programmation système, de jeux, d'utilitaires, de méga projets comme de petits exemples de quelques lignes...

Je programme principalement en C/C++, mais il m'arrivera surement de poster des trucs dans d'autres langages a cause des cours, ou simplement parce que j'ai envie.

  • Les trucs de geeks (personne n'est parfait :p )
  • et tout ce qui me passera par la tête...

Voila, je crois avoir tout expliqué... Bon en réalité pour l'instant je n'ai fait que parler, mais je posterais des billets réellement intéressant un jour, si si croyez moi :D En fait il faut savoir une petite chose, c'est mon premier blog ever, donc ça risque d'être un peu cataclysmique au début, mais avec le temps ca ira mieux.

Sur ce, il est tard, et je suis encore en période de rendu de projets (a croire que c'est dans ces périodes que je viens faire un tour par ici) donc je vais donc aller m'échouer dans mon lit.

See you later Aligator

Bon, je vais quand même mettre un truc de prog : j'ai découvert récemment la fonction setlocale, qui permet d'écrire très simplement des accents en mode console en C. Allez voir --ici-- pour plus de détails sur son utilisation, mais personnellement je trouve ca assez pratique, et fou que ca ne soit pas plus indiqué dans les tutoriaux.

samedi 11 décembre 2010

Ouverture du blog

Bonjour, En ce samedi 11 décembre, et à la place de bosser dur des projets à courte échéance, je déclare solennellement ce blog OUVERT. En réalité, il est dans les cartons depuis un certain temps, et je repoussais sa mise en ligne pour des raisons évidentes de flemme, ou juste parce que je l'oubliais dans son coin. Donc voilà, il est en ligne...

Bon c'est bien beau mais maintenant il va falloir y mettre du contenu :p Je devrais déjà et surtout faire un billet pour me présenter et présenter l'intérêt du blog sous peu. Sur ce, je retourne à mes projets dans la joie et la bonne humeur :D

Bye

ps : je sais le thème du blog est immonde, je réglerais ça dans les plus brefs délais