Tron Genesis

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

Tron Genesis

Message par Fax le Dim 19 Nov 2017 - 19:32

Je vous présente mon remake du célèbre jeu Tron développé sous megadrive grâce au SGDK.

Il est encore en cours de développement mais j'aurais probablement bientôt besoin de vos conseils donc j'anticipe un peu en créant ce sujet.

Voici deux captures pour vous montrer un peu la bête.

Sur ce projet, je joue pas mal avec les palettes de couleurs. Je les modifie en faisant des fading sur l'écran titre, ce qui rend pas mal avec l'effet "néon".





A bientôt.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par tetsuro le Dim 19 Nov 2017 - 20:18

Cool un nouveau projet MD, je te suis, on avait commencé à dev un jeu MD avec un poto du site, alors je suis fan de tout les projets MD.
Pour le moment j'aime bien le style graphique. C'est quoi le concept ? C'est quoi ton parcours de développeur ?
Bon courage et bonne chance ! :)
avatar
tetsuro
Patient contaminé

Masculin Nombre de messages : 390
Age : 40
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Dim 19 Nov 2017 - 21:05

Je code depuis plus de 10 ans maintenant.
J'ai commencé par un site internet et je me suis rapidement tourné vers JAVA.
J'ai un peu touché à tout et récemment j'ai voulu faire un jeu pour un ami pour sa borne d'arcade multi-émulateur avec un raspberry pi.

Je me suis tourné vers SGDK car j'avais besoin d'aller vite. Grâce à SGDK j'ai offert son jeu à mon ami. Et en retour, pour mon anniversaire il m'a offert une borne d'arcade XD.

Du coup je développe pour la première fois sans contrainte de temps avec le SGDK.

Concernant le style graphique c'est inspiré de la série Tron. Et le gameplay c'est pareil.

Chaque joueur pilote une moto futuriste qui laisse un "mur" lumineux derrière elle. Dès qu'une moto percute un mur, elle perd la partie.

J'avance super vite donc je pense essayer d’étoffer un peu le jeu en ajoutant des options à la mariokart.

Le but de la manœuvre étant que je m'amuse à coder et que le jeu soit fun et rapide à prendre en main.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par troudki le Lun 20 Nov 2017 - 21:26

Hello Fax

Pocket Lucho avait fait une démo Tro-Now , un jeux similaire sous Mégadrive lors d'une gamejam
tu trouveras également le code source, fait sur une veille version de SGDK
En espérant que ça t'inspire pour ton projet

Tro-now
avatar
troudki
Patient en incubation

Masculin Nombre de messages : 91
Age : 44
Localisation : Antibes
Date d'inscription : 02/01/2014

http://www.z-team.fr

Revenir en haut Aller en bas

Re: Tron Genesis

Message par drludos le Lun 20 Nov 2017 - 22:26

J'adore l'effet néon sur l'écran titre !

A l'occasion, si tu peux nous en uploader une vidéo pour le voir en mouvement, ça doit être encore plus cool !

drludos
Patient en incubation

Masculin Nombre de messages : 64
Age : 37
Localisation : 34
Date d'inscription : 12/10/2017

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Mar 21 Nov 2017 - 11:38

Merci pour le lien.
Je préfère ne pas le regarder pour l'instant, j'aime bien chercher par moi même.
Je mettrais une petite vidéo prochainement.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Ven 24 Nov 2017 - 0:01

J'ai ENFIN réussis à gérer mes collisions et mes affichages de "murs" derrière les motos.
C'était de purs problèmes d'algoritmes comme je les aiment...

Voici deux petits GIF pour vous montrer mes avancées.

Ecran titre actuel : 


Selection de sa couleur et lancement d'une partie.

avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par philip le Ven 24 Nov 2017 - 16:56

C'est prometteur, le film à l'époque m'avait fasciné.
thumleft
avatar
philip
Docteur *
Docteur *

Masculin Nombre de messages : 1967
Age : 46
Localisation : 31350 déménagement terminé.
Date d'inscription : 10/04/2011

http://philip-md.blogspot.fr/

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Ven 24 Nov 2017 - 18:24

Je vais surtout créer plusieurs style de jeux.
Un classique comme on voit sur le gif.
Et un avec des motos différentes. Une qui accélère quand on appuie sur le bouton. Une qui saute. Une qui peut prendre 2 dégâts...

