Archive

Archives pour la catégorie ‘XNA’

XNA dans une Image WPF

08/08/2010 Stumpy 2 commentaires

Le problème de mélanger ces deux technologies que sont WPF et XNA existe depuis leurs débuts, chacune étant fort performante dans son domaines mais dans certains cas, nous aimerions bien pouvoir mixer les deux.
Au hasard, un éditeur d’environnement pour jeux vidéo ;) .

Il existe plusieurs solution plus ou moins viables, on peut citer par exemple le classique WindowsFormHost qui marche mais implique certaines limitations comme l’impossibilité de poser des contrôles WPF par-dessus le rendu XNA.
Valentin Billotte propose quant à lui une méthode différente et qui pour l’avoir vu tournée marche plutôt bien mais certains ont quelques réticences pour l’utiliser en raison de son principe de superposition des rendu

Par le biais de mon travail de recherche sur le produit Artlantis.com, une idée a germée dans mon esprit mais est restée bien longtemps tranquille par manque de temps.
Il y a peu, je suis tombé sur un forum ou quelqu’un évoquait cette même idée mais n’avait pas vraiment fait de proof-of-concept donc je me suis dis que c’était le bon moment !

Une fois expliqué en détail le process, un de mes collègues sur le projet de fin d’étude que je lead (PrismEngine), Alexandre Bossard nous a mis rapidement en place ce proto pour démontrer que oui cette solution est viable !
La solution a été un peu retouché car est maintenant notre méthode de rendu au sein de notre éditeur mais voici la marche à suivre si vous souhaitez essayer cette méthode qui pour le moment ne nous a pas déçu.

A noter que cette solution est viable pour un éditeur mais je ne promets rien pour un jeu ;) , d’une part utilisation de WPF donc aucune porta sur Xbox360/Zune/WP7 mais surtout malgré un FPS tout à fait correct, la transformation reste couteuse.

Son avantage est de garder toute la puissance de WPF, avec une modification minimum de votre class Game coté XNA.
La seule chose « contraignante » est la partie input qu’il faut légèrement surcouché car on ne travail plus directement sur le rendu XNA mais une simple Image WPF.
Oui, oui, une simple Image WPF donc aucuns soucis pour y ajouter divers contrôle, effet graphique et autre choses marrantes :) .

