Annonce

Réduire
Aucune annonce.

[dev] WIP lib graphique

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • #16
    Je pense être capable de programmer un jeu NeoGeo en C, le problème c'est qu'il faut de beaux sprites, et ça, c'est pas ma tasse de thé. C'est pour ça que faire le portage du jeu de Tarma ça serait cool

    Commentaire


    • #17
      Bah devrais y avoir au moins les binaires de public j'imagine, sinon c'est pas facile de s'en servir

      Mais ça risque de tourner un peu entre "ceux qui savent" le temps d'eprouver un peu/debugger, mais on en est pas encore la.

      Commentaire


      • #18
        Hop


        Hop


        Hop
        Code:
        #define FRONT_START_X 157
        #define FRONT_START_Y 24
        #define FRONT_MIN_X 8
        #define FRONT_MAX_X 307
        #define FRONT_MIN_Y 16
        #define FRONT_MAX_Y 24
        
        #define BACK_MIN_X 8
        #define BACK_MAX_X 149
        #define BACK_MIN_Y 5
        #define BACK_MAX_Y 8
        
        extern BYTE	ffbg_a_Palettes[];
        extern WORD	ffbg_a_Map[];
        extern BYTE	ffbg_b_Palettes[];
        extern WORD	ffbg_b_Map[];
        extern BYTE	ffbg_c_Palettes[];
        extern WORD	ffbg_c_Map[];
        
        int main(void) {
        	int i;
        	BYTE p1, p2;
        	int x=FRONT_START_X;
        	int y=FRONT_START_Y;
        	int carx=320;
        	int cary=106;
        
        	Scroller backScroll, frontScroll;
        	Picture car;
        
        	volMEMWORD(0x401ffe)=0x5f0f; //purple BG
        	volMEMWORD(0x3c0006)=0x1c00; //autoanim speed
        
        	clearFixLayer();
        	initGfx();
        
        	scrollerInit(&backScroll, &ffbg_a_Map[0], 1, 16, ((x-8)/2)+8, 8);
        	palJobPut(16,ffbg_a_Palettes[PAL_SIZE],ffbg_a_Palettes);
        
        	scrollerInit(&frontScroll, &ffbg_b_Map[0], 25, 25, x, y);
        	palJobPut(25,ffbg_b_Palettes[PAL_SIZE],ffbg_b_Palettes);
        
        	pictureInit(&car, &ffbg_c_Map[0],50, 50, carx, cary);
        	palJobPut(50,ffbg_c_Palettes[PAL_SIZE],ffbg_c_Palettes);
        
        	SCClose();
        	while(1) {
        		wait_vblank();
        
        		for(i=0;i<4000;i++);
        		jobMeterColor(JOB_BLUE);
        
        		p1=volMEMBYTE(P1_CURRENT);
        		p2=volMEMBYTE(P2_CURRENT);
        
        		if(p1&JOY_UP)	y--;
        		if(p1&JOY_DOWN)	y++;
        		if(p1&JOY_LEFT)	x--;
        		if(p1&JOY_RIGHT)	x++;
        
        		if(x<FRONT_MIN_X) x=FRONT_MIN_X;
        		else if(x>FRONT_MAX_X) x=FRONT_MAX_X;
        		if(y<FRONT_MIN_Y) y=FRONT_MIN_Y;
        		else if(y>FRONT_MAX_Y) y=FRONT_MAX_Y;
        
        		if(x>161) {
        			cary=106+(24-y);
        			pictureSetPos(&car,320-(x-161),cary);
        		}	else pictureSetPos(&car,320,cary);
        
        		scrollerSetPos(&frontScroll, x, y);
        		scrollerSetPos(&backScroll, (((x-8)*141)/299)+BACK_MIN_X, (((y-16)*3)/8)+BACK_MIN_Y);
        		jobMeterColor(JOB_GREEN);
        		SCClose();
        	}
        }

        Auto animation me voila
        Dernière modification par HPMAN, 04 janvier 2014, 13h42.

        Commentaire


        • #19
          De bien belle chose que voila
          16 bit forever

          Commentaire


          • #20
            Je sais pas à quoi vas servir tout ça et j'y comprends pas grand chose
            Mais…. j'ai foi en vous

            Commentaire


            • #21
              Le plus dur pour la suite sera d'embaucher un vrais concepteur en "pixel art"
              16 bit forever

              Commentaire


              • #22
                Argh , j'arrive pas à voir sur mon mac.

                Commentaire


                • #23
                  Envoyé par anzymus Voir le message
                  Je pense être capable de programmer un jeu NeoGeo en C, le problème c'est qu'il faut de beaux sprites, et ça, c'est pas ma tasse de thé. C'est pour ça que faire le portage du jeu de Tarma ça serait cool
                  Believe it or not, j'étais grafeux en demoscene y'a pas loin de 15 ans.
                  Redonner dans le pixel art à l'ancienne, qui plus est pour un jeu, me fait rêver rien qu'à y penser.

                  Mais ce serait aussi un coup à vous/te planter par manque de temps... (mouais)

                  Commentaire


                  • #24
                    Ah ah j'étais codeur sur deux demo-parties y'a 10 ans
                    Pareil, ça demanderait un investissement que je ne pourrais pas tenir sur la durée.

                    Continue HPMAN.

                    Commentaire


                    • #25
                      je matais toutes les démo sur amiga ça compte ?

                      Commentaire


                      • #26
                        C'est bon, j'ai vu.

                        Pourquoi le fichier voiture est séparé (vu que la voiture ne bouge pas / au premier plan) ?

                        Edit : est-ce pour ne l'utiliser que quand il est affiché ?

                        Edit : Scroller et Picture sont-ils des fonctions prédéfinies, ou les as-tu créées afin de les utiliser dans cette compilation ?

                        Faut que je décortique ta prose , t'as dû créer tes outils déjà, je pense. C'est bien sympa en tout cas.
                        Dernière modification par chacha, 04 janvier 2014, 22h31.

                        Commentaire


                        • #27
                          Obligé de séparer la caisse, sinon trop de couleurs sur le même tile. C'est construit comme ça dans le jeu de base.
                          De toute façon elle bouge aussi dans FF.

                          Scroller er Picture sont des types définis et utilisés dans la lib.

                          Commentaire


                          • #28
                            Ta librairie est elle plus optimisé que celle utilisé dans les jeux de SNK au niveau occupation mémoire/CPU ?
                            16 bit forever

                            Commentaire


                            • #29
                              Bah parle moi de l'occupation mémoire/CPU des libs SNK et je te dirais ou je me situe

                              Niveau RAM ça monopolise ~10ko
                              Niveau CPU à par l'IRQ vblank tout est pour l'instant en C, donc ça vaut ce que ça vaut en attendant de tout passer en asm. Toujours mieux que la lib de base ceci dit.

                              De toute façon si tu veux exploiter au maximum tu prends pas une lib généraliste, tu construits ce qu'il te faut spécifiquement autour de ton jeu. Et surtout tu fais pas ton jeu en C.


                              Faudrais que quelqu'un ponde un pseudo benchmark avec les libs de base, je refais le même sur la mienne et on compare.
                              Dernière modification par HPMAN, 05 janvier 2014, 20h06.

                              Commentaire


                              • #30
                                Chapeau HPMAN.

                                - Dev - Hacks - Homebrews - Games - Demos -
                                -

                                Commentaire

                                Chargement...
                                X