Sol 3D pour jeux à la shadow fighter

7 sujets de 1 à 7 (sur un total de 7)

  • Anonyme

      #9428

      Bonjour,

      Petit tuto pour les hollywoodiens :

      @DISPLAY {mode="ask",width=640, height=480}

      ; Création d'une Brosse X=640 et Y=1

      CreateBrush(1,640,1)

      ; Sélection de la Brosse

      SelectBrush(1)

      ; Boucle pour réaliser les lignes rouges et bleu

      ; intercalé chacune de 16 pixel (16 vert clair + 16 vert foncé=32 d'ou le step 32)

      For Local X=0 To 640 Step 32

      Line(X,0,X+16,0,$008800)

      Line(X+16,0,X+32,0,$00AA00)

      Next

      ; Fin de la sélection de brosse

      EndSelect

      SetFontStyle(#EDGE, #BLACK, 1)

      SetFillStyle(#FILLGRADIENT, #LINEAR, $002266, $00AAFF)

      ;On initialise la seul variable global du programme

      XDeplacement=0

      Function Sol3D()

      StartTimer(1)

      Flip

      Cls

      Local PositionLigneEnX=0

      Local ZoomLigneEnX=1.5

      Local Droite=IsKeyDown("RIGHT")

      Local Gauche=IsKeyDown("LEFT")

      If Droite=True Then XDeplacement=XDeplacement+2

      If Gauche=True Then XDeplacement=XDeplacement-2

      For Local Y=400 To 480

      PositionLigneEnX=PositionLigneEnX+(XDeplacement/10)

      ZoomLigneEnX=ZoomLigneEnX+0.1

      ; Ici, on peut aller récupérer chaque ligne d'une image et l'afficher en Sol 3D

      ; Il faut faire : DisplayBrushPart(1,point X de départ de la copie, point Y de départ de la copie,

      ; 320+XDeplacement+PositionLigneEnX,Y,Taille de la partie à copier,1,{scaleX=ZoomLigneEnX,anchorx=0.5})

      ; la commande DisplayBrushPart utilisé comme ci dessus rend le même effet que de la texturisation ;-)

      DisplayBrush(1,320+XDeplacement+PositionLigneEnX,Y,{scaleX=ZoomLigneEnX,anchorx=0.5})

      Next

      Local Temps=GetTimer(1)

      Box(0,0,640,400)

      TextOut (220,20,"Sol 3D pour Beat Them All")

      TextOut (160,40," Touche Flèche droite pour aller à droite")

      TextOut (160,50," Touche Flèche Gauche pour aller à gauche")

      TextOut (0,0,Round((1/Temps)*1000))

      TextOut (30,0,"Image par seconde")

      EndFunction

      ; Dans se programme, les variables disent tous ;-)

      SetInterval(1,Sol3D,20)

      BeginDoubleBuffer

      Repeat

      WaitEvent

      Forever

      Lien des exe :

      http://jeannoel.roueste.free.fr/Amiga/ShadowAOS.exe

      http://jeannoel.roueste.free.fr/Amiga/ShadowMorphos.exe

      Petit plus pour les fan d’Apower :

      http://jeannoel.roueste.free.fr/Amiga/ApowerAOS.exe

      http://jeannoel.roueste.free.fr/Amiga/APowerMorphos.exe

      BatteMan

        #144817

        Environ 45 à 50 FPS pour l’un comme pour l’autre sur ces deux exe.

        /me a testé sur le PMac@1,8.

        Only Amiga makes it possible !

        Anonyme

          #144818

          Ah! c’est pas mal dis donc, je commence à avoir plein de routine d’effets et de moteur de jeux ;-).

          Si, il y en a qui veulent développer des jeux pour ANG (morphos+AOS) qu’il me bip. Un ou 2 programmeur hollywood en plus (même débutant) serait pas du luxe ;-)

          En tous cas, je suis content, mon moteur de texture fonctionne, un peu lent, mais il fontionne…

          Je peux donc continuer mon Moteur sol3D avec des brush pour savoir si sa tourne bien, je vais mettre 2 grands brush dont 1 qui sera possible de bouger et l’autre qui aura une IA simple de déplacement aléatoire.

          Par contre sur Sam 440/460 et mac mini, le sol 3D est a combien de FPS? savoir si je l’implémente avec option ou directement dans le moteur final?

          crisot

            #144819

            35 à 37 fps sur ma bécane pour le vectoriel.

            Un peu plus de 40 pour le mappé (APower). Je ne comprendrais jamais rien à Hollywood… :-)

            Anonyme

              #144820

              @Crisot : Ptdr… pareil, normalement sa devrais être l’inverse… pfff, et pourtant c’est exactement le même code (c’est sa le pire) sauf que j’utilise displaybrushpart pour l’Apower qui est l’image originel du site et Displaybrush qui affiche une image en 2 couleurs…

              Je vais un peux me pencher sur se problème dans la semaine… Il se peut que je me soit gouré quelque part

              kioniro

                #144821

                Pssst ! Pour les linuxiens Hollywood 4 fonctionne parfaitement bien sous Wine !

                Test de FPS : J’obtiens environ 60 FPS sous Linux Wine avec mon portable sur batterie (Donc 500Mhz en dual-core).

                Ma config : Amiga CD32 nue, c'est un super joujou pour rester dans le monde de l'Amiga 🙂

                sayasupacrew

                  #144822

                  15 fps sur mon Peg 1 (mos 1.4).

                  https://www.youtube.com/@sayasupa

                7 sujets de 1 à 7 (sur un total de 7)

                • Vous devez être connecté pour répondre à ce sujet.

                Forums AmigaOS, MorphOS et AROS Développement Sol 3D pour jeux à la shadow fighter

                Amiga Impact