Pour l'nstant les contrôles se font uniquement en gauche ou droite comme dans le jeu original mais je vais mettre la possibilité de pouvoir jouer en multi directionnel. Parce que j'ai constaté que beaucoup de personnes ont du mal avec uniquement droite et gauche.
Je cherche encore quoi faire pour habiller mon écran d'accueil.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Jeu 30 Nov 2017 - 1:05

Quelques nouveautés :

- Possibilité de choisir entre le mode "bidirectionnel" (on bouge avec droite et gauche comme si on était dans la moto) ou "multidirectionnel" (on utilise les 4 directions pour bouger sa moto vers cette direction).
- 2 nouveaux graphismes de motos.
- Ajout de petites "étincelles" qui suivent les lignes vertes de mon fond que vous pouvez voir sur la capture d'écran en bas a droite (uniquement esthétiques).
- Création de jauges de boost qui permettent à votre moto d’accélérer pendant un laps de temps (le temps que votre jauge se vide). Celle -ci se remplit avec le temps.

Lors de l’accélération, la moto ne crée pas de mur derrière elle et ne peux pas tourner.
Cette feature sera disponible en dehors du mode de jeu classique.



Bonne soirée à tous.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Lun 4 Déc 2017 - 15:21

Nouveautés : 


Nouvel écran titre:



Ajout des choix avant la partie (avec des nom très recherchés pour les motos) :



Nouvelles jauges de boost plus stylées que les anciennes :




Désormais l'accélération à l'aide du boost ne coupe plus le mur comme avant. Finalement c'est plus fun comme ça.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par herve 177 le Lun 4 Déc 2017 - 18:26

Hello 

Tron + genesis la tu me fait rêver merci,
 en tout qu'a bravo pour  ton boulot Wink
avatar
herve 177
Patient en incubation

Masculin Nombre de messages : 99
Age : 47
Localisation : languedoc
Date d'inscription : 03/10/2015

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Lun 4 Déc 2017 - 22:19

Merci pour ton message.

Bientôt disponble dès que j'aurais mis en place les deux trois derniers trucs (IA pour jeu solo et écran de victoire).
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Jeu 7 Déc 2017 - 23:32

Quelques nouvelles :


  • Ajout d'un logo en guise d'intro (à l'image du classique "SEGA").
  • Les paramètres de chaque joueur sont conservés entre chaque duel (un duel c'est 3 manches gagnantes).
  • Mise en place de nouveaux pouvoirs pour les motos (détaillés ci-dessous).
  • Création d'un écran de victoire (avec un trophée et une petite animation de la moto victorieuse).


Nouveaux pouvoirs / Nouveaux gameplay :

Moto STORM

Utilise sa barre de pouvoir pour accélérer. Pendant cette accélération, la moto ne peux plus être dirigée, elle fonce tout droit. La barre de pouvoir se remplit dès que le joueur arrête d'appuyer sur l'accélérateur.

Moto TORCHLIGHT

Utilise sa barre de pouvoir pour tirer un missile. Le missile envoyé consomme toute la barre d'un coup et ne peux donc être envoyé que lorsque celle-ci est pleine. Les missiles explosent au moindre contact avec un mur, ils détruisent les motos mais pas les murs. La barre de pouvoir se remplit dès qu'elle est complètement vide.

Moto HAMMER

Utilise sa barre de pouvoir pour s'entourer d'un bouclier la rendant indestructible. Contrairement aux autres, la barre de pouvoir ne se remplira jamais. Une fois consommée en intégralité, la moto ne possède plus de pouvoir.


Prochaine étape, l'IA.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Vetea le Jeu 7 Déc 2017 - 23:40

Excellent tout ça !!! amoureux
Je préfère largement ce projet à tes précédents sur MD. Wink

L'idée d'ajouter des pouvoirs et autres options pour enrichir le gameplay est excellente ! Par contre, ça complexifie la chose si tu veux aussi les intégrer pour l'IA. :)

Bon courage pour la suite.
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4490
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax le Jeu 7 Déc 2017 - 23:47

L'IA sera surtout là pour tester le jeu si t'as pas d'ami.
Elle n'aura pas (dans un premier temps en tout cas), vocation à être un vrai défi.

Concernant mes autres jeux c'est sur que c'est pas le même style ^^. Pour une fois j'ai du temps pour peaufiner le tout....ça change.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax Hier à 22:28

Me revoilà avec une petite démo.

LIEN VERS LE JEU

J'aurais besoin de votre feedback sur le jeu de manière général (graphismes/ergonomie des menus/difficulté d'apprentissage/ ect...).

Et je voudrais votre avis sur un "bug" que j'ai dans le jeu : Si vous naviguez entre le menu principal et le choix des motos (à 1 ou 2 joueurs le bug est le même), l'affichage du menu ne se fait qu'une fois sur deux...j'ai eu beau chercher dans mon code je ne vois pas ce qui peut donner ça. J'imagine que ça provient des
Code:
        ind = 0;
        ind2 = fond_menu.tileset->numTile+20;

        VDP_drawImageEx(PLAN_B, &fond_menu, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), 0, 0, FALSE, TRUE);
        VDP_drawImageEx(PLAN_B, &titre_menu, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind2), 8, 2*8/8, FALSE, TRUE);

Pour tester ce bug et me donner une piste de réponse svp : MENU (le fond est ok) -> A -> CHOIX MOTO -> B (pour revenir au menu) -> MENU (dont le fond est absent) -> A -> CHOIX MOTO -> B -> MENU (Magie le fond est revenu).

Le code d'initialisation des deux scenes : 

Menu :
Code:
  if(initOK == 0){
        initOK = 1;
        tempsRef = getTick();

        SPR_reset();
        VDP_clearPlan(PLAN_A, TRUE);
        VDP_clearPlan(PLAN_B, TRUE);

        VDP_clearTextLine(26);
        VDP_setTextPlan(PLAN_A);
        VDP_setTextPalette(PAL0);
        VDP_drawText("2 Joueurs", 15,25);
        VDP_drawText("1 Joueur", 15,23);
        flecheSel1.Sprite = SPR_addSprite(&fleche_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL0, TRUE, FALSE, FALSE));
        flecheSel1.direction = GAUCHE;
        flecheSel1.X = flecheSel1.objX = 88;
        flecheSel1.Y = 176;

        ind = 0;
        ind2 = fond_menu.tileset->numTile+20;

        VDP_drawImageEx(PLAN_B, &fond_menu, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), 0, 0, FALSE, TRUE);
        VDP_drawImageEx(PLAN_B, &titre_menu, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind2), 8, 2*8/8, FALSE, TRUE);
        VDP_fillTileMapRect(PLAN_B, TILE_ATTR_FULL(PAL0, 0, 0, 0, 0), 9, 21, 19, 7);

        memcpy(&palette[0], fond_menu.palette->data, 16 * 2);
        memcpy(&palette[16], fond_menu.palette->data, 16 * 2);
        VDP_fadeIn(0, (4 * 16) - 1, palette, 50, TRUE);

  }

Choix Moto :
Code:
if(initOK == 0){
            SPR_reset();
            SPR_init(15, 256, 256);
            initOK = 1;
            j1pret = 0;
            j2pret = 0;
            ind = 0;
            palEclair = palBleue;

            VDP_clearPlan(PLAN_B, TRUE);
            VDP_clearPlan(PLAN_A, TRUE);
            VDP_drawImageEx(PLAN_A, &fond, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), 0, 4, FALSE, TRUE);
            ind += fond.tileset->numTile+20;

            initPalettes(1);

            moto1Menu.Sprite = SPR_addSprite(&moto_glow, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
            moto2Menu.Sprite = SPR_addSprite(&moto_glow, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL2, TRUE, FALSE, FALSE));
            start1.Sprite = SPR_addSprite(&start_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
            start2.Sprite = SPR_addSprite(&start_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL2, TRUE, FALSE, FALSE));

            controles1.Sprite = SPR_addSprite(&controles_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
            SPR_setPosition(controles1.Sprite,52, 150);
            controles2.Sprite = SPR_addSprite(&controles_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL2, TRUE, FALSE, FALSE));
            SPR_setPosition(controles2.Sprite,204, 150);

            SPR_setPosition(moto1Menu.Sprite, 72, 160);
            SPR_setPosition(moto2Menu.Sprite, 224, 160);
            moto1Menu.Y = moto2Menu.Y = 140;
            controles1.Y = controles2.Y = 120;
            SPR_setPosition(start1.Sprite, 30, 140);
            SPR_setPosition(start2.Sprite, 200, 140);
            start1.X = start1.objX = 45;
            start2.X = start2.objX = 185;
            start1.Y = 188;
            start2.Y = 188;

            moto1Menu.X = 72;
            moto2Menu.X = 224;
            controles1.X = 52;
            controles2.X = 204;

            afficherInterface(1);
            VDP_setTextPlan(PLAN_A);
            VDP_setPaletteColor((0*16) + 15, RGB24_TO_VDPCOLOR(0xFFFFFF));

            tempsRef = getTick();
            eclair.Sprite = SPR_addSprite(&eclair_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL3, TRUE, FALSE, FALSE));
            SPR_setPosition(eclair.Sprite,-50,0);

            strcpy(tabMotos[0].str,"Storm");
            strcpy(tabMotos[1].str,"Torchlight");
            strcpy(tabMotos[2].str,"Hammer");

            SPR_setFrame(moto1Menu.Sprite, motos[0].typeMoto);
            SPR_setFrame(moto2Menu.Sprite, motos[1].typeMoto);
            SPR_setAnim(controles1.Sprite, motos[0].typeControles);
            SPR_setAnim(controles2.Sprite, motos[1].typeControles);

            flecheSel1.Sprite = SPR_addSprite(&fleche_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
            flecheSel2.Sprite = SPR_addSprite(&fleche_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL2, TRUE, FALSE, FALSE));
            flecheSel1.direction = GAUCHE;
            flecheSel2.direction = DROITE;
            flecheSel1.X = flecheSel1.objX = 88;
            flecheSel1.Y = flecheSel1.objY = 50;
            flecheSel2.X = flecheSel2.objX = 232;
            flecheSel2.Y = flecheSel2.objY = 50;
            selection1 = selection2 = MOTO;

            for (i=0;i<5;i++) {
                scroll[i] = 0;
            }

            VDP_setHorizontalScrollTile(PLAN_A, 18, scroll,5,1);
        }

Et la fonction "afficherInterface()" :
Code:
if(initFleches == 1){
            fleche1.Sprite = SPR_addSprite(&fleche_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
            fleche2.Sprite = SPR_addSprite(&fleche_sprite, fix32ToInt(0), fix32ToInt(0), TILE_ATTR(PAL2, TRUE, FALSE, FALSE));
        }
        VDP_fillTileMapRect(PLAN_A, TILE_ATTR_FULL(PAL1, 0, 0, 0, 0), 0, 0, 40, 3);
        VDP_drawImageEx(PLAN_A, &tube, TILE_ATTR_FULL(PAL1, FALSE, FALSE, FALSE, ind), 0, 3, FALSE, TRUE);
        ind2 += tube.tileset->numTile+20;
        VDP_drawImageEx(PLAN_A, &tube, TILE_ATTR_FULL(PAL2, FALSE, FALSE, FALSE, ind), 20, 3, FALSE, TRUE);

        SPR_setPosition(fleche1.Sprite, 143, 0);
        SPR_setPosition(fleche2.Sprite, 160, 0);

        SPR_setHFlip(fleche1.Sprite, TRUE);
        VDP_setTextPlan(PLAN_B);
        char s1[16];
        char s2[16];
        intToStr(scoreJ1, s1, 1);
        intToStr(scoreJ2, s2, 1);
        VDP_setTextPalette(PAL1);
        VDP_drawText(s1, 16, 1);
        VDP_setTextPalette(PAL2);
        VDP_drawText(s2, 23, 1);



Merci à tous pour vos retours et bon jeu !!
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Jayseb64 Hier à 22:32

Ca colle pas mal avec l'actualité
Tron

Jayseb64
Patient contaminé

Masculin Nombre de messages : 490
Age : 35
Localisation : Paris
Date d'inscription : 25/10/2012

Revenir en haut Aller en bas

Re: Tron Genesis

Message par avalon471 Hier à 22:50

projet sympathique,la moto hammer passe a travers les murs?
avatar
avalon471
Docteur *
Docteur *

Masculin Nombre de messages : 5923
Age : 31
Localisation : un peu partout
Date d'inscription : 08/06/2013

Revenir en haut Aller en bas

Re: Tron Genesis

Message par Fax Hier à 22:52

Oui la moto hammer possède un bouclier. Mais rien n'est éternel. Une fois déchargé, le bouclier ne peux plus être activé.
avatar
Fax
Patient en incubation

Masculin Nombre de messages : 78
Age : 30
Localisation : Nancy
Date d'inscription : 03/05/2017

http://Www.terre-et-glace.com

Revenir en haut Aller en bas

Re: Tron Genesis

Message par avalon471 Hier à 23:48

Si je puis me permettre la fleche devant "start" je l'aurais vu immobile avec une lumiere pulsante (façon pomme sur mac book)

ou au moins plus lente dans son mouvement.
avatar
avalon471
Docteur *
Docteur *

Masculin Nombre de messages : 5923
Age : 31
Localisation : un peu partout
Date d'inscription : 08/06/2013

Revenir en haut Aller en bas

Re: Tron Genesis

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


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