Diamonds Quest
by Vince on août.31, 2010, under Java - Petits projets avec la librairie Slick
Mon premier jeu de plateforme ^^ et mon dernier jeu en Java avant un bon bout de temps vue que j’attaque l’AS3 (Flash quoi) et après OpenGL/DirectX directement en C++. Je vais peut être me faire un site web avec Flex aussi car wordpress c’est sympa mais limité.
Diamonds Quest est un petit jeu (4 niveaux + 4 niveaux bonus cachés + 1 boss) de plateforme classique. Le but est de faire un gros score en s’amusant. Il faut collecter des diamants pour acheter des techniques de combat, le tout en éliminant les ennemis et en évitant les pièges.
J’ai même fait un tutoriel
. Les sprites et le son sont en majorité tirés du jeu Jump Ultimate Stars. Vous jouez le personnage de Kenshin pour ceux qui connaisse…
Par défaut les touches sont configurées pour un clavier QWERTY mais la configuration se change facilement dans les options.
Par défaut:
Gauche: A
Droite: D
Bas: S
Sauter: W
Attaque 1: J
Attaque 2: K
Attaque 3: L
Acheter : I
Vous pouvez aussi recommencer les niveaux avec la touche F1, accélérer certains passage du jeu avec la touche Echap et cacher les informations avec la touche Q (A en AZERTY)
Pour ceux qui veulent essayer, voilà le lien WebStart:
Jouer à Diamonds Quest (JRE 1.6 requis)
Et quelques screenshots de basse qualité:
Plugin Eclipse pour Slick
by Vince on juin.30, 2010, under Non classé
Tout est dans le titre.
A force de réécrire la même chose, de linker encore et encore lwjgl et ces librairies natives, d’associer les jars de Slick et des autres librairies aux classpath, etc. , je me suis dit tiens pourquoi j’aurais pas un plugin Eclipse qui ferait tout ca en 2 clics ?
Donc acte, j’ai créer mon premier plugin Eclipse. Franchement c’est pas facile à faire étant donné le nombre incroyable de possibilité qu’il existe à travers l’ensemble de plugin qu’est Eclipse (oui Eclipse c’est juste un framework d’édition de fichier robuste avec PLEIN de plugins autour). En gros il faut linker les bonnes api (jdt, core , resources, etc) et utiliser son meilleur copain: Google.
Le résultat en vidéo (un projet Slick avec une architecture de départ et une gestion des ressources en quelques clics sur un projet Java vide à la base):
STK RTS
by Vince on juin.12, 2010, under Java - Petits projets avec la librairie Slick
J’ai développé un prototype de jeu ~ 3/4 mois sur mon temps libre pour le laboratoire GameDev de Supinfo. Ce jeu c’est un RTS (Real Time Strategy) old school, à la C&C95 pour ceux qui connaisse. Les sprites du jeu viennent de l’excellent site Lost Garden et sont open source.
Bien qu’ayant fait une spec plutôt détaillé pour la création du jeu, je me suis quand même retrouvé à avoir des ennuis de conception dans le code. En fait je n’avais jamais codé un jeu aussi gros, de plus un RTS en seulement 4 mois avec peu de temps et seul c’est plus que difficile à réaliser
.
Pourtant il y a pas mal de choses dans ce jeu:
- Une bonne trentaine d’unités différentes (tank, collecteur, lance-flamme, avions, bateaux, transporteurs, etc.)
- Des bâtiments de constructions, de défenses, des armes absolues comme la bombe A ou l’éclair, un super radar, etc.
- Des effets dans le décor, une gestion « correct » des entités, etc.
Au niveau du son Pierre-Yves a fait un super boulot ^^. Le jeu est jouable jusqu’à 8 personnes en réseau local. Il est stable sous windows XP. J’ai aussi utilisé une librairie graphique combiné à Slick: TWL. Le jeu s’appelle STK car il réuni Slick – TWL – Kryo. Je ne présente plus Slick quand à Kryo c’est une librairie réseau simple à utiliser.
Voilà un lien vers le jeu zippé pour ceux qui veulent essayer, bien évidemment tout seul ça n’a pas beaucoup d’intérêt
mais entendre la super voix de PY faire « Yes sir ? », ça n’a pas de prix
. Le gros plus du jeu ca serait de faire une IA mais bon j’en ai un peu marre de ce projet, je vais partir sur autre chose. Depuis un certain temps mon frère me demande de faire un clone d’un vieux jeu super sympa: The tower Of Druaga. Je vais peut être regarder ça.
Et quelques screens de différentes tailles:
Slick + Applet + Lost Garden sprites
by Vince on jan.26, 2010, under Java - Petits projets avec la librairie Slick
Ça fait longtemps que je n’ai pas posté un truc ici… . Bah je suis tellement débordé de boulot, c’est normal… hum
.
Bref je n’avais jamais tenté de faire fonctionner Slick avec les Applets Java. J’ai suivi un tuto sur le sujet et paf j’ai fait une Applet avec Slick. Rien d’exceptionnel, en revanche j’ai trouvé un paquet de Sprites très intéressant ici:
Game Post Mortem: Hard Vacuum
C’est très vieux mais super sympa pour l’époque, de plus les ressources de Hard Vacuum sont libres de droit et l’auteur encourage les gens à utiliser ces ressources.
Du coup j’ai passé une soirée (~3h00) à remettre sur un fichier png tous les tiles du jeu pour pouvoir les utiliser simplement avec l’éditeur Tiled. Oui oui ma vie est passionnante
. Enfin ça pourra peut être resservir à quelqu’un. Voici le lien:
Et avec ça je me suis construit rapidement un petit programme et une map que j’affiche dans une Applet avec quelques animations en plus (lave et nuages).
Pour voir le résultat c’est par là (touches directionnel pour se déplacer) :
VAlien Shoot 2 V1.01
by Vince on déc.13, 2009, under Java - Petits projets avec la librairie Slick
J’ai corrigé des bugs et ajouté des trucs suite à certaines remarques
:
Bugs:
- Arrêt du son quand on quitte le jeu.
- Réinitialiser le nombre d’aliens tués lors d’une nouvelle partie.
Divers:
- Ajout du bouton tab pour se déplacer entre les armes.
- Ajout des boutons 1,2 etc pour choisir une arme.
- Ajout du bouton échap pour quitter les menus plus rapidement .
- Le menu de score s’affiche après l’ajout d’un score.
- Ralentissement progressif des « morceaux » d’aliens.
- Texte des bonus mis en vert avec une police simple.
- Puissance du laser et de la mitraillette augmentée.
VAlien Shoot 2
by Vince on déc.09, 2009, under Java - Petits projets avec la librairie Slick
ATTENTION ÂMES SENSIBLES S’ABSTENIR !!!
J’ai finit de coder la nouvelle version de mon jeu de shoot d’aliens
, au menu:
- Plus de fun.
- Du son à la Karam.
- Beaucoup de sprites et d’animations.
- Une super fin qui tue (oui oui le jeu est complet).
- Et surtout du SANG MUHAHAHAHAHAHAHA
Bon plus sérieusement ce jeu est un simple shooter qui se passe dans la même arène. Cette version est donc beaucoup plus légère que ma première version du jeu d’aliens. J’ai supprimé les systèmes de particules au profit de sprites (lance-flamme, explosion) ce qui donne un effet plus kitsch/sympa au jeu. Un système de score en ligne est directement intégré dans le jeu comme celui présent dans le Beer-Pac man.
Contrairement à mon premier jeu, celui là est complet
et beaucoup plus fun à jouer. On m’a reproché qu’il y avait trop de sang dans le jeu, on peut désactiver les effets de sang pendant le jeu en appuyant sur la touche F2 (un menu est dédié au contrôles du jeu).
Je remercie encore Karam pour le son
.
N’hésiter pas à tester ce jeu et à faire un record ! (Ça ne vous bouffera pas plus de 5/10 minutes, sauf si vous êtes mauvais évidemment…
).
La version Web Start:
La version .rar:
Et pour finir quelques screenshots:

Un menu

Le nouveau lance-flamme

Le boss final
Code source
by Vince on nov.11, 2009, under Java - Petits projets avec la librairie Slick
Plusieurs personnes m’ont demandé d’ouvrir le code source de VAlien Shoot. Tant qu’à faire autant tout ouvrir. Donc voilà le code source du VAlien Shoot, du Beer Pac-Man, de la plateforme réseau et du jeu de billes: code source
Tous ça est sous license BSD comme Slick: License Slick
Je n’est pas pris le temps de commenter le code et de le « nettoyer » donc à vos risques et périls
. Je profite de ce post pour mettre un lien vers la démo du petit jeu de billes jouable en réseau: Speed Ball
Je suis ouvert à toutes remarques constructives sur le code
. Le VAlien Shoot est mon premier « vrai » jeux avec Slick en conséquence la conception du jeux laisse encore à désirer (manque d’interface et de généricité). J’implore donc la clémence de ceux qui auront le courage de lire le code
.
Une plateforme de jeu 2D en réseau
by Vince on nov.11, 2009, under Java - Petits projets avec la librairie Slick
C’est pas vraiment une heure pour poster mais bon
.
Je suis reparti pour affronter mon adversaire d’il y a 6 mois à savoir le réseau. Plus particulièrement le Dead Reckoning et tout ces petits copains qui doivent être mis en place pour avoir un jeu en réseau multijoueurs (internet et local) fluide chez tous les clients. Oui oui Dead Reckoning … comment ça un nom barbare
? Aller hop un petit coup de doc:
Pour simplifier la chose disons que le Dead Reckoning est une méthode qui permet de prédire la position d’une entité à partir de données d’entrées (position, vitesse, orientation, etc). D’après ce que j’ai compris (mon expérience dans le réseau étant très limité), un algorithme implémentant le Dead Reckoning, associé à de la correction d’erreurs client/serveur serait déjà un bon point pour obtenir un jeu fluide.
Le DIS pour Distributed Interactive Simulation est un standard IEEE qui implémente entre autre le Dead Reckoning (Ce standard peut servir à la création de plateforme pour simuler des jeux de guerre en temps réel comme des RTS). Par chance j’ai trouvé une implémentation open source du DIS (Java/C++/C#):
Je vais y jeter un d’œil pour essayer d’implémenter le Dead Reckoning. En attendant j’ai développé une petite plateforme (15 lignes pour rentrer dans le sujet quel bavard
) toujours avec Slick2D. J’utilise aussi Phys2D, un petit moteur physique 2D. Cette petite plateforme devrait me permettre de développer des jeux en réseau plus facilement. La plateforme est constituée de plusieurs points clés:
- Des menus pour changer directement la résolution et les options réseaux.
- Un tchat (TCP)
- Une logique serveur et des classes pour le réseau (UDP) , architecture client/serveur
- Un thread pour rechercher les serveurs de jeux
L’idée serait d’utiliser cette plateforme pour développer plusieurs petits jeux en réseau. Un jeu de billes jouable à 4 (qui a dit crash bash ?
)), un jeu de tanks multijoueurs dans un désert (là j’ai déjà les sprites
), et d’autres jeux si j’arrive à maitriser le réseau.
Pour le moment j’ai développé rapidement le moteur du jeux de billes, l’attribution des positions ce fait en temps réel et l’envoi des paquets UDP à toutes les boucles d’update ce qui évidemment peut passer en réseau local (et encore) mais pas sur le net. L’idée est de partir de cette base et d’y ajouter les techniques nécessaires pour rendre le jeu fluide sur internet (Dead Reckoning, Client side prediction, extrapolation, interpolation etc.)
Et tout ça en open source, à propos je vais ouvrir le code de VAlien Shoot et du Pac-Man, on sait jamais si ça peut servir à quelqu’un.
Quelques screens (plateforme et moteur du jeu de billes):
Le menu d'option de la plateforme
Le moteur du jeux de bille testé en réseau local
Mise à jour VAlien Shoot V1.2 Windows/Linux
by Vince on oct.24, 2009, under Java - Petits projets avec la librairie Slick
J’ai eu le temps de développer un petit peu pour VAlien Shoot
. Je ne tiens à jour que la version française du jeu.
Voici donc les petites nouveautés de cette version:
- Changement de la taille du menu du jeu.
- Ajout de deux arènes dont une dans un univers sombre.
- Les records du mode arène sont enregistrés en ligne sur le site.
- Une nouvelle arme, à savoir un champ de puissance (met du temps à se charger, clic droit pour utiliser)
- Un nouveau bonus: l’invisibilité.
- Testé sous Windows ET Linux (Ubuntu 9.04)
Pour être sur que le jeu fonctionne bien il faut avoir installer le Java Runtime de SUN (Sun Java 6 Runtime) et non l’openJDK (sous mon Ubuntu j’avais l’openJDK d’installer et non la version officiel de Sun, le jeu ne marchait pas…).
D’autre part il faut les drivers de la librairie OpenAl d’installer. Il doivent normalement être installé par défaut sous Windows et Mac. Ce qui n’est pas forcément le cas sous Linux. Voici la commande que j’ai utilisé pour les installer:
sudo apt-get install libopenal1 libopenal-dev
Le jeu sous sa version Web Start: VAlien Shoot WS
Le jeu dans une archive (si le Web Start ne fonctionne pas, il faut avoir les variables d’environnements Java dans son path): Archive VAlien Shoot
Les records sont disponibles sur cette page: Records VAlien Shoot
Seul le meilleur record associé à un pseudo pour chaque arène est pris en compte. Qui battra mes records ?
Quelques screens de la version 1.2:
Utilisation de la G-Force en plus du fusil Plasma
Il ne faut pas avoir peur du noir...
Beer Pac-Man
by Vince on oct.15, 2009, under Java - Petits projets avec la librairie Slick
Comme je l’avais dit dans l’article précédent, j’ai développé un petit clone de Pac-Man pour un concours sur le site officiel de Slick.
Le but du concours est de créer un jeu en 1 mois (à savoir Octobre) en rapport avec la bière ^^. Va savoir pourquoi j’ai choisis Pac-Man. Le jeu de base est terminé il ne manque que le son et certaines améliorations du genre réduire la vitesse des fantômes dans les virages ou dans le tunnel. Enfin bref j’ai appris pas mal de chose sur Pac-Man comme le fait que les fantômes ont un comportement qu’il leur est propre ainsi que des jolis petits noms: Blinky, Pinky, Inky et Clyde.
Au niveau de l’IA je n’est pas cherché à programmer une IA bien distincte pour chaque fantôme en revanche les paramètres tels que les probabilités de chasser Pac-Man et le nombre de temps accordé à la chasse diffèrent selon les fantômes.
Pour tester le jeu : Lancer Beer Pac-Man
Grâce à Cam je sais que les jeux que j’ai développé pour le moment ne fonctionnent pas sous Mac et Linux, c’est surement un problème lié au chemin des ressources, je réglerais ca plus tard (sans log de la console Web-Start ce n’est pas évident).
J’ai de gros problèmes pour trouver des sons (excepté la mort de Pac-Man), je peux mettre des sons bidons genre un gros rot quand on boit une grosse bière mais c’est surtout le son « in game » dont j’ai besoin. Si quelqu’un a un lien je suis preneur…
Une surprise au bout de 180 bières, une deuxième surprise pour les dix dernières bières…
Petit screen pour finir, les « dots » c’est des cannettes de Kro ouai ouai je sais ce n’est pas évident à voir
Le Pac-Man devient de plus en plus rouge de bière en bière...











