Forum Clubic

Papi commando et le commostrad perdu - { jeu d'arcade - action retro réalisé en qb64 pour linux & windows }

Bonjour à tous !!
Voici donc mon tout nouveau projet débuté il y a un peu plus d’un mois …

Présentation :

Le joueur incarnera un ancien héros de guerre à la retraite qui reprendra du service pour récupérer des mains d’une bande de méchants terroristes, son ordinateur favori, l’antique CommoStrad.

Honnête citoyen de BASIC CITY, “Papi Commando” comme l’appelle ses voisins et amis proches, est une personnalité connue de tous.
Ayant survécu au conflit terrible contre les terribles “CéPlusPlus” et leur allié, les “JavaScribouilles”, il coule des jours heureux avec ceux et celles qu’il aime.
Mais hélas, les “CéPlusPlus”, ses ennemis héréditaires, ont envoyé un commando d’élite qui lui ont volé son CommoStrad adoré …

Dès lors, Papi Commando a repris ses armes, son bandana favori et a décidé de retrouver son ordinateur et d?anéantir ses ennemis !

Vous remarquerez les singularités du scénario …

Technologie et développement :

Code, graphisme, game design, sons, etc … : Vetea.

Pour ce nouveau projet, j’utilise un langage mal connu mais très intéressant : QB64 !
C’est un langage Basic multi plateforme ( Windows, Linux & Android ), simple à utiliser et très puissant ( l’.Exe est compilé en C++ ! ) !
On peut pratiquement tout faire !

Une de mes connaissances l’a d’ailleurs utilisé pour réaliser un remake de Barbarian sur PC : http://barbarian.1987.free.fr/

( Pour les curieux, voici le site officiel : http://www.qb64.net/ )

Nul besoin d’installer quoique ce soit, toutes les librairies sont incluses dans le dossier du jeu avec ses ressources et son .Exe !
Rien à voir avec Visual Basic comme auparavant …

J’utilise le très célèbre “The Gimp” pour les travaux graphiques et la création des sprites.

Pour l’édition des Stages, j’utilise un outil “maison” développé en VB.
Voici une petite capture de l’outil :

Les sons ne sont pas encore gérés.

Artwork :

Voici quelques captures du travail graphique du projet :
Quelques SpriteSheet de Papi :

Unités ennemies ( en cours de réalisation ) :

Cartes de jeu :
Ici en mode 320x240

En mode 800x600

Menu principal de la démo

Vidéo de démonstration ( réalisé avec mon S2 )
http://youtu.be/o6HBOy8B2wo

http://youtu.be/gBtPLSsrgJM

Gameplay :

Après avoir choisi le mode de jeu ( 3 possibles ), vous trouverez Papi dans le premier stage de test !

Les 3 modes de jeu sont les suivants :

1/ Mode HD ( 800 x 600 - 32 bits) : Le mode affichant le stage en entier avec des graphismes plus fins. Vous aurez la possibilité de splitter en mode Plein écran / Fenêtrée avec la touche F !
2/ Mode Retro ( 320 x 240 en 256 couleurs !) : le mode “Retrogaming - VGA” à l’ancienne !! Pour les amoureux du genre …
Dans ce mode là, vous aurez un scrolling “intelligent” qui donnera à Papi la meilleure vision du terrain !
3/ Mode Retro - Arcade ( 320 x 400 en 256 couleurs ) : Le mode Retro des bornes arcades !! Même scrolling que le mode 2, mais avec un champ de vision plus large et un feeling des bornes d’arcades d’autrefois …

Pour le moment, il n’y a aucun ennemi !

Vous pourrez intéragir avec Papi de la manière suivante :

  • Déplacement : Touches fléchées.
  • Tir : Touche Crtl ( gauche ou droite )
  • Choix des armes : Touche 1,2 et 3

Toutes les armes sont gérées !

Chaque arme possède sa propre caractéristique :
1/ Pistolet : Tir au coup par coup ( toutes les 2s ), portée infinie, vitesse de balle moyenne.
2/ Uzi : Tir en rafale ! Portée limitée, vitesse de balle élevée !
3/ Grenade : Système de visée manuelle avec l’aide d’un viseur que vous pourrez déplacer avec les touches fléchées tout en gardant la touche tir appuyée. Dés la touche de tir lachée, la grenade sera lancée à la destination voulue !

Papi peut se déplacer et tirer en même temps hormis le mode grenade ou Papi devra être arrêté pour pouvoir viser la zone à canarder.

En ce qui concerne les grenades, j’ai travailler un moteur permettant d’avoir des trajectoires paraboliques quelque soit la destination. Il est possible qu’il soit peaufiné pour la suite …

Il faut savoir que, pour le moment, les munitions sont illimitées, mais seront limités par la suite …

Voici les travaux réalisés depuis un mois :
*/ Gestion des Tile Set décor et sprites.
*/ Gestion de l’animation des sprites.
*/ Gestion des HitBox et collisions.
*/ Gestion du Z-Ordering.
*/ Gestion du scrolling sur 2 axes.
*/ Gestion de la physiques des grenades, balles.
*/ Gestion des projectiles.

Diffusion :

Voici les lien du jeu pour les différentes versions :

Version Windows : https://dl.dropboxusercontent.com/u/108143465/Papi%20Commando%20Version%20Windows.zip
Version Linux : https://dl.dropboxusercontent.com/u/108143465/Papi%20Commando%20Linux.zip

Le mot de la fin :

Contrairement aux anciens projets réalisés avec VB6 et ses nombreux problèmes d’adaptations, ici il n’y a plus ce problème de compatibilité d’installation, mise à jour, etc …

Le développement est un pur plaisir et rappelle mes premiers pas sur machine 8 bits il y a plus de 30 ans !
De plus, il s’agit d’un genre de jeu totalement nouveau pour moi, donc un intérêt ludique et technique super intéressant !

Merci d’avoir parcouru et lu ces lignes !

A bientôt.

Vetea


Edité le 14/08/2013 à 12:14

Salut !!

Voila, j’ai recommencé le travail de graphing des sprites !
Aujourd’hui, je poursuis le travail de Papi lançant ses terribles grenades dévastatrices ! :mrgreen:

En voici quelques images :

Il me manque encore quelques vues, et le travail n’est pas si simple finalement …
Une fois ce travail terminé, je passerai à celui ( enfin !! ) des unités ennemies !! :wink:

De plus, je travaille sur la refonte de mon site : Site ( Sauce rétro … :wink: )
Edité le 19/08/2013 à 19:52

Salut à tous !!

Aujourd’hui, j’ai voulu tester le nouvel update de QB64 : QB64 GL !

La grande nouveauté est l’intégration de l’OpenGL en natif, l’ajout de nouvelles fonctions et aussi, l’absence des librairies à inclure comme auparavant avec la précédente version ( Librairie SDL ).

J’ai donc adapté le code du projet avec cette nouvelle version !
Les changements sont quand même flagrant :
[I]- Graphisme beaucoup plus net ( moins de “flou” de l’image )

  • Davantage de résolutions sont gérées !
  • La fluidité est au rendez vous ( comme la précédente version … )
  • Les ressources processeur ( sur ma machine Core2 ) sont augmenté de 75% !!! ( Sans rien changer à mes routines d’affichage je précise … )
  • Le pointeur souris est toujours présent en mode plein écran ( impossible de l’enlever avec la fonction _Mousehide … )
  • Les commandes _ScreenMiddle, _Title sont buggées …
  • Il arrive parfois que le jeu plante ( problème d’init. de l’OpenGL ??!! )[/I]

En ce qui concerne la netteté du graphisme, voici la preuve en image avec la nouvelle résolution Retro choisie ( 512 x 400 ) :

Le menu pour cette version a été revu :

Conclusion :
Bilan mitigé en ce qui concerne la nouvelle mouture de QB64 … je voulais voir ce que cela pouvait donner !
Il en résulte, sans doute, des nouveaux horizons en matières de 3D avec l’OpenGL !
Par contre, je pense qu’il subsiste quelques bugs au regard de mon projet et du code ( alors que tout fonctionne en version SDL … )
De plus, la diffusion d’un projet est beaucoup plus aisée et légère du fait de l’openGL et du nouveau compilateur ( G++ ) de QB64GL, point très positif !

Pour vous donner un avis, voici le lien de cette version : https://dl.dropboxusercontent.com/u/108143465/Papi%20Commando%20Version%20Windows%20-%20GL.zip

Merci de vos avis et retours … ! :wink:

PS :
Désormais Papi ne pourra plus se lancer une grenade sur lui même si l’on ne bouge pas le viseur … :wink:

En supposant que je poursuis le développement du projet avec la nouvelle version GL ( chose très probable !! ), voici ma question :

Voudriez vous :

[b]1/ Ne garder qu’une seule résolution unique du jeu ( la résolution RETRO 512 x 400 ) afin d’avoir un véritable jeu “Retro” dans l’âme ?

2/ Avoir le choix d’avoir plusieurs résolutions de jeu ( HD ET Retro ) ?[/b]

Merci de votre participation, ceci est important pour l’avenir de Papi Commando ! :wink:
Edité le 20/08/2013 à 19:38