Ajoutez un super moteur physique à vos applications/jeux Silverlight!

Voici un domaine un peu plus fun que mes billets précédents. Il y a actuellement une communauté assez étoffée de petits développeurs talentueux sur le net s’amusant à faire des jeux en Silverlight. Vous avez j’imagine déjà tous vu par exemple le portage de Quake par Julien Frelat.

Une des choses les plus difficiles à faire dans un jeu est la notion de moteur physique et de collision. Et bah justement, il existe une librairie vous permettant d’ajouter ces notions dans votre application Silverlight… le tout sans code et gratuitement!

Elle constitue en fait un wrapper autour du moteur Farseer Physics Engine: https://www.codeplex.com/FarseerPhysics . La librairie qui nous intéresse est quand à elle disponible avec son code source ici: https://physicshelper.codeplex.com/ .

Helper4[1]

On y retrouve aussi des applications de démo en ligne comme celle-ci par exmple: https://www.spritehand.com/silverlight/2.0/physicshelper/demo1testpage.html

D’ailleurs, cela vous dirait de refaire la même chose en moins de 5 min sans faire la moindre ligne de code? Allez, chiche, c’est parti. Je vais utiliser la librairie en question, Visual Studio 2008, Silverlight 3 Beta et Blend 3 Beta. Regardez le résultat dans cette vidéo (double-cliquez dessus pour le plein écran):

Get Microsoft Silverlight

4min43 ! Et encore, sans forcer. Alors ? Bluffé n’est-ce pas? :)

Si vous voulez en savoir davantage sur les possibilités de cette librairie, je vous invite à vous rendre sur le site du mec génial étant derrière tout cela : Andy Beaulieu. Vous pouvez le retrouver ici : https://www.andybeaulieu.com/ 

On y retrouve des jeux qu’il a réalisé comme celui-ci par exemple:

DestroyAll200[1]

Vous entrez une adresse réelle, l’application va récupérer les images correspondantes depuis Virtual Earth en mode Bird Eye et ajoute un petit hélicoptère par dessus pour jouer sur ce paysage. C’est top!

Allez fini la rigolade, je retourne jouer avec ASP.NET MVC et .NET RIA Services moi.

David