dimanche 24 octobre 2010

My life as a student

Me revoilà après 10 jours sans signe de vie. Alors quoi de neuf depuis le temps? L'ensemble de mes projets universitaires avance, de nouveaux sont arrivés et certains ont même changé.

Faisons un petit récapitulatif :
  • Mon projet de Tchat Géolocalisé est quasiment terminé (à voir ici),
  • Mon projet d'algo génétique est plutôt bien avancé (à voir ici),
  • Nous avons eu un nouveau projet en HCR (cours de réseau) qui consiste en la conception de clients C et d'un serveur JAVA constituant (en communiquant) un annuaire distribué (sujet à voir ici),
  • Et finalement j'ai demandé à changer de sujet de FMR qui est donc maintenant la conception d'un jeu XBox Live en utilisant la suite d'outils XNA (présentée dans cet article).
Bien qu'il me faille terminer chacun d'entre eux, je dois avouer que ce dernier me tient tout particulièrement à cœur. En effet, sans compter l'article précédent, il faut admettre qu'il est assez stimulant de travailler sur un jeu. En fait ici je ne suis pas censé travailler directement dessus, mais simplement faire un rapport technique sur le sujet, suivi d'un rapport global incluant le technique, le financier et d'autres sujets concernant la création d'une entreprise pour ce secteur (car oui, il s'agit bien ici de créer une entreprise).

En réalité, le sujet de la matière FMR est de proposer un projet de création d'entreprise innovante. Le choix de l'entreprise et de son activité est laissée au choix de l'étudiant qui doit savoir trouver un sujet compatible et monter un dossier suffisamment solide pour être validé par un jury. S'il est validé (rien à voir avec la note), l'entreprise sera alors créée (même si c'est plus long qu'il ne l'est décrit ici).

Pour le moment, j'ai déjà commencé mon rapport technique et j'ai plutôt bien avancé dans l'ensemble de l'analyse technique. La partie conception est elle aussi bien amorcée et je pense que j'aurai fini dans les temps.


Comme je ne pense pas en écrire long sur le sujet ici, je vous propose de suivre assez souvent l'évolution du projet sur le blog (wordPress) qui lui est dédié ici, même si il est assez vide pour le moment...

mercredi 13 octobre 2010

XNA : le couteau suisse du développeur amateur !

Ça faisait bien 10 jours que je n'avais pas donné signe de vie, mais c'est normal : entre temps j'ai découvert le magnifique XNA !


Qu'est-ce que XNA? Comme dirait mon cher ami Wikipédia :
Microsoft XNA, officiellement XNA's Not Acronymed, parfois présenté dans les médias Xbox Next-Generation Architecture, désigne une série d'outils fournis gratuitement par Microsoft qui facilite les développements de jeux pour les plates-formes Windows, Zune, Windows Phone 7, et Xbox 360 en réunissant un maximum d'outils en provenance de Microsoft et de ses partenaires (DirectX, Visual Studio, PIX, XACT).

Il contient principalement un framework, des outils d'intégrations de contenu, et la documentation nécessaire. L'IDE utilisé, à télécharger séparément, est Visual Studio.

Avec XNA, Microsoft est le premier constructeur à ouvrir la porte au développement indépendant sur sa console Xbox 360. Les jeux produits sont distribués via le Xbox Live.
En bref, quand on est seul à programmer (comme moi) ou peu nombreux, c'est la possibilité la plus concrète et la plus économique de se lancer dans la programmation sur console.

Comme le dit Wikipédia, XNA c'est un ensemble d'outils et je vais donc vous présenter ici ceux qui me paraissent les plus importants (de mon point de vue de développeur).



Tout d'abord, la programmation se fait en C# et permet donc de faire des jeux portables sous les plateformes Microsoft (Windows, Zune, XBoX 360 et Windows Phone 7 pour XNA 4.0). Bien évidemment, des adaptations sont à faire selon le support, mais on peut dire qu'elles restent mineures puisque le langage ne change pas et que les bibliothèques sont les mêmes.

D'ailleurs, ces bibliothèques sont extrêmement pratiques : tout est pris en charge et il n'y a plus qu'à coder l'important. Il existe des structures permettant de stocker des positions pour environnements 2D ou 3D, l'utilisation des périphériques se fait en quelques lignes, que ce soit de l'audio, de la vidéo ou même la prise en compte des manettes. Les manettes, quelles soient connectées ou non, sont toujours initialisées et permettent donc de savoir si oui ou non elles sont connectées, un véritable plus pour savoir directement s'il faut stopper le jeu ou interdire de choisir deux joueurs s'il n'y a qu'une manette par exemple.

Pour ceux qui hésitent encore et qui ne connaissent pas le C#, il faut savoir que c'est sensiblement semblable au Java, mais en mieux. D'ailleurs, je vous invite à lire la doc en ligne sur le site de Microsoft, elle est véritablement bien faite, complète et embarque de nombreux exemples, que ce soit pour C# ou XNA.



Un autre outil assez intéressant : XNA Game Studio Device Center qui permet d'ajouter des périphériques à Visual Studio afin de tester vos jeux directement dessus. Une fois un périphérique sélectionné comme principal, il n'y a qu'à lancer l'exécution (en lançant le programme XNA fournit sur la XBoX 360 par exemple) pour que le jeu soit exécuté sur la console. Petit plus, en faisant un clic droit sur le périphérique (comme indiqué sur l'image ci-dessous), on peut faire une capture d'écran.

Enfin voilà, avec XNA, vous avez tout pour pouvoir réaliser facilement, gratuitement et rapidement des jeux amateurs et pourquoi pas les vendre un jour? ;)

Temps additionnel : 
J'ai d'ailleurs fait pendant ces 10 jours une petit démo technique sur ma 360 pour voir un peu comment fonctionne XNA. Je vous laisse avec quelques screens et leurs légendes.






dimanche 3 octobre 2010

Napoléon ou le tuto d'encodage

Vendredi, j'ai reçu l'un des deux jeux que j'ai commandés chez Amazon : Civilization V. Possédant déjà Civilization IV et les multiples addons sortis, je ne pouvais passer à côté de cet épisode fraichement développé.


Le résultat? Cet épisode est largement digne de son prédécesseur et vaut évidemment son prix (d'ailleurs, sans vouloir faire de pub, je vous le recommande sur Amazon : 37,50€ + frais de port offerts). Si les captures d'écran ne semblent pas mettre en valeur les graphismes du jeu c'est parce qu'à son lancement, le choix est donné entre l'utilisation de DirectX 9 et des versions ultérieures. Et comme j'utilise xFire pour tout ce qui est capture, et que celui-ci ne reconnait que la version DirectX 9... Enfin bref, ceci explique cela.

Le jeu en lui-même : fidèle aux anciennes versions, il propose toujours de vivre six millénaires de civilisation humaine à la tête d'un des pays proposés. Des nouveautés font leur apparition telles que l'impossibilité d'empiler les unités (qui demande de repenser les phases de combats) ou encore la possibilité pour les unités de traverser de courts passages dans l'eau (à proximité des côtes) évitant ainsi aux unités d'être bloquées par un territoire concurrent trop vaste.
L'invention des cités-états ne change par contre pas réellement la façon de jouer. Ces cités-états ne sont pas de réelles civilisations et ne s'étendent donc pas, elles se contentent d'être et de tisser des liens diplomatiques avec les dirigeants alentours. Elles sont facilement vaincues et ne font que compliquer un peu les liens diplomatiques (si un état les attaque, elles offriront une récompense à quiconque les défendra). Elles sont aussi influençables, on peut donc leur offrir des unités, de l'or ou leur rendre des services (découvrir des merveilles, éliminer des cités-états concurrentes) afin d'agrandir notre influence sur elles (pour ne pas dire emprise...).
Une autre nouveauté intéressante : les villes peuvent maintenant se défendre sans avoir recours aux unités. Quand une unité ennemie entre dans la zone d'une de nos villes en temps de guerre, on peut la bombarder afin de l'affaiblir. D'ailleurs, les villes sont désormais de réelles entités qu'il faudra affaiblir avant de capturer, de raser ou de transformer en "villes fantoches".
En plus de tout cela, les relations inter-étatiques sont plus étoffées. On peut par exemple s'associer à un autre état sur le plan des recherches afin d'avancer plus vite. La gestion des doctrines est plus complète qu'avant, puisque dans chaque grande catégorie (Tradition, Liberté, Honneur, Commerce, Autocratie, etc...) existent plusieurs capacités à "débloquer" tout au long de la partie.
Faire une liste complète des changements et améliorations apportés à la série par ce cinquième opus demanderait beaucoup plus d'heures de jeu que je n'en aie actuellement, mais une chose est certaine, si vous avez aimé l'épisode précédent, foncez acheter celui-ci. Il n'y a qu'un seul vrai reproche que l'on pourrait lui faire, le jeu utilise la plateforme Steam et est donc soumis à tous ses bons et mauvais côtés...
Ah oui, pour l'encodage, ça concerne surtout xFire. Comme je le disais précédemment, ce dernier est utile pour faire des captures durant la partie (si, bien sûr, on lance le jeu depuis son interface). Mais voilà, les vidéos générées sont vite lourdes et sont surtout impossibles à visionner sous VLC. Heureusement, il embarque une solution à ce problème que vous pourrez trouver dans ce tutoriel (en anglais). Pour résumer ce qu'il y est dit: il faut ouvrir le répertoire d'installation de xFire (en général C:\Program Files\xFire) et lancer le fichier exécutable xfencoder.exe. Une fenêtre apparait alors, avec deux champs de recherche : le premier pour le fichier d'entrée (la vidéo en .avi capturée par xFire) et le deuxième pour le fichier en sortie (celui qui sera compatible avec VLC). Une fois ces deux champs renseignés, il faut simplement valider et attendre que le programme ait terminé.

Voilà, maintenant que tout est dit, je retourne à ma campagne Napoléonienne. A bientôt pour mes comptes rendus de batailles...
Ah oui, pour ceux d'entre vous qui sont soucieux de leur impact sur la nature ou même des problèmes d'éducation dans le monde :
  • Le boîtier du jeu est recyclable et le papier est fait à 50% de fibres post-consommation désencrées et à 50% de pulpe certifiée FSC. Les encres utilisées sont végétales UV et sans solvant, le vernis d'impression est à base de soja et le manuel d'instructions de 200 pages a été remplacé par un PDF intéractif.
  • Lors de l'installation, il vous est proposé (jusqu'au 1er janvier 2011) de voter pour une des cinq associations caritatives sélectionnées œuvrant dans le domaine de l'éducation afin de leur faire don de 250 000$.
Comme quoi le bonheur des uns peut faire le bonheur de tous... sauf in-game =D