Version svg : Premier jet

Date début du projet : 04 Mai 2009

Langage de programmation : C++, si script : python
Librairie : SFML (Son, Image, Event, (Net))
Graphisme : .png

Outils de développement : SVN, ViM, gdb, valgrind, CMake
Outils de dessin : Inkscape, Gimp

Code : Code svn navigable
SVN : http://subversion.assembla.com/svn/divers-trizo/vehiouch/
Documentation de SFML : Sur le site officiel (Doxygen, tutos)

CMake

J'utilise CMake pour générer les outils de compilation.

SFML

Comme SFML n'est pas super connu encore, j'ai préféré le régler à la main.
L'installation dépend de chaque platforme, et il faut donc préciser où se trouve la librairie à la main.

Dans le fichier CMakeCache.txt, ajoutez ceci :

sfml_include_dir:FILEPATH=/usr/include/SFML
sfml_lib_dir:FILEPATH=/usr/lib/
sfml_graphics_lib_name:STRING=sfml-graphics
sfml_system_lib_name:STRING=sfml-system
sfml_window_lib_name:STRING=sfml-window

Il est peut-être nécessaire de changer les deux FILEPATH pour votre système.

Création

Ensuite, la création des outils de compilation. Pour voir les outils disponibles sur votre plateforme :

cmake --help

Premier jet Et faite :

cmake . -G"Unix Makefiles"

En remplaçant “Unix Makefiles” par la cible choisie.

Vous avez votre projet comme vous le souhaitez. (Codeblocks, Makefile, etc)

Brainstorming

(Voir l'image)

Ce serait bien de choisir sa couleur. Comme SFML ne supporte pas le svg ce sera un peu plus difficile. J'ai vu qu'on pouvait appliquer des couleurs aux textures. Je vais essayer de faire des tests la dessus. Une surface blanche mettre de la couleur. Si ça fonctionne alors je pourrais faire d'un véhicule plusieurs images pour personnaliser la couleur.

⇒ Fonctionne très bien

Idée : Comme ça fonctionne bien, je vais faire un format propre au jeu pour faire un sprite. Un sprite sera composé de plusieurs images avec des positions fixes. En attributs des images on pourra avoir :

  • couleurChangeable = true/false. Si une image peut changer de couleur alors il faudra le faire en niveau de gris.
  • ZIndex = 0-100. Pour choisir l'ordre des images : qui superpose qui. Je pense que 100 images pour un sprite c'est largement suffisant.

Je crois que je vais faire ça en XML. Il y a des parseurs déjà fait, et c'est un format de fichier très connu. Donc ce sera éditable facilement par tout le monde.

J'essairais d'interfacer toute les classes de SFML avec les méthodes que j'utilise. D'une part parce que j'aime pas les méthodes qui commencent avec des majuscule, d'autre part _et c'est le plus important_ si je change de bibliothèque multimedia, j'aurais toujours la même interface pour mon jeu. Si jamais d'autre personnes travaillent un jour avec moi ça permet de ne pase se perdre.

Première étape

UML

  • Bouger le véhicule (ça permet de voir la jouabilité dès le début)
  • Afficher le hud en haut à gauche
  • Faire le système de zoom

Pour ça je vais faire l'UML en pensant seulement à cette première version. Ca permet d'avoir un rendu rapide et que la motivation ne retombe pas. Sans pour autant faire de la merde que je ne pourrais pas réutiliser.

En parrallèle je vais créer des images pour tester tout ça.
Ce premier jet ne prend pas en compte les collisions, ça évite une prise de tête pour rien : l'idée devrait être retravaillée plus tard avec les projectiles et les décors destructibles de toute façon.

Pour le zoom/dezoom et avoir un hud :

App.SetView(View);

// Afficher le jeu...

App.SetView(App.GetDefaultView());

// Afficher l'interface...

Seconde étape

 
prog/projet/vehiouch.txt · Dernière modification: 2009/06/01 14:51 par trizolakai
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki