Square Force

Voir le sujet précédent Voir le sujet suivant Aller en bas

Square Force

Message par Akabane87 le Jeu 7 Oct - 10:20

Square Force est un homebrew codé dans le cadre du concours XtreamContest 2010/2011. Le thème de ce concours est le Carré et Square Force a pour ambition de coller à ce thème le plus possible tant sur le plan graphique que scénario ou gameplay.

Square Force est un jeu de shoot spatial 2d qui sera d'un genre très spécial puisque tous les "vaisseaux" (SquareShips) seront en fait des assemblages carrés (SquareTiles) juxtaposés et possédant des propriétés différentes.

Le scénario n'est encore pas bien fixé mais il devrait parler plus ou moins comme tous les jeux de shoot d'une lutte intestine entre une faction rebelle et une société contrôlée d'une main de fer par un grand méchant pas beau : ici le terrible Square Master.

Comme vous pourrez le constater il y aura du square à toutes les sauces afin de créer une ambiance mi sérieux mi dérision le tout dans un gameplay explosif.


J'en dis pas plus pour l'instant Razz , je compléterai avec plus de détails par la suite.

MaJ 23/09/2010 :

Description des SquareShip :
Tous les vaisseaux du jeu sont des SquareShips et possèdent donc les propriétés expliquées ci-dessous :
Un SquareShip est une matrice NxN composée de SquareTiles (nom temporaire). N dépendra de la classe de vaisseau et est fixé à 5 pour les SquareShip de type de SquareFighter. La morphologie du SquareShip est entièrement définissable par l'utilisateur chaque fois qu'il se pose sur une SquareStation en fonction du nombre et du type de SquareTiles qu'il possède.
Les différents types de SquareTiles sont les suivants (liste non exhaustive): coque, canon, lanceur de missiles, lanceur de mines, moteur, bouclier. Bien sûr il existera des caractéristiques différentes au sein de chacune de ces catégories.

Ces SquareTiles sont donc à placer dans la matrice NxN de la façon dont l'utilisateur l'entend afin de donner la forme et les caractéristiques désirées par l'utilisateur. Attention : la modification de votre SquareShip est très permissive (1 seul SquareTile peut suffire pour votre SquareShip), donc attention de ne pas faire n'importe quoi si vous tenez à la vie : un SquareShip sans moteur, armement ou bouclier risque de vous conduire directement à la mort et nul par ailleurs Razz .

Les SquareTiles pourront être achetées sur les SquareStations ou bien récupérées sur les carcasses des ennemis que vous aurez détruits.


Maj du 6/10/2010 :

Le moteur graphique est à peu près en place et tourne à 60 fps avec plusieurs squareships à l'écran et un bon nombre de particules.
Je m'attaque maintenant aux collisions mais avant un petit screen histoire de vous faire rêver un peu (ou pas xD). Les graphismes du squareship sont pas définitifs rassurez vous Razz .

(Rassurez vous le 50fps ne veut rien dire en bas Razz c'est ma version de debug pr pc et le fps est bloqué sur 50 et ne correspond pas au vrai framerate sur pc.)



Maj du 10/10/2010 :

Après 2h de pixel art voici un premier jet de ce à quoi devrait ressembler un SquareShip avec moteurs, cannons et lance-missiles :


Niveau code, le module de collisions est fonctionnel.

Maj du 9/11/2010 :

Bon ! Comme certains le savent peut-être déjà j'ai voulu changer de librairie graphique afin de pouvoir gérer des superbes effets de distorsion de texture sans avoir tout recoder moi même la gestion de l'affichage d'image de l'oslib. Je suis du coup passé sur la lib 2d JGE++ qui permet de faire à peu près tout ce qui me faisait défaut avec l'oslib.
J'ai donc pris mon courage à 2 mains, téléchargé cette librairie tant convoitée et tenté de la maîtriser (un peu fougueuse cette petite ^^ ). Et c'est en farfouillant un peu dedans que j'ai remarqué une autre librairie contenue dedans appelée b2Box. Cette librairie physique 2d apparemment cross plateforme et pas du tout optimisée pour la psp s'est avérée extrêmement puissante même sans optimisation vfpu pr la psp ce qui m'a alors conduit à me poser la question :

Continue-je à coder ma propre physique (collision de cercles à la base) ou bien adopté-je (mhhh que cette tournure est moche xD) ce magnifique moteur physique ?

La réponse ne se fit point attendre. Aussi jetais-je allégrement toutes mes classes de collision et de calcul vectoriel (sniff) dans la corbeille et me ruais-je sur b2Box.

C'est donc ainsi que je suis quasiment reparti de 0 mais à mon avis le jeu en vaut la chandelle. Etant donné que mes collisions vont se limiter à ce que l'on voit à l'écran (pour le reste de simples forces de répulsion éviteront la fusion d'objets) je pense être largement au dessus de 60 fps (actuellement 1/600 s entre 2 update avec 10 squareships à l'écran en affichage debug).

Donc pour récapituler les changements que cela provoque dans le gameplay :

- de superbes collisions avec vitesse angulaire et linéaire de chaque objet
- un changement radical de l'immersion du joueur puisque la caméra qui était jusqu'à présent fixée sur le squareship du joueur et toujours orientée vers le haut (ce qui posait d'ailleurs quelques questions sur la manière de gérer le déplacement du squareship) est désormais en mode follow sur le joueur. Du coup elle tend toujours à se placer sur le joueur comme avant mais de manière fluide et en s'orientant dans le même sens que le vaisseau (comme une caméra 3ème personne dans un jeu 3D).

PoC ici !

Maj du 2/12/2010 :

Hop petites idées en vrac qui ont de très forte chances d'être implémentées :
- les réacteurs engendrent une poussée de force relative aux propriétés du réacteur
- le poids du SquareShip est défini par le poids de ses SquareTiles. Cela influe donc à la fois sur le barycentre du SquareShip et sur sa répartition massique en fonction des SquareTiles utilisées.
=> du coup la poussée du réacteur agit différemment sur le mouvement du SquareShip selon son emplacement par rapport au barycentre. Donc il faudra veiller à placer les réacteurs de manière symétriques par rapport à l'axe frontal du vaisseau et garder une géométrie globale du SquareShip symétrique si l'on veut pas avoir une trajectoire plus que douteuse Razz .

- Les SquareTiles sont destructibles. Chaque tir reçu abime le SquareTile qui l'a reçu et peut conduire à sa destruction (réparable ou pas sur une base ? à voir...). Du coup la destruction d'un réacteur peut avoir des conséquences catastrophiques sur le maniement de votre SquareShip => stratégie dans le design de votre SquareShip pour protéger les réacteurs.


Maj du 14/12/2010 :

Après avoir implémenté les tirs, je viens de réaliser que c'est quasi impossible de toucher les ennemis en mouvement vu que la caméra tourne avec le SquareShip du joueur. Ca donne l'horrible impression que les projectiles tournent alors que c'est nous qui tournons (un peu la même impression que jeter une balle devant soi en tournant sur un tourniquet xD). Du coup on ne peut jamais toucher les ennemis avec des tirs partant tout droit vers l'avant du vaisseau.

Cela m'amène donc à vous présenter le nouveau super concept de taré que voici Razz :
- on déplace au stick un réticule de visée (qui revient ou non au centre de l'écran de manière élastique quand on y touche pas? a voir) qui se déplace exclusivement dans la moitié supérieure de l'écran.
La position du réticule engendre une rotation du SquareShip plus ou moins importante selon l'angle formé par la direction indiquée par le réticule et la verticale (=direction de la caméra) qui permet alors au SquareShip d'aller dans la direction ou l'on tire (de manière progressive) si les moteurs sont allumés, ou simplement s'orienter dans la direction du tir si l'on a les moteurs éteints.

On fait donc d'une pierre 2 coups en synchronisant la visée avec le déplacement ce qui permet ainsi d'avoir une formidable précision de tir fournie par le réticule de visée dirigé au joystick Razz .

Le fait de ne pas autoriser le placement dans le quadrant bas de l'écran permet d'éviter que les canons ne tirent en arrière puisque le vaisseau ne tournera pas instantanément pour faire demi tour.

Niveau avancée du travail j'ai entièrement recodé la structure du SquareShip de manière à avoir une matrice de SquareTiles spécialisées avec des caractéristiques propres (vie, puissance de tir, accélération, cadence de tir etc...). Je finis de gérer la poussée du SquareShip sur les réacteurs (et non pas sur le barycentre et je m'occupe de ce que je viens d'expliquer).




Lien vers le topic sur XtreamLua ici.
avatar
Akabane87
Admin

Messages : 45
Date d'inscription : 30/07/2010

Voir le profil de l'utilisateur http://dreamraiser.forumactif.com

Revenir en haut Aller en bas

Re: Square Force

Message par Akabane87 le Sam 2 Avr - 22:12

Voici enfin venu le temps de la release finale du Prologue de Square Force.

La version présentée pour la Genesis sera le chapitre 1 sensé contenir une certaine partie de l'univers avec des bases, des croiseurs, des vaisseaux marchands, des pirates etc etc... et bien sur l'intrique principale qui se dévoile un peu.

Enfin bon ça ça sera si j'ai le temps et que je lutte pas trop contre les bugs et crash foireux.

Dans cette version Prologue ; rien de tout cela encore ^^^^ , juste la présentation de la trame principale, des commandes et du principe du jeu. Vous pourrez dans cette version commencer à vous faire la main avec le système de commandes un peu déroutant au départ.

Les touches :
stick pour changer de cap et pour viser
croix pour accélérer
carré/rond pour dasher à gauche/droite
triangle pour couper les moteurs et utiliser l'inertie
gachette gauche maintenue pour cibler un ennemi
gachette droite pour tirer
(pad gauche/droite pour tourner également (alternatif))
select pour changer le niveau de zoom du radar
start pour afficher le menu


http://www.mediafire.com/?nv2ujtzj2evimzr


Images :
avatar
Akabane87
Admin

Messages : 45
Date d'inscription : 30/07/2010

Voir le profil de l'utilisateur http://dreamraiser.forumactif.com

Revenir en haut Aller en bas

Re: Square Force

Message par Akabane87 le Mer 4 Mai - 1:23

Square Force passe open source :
dépot svn : https://squareforcec1.svn.sourceforge.net/svnroot/squareforcec1/trunk
avatar
Akabane87
Admin

Messages : 45
Date d'inscription : 30/07/2010

Voir le profil de l'utilisateur http://dreamraiser.forumactif.com

Revenir en haut Aller en bas

Re: Square Force

Message par Akabane87 le Lun 30 Mai - 23:13

Voici la démo du chapitre 1 de SF.

Nouveautés :

- Comme promis, le chargement complet d'un "secteur" contenant 6 planètes et leurs speedways (voies rapides) :

- On peut atterrir sur les planètes pour avoir accès (pour le moment) à l'éditeur de squareship (à l'avenir on pourra choisir ses quêtes et acheter/vendre du matériel)
- Le secteur est rempli de vaisseaux hostiles en patrouille. Ils attaqueront quiconque entre dans leur ligne de mire. (pas de patrouilles de flic et de pirates malheureusement pour l'instant)
- Les SpeedWays sont des sortes de tunnels reliant 2 planètes entre elles. Ils permettent de voyager à grande vitesse quand on s'y arrime. Cela va créer un vortex qui va vous propulser à très grande vitesse dans le tunnel jusqu'à arriver à la prochaine planète.
- Des tonnes d'optimisations sur la lib et le jeu pour le faire tourner plus vite (j'étais quand même descendu à 9fps la 1ère fois que j'ai chargé et affiché une planète...)

Les contrôles sont les même que pour le prologue avec en plus le pad directionnel bas pour s'arrimer à un speedway ou se désarrimer, ou pour atterrir sur une planète quand on est au dessus.

SquareForce : Chapitre 1 Demo :
http://www.mediafire.com/?eb2wx3v98rtbcn7

Nouveaux screenshots :

avatar
Akabane87
Admin

Messages : 45
Date d'inscription : 30/07/2010

Voir le profil de l'utilisateur http://dreamraiser.forumactif.com

Revenir en haut Aller en bas

Re: Square Force

Message par Akabane87 le Ven 3 Juin - 13:24

02/06/2011 :

Voici une nouvelle version avec le nouveau système de chargement de textures threadé :
SquareForce : Chapitre 1 Demo (No_Sound)
SquareForce : Chapitre 1 Demo (Sound) (potentiellement buggé sur le passage de l'intro (à cause du thread mp3))

Nouvelles fonctionnalités :

- Nouveau système de chargement de des textures de planète entièrement fonctionnel :
Toutes les textures de planètes sont chargées à la demande pendant le jeu dans un thread séparé. Comme les planètes sont très éloignées les unes des autres, seulement un planète est affichée simultanément. C'est pour cela que j'ai implémenté un tel système ; dans le but de ne pas avoir à charger toutes les textures en même temps en début de partie (la ram de la psp ne le supporterait pas).
avatar
Akabane87
Admin

Messages : 45
Date d'inscription : 30/07/2010

Voir le profil de l'utilisateur http://dreamraiser.forumactif.com

Revenir en haut Aller en bas

Re: Square Force

Message par Akabane87 le Jeu 9 Juin - 9:20

09/06/2011 :

Enfin la version complètement stable avec son et chargement multithreadé. Je vais enfin pouvoir reprendre le développement le cœur tranquille Razz .

SquareForce : Chapitre 1 Demo (r40)
avatar
Akabane87
Admin

Messages : 45
Date d'inscription : 30/07/2010

Voir le profil de l'utilisateur http://dreamraiser.forumactif.com

Revenir en haut Aller en bas

Re: Square Force

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum