IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Gosu : une bibliothèque pour faire des jeux avec Ruby

Image non disponible


précédentsommairesuivant

I. Crédits et droits d'auteurs

La bibliothèque Gosu et le site présentant Gosu sont : Copyright © 2004 Julian Raschke, Jan Lücker and Alexander Post. Xitog pour la documentation (à partir de la documentation de référence).

  • Première version : mardi 31 janvier 2006.
  • Version 1.1 mercredi 1er février 2006.
  • Version 1.2 jeudi 2 février 2006.
  • Version w1.0 dimanche 5 février 2006.
  • Version w1.1 lundi 6 février 2006.
  • Version 1.3 jeudi 16 février 2006.

II. Introduction

Ruby est langage de script (=interprété) puissant, jeune et novateur. Gosu est une librairie pour C++ et Ruby, disponible pour les principaux systèmes d'exploitation pour programmer des jeux. . Le but de Gosu est d'apporter une bibliothèque de haut niveau pour la création de jeux vidéo. Gosu est disponible sur Windows, Linux et Mac OS X.

Elle permet donc l'affichage de graphisme, la gestion de sons et la gestion du clavier, de la souris et même du joystick. Pour la gestion du son, elle se repose sur la librairie FMOD ou OpenAL. L'affichage se base sur DirectX (pour Windows) ou OpenGL, et est accéléré

Page principale : http://www.raschke.de/julian/gosu/

Gosu pour accomplir sa tâche vous propose de manipuler :

  • une fenêtre qui sera le lieu où vous afficherez tous vos graphismes ;
  • des images ;
  • des sons et des musiques : la différence entre les deux se faisant sur la longueur : un son est généralement un effet sonore court (avec généralement plusieurs sons à la fois) comme une explosion alors que les musiques sont généralement longues et il n'y en a qu'une à la fois ;
  • des polices de caractères pour afficher du texte à l'écran.

Le chapitre suivant vous indiquera comment installer Gosu sous Windows. Pour installer Gosu sur d'autres systèmes d'exploitation reportez - vous à la page de référence. Le chapitre suivant vous proposera un premier exemple de programme Ruby avec Gosu. Si vous êtes intéressé par plus tutoriels, 5 tutoriels très simples ainsi qu'un programme complet sont proposés à la fin. Au milieu ce trouve la description exhaustive de tout ce qui compose Gosu.

Gosu existe aussi pour C++, mais cela n'est pas le but de la présente documentation. Pour plus d'information sur Gosu/C++, reportez - vous à la page de référence.

Version actuelle de Gosu : 0.6.0

III. Installation

III-A. Sous Windows

Pour installer Gosu pour Ruby, vous devez télécharger la dernière version de Gosu sur le site. Cette version contiendra normalement une bibliothèque pré - compilée « gosu.so » à mettre dans le répertoire :

(VotreRépertoireRuby)\lib\ruby\site_ruby\1.8\i386-msvcrt.

Pour pouvoir utiliser la partie son avec FMOD, vous aurez aussi besoin de cette bibliothèque, téléchargeable à : http://www.fmod.org/ (vous devez prendre la version 3.75). Vous devez mettre cette bibliothèque dans le répertoire de votre script. Une autre option est de mettre le fichier de la bibliothèque (fmod.dll) dans le répertoire :

(VotreRépertoireRuby)\bin.

Ainsi cette bibliothèque sera accessible pour tous les scripts Ruby sur votre machine.

Et voilà ! Vous êtes prêts pour vous lancer dans Gosu.

III-B. Sous Linux

Vous devrez avoir les packages suivants :

  • xlibmesa-glu-dev ;
  • libpango1.0-dev (Pango with freetype) ;
  • X11, xf86 extensions (-lXxf86vm) ;
  • libPNG3 (or higher) ;
  • Boost (http://www.boost.org) and ;
  • OpenGL ;
  • Ruby-Dev ;
  • FMOD (version >= 3.72).

À part FMOD, ces packages peuvent être obtenus via Apt.

Après il faut obtenir la bibliothèque gosu.so en jouant avec gcc. Pour cela, il faut faire :

 
Sélectionnez
chmod u+x configure

./configure

make

III-C. Sous Mac OS X

Pour que vos jeux tournent sous Max OS X, il vous faut une copie de Game.app, qui est incluse dans la distribution pour Mac OS de Gosu. C'est une application qui lancera votre jeu.

Copiez simplement les fichiers du jeu dans Game.app/Contents/Ressources. Une fois lancée, Game.app lancera le fichier Main.rb dans ce répertoire. Game.app nécessite que le framework Gosu soit installé (habituellement dans /Library/Frameworks) ainsi que la version dynamique de la bibliothèque libpng (qui n'est pas incluse dans le framework Gosu) qui devra être mise dans /usr/lib.

IV. Premier pas

Voici un « Hello World » pour vous montrer la facilité d'utilisation de Gosu :

 
Sélectionnez
# va chercher la librairie
require "gosu.so"            
# évite de préfixer tous les éléments du module par Gosu::
include Gosu                

# Nous définissons la classe de notre fenêtre principale
class MainWindow < Window

    # Dans le constructeur, on appelle le constructeur de la classe mère
    # Notre fenêtre sera en 640x480 en mode fenêtré 
    # avec un intervalle d'update de 20.
    def initialize            
        super(640,480, false, 20)                         
    end
    
    # Méthode qui sera appelée lorsqu’on voudra dessiner l'intérieur de notre fenêtre
    def update
        # on définit la couleur rouge             
        red = 0xEEEE0000    
        # On dessine un quadrilatère de couleur rouge
        draw_quad(0, 0, red, 0, 10, red, 10, 0, red, 10, 10, red)
    end
    
end

# Création d'une instance de notre fenêtre
window = MainWindow.new()
# Affichage par appel implicite à la fonction update    
window.show()

précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Xitog. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.