Bonjour tout le monde,
Tout d'abord, je vais vous parler un peu de moi, pour que nous puissions faire un peu connaissance (mais seulement un tout petit peu, rassurez vous !).
Donc voilà, je m'appelle Thomas, j'ai 19 ans, je code en C++, et quelques autres langages. J'adore coder, surtout quand cette activité me pousse à apprendre de nouvelles techniques. C'est dans ce cadre que j'ai codé ce jeu.
Qu'ai-je appris en le codant ?
C'est très simple, tout d'abord je suis passé de la SFML 1.X à la SFML 2, j'ai également pu apprendre à mieux maîtriser Git, à coder un mini moteur graphique 2d, à utiliser Box2D, et enfin j'ai vraiment fait une application orientée objet, que j'espère très bien organisée.
Quand je dis mieux organisé, c'est que par rapport à mes autres projets mon code est mieux structuré, je vous laisse chercher sur ce forum si vous voulez plus de détails, mais sachez que tous mes projets ne sont pas ici...
En savoir plus sur le projetGenèseAlors, pourquoi ce jeu, pourquoi ces choix, etc...
Eh bien c'est tout simplement que je ne suis pas arrivé à retrouver un jeu similaire auquel je jouait étant plus petit... Donc je l'ai recréé, à ma manière. Au final il n'a plus rien à voir avec le jeu d'origine, mais le concept me plaît et me convient.
Généralités et avancementC'est donc un jeu de type Worms, puisque le terrain qui compose la carte est entièrement destructible. Le jeu se joue à 2, chaque joueur à un coin de la carte, en écran scindé. Vous commencez la partie avec 10 points chacuns, le premier qui passe en dessous de zéro a perdu, c'est aussi simple que ça ! Lorsque vous perdez une unité, vous perdez 1 point tandis que votre adversaire en gagne 1. Vous pourrez détruire les unités adverses grâce à vos chars, votre artillerie, et votre DCA... puisqu'il y a aussi des avions !
ObjectifsAlors pour moi tous les objectifs a atteindre ont étés atteints, ou presque.
En effet, j'ai un jeu jouable, sans bug (du moins je l'espère).
La seule chose que je puisse regretter, c'est l'absence d'un mode multijoueur en réseau. En effet, il ne verra sûrement jamais le jour, puisqu'il n'est pas facile de mettre en réseau un moteur physique...
C'est la seule chose regrettable à mes yeux, puisque pour le reste il atteint tous les objectifs que je m'était fixé, et même plus, à savoir:
- Un environnement destructible
- Des unités terrestre, aériennes
- Des unités terrestres paramétrables
- La gestion de la météo
- Des graphismes agréables
- Un cycle jour/nuit
La techniqueAlors pour les curieux, voilà comment a été créé ce jeu:
- Tout d'abord le langage de programmation, à savoir du C++ norme de 2011
- Pour tout ce qui est graphisme, c'est la SFML2 qui s'en charge
- Box2D se charge de la physique
- libnoise est utilisée dans la génération aléatoire du terrain
- TinyXML est utilisée pour le chargement de tous les fichiers de configuration
- Tout le reste est fait par moi, même si tous ces outils mâchent beaucoup de travail....
- Pour les très curieux, un total d'un peu plus de 7000 lignes de code pur... très peu commenté...
Amélioration possibles à venirTout d'abord, il faut bien comprendre que ces amélioration ne sont que des idées, et qu'il n'est pas sûr qu'elles voient le jours...
Si elles devaient voir le jour, ce serait dans cet ordre, et pas un autre....
- Création d'un mode multijoueurs réseau par équipe - En effet, même si ça me paraît dur à faire, il ne faut pas oublier que j'aime la difficulté, c'est donc un petit défit que je relèverais bien...
- Création d'unités autopilotés par des IA. Ces unités serraient plus des bunker défensifs en fait.
Voilà, je pense avoir tout dis.
Pour ceux qui veulent obtenir le jeu,
c'est ici.
Notez qu'il n'est compilé que pour linux.
Les windosiens et autres devrons le recompiler eux-même.Pour la version windows Xp 32 bits,
c'est par là.
N'oubliez pas qu'il faut obligatoirement la SFML2 pour le faire fonctionner (il est compilé en dynamique).
ScreenshotsJ'en profite pour vous demander si l'apparition d'artefacts autour des caractères est normale ? Je n'ai pas ce problème sous Windows Xp, et il semble aléatoire sur Kubuntu 11.10... (regardez le "v" de Avion).