space buster: de la conception à la réalisation d'un jeu ...· le jeu vidéo est un monde virtuel

Download Space Buster: de la conception à la réalisation d'un jeu ...· Le jeu vidéo est un monde virtuel

Post on 15-Sep-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Bulletin de la Socit des Enseignants Neuchtelois de Sciences, n 43, Dc. 2012, Informatique

    Space Buster: de la conception la ralisation d'un jeu vido en C#

    Travail de maturit ralis au Lyce Denis-de-Rougemont de Neuchtel sous la direction de M. Jean-Marc Ledermann

    Radu Cotofrei

    Avant-Propos Ide gnrale Le but de ce travail de maturit est de dvelopper un jeu vido bas sur le clebre concept du casse-briques , en incluant tout lunivers qui gravite autour du jeu en lui-meme. Afin de rentrer dans le vif du sujet, je vais commencer par donner quelques informations sur ma motivation et sur les jeux vido.

    Choix du sujet Je suis passionn aussi bien dinformatique que de jeux vido. Jaime programmer car cela me permet de mexprimer et davoir la sensation de pouvoir crer un monde qui mappartient. Etant donn que je souhaite par la suite devenir dveloppeur dans ce monde vido-ludique, il ma paru opportun de me lancer dans la cration dun jeu vido.

    Tout au long de mon travail, jai essay de reproduire aussi fidelement que possible un jeu dit a grand budget (les triples A), autour duquel tourne une vritable entreprise marketing. Le but de ce travail de maturit nest donc pas seulement de crer un jeu, mais aussi de le faire vivre. Comme tous les grands jeux, il possede une boite avec une jaquette ddie, une notice dutilisation et un site web (Site officiel de Space Buster, 2012). Tout cet univers autour du produit en lui-meme contribue a lui donner de la valeur et a lenrichir.

    Jai galement dvelopp un diteur qui permet de crer des niveaux de jeu de facon simple et rapide. Sa conception et son utilisation font lobjet dun chapitre entier de ce document.

    But d'un jeu vido Le jeu vido est un monde virtuel ou tout est possible. Cet art, si lon peut utiliser ce mot, permet a limagination et a linspiration de leurs disciples de prendre forme et de les faire partager grce a linformatique et linfographie.

    Le but premier dun jeu vido est de divertir les joueurs et de les transporter dans un autre univers. Les meilleurs jeux sont ceux qui possedent une grande immersion et permettent facilement aux joueurs de sidentifier au monde virtuel.

    Le concept du jeu ralis dans le cadre de ce travail Le jeu dvelopp sappelle Space Buster. Le jeu reprend le concept du casse-briques . Le principe gnral est de dtruire, au moyen d'une balle ou dun rayon laser, un ensemble de cibles se trouvant dans un niveau jeu pour accder au niveau suivant. Le joueur controle un vaisseau muni dune barre qu'il peut dplacer sur un axe horizontal (et partiellement vertical). Le but est d'empecher la balle de franchir la partie infrieure de la fenetre du jeu en la touchant avec la barre. S'il y parvient, la balle est renvoye en direction oppose ; dans le cas contraire, le joueur perd la balle et une vie. Sil na plus de vie, il perd la partie. Toute la difficult est donc de rattraper la balle lorsqu'elle se dplace vite, tout en vitant les diffrentes cibles qui descendent.

    Les outils de cration Initialement, javais prvu de dvelopper le jeu en JavaScript. En effet, javais dja dvelopp une version basique en cours dinformatique, ce qui me permettait de partir dune bonne base. Cependant, le langage JavaScript, meme sil reste un langage facile a apprhender, nen demeure pas moins limit pour un jeu vido. Il est vrai que de nombreux jeux sur internet sont cods en JavaScript, ou en Flash, mais leur concept est simpliste et leur ralisation sommaire. Si le jeu devient trop complexe, il commence a saccader. Cest pourquoi jai dcid de me tourner vers un langage plus adapt a un jeu

    1

  • Bulletin de la Socit des Enseignants Neuchtelois de Sciences, n 43, Dc. 2012, Informatique

    vido, un langage dvelopp par Microsoft : le C Sharp (C#). Ce dernier est beaucoup plus puissant, notamment grce aux bibliotheques fournies par Microsoft qui contiennent du code permettant davoir acces a bon nombre de fonctions tres utiles. Sa puissance de calcul est galement plus leve que celle de JavaScript.

    Autre avantage considrable du langage de Microsoft, par rapport au Java de Sun, est l'existence de lenvironnement XNA, qui permet le dveloppement de jeux vido sur PC, Xbox 360 ou Windows Phone. XNA inclut une srie de classes et de mthodes qui simplifient le dveloppement dun jeu car la logique du jeu est directement implante dans le modele de base (en anglais, template ). Impressions laisses aux joueurs Le but dun jeu, comme expliqu plus haut, est de transporter le joueur dans un autre univers et de lui permettre daccomplir des choses quil ne serait pas capable de faire en temps normal. Il faut que lunivers du jeu soit autant cohrent que possible pour que le joueur se sente immerg et ne voit plus le jeu comme une simple reproduction du monde rel. Si le joueur est captiv par le jeu et a envie daller jusquau bout, alors le jeu est un succes.

    Sources d'inspiration Etant un joueur depuis bon nombre dannes dja, jai pu essayer une grande varit de jeux et je peux dire que chaque jeu ma donn une petite inspiration. En effet, en parcourant un jeu, je me rends compte des points positifs et ngatifs, ce qui me permet par la suite de juger un jeu a sa juste valeur, et galement de dvelopper des jeux que je juge intressants.

    Comme dit plus haut, le concept de mon jeu sinspire en grande partie des jeux de casse-briques . Pour apporter une nouveaut, jai ajout un mouvement aux cibles. Elles ne sont plus immobiles mais descendent vers le vaisseau. Le tout devient plus dynamique et on est moins susceptible de sennuyer.

    Les outils ncessaires Lespace de dveloppement : Microsoft Visual Studio C# Express Visual C# est un outil de developpement edite par Microsoft, permettant de concevoir des applications articulees autour du langage C#. Visual C# propose les outils pour developper des applications C# hautement performantes qui ciblent la plateforme nouvelle generation de Microsoft pour la programmation distribuee et compatible Internet. Ce langage de programmation est simple, de type securise et oriente objet. Il a ete concu pour generer des applications dentreprise. Le code ecrit en C# est compile en code manage1 execute sous le Framework .NET. (Wikipdia, Visual C Sharp, 2009)

    La version Express a la particularit detre gratuite. Elle est amplement suffisante pour crer le jeu2.

    Visual Studio permet aussi de dceler rapidement une faute ou une erreur dans le code, avant meme de compiler (en anglais, build ) le projet. Il est galement tres ergonomique visuellement et on accede rapidement aux fonctions cherches. Son seul petit inconvnient rside dans sa sauvegarde automatique apres chaque compilation. Il aurait t plus judicieux de sauvegarder au moment de la fermeture de Visual Studio, car si on se rend compte que les modifications apportes a notre projet ne nous conviennent pas la seule option pour revenir a la version antrieure est de remodifier a nouveau le code. Le langage C# Le C# (c Sharp) est un langage de programmation oriente objet a typage fort3, cree par la societe Microsoft, et notamment par un de ses employes, Anders Hejlsberg, le createur du langage Delphi.

    1 Le managed code (code manag), terme spcifique a Microsoft, est un code source qui s'excute sous le controle de la machine virtuelle CLR (Common Language Runtime). Ce terme est employ par opposition au unmanaged code (code non gr), qui est excut directement par le processeur. 2 Elle est disponible a l'adresse: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express3 Un langage de programmation est dit fortement typ lorsqu'il garantit que les types de donnes employs dcrivent correctement les donnes manipules (Wikipedia). La compilation ou l'excution peuvent dtecter des erreurs de typage.

    2

  • Bulletin de la Socit des Enseignants Neuchtelois de Sciences, n 43, Dc. 2012, Informatique

    Il a ete cree afin que la plate-forme Microsoft .NET soit dotee d'un langage permettant d'utiliser toutes ses capacites. Il est tres proche du Java dont il reprend la syntaxe generale ainsi que les concepts (la syntaxe reste cependant relativement semblable a celles de langages tels que le C++ et le C). Un ajout notable a Java est la possibilite de surcharge des operateurs, inspiree du C++. Toutefois, l'implementation de la redefinition est plus proche de celle du Pascal Objet. (Wikipdia, C Sharp, 2012)

    Lorsquon dit que le C Sharp est un langage orient objet, cela signifie quil utilise des objets (des sous-ensembles de code autonomes) qui peuvent communiquer entre eux. Par exemple, il suffit de dfinir lobjet brique une fois, puis de linstancier autant de fois que lon veut. Lobjet reprsente la dfinition, le concept de quelque chose et linstance reprsente sa concrtisation, son utilisation pratique.

    Jai commenc a apprendre le C# pendant mes vacances dt 2011, grce notamment a un site web tres pratique : Le Site du Zro1. Malgr mes connaissances encore limites du langage, je peux tout de meme donner un premier avis. Je trouve personnellement ce langage tres agrable compar aux autres langages que jai pu essayer (Visual Basic 6, Visual Basic.NET, JavaScript, PHP, C). Quand je code en C#, jai limpression davoir une grande puissance a ma disposition et de pouvoir crer tout ce que je dsire, grce a toutes les bibliotheques disponibles. Pour ce qui est de la syntaxe, je la trouve claire et logique.

    Microsoft XNA Microsoft XNA, officiellement XNA's Not Acronymed, parfois presente dans les medias Xbox Next-Generation Architecture, designe une serie d'outils fournis gratuitement par Microsoft qui facilite les developpements de jeux pour les plates-formes Windows, Zune, Windows Phone 7, et Xbox 360 en reunissant un maximum d'outils en provenance de Microsoft et de ses partenaires...

    Il conti