Voici la marche à suivre pour faire le premier proto, une bonne réorganisation est utiles pour rendre les choses plus élégantes mais allons au plus simple pour comprendre l’idée!
Dans l’ordre nous aurons besoin de :
1. Un projet XNA pour PC que l’on compilera sous forme de library et non exécutable (pour pouvoir l’embarquer au sein de l’appli WPF
2. Une appli WPF dans laquelle on ajoute une référence vers Microsoft.Xna.Framework.Game

Préparons notre class Game maintenant :
On y ajoute quelques « helpers » qui vont nous servir a faire le gros du travail

RenderTarget2D target; // Nous allons dessiner notre scene dedans
public WriteableBitmap bitmap = new WriteableBitmap(800, 460, 96, 96, System.Windows.Media.PixelFormats.Bgra32, null); // l'image que nous donnerons a WPF pour l'éditeur
Color[] colors = new Color[800 * 460]; // le tableau pour remplir notre image
private System.Windows.Threading.DispatcherTimer timer; // un timer, nous allons nous passer du cycle XNA classique donc il faut simuler nos ticks

Au sein de votre Constructor, nous allons ajouter 3 choses:

// on fix une hauteur et largeur en rapport avec notre image, bien sur ensuite ce morceau se devra de gérer les changements de résolution au runtime
this.graphics.PreferredBackBufferHeight = 460;
this.graphics.PreferredBackBufferWidth = 800;
this.graphics.ApplyChanges();
//on appel différentes méthodes de la classe Game manuellement, nous ne passerons pas par le cycle XNA donc c'est a nous de le faire
this.Initialize();
this.LoadContent();
//on lance le timer qui va nous permettre de gérer nos Ticks
this.timer = new System.Windows.Threading.DispatcherTimer();
this.timer.Interval = new System.TimeSpan(5000);
this.timer.Tick += new EventHandler(this.EngineTick);
this.timer.Start();

dans le LoadContent, nous allons initialiser notre RenderTarget:

this.target = new RenderTarget2D(graphics.GraphicsDevice, 800, 460, false, SurfaceFormat.Bgra4444, DepthFormat.Depth24, 0, RenderTargetUsage.DiscardContents);

Et viens la seule partie qui implique vraiment quelques changements dans votre code, la méthode Draw.
Au lieu de le faire de manière classique, nous allons rendre l’image dans notre texture puis ensuite copier son contenu au sein de notre WriteableBitmap qui sera l’image que nous donnerons a l’interface WPF.

protected override void Draw(GameTime gameTime)
{
    graphics.GraphicsDevice.SetRenderTarget(target); // on indique que l'on veut rendre dans notre RenderTarget
    GraphicsDevice.Clear(Color.CornflowerBlue);

    // TODO: Add your drawing code here

    base.Draw(gameTime); // on rend notre scene
    graphics.GraphicsDevice.SetRenderTarget(null);
    target.GetData<Microsoft.Xna.Framework.Color>(colors) // on recupere les pixels de notre scene
    // Bridge wpf/xna
    // Nous allons ecrire dans notre WriteableBitmap et lui assigner les pixels de notre scene
    bitmap.Lock();
    unsafe
    {
        int bb = (int)bitmap.BackBuffer;
        foreach (Microsoft.Xna.Framework.Color color in colors)
        {
            *((int*)bb) = color.B | (color.G <<  8 ) | (color.R << 16) | (color.A << 24);
            bb += sizeof(IntPtr);
        }
    }
    bitmap.AddDirtyRect(new System.Windows.Int32Rect(0, 0, 800, 460));
    bitmap.Unlock();
}

On remarque que l’utilisation d’un peu de code unsafe est obligatoire, la doc msdn est d’accord avec nous sur ce point, pensez donc bien a activé le code unsafe dans les propriétés de votre projet.

Dans notre Windows WPF, il nous suffit maintenant d’instancier notre classe Game mais au lieu de faire appel à la méthode Run qui va d’elle-même créer une fenêtre de rendu et faire appel aux méthodes Init, load,…, chose que nous ne voulons pas, nous allons laisser faire notre Constructor légèrement modifié.

Voici le code-behind de ma fenetre de test :

public partial class MainWindow : Window
{
    XNAPart.Game1 game;

     public MainWindow()
    {
        InitializeComponent();
        this.Init();
    }

     private void Init()
    {
        this.game = new XNAPart.Game1();
        // le fichier XAML de notre Windows comporte un controle de type Image qui porte le nom "Preview", on lui assign l'image de notre jeu
        this.Preview.Source = this.game.bitmap;
    }
}

Pas trop compliqué pour un résultat vraiment sympa et agréable à utiliser :) .
Petite preview avec le rendu XNA dans l’image du haut, un petit bouton par-dessus et un coup de visualBrush à partir de notre Image, chose impossible par exemple avec la méthode du WindowFormHost.

XNAinsideWPF

Categories: C#, Prism Engine, WPF, XNA Tags: , , , ,

Clavier virtuel XNA sur WP7

J’ai continué un peu mes recherches pour au final trouver le moyen d’avoir le clavier virtuel sous XNA.
C’est suite à une demande d’une connaissance que j’ai eu besoin de chercher cela et au finale la solution était toute bête.
Bon ce n’est pas encore un HUD complet en Silverlight mais c’est déjà pas mal pour rentrer un pseudo de HighScore par exemple :D .
Avec une « fake » textbox, moyen de faire une formulaire complet.

TouchPanel.EnabledGestures = GestureType.Tap; // On enregistre la gesture "Tap" dans celle a surveillées
if (TouchPanel.IsGestureAvailable && TouchPanel.ReadGesture().GestureType == GestureType.Tap)
{
    // On a "tap" l'écran, on affiche donc le clavier pour demander un pseudo
    Microsoft.Xna.Framework.GamerServices.Guide.BeginShowKeyboardInput(PlayerIndex.One,
        "HighScore", "Please enter your pseudo:", // Titre et Sous Titre
        "Stumpy", // Texte par defaut
        (IAsyncResult ar) =>
            {
                string ret = Microsoft.Xna.Framework.GamerServices.Guide.EndShowKeyboardInput(ar);
                Debug.WriteLine(ret);
            }
        , null);

Dans la foulé, un code permettant d’afficher une MessageBox en XNA.

Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox("Title",
                   "Texte",
                   new List<string> { "OK", "42" }, // list des boutons, maximum deux
                   1, // bouton qui a le focus
                   MessageBoxIcon.Error, // icone de la Messagebox
                   (IAsyncResult ar) =>
                   {
                        int? ret = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(ar); // ret prend la valeur de l'index du bouton cliqué
                   }
                , null);

A savoir que le code pour le clavier marche également sur une application Silverlight (une fois les deux références XNA ajoutées) pour si un jour le besoin arrive d’avoir une entrée utilisateur sans que ce dernier clique explicitement sur une TextBox, oui sait-on jamais :) .

Categories: Silverlight, WP7, XNA Tags: , ,

PrismEngine tourne maintenant avec XNA 4.0!

2010_logo_prismengine Depuis l’annonce de la version 4.0 du Framework XNA, l’équipe de PrismEngine avait une folle envie de regarder cela de plus près et rapidement faire évoluer notre moteur dessus pour pouvoir tirer parti de la nouvelle plateforme mobile de Microsoft.

Apres une semaine chargée en évènement, on notera par exemple le boot camp de Microsoft pour Imagine Cup ou j’étais en qualité de mentor pour un groupe d’étudiant de troisième année d’Epitech. Quelques tests sur les nouvelles capacités du Framework (voir les derniers articles sur le tactile par exemple).

Le groupe, disons plutôt notre lead technique Benjamin Baldacci c’était réservé une nuit avec comme objectif de mener à bien cette évolution.

Vers 5h du matin, j’ai reçu un mail m’annonçant que cela était fait et qu’il était maintenant temps pour lui d’aller jouer un peu à la xbox 360 ;) .

cco_resources_downloads_downloadItemImage_XNAGS4_CTPLe passage vers XNA 4.0 n’est pas final encore, nous attendront une version plus complète du  Framework qui n’est pour le moment qu’en CTP mais nous avons pu confirmer que même pour un projet de grande ampleur, la transition n’est pas bien lourde.

Il y a bien quelques petites choses qu’il faut modifier mais dans l’ensemble, aucun soucis.

En quelques heures, le moteur était opérationnel !

Je me permettrais de citer notre lead technique : « Foutu référence null que le débuguer était pas foutu de m’indiquer ! », bug qui a dû lui prendre environ la moitié du temps c’est pour dire…

Aucune demo n’a été faite spécifiquement pour la plateforme, nous avons tout simplement repris une petite demo faite il y a quelque temps qui était là pour démontrer l’ajout de fonctionnalité par le biais de module.

Cela marchait sur PC, sur Xbox360, sur Surface et sur Zune HD et bien maintenant on peut officiellement dire que cela marche également sur Windows Phone 7 Series :) .

(A noter que le Zune HD a disparu de la version 4.0 du Framework donc paix à son âme…)

PrismEngine, un des premiers moteurs XNA a tourner sur Windows Mobile? Dans les premiers en tous les cas ;) .

Merci à Benjamin pour son boulot!

WP1

WP2

XNA 4.0 et le tactile

cco_resources_downloads_downloadItemImage_XNAGS4_CTP

Nous le savions déjà XNA 4.0 est tourné vers le mobile avec l’ajout de la plateforme Windows Mobile 7 mais XNA en profite également pour continuer sa lancé vers le tactile.

Le Framework supportait déjà Surface et le Zune HD (ce qui n’est plus le cas en 4.0 :( ) et on peut maintenant lui ajouter wp7 mais également le PC « classique »

Plus besoin de trickser avec de l’interop de partout pour obtenir du tactile avec un écran gérant le multipoint, encore peu répandu mais existant malgré tout (genre sur mon bureau).

J’avais déjà parlé du tactile sur le Zune HD et bien maintenant le même code fonctionne tout aussi bien sur Windows Mobile 7 que sur Windows 7, votre jeu peut donc tirer partie du tactile vraiment partout!

Oui, en soit on pourrait se dire que cela n’a rien d’extraordinaire et c’est le cas mais j’étais un peu triste de voir personne en parler avec cette nouvelle plateforme en haut de liste du changelist.

Bref, voici quelques lignes vous permettant de tester le tactile sur PC/wp7.

// Update
foreach (var elem in TouchPanel.GetState())
 {
     if (elem.State == TouchLocationState.Pressed)
     toshow.Add(elem.Position);
 }
// Draw
spriteBatch.Begin();
 foreach (var elem in toshow)
 {
     spriteBatch.Draw(texture, elem, null, Color.White, 0, Vector2.Zero, 0.1f, SpriteEffects.None, 1.0f);
 }
 spriteBatch.End();

Chaque pression de doigt sur votre écran de PC ou de mobile va remplir une collection de point, et dans le Draw, on dessine tout simplement une texture pour chaque contact.
L’exemple est bidon mais suffit à démontrer le concept :) .

Categories: C#, WP7, XNA Tags: , , , , ,

[Mix10] Une soudaine envie de développer sur mobile ?

Hero-Amplify-Mix

Lors de la keynote de la Mix 10, nous avons eu le droit a bien des annonces et sorties et ce n’est pas nous dev qui allons-nous en plaindre :) .

Apres un retour rapide de l’historique de Silverlight, quelques démonstrations de son utilisation sur des projets de très grosse taille. On peut citer par exemple les JO 2010 qui ont été intégralement streamer en se reposant sur cette technologie pour un résultat il faut bien l’avouer des plus convainquant !

Nous avons eu le droit à de nombreuses démonstrations, certaine attendu d’autres nouvelles.

Mais surtout on retiendra la sortie de l’ensemble des outils pour développer sur la nouvelle monture de Windows mobile, oui oui, celle qui on l’espère va permettre de donner un coup de fouet, encore !, a ce marché si mouvementé.

Pour vous y essayer, il vous suffit de télécharger le kit de dev qui comprend :

· Visual Studio 2010 express RC

· Silverlight 4 RC

· XNA GS 4.0 CTP

· Le simulateur wp7 (qui gère sans soucis la 3D pour XNA)

Tout cela, « bien sur » gratuit et le restera par la suite pour permettre à tous de se lancer dans la création d’application et jeux sur mobile.

La distribution quand a elle reste sur le principe de marketplace donc rien de très nouveaux si on ne prend pas en compte le changement d’interface. Un petit regret sur le fait que pour le moment le business model ne donne pas vraiment envie aux développeurs amateurs de s’y essayer et que cela ne semble pas vouloir changer.

Edit: A première vue, les étudiants pourront distribuer leurs applications gratuitement par le biais de programme du type DreamSpark donc l’ouverture est la malgré tout ;)

A disposition également, Blend 4 et l’add-in pour wp7, Blend reste un outil payant mais a noter que les possesseurs de la version 3 auront l’upgrade gratuite :) .

· Blend 4 beta

· Blend SDK for windows phone

· Blend add-in for windows phone

Blend4WPEmu1

Bien sûr, cette grosse sortie s’accompagne de nombreuses docs sur MSDN et sur de nombreux sites. Quelques samples par ici.

Dès que j’ai une minute pour moi, je ferais sans doute un petit article à propos de ma « première application wp7 », le plus dur reste l’idée, ensuite la réalisation est vraiment « bidon » comme peut vous le montrer par exemple Bradon Watson avec son client twitter.

On ne va pas tarder à perdre nos jobs, j’vous l’dis !

Xna GS 4.0 et jeux sur Wp7

Quelques nouvelles de la GDC concernant XNA mais également et surtout le développement de jeu sur WP7.

On attend encore une change List plus précis car pour le moment l’ensemble des annonces faite reposent surtout sur wp7, compréhensible en soit :) .

Voici ce que l’on sait pour le moment à propos de la prochaine version du Framework XNA:

  • New platform
    • Windows Phone 7 Series
  • New features
    • Integrates with Visual Studio 2010
    • Dynamic audio output
    • Microphone input
    • BasicEffect has four new siblings
      • SkinnedEffect
      • EnvironmentMapEffect
      • DualTextureEffect
      • AlphaTestEffect
  • Improved portability and usability
    • Collapsed graphics caps into just two profile levels: Reach and HiDef
    • Many graphics API improvements
    • This involves some breaking API changes
    • Split Microsoft.Xna.Framework.dll into several assemblies, to make it more obvious which pieces are available on each platform

Et pour démontrer un peu ces nouveautés, voici quelques images de jeu tournant sur WP7, plutôt prometteur!

hmm… je sens déjà venir le passage à XNA 4.0 de PrismEngine et donc un petit module pour gérer les téléphones (on gère le ZuneHD donc la transition ne devrait pas être bien longue!)

harvetsachievementtop1

windowsphonexna01pr

windowsphonexna04pr

windowsphonexna10pr

On peut voir que le rendu est fort sympathique, le fait que wp7 réclame un minimum hardware permettant d’avoir une certaine uniformité sur l’ensemble des téléphones donc on peut espérer que le marché du jeu sur Windows mobile va subir le même essor que sur l’IPhone actuellement.

Le fait d’avoir qu’une seule plateforme est l’énorme atout qui a fait le succès de l’iPhone mais permettra a chacun de choisir le look de son téléphone tout en lui permettant l’accès aux mêmes applications avec un niveau de perf semblable n’est-il pas le parfait mélange a offrir aux clients?

Références:

http://klucher.com/blog/achievement-unlocked-xna-game-studio-4-0-for-windows-phone/

http://blogs.msdn.com/shawnhar/archive/2010/03/09/in-which-hints-become-facts-xna-game-studio-4-0.aspx

http://www.engadget.com/2010/03/09/microsoft-shows-off-xna-games-running-on-windows-phone-full-3d/

XNA sur Surface, l’expérience tactile

24/08/2009 Stumpy un commentaire

Xna commence à être reconnue comme une technologie sympathique et pratique pour le développement de jeu, nous dirons amateur car peut-être pas encore assez mature et performante pour concurrencer une production reposant sur un langage natif tel que le C++ mais pour s’initier dans ce domaine si particulier qu’est le jeu vidéo cela reste une bonne porte d’entrée !

La force d’XNA repose en partie sur la puissance de .Net, une architecture composée de briques, de composants qui reliés par un peu de logique permettant d’avoir rapidement et facilement un résultat intéressant, ce n’est pas un moteur de jeu et encore moins un middleware, c’est vraiment un Framework permettant de s’abstraire de nombreuses taches classiques dans le développement multimédia et dans le cas présent sur plusieurs systèmes Microsoft.

Car oui cette technologie fonctionne sur Windows, Xbox360, Zune (malgré le fait qu’il est encore difficile d’en tirer parti en Europe mais prochainement réglé)  et Surface. Bien évidement c’est moins connu face à la difficulté de mettre la main sur cette « plateforme » mais cela reste un atout.

Le terme plateforme n’est peut-être pas le plus adapté car Surface fonctionne sur Vista et propose « seulement » un périphérique d’entrée en plus, encore une fois le terme « seulement » est sans doute un peu léger pour quelque chose offrant du tactile gérant plus de 50 points sans soucis mais l’idée est là.

Partant de ce constat, on peut effectivement dire que faire du XNA sur Surface ne tient pas du défi insurmontable surtout avec l’API du SDK Surface qui fournit vraiment tout le nécessaire pour tirer le maximum de cette nouvelle interface utilisateur.

Cette dernière permet par un simple appel de récupérer une collection de contacts à chaque cycle, ensuite libre au développeur de faire un petit manager permettant de savoir ou sont les nouveaux contacts, ceux en mouvement et pourquoi pas ceux n’existant plus. Une fois cette gestion effectuée, soyons honnête cela ne prend pas plus de quelques lignes, il ne reste plus qu’à trouver un gameplay adapté et c’est vraiment la difficulté au final :

private void UpdateContact()
        {
            ReadOnlyContactCollection currentContacts = contactTarget.GetState();
            Contact tempContact;
            if (previousContacts != null)
            {
                foreach (Contact contact in previousContacts)
                {
                    if (!currentContacts.TryGetContactFromId(contact.Id, out tempContact))
                    {
                        // Contact removed
                    }
                }
            }
            foreach (Contact contact in currentContacts)
            {
                if (!previousContacts.TryGetContactFromId(contact.Id, out tempContact))
                {
                    // Contact added
                }
                else
                {
                    // Contact who was already here, usefull for any action like movement
                }
            }
            previousContacts = currentContacts;
        }

Le reste pour Surface ? Déjà fournis dans le template XNA venant du SDK pouvant se résumer à « étirer » l’écran sur les bords de la Surface, activer la gestion des contacts, quelques événements permettant une bonne intégration de l’application dans l’environnement Surface (comprendre le menu de la table).

L’API fournit également quelques class pratiques pour gérer un ensemble de contact que l’on nomme un manipulator, cela consiste à rassembler un certain nombre de contacts persistants et qui nous informe de certaines choses parmi lequels on retrouve les rotations, les translations et les changements de dimension.
Pour le reste, on reprend exactement XNA comme on le connait actuellement, seul le périphérique d’entré change et réclame une adaptation du jeu. La création d’un jeu multiplaforme n’est jamais facile car rendre la même expérience de jeu sur un clavier et une manette est difficile, imaginez avec une table tactile !

Il est temps de se poser ce genre de question, comment vont devoir évoluer nos créations multimédias pour coller avec ce type de support, Surface est un début mais l’arrivé de Windows 7 gérant nativement le multi-touch va obliger chacun d’en arriver à cette réflexion très rapidement.

Categories: Microsoft, Surface, XNA Tags: , , ,

Surface – Day 5

Début de semaine sympathique, malgré le réveil un peu matinal, le plaisir de prendre la route pour le boulot est réel, fait vraiment plaisir :) .

Nous avons pas mal discuté des différents composants que nous allons faire, un début de classement mais surtout pas mal de test pour chacun.

Pour ma part, j’ai commencé à fouiller du cote d’un petit composant d’OCR, comprendre par la capable de reconnaitre un mouvement et de « deviner»  la lettre écrite avec le doigt a l’écran.

J’ai rapidement découvert la facilitée d’utilisation de l’API des Tablet PC Windows fournit dans le SDK du même nom mais sont venu plusieurs problèmes:

-Un taux de réussite un peu faible.

-demande de vraiment faire attention a la forme de ses lettres, normal en soit pour un développeur sachant le boulot derrière mais moins user-friendly pour l’utilisateur lambda.

-Pas encore compris s’il existe un système pour faire une lettre en « plusieurs étapes» , sans lever le doigt. Faite un A sur votre table sans lever le doigt ni repasser au même endroit ;) .

Donc…Vieux reflexes, « cela ne convient pas?, je recode!» .

Je me suis donc attaqué a une petite classe prenant en paramètre une liste de point et un facteur de précision permettant d’obtenir une liste de vecteur de direction.

Apres deux bonnes heures de petit schéma et code, j’obtiens une première version sympathique permettant sans trop de soucis de reconnaitre des « patterns»  simple.

Posez votre doigt sur l’écran, allez vers la droite puis remontez et ensuite encore un peu à droite puis relevez-le.

Mon petit code va produire une liste ressemblant a: droite, haut, droite. Cela reste au final assez basique mais suffisant pour faire pas mal d’action, surtout sur un système tactile comme Surface ;) .

Voici deux petits schémas rapidement fait pour mieux voir le système :

Surface_article_2

Sur le premier on peut voir un chemin dit « parfait », assez facile à deviner donc.

Le second démontré l’intérêt de la valeur de précision, elle permet de ne pas prendre en compte les petites fluctuations dans le mouvement du doigt, on peut voir cela comme un système pour éviter que le résultat soit perturbé par le bruit.

Et pour conclure sur XNA comme souvent, Prism Engine tourne maintenant sur Surface, bon il reste un bug graphique empêchant de vraiment profiter du paysage mais des que j’ai un moment je règle le souci.

L’intérêt de ma petite classe que je vous ai explique ci-dessus est qu’elle est générique et donc je vais facilement pouvoir m’en servir pour XNA également et essayer de m’en aider pour trouver un système simple pour naviguer dans un environnement 3D sur une table tactile, ouvert aux propositions .

Categories: Surface, XNA Tags: ,

Surface – Day 3

Fin de la première semaine, courte mais bien remplie pour nous tous.

Prenons le temps de se présenter un peu plus en détail pour commencer.

Freier Niels aka Stumpy, étudiant en fin de troisième année à Epitech Paris, plongé dans l’informatique depuis mes premiers PC quand j’avais une dizaine d’année et jamais décroché depuis.

J’ai fais pas mal de chemin depuis mes premiers petits programmes en basic et pascal de mes débuts mais chaque jour j’en apprends encore et c’est vraiment ce qui me plait dans ce métier.

L’informatique est une passion que j’aime partager par exemple par le biais de mon rôle d’Astek a Epitech, une sorte d’assistant professeur dans le domaine du développement C Unix mais également membre du laboratoire de jeux vidéo de l’école(http://gamelab.epitech.eu) et plus précisément sur la techno XNA.

Car oui comme beaucoup les jeux vidéo font partie de mes loisirs, pas d’une façon intensive mais une petite partie de temps en temps, pour dire la vérité je m’amuse bien plus à en créer qu’à y jouer J.

Ma vie tourne vraiment autour de l’informatique, vous me trouverez jamais en discothèque le samedi soir mais plus souvent au fond de mon laboratoire à jouer au geek :P avec les potes autour et une petite bière.

Actuellement en train de travailler sur mon EIP (comprendre, projet de fin d’étude), Prism-Engine(http://www.prism-engine.net)  consistant en la réalisation d’un moteur de jeu complet reposant sur les technologies .Net et XNA, nous commençons à avoir un rendu correct mais le travail reste très important avant de pouvoir permettre la création de jeu facilement et donc atteindre notre but.

Je compte bien profiter de ce stage pour approfondir mes connaissances dans les technologies .Net et tirer le meilleur de Surface dans le temps impartie.
Mes connaissances en WPF sont plus faibles que d’autre dans le groupe mais cela reste des technos que l’on appréhende rapidement donc je ne m’inquiète pas quand a mon adaptation dans les prochains jours/semaines.

Donc pour conclure cette première semaine, nous avons chacun fait de petit test, pour ma part j’ai développé un petit CustomControl WPF faisant office de client Twitter, gère l’envoi de message et la réception de ses followers sans aucun soucis. Soyons franc c’est encore un peu moche mais cela tiens plus du test technique que design actuellement.

twittercontroltwittercontrol

Également continué mes investigations en matière du Framework XNA pour Surface, mon SDK permet maintenant la création d’application en XNA 3.1 mais pas encore réussi à y lancer Prism-Engine, cela ne saurait tarder!

Categories: Surface, XNA Tags: ,

Stage Microsoft – Surface

Surface Academy

Hier j’ai reçu un petit mail m’indiquant que j’étais accepte dans le programme Surface Académie de Microsoft France.

Oui plutôt une bonne nouvelle, moins pour mon stage actuel que j’ai décidé de quitter car l’opportunité est trop belle pour la manquer.
Je rejoins donc des le premier juillet une équipe de 5 étudiants (dont au moins un autre d’Epitech Paris) dans l’optique de toucher un peu au SDK Surface et de développer une application en deux mois.
Le reste est…flou car aucune idée du type d’application, sujet libre ou pas? aucune information actuellement mais je prend le risque de me lancer dans cette aventure.

Je dois avouer être assez content d’avoir cette occasion et j’espère bien en tirer le maximum de chose.
Je relaterais le déroulement du stage ici-même pour les personnes que cela pourrait intéresser :) .

Categories: Microsoft, Surface, XNA Tags: ,