Pincab Passion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilAccueil  PortailPortail  ÉvènementsÉvènements  WIPs Team PP  S'enregistrerS'enregistrer  ConnexionConnexion  Dons  








 

 [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX

Aller en bas 
+7
actarus
foxyt
arngrim
Mikcab
ebor
Sebcemoi
leeoneil
11 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 12:18

Je me lance sur un espèce de tuto/bonne pratique pour l'amélioration des tables Electro-Mécaniques (EM) et originale sur VPX (tables sans ROM).
Il est fort possible que cela soit super décousu (et ultra long) au moins dans un premier temps, je pourrais ré-ajuster dans un deuxième temps.

Avant tout amis lecteurs, comprenez qu'ici je ne suis pas un spécialiste.
Je vais essayer de rapporter et condenser toutes les infos qui nous ont été livrées par les vrais pros.
Pour le DOF, nous avons ici  @arngrim sur le forum, qui a développé une bonne partie du DOF actuel (et dofé des centaines et des centaines de tables), et qui a formé une petite équipe sur le DOF des tables EM. Une fois de plus milles merci à lui.
Pour le SSF je vous transmet des infos de  @Thalamus  et TerryRed.
Je ne suis moi même pas du tout développeur, et donc je ne comprends même pas la moitié de ce que je fais !  Laughing
Donc je vais probablement écrire des boulettes. Ce sera corrigé au fur et à mesure que les pros me reprendrons !

J'en profite pour remercier (pour la postérité) de nouveau @arngrim  pour la formation et le suivi dinguo fait sur le sujet,  @foxyt pour s'être lancé dans la galère en même temps que moi  Laughing , et  @ebor et  @actarus qui nous accompagnent régulièrement sur nos questionnements.
J'espère que d'autres gogols se joindrons à nous dans l'aventure.

Il faut également savoir qu'il y a déjà une vraie documentation pour le DOF.
Suivez le lien ici.
C'est ultra complet mais ça se focalise surtout sur la mise en place du DOF dans nos pincab et sur le code indispensable pour faire fonctionner tout ça.

Pourquoi parler du DOF et du SSF en même temps ?
Car une bonne partie des fonctions sont imbriquées ! Tant qu'à améliorer une table avec du DOF, autant prendre un petit peu de temps en plus pour inclure du SSF.


Le DOF
Le principe ?
On colle une info dans le script côté VPX, qui va communiquer par l'intermédiaire du B2s (c'est important, on reviendra dessus) avec le logiciel DOF installé sur votre pincab. Normalement si vous débarquez ici vous avez déjà installé/configuré votre DOF, vous savez à peu près de quoi on parle.
Ce DOF installé dans votre pincab est configuré par l'intermédiaire du DOF Config-Tool. Attention ce DOF config-tool est partagé par toute la communauté (c'est important également, on va y revenir).

On va donc travailler dans le script côté VPX, et dans le config-tool en ligne.
Quand on DOF, on passe constamment de l'un à l'autre.
Pour simplifier le boulot, le mieux est de travailler sur un fichier en dehors du logiciel VPX !
On copie/colle l'intégralité du script dans un fichier .vbs au nom exact de la table, et on enregistre ce fichier dans le dossier où est installé la table.
Quand VPX se lance, il vient lire en priorité le script du fichier .vbs, comme ça vous ne touchez pas (dans un premier temps) le script original.

Exemple.
Mon fichier de table VPX s'appelle Teacher_s Pet (Williams 1965).vpx
Je créer un fichier Teacher_s Pet (Williams 1965).vbs, je colle le script complet dedans et j'enregistre le fichier dans le même dossier que la table.
Pour travailler sur le script, utilisez un petit programme fait exprès (le notepad fonctionne mais on ne voit pas grand-chose), exemple celui-ci qui est très bien et gratuit : Visual Studio code


La base de la base
Pour que ma table soit comprise, elle a une identité unique (le plus souvent) sur le DOF.
Cette identité est utilisé par le B2s et par le DOF.
Cette info, côté script, c'est la fonction cgamename.
Exemple côté script :
Code:
Const cGameName = "TeachersPet_1965"
Côté config-tool :
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Cgamen10
Si la table n'existe pas dans la liste, si elle n'a pas été entré, il faudra en demander la création à Arngrim, en donnant l'intitulé exact du cgamename.
Si la table existe déjà ET que vous voyez des entrées déjà configurées : fuyez, pauvres fous !  Laughing
Si vous vous attaquez à un chantier déjà public ATTENTION ! Vous n'avez pas le droit de modifier le nom des entrées déjà présentes, sinon vous allez casser tous les DOF précédents (et là on ne peut plus rien pour vous, ce sera la lapidation).

Il y a des exceptions pour les tables très ressemblantes, exemple une version 1 joueur et 4 joueur.
Nous aurons une seule entrée config-tool, avec différents alias correspondants aux différents cgamename. Comme ça on ne fait qu'un seul config-tool. Cela veut dire que si on se lance dans le DOF d'une table qui a une jumelle (une version add a ball, ou une version 4 joueurs par exemple), et bien on se lance dans les 2 (ou 3) tables en même temps pour éviter les erreurs !

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Alias10

Ensuite, si je veux discuter avec mon DOF, je vais appeler un numéro d'évènement dans le script, qui aura une correspondance dans mon config-tool.
Exemple :
Côté script, j'écris
Code:
DOF 101, fonction

Côté config-tool, je vais avoir un E101 (E comme évènement).
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX E10110
Ici on voit que les flippers gauche et droit sont respectivement E101 et E102, et que les slinghots sont nommés E103 et E104.

Qu''est-ce qu'on a comme fonction de disponibles ?
Voici celles de base :
- DOFPulse -> envoie une impulsion
- DOFOn -> allume "définitivement" l'évènement associé
- DOFOff -> éteint "définitivement" l'objet associé
Avec ces 3 fonctions on peut gérer l'intégralité d'une table EM.

Voici donc un script valide qui sera compris :
Code:
DOF 101, DOFOn
J'allume simplement le E101 côté config-tool.

Si dans un script vous trouvez quelque-chose comme :
Code:
DOF 101, 2
C'est du vieux dof, il faut le mettre à jour !

Côté config-tool, nous pouvons ajouter des infos supplémentaires.
Sur les contacteurs/solenoids, ce sera un simple E101 pour flipper et slingshot, pour les targets et droptargets, nous devons ajouter @t@ (target) et @dt@ (droptarget). Cela permet de gérer finement le DOF et de faire fonctionner différement les contacteurs lorsqu'il s'agit de target ou de droptarget.

Exemple ici :
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Target10
Nous avons les flipper et slingshot en EXXX, puis des contacteurs en EXXX @t@ ou EXXX @dt@
Si vous avez bien compris, dans l'exemple le contacteur "bumper middle center" peut être apellé dans le script par un DOF 105 et un DOF 110. Ce contacteur servira pour 2 fonctions du script.

Notez que chaque éléments est séparé par un "/" sur une ligne.
IMPORTANT : ne jamais finir une ligne par "/"
IMPORTANT : ne jamais mettre d'espace en trop

Exemple de code doublement foireux côté config-tool :
Code:
E101    @t@/E102/

Personnellement je nomme ainsi dans le config-tool
- E1XX les contacteurs/solenoids
- E2XX les lumières, strobe
- E3XX les gros toys, comme le knocker ou les chimes.
Comme ça en un coup d'oeil dans le script on sait à quel type d'évènement on fait appel.

Pour les lumières, nous avons des possibilités supplémentaires côté config-tool.
Nous pouvons ajouter une couleur.
Il y a un tableau de couleur sur le tool, si on clique dessus cela nous rapporte la bonne couleur dans la ligne sélectionnée.
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Couleu10

Dans une ligne je peux donc avoir :
Code:
E201 White
La lumière associée va s'allumer en blanc pendant 60 millisecondes (c'est le temps par défaut)
Côté script :
Code:
DOF 201, DOFPulse

Autres fonctions pour les lumières :
- 300 -> un nombre, ce sera le temps d'allumage (exemple E230 300 allume le strobe 230 pendant 300 millisecondes)
- w150 -> un délais de 150 millisecondes avant que cela s'allume(cela peut être le chiffre que vous voulez), très utile pour les "animations"
- f200 -> fade-up et fade-down (sur 200 ms ici). La lumière s'allume et s'éteint progressivement.
- fu200 -> fade up
- fd200 -> fade down
Voici un exemple de config-tool rempli côté flashboard :
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Lumizo10
Cela peut faire peur surtout que nous ne voyons pas toute la ligne, ça défile encore à droite ! Mais en fait on le remplis au fur et à mesure que l'on renseigne le script.
Il faudra faire vraiment attention avec les espaces et les "/". Pas le droit à l'erreur !


Où mettre des effets DOF, qu'est-ce que l'on peut activer ?
Ici je vais proposer ce qu'il "faudrait" faire pour les tables EM.
Nous avons tous nos idées sur le sujet, mais il y a des bonnes pratiques qui sont mise en place par la communauté depuis plusieurs années, et nous allons essayer de suivre tout ça, pour que le DOF des tables EM soit homogène et sobre.
Nous verrons plus loin que pour les créatifs ou les dinguos du clignotement, nous avons une solution !

Voilà pour le fonctionnement de base.
Maintenant nous allons voir que pour chaque éléments, cela est géré différemment.
Il n'y aura pas de gros changement pour les lumières, côté script ce sera souvent un
Code:
E201, DOFPulse
Mais pour le reste, tout change (oui sinon ce serait trop simple) !!!!


La théorie
La base du DOF, nous allons activer les solenoides/contacteurs sur :
- les flippers
- les slingshots
- les bumpers
- les cibles tombantes et non tombantes (Targets et Droptargets) pendant le choc et lorsque les cibles remontent (EXXX @t@ et EXXX @dt@)
- les eject holes au moment du kick
- le slingshot droit au moment de la "ballrelease"
- on COUPE les contacteurs des flippers en cas de tilt

Côté lumière
- On allume ou éteint le "start button" en fonction de la présence de crédit (EXXX Blink fu500 fd600)
- On allume l'undercab quand on lance la table, on l'éteint quand la partie est terminée (EXXX couleur)
- Pulse sur une lumière flashboard pour chaque bumper (EXXX couleur)
- Pulse long pour les passages de la bille sur les roll-over (EXXX couleur f200)
- Pulse très long pour les passages de la bille dans les outlanes (EXXX couleur f400)
- Pulse lorsque le spinner tourne (EXXX couleur f200)
- Pulse lors du drain (EXXX couleur fd800)
- Pulse sur kick d'eject hole + strobe
- Bonus : on ajoute une animation flashboard lorsque la bille entre en jeu
- Bonus : on ajoute une animation flashboard en début et fin de partie

Autres toys
- Knocker + strobe quand ça claque (strobe en 300 ms)
- Chimes à gérer

Si vous en voulez plus SUR LES TABLES EM, notamment côté lumière (exemple une lumière au moment où on touche une cible), nous gèrerons ça avec une option (je l'appelle epileptikdof sur mes DOF). Nous verrons ça en bonus.
SUR LES TABLES ORIGINALES : vous faites ce que vous voulez côté lumière !  Twisted Evil
Nous allons prendre chaque éléments un par un.


Les flippers
Script d'origine sur une table non-dofée de Loserman76 :
Code:
If keycode = LeftFlipperKey and InProgress=true and TableTilted=false Then
 LeftFlipper.RotateToEnd
 PlaySound "FlipperUp"
 PlaySound "buzzL",-1
 
 End If
Nous allons intégrer le DOF sur le son qui est apellé (playsound "FlipperUp").
Ici FlipperUp est tout simplement le nom du fichier son (souvent un wav) !
Vous pouvez le retrouver dans le sound manager de VPX et le jouer pour tester.
Script après DOF :
Code:
If keycode = LeftFlipperKey and InProgress=true and TableTilted=false Then
 LeftFlipper.RotateToEnd
 PlaySound SoundFXDOF("FlipperUp",201,DOFOn,DOFContactors)
 PlaySound "buzzL",-1
 
 End If
On a bien notre 201, DOFOn que nous connaissons, mais nous utilisons la fonction SoundFXDOF qui permet de joueur le son + d'appeller un évènement DOF. Nous appellons un contacteur/solenoids, donc ce sera DOFContactors.
Et donc on appelle le E201 situé sur "Flipper Left" dans le config-tool.

Et là on stoppe tout car nous allons introduire le...


SSF
Et oui, car même si on ne maîtrise pas encore le DOF, les fonctions SSF s'intègrent au milieu de tout ça.
Donc autant avancer en même temps.

Comment fonctionne le SSF, très grossièrement ?
Quand le script joue un son, on va lui dire : ok tu joue ce son, mais à endroit précis.
Cet endroit n'est pas une coordonnée, mais un objet de la table (cela peut-être absolument n'importe quoi SAUF les walls et rubbers, qui n'ont pas de coordonnées X,Y dans VPX).
Pour que nous puissions utiliser les fonctions SSF, il va falloir les intégrer au script. Nous verrons ça dans une deuxième partie.


Reprenons....
Les flippers
Voici le code avec SSF :
Code:
If keycode = LeftFlipperKey and InProgress=true and TableTilted=false Then
 LeftFlipper.RotateToEnd
 PlaySoundAtVol SoundFXDOF ("FlipperUp",101,DOFOn,DOFContactors), LeftFlipper, 1
 PlayLoopSoundAtVol "buzzL", LeftFlipper, 1
 End If
Au lieu de Playsound, nous avons PlaysoundAtVol, puis, après la parenthèse son et DOF, LefFlipper, 1
- LeftFlipper, c'est l'objet où on doit jouer le son !
- 1 c'est le volume !

Pour le buzz, on utilise une fonction SSF loop (PlayLoopSoundAtVol), toujours sur l'objet LeftFlipper, et toujours à volume 1.

Concernant le Volume, vous pouvez aller de 0,1 à 1.
Si vous voulez un son plus fort il faudra l'exporter de la table, le modifier en externe et le ré-importer dans la table.
Si je récapitule ce script, on voit que lorsque le bouton lefflipper est enclenché, Loserman fait tourner l'objet leftflipper à fond, puis on joue le son FlipperUp à volume 1, à l'endroit où se trouve l'objet LefFlipper.
Ensuite on fait tourner en boucle le son "buzzL" (le buzz des solenoids de l'époque), toujours à volume 1 et à l'endroit précis de l'objet LefFlipper.

Et voilà, félicitation, vous savez gérer le DOF + le SSF !
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342

Je vais continuer élément par élément, mais l'idée sera la même partout, ça va même se simplifier quand on va arriver aux lumières.

Pour les flippers ce n'est pas terminé.
On l'a fait pour le flipper gauche, faut le faire pour le flipper droit :
Code:
If keycode = RightFlipperKey  and InProgress=true and TableTilted=false Then
 RightFlipper.RotateToEnd
 PlaySoundAtVol SoundFXDOF ("FlipperUp",102,DOFOn,DOFContactors), RightFlipper, 1
 PlayLoopSoundAtVol "buzz", RightFlipper, 1
 End If

Ensuite il faut qu'ils se coupent quand on relâche le bouton.
Voici un code d'origine sans DOF :
Code:
If keycode = RightFlipperKey and InProgress=true and TableTilted=false Then
 RightFlipper.RotateToStart
 StopSound "buzz"    
 PlaySound "FlipperDown"
 End If

Voici le code à mettre pour DOF+SSF lorsque l'on relâche :
Code:
If keycode = LeftFlipperKey and InProgress=true and TableTilted=false Then
 LeftFlipper.RotateToStart
 PlaySoundAtVol SoundFXDOF ("FlipperDown",101,DOFOff,DOFContactors), LeftFlipper, 1
 StopSound "buzzL"
 End If
Et "idem" côté droit bien entendu.

IMPORTANT
Notez qu'on a un morceau de script qui vérifie que la table ne soit pas tiltée.
Si c'est tilté, il ne se passe rien.
Imaginez que vous avez le bouton enfoncé, et que vous tiltez la table... Il se passe quoi ? Le E101 reste sur DOFOn.... En gros vous allez cramer votre solenoid ou votre contacteur !
Donc quand on DOF une table, dès que l'on a fait les flippers, on cherche l'endroit du script qui gère le tilt, et on ajoute :
Code:
DOF 101, DOFOff
DOF 102, DOFOff

Exemple chez Loserman :
Code:
Sub TiltIt()
 TiltCount = TiltCount + 1
 if TiltCount = 3 then
 TableTilted=True
 PlasticsOff
 BumpersOff
 LeftFlipper.RotateToStart
 RightFlipper.RotateToStart
 DOF 101, DOFOff
 DOF 102, DOFOff
 TiltReel.SetValue(1)
[...]

Petit détail : s'il y a plus de 2 flippers sur la table (par exemple des flippers en haut de table), on ne s'embête pas à activer des contacteurs pour ça. ça fait un bordel monstre et en plus cela pourrait nous bloquer pour l'utilisation des bumpers ou des targets qui seraient pas loin sur la table.


Les slingshots
Un code de slingshot vide :
Code:
Sub LeftSlingShot_Slingshot
    playsound "left_slingshot",0,1,-0.05,0.05
    LSling0.Visible = 0
    LSling1.Visible = 1
    sling2.TransZ = -20
    LStep = 0
    LeftSlingShot.TimerEnabled = 1
 AddScore(1)
End Sub
Oula, il y a des chiffres bizarres derrière le son joué.... On pourrait les récupérer mais... Ce sont des coordonnées pour le son qui ne nous servent à rien. Voici donc un script DOfé et SSFisé :
Code:
Sub LeftSlingShot_Slingshot
    playsoundAtVol SoundFXDOF ("left_slingshot",103,DOFPulse,DOFContactors), sling2, 1
 DOF 203, DOFPulse
    If Epileptikdof = True Then DOF 204, DOFPulse End If
    If Epileptikdof = True Then DOF 202, DOFPulse End If
    LSling0.Visible = 0
    LSling1.Visible = 1
    sling2.TransZ = -20
    LStep = 0
    LeftSlingShot.TimerEnabled = 1
 AddScore(1)
End Sub
Ah ça prend de l'ampleur !
On joue le son "left_slingshot" au volume 1 sur l'objet sling2 (SSF), et on active le E103 (DOF config-tool)
Ensuite, ligne suivante, on allume le E203 avec un pulse.
Ce E203 c'est une couleur, si possible positionnée sur "5 Flasher Outside Left" (oui on est sur le slingshot de gauche). Pas de trucs en plus, ça doit être vif, donc E203 Red par exemple.
En dessous apparait pour la première fois mon option epileptikdof.
Si elle a été activée en début de script, je lance en plus :
- un E204 qui correspond au PF Left Flashers MX : E204 Red AT0 AL20 AW10 AH100
- un E202 qui est l'undercab suivant : E202 White -> à chaque slingshot l'undercab clignote "comme un strobe en plus léger".


Les bumpers
Un code de bumper vide :
Code:
Sub Bumper1_Hit
 If TableTilted=false then
 PlaySound SoundFXDOF("bumper1",208,DOFPulse,DOFContactors)
 DOF 209,2
 bump1 = 1
 If Bumper1Light.state=1 then
 AddScore(10)
 else
 AddScore(10)
 End If
    end if
End Sub
Un code de bumper mis à jour :
Code:
Sub Bumper1_Hit
 If TableTilted=false then
 PlaySoundAtVol SoundFXDOF ("bumper1",105,DOFPulse,DOFContactors), ActiveBall, 1
 DOF 207, DOFPulse
        If Epileptikdof = True Then DOF 202, DOFPulse End If
 bump1 = 1
 If Bumper1Light.state=1 then
 AddScore(10)
 else
 AddScore(10)
 End If
    end if
End Sub
Ah une petit subtilité sur le SSF !
On va jouer le son sur la bille directement. A priori le SSF se débrouille mieux comme ça, surtout dès qu'il y a plusieurs billes !
Le DOF 207, Pulse est une lumière de la flashboard, si possible "en face" du bumper, et de la même couleur.
E207 Green par exemple.
Si epileptikdof est activée, je fais encore clignoter l'undercab. Kiffant sur les tables à 5 bumpers, j'ai retrouvé des personnes convulsant au pied de mon pincab !  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342

Les cibles non-tombantes et cibles tombantes (targets et droptargets)
On cherche une fois de plus le son des target touchées.
Exemple facile :
Code:
Sub TopTargetLeft_Hit()
 if TableTilted=false then
 Playsound "target"
 AddScore(10)
 If LightLeftTarget.state=1 then
 LightLeftTarget.state=0
 LetterLight003.state=1
 If B2SOn then Controller.B2SSetData 53,1
 CheckTeacher
 end if
 end if
end sub
Complet :
Code:
Sub TopTargetLeft_Hit()
 if TableTilted=false then
 PlaysoundAtVol SoundFXDOF ("target",108, DOFPulse, DOFTargets), TopTargetLeft, 1
 If Epileptikdof = True Then DOF 212, DOFPulse End If
 AddScore(10)
 If LightLeftTarget.state=1 then
 LightLeftTarget.state=0
 LetterLight003.state=1
 If B2SOn then Controller.B2SSetData 53,1
 CheckTeacher
 end if
 end if
end sub
On oublie pas sur le config-tool : E108 @t@
Et si possible on place ce E108 sur le contacteur le plus proche "géographiquement" de l'emplacement de la cible.
On note ici que la commande DOF est bien "DOFTargets" (et pas DOFContactors) et que la lumière E212 ne s'active que si ma fonction epileptikdof est activée.

Si nous avons affaire à une DropTarget, 2 différences.
Côté script :
PlaysoundAtVol SoundFXDOF ("target",108, DOFPulse, DOFDropTargets), TopTargetLeft, 1 (on utilise la fonction DOFDroptargets)
Côté config-tool :
E108 @dt@

Alors par contre des fois les cibles, c'est la grosse galère !
Très régulièrement, on a le son géré dans une "collection", et le code "hit" à côté.
Exemple :
Code:
Sub Targets_Hit (idx)
 PlaySound "target", 0, Vol(ActiveBall), AudioPan(ActiveBall), 0, Pitch(ActiveBall), 0, 0, AudioFade(ActiveBall)
End Sub
Ici les cibles font partie d'une collection et suivant leur "idx", leur numéro dans la liste, un son sera joué (le son "target").
Plus loin on a :
Code:
Sub LowerTargetRight_Hit
 if TableTilted=false then
 LowerTargetRight.IsDropped=true
[...]
end sub

Je vais coller ce que je ferais, mais cette partie va devoir attendre l'intervention d'Arngrim pour être confirmée.
Version Dofée :
Code:
Sub Targets_Hit (idx)
 PlaySound SoundFX ("target", DOFPulse, DOFDropTargets), 0, Vol(ActiveBall), AudioPan(ActiveBall), 0, Pitch(ActiveBall), 0, 0, AudioFade(ActiveBall)
End Sub

Code:
Sub LowerTargetRight_Hit
 if TableTilted=false then
 DOF 110, DOFPulse
 If Epileptikdof = True Then DOF 228, DOFPulse End If
 LowerTargetRight.IsDropped=true
[...]
 end if
end sub
DOF 110 étant un E110 @dt@

Sur les Droptargets, il faut gérer quand ça se relève, re-mettre un coup de contacteur + SSF.
Il faut trouver le code associé.
Des fois c'est juste en dessous, et ça se fait cible par cilbe, des fois c'est une fonction qui englobe toutes les cibles.
Code:
Sub ResetDrops()
 LowerTargetLeft.IsDropped=false
 LowerTargetRight.IsDropped=false
 playsound "droptargetreset"
End Sub
Code avec DOF et SSF :
Code:
Sub ResetDrops()
 LowerTargetLeft.IsDropped=false
 LowerTargetRight.IsDropped=false
 PlaySoundAtVol SoundFXDOF ("droptargetreset", 110, DOFPulse, DOFDropTargets), Button002, 1
End Sub
Regardez bien, avec le SSF on joue le son sur un objet Button002. Pourquoi ?
Parce-que nous n'avons qu'un seul son pour les 2 cibles qui remontent. Elles sont assez proche, et entre les deux il y a cet objet.
Donc on joue le son sur cet objet, le plus proche des 2 cibles. Cette astuce vous est fournie par Thalamus@corporation.


Les eject-holes (ou kickers)
A priori sur une table EM on ne met rien en entrée de bille.
Par contre, quand la bille est éjectée, il faut réveiller le joueur.
En plus de l'effet du contacteur, on va coller une lumière de la flashboard ("en face" du kickers) + un coup de strobe (réglé par défaut à 300 ms).
Vieux code :
Code:
Sub Kicker003_Timer()
[...]
 PlaySound "scoopexit"
[...]
Nouveau code :
Code:
Sub Kicker003_Timer()
[...]
 case 6:
 PlaySoundAtVol SoundFXDOF ("scoopexit",112,DOFPulse,DOFContactors), PKickarm003, 1
 DOF 217, DOFPulse
 DOF 230, DOFPulse
[...]
J'active un E217 qui est une couleur en face de l'eject hole + le E230 300 qui est le strobe en 300ms.


La ball-release
Quand une bille entre en jeu, on active un contacteur, le plus proche possible.
Nous ne prenons pas le contacteur du flipper droit, qui serait le plus proche, car plein de pincab on des solenoids/contacteurs différents entre ceux des flippers, et le reste du plateau. On prend donc celui du slingshot droit, noté E104 dans mon exemple depuis le départ.
Code très courant :
Code:
PlaySound "Ballrel"
Code complet avec la totale :
Code:
PlaySoundAtVol SoundFXDOF ("Ballrel", 104, DOFPulse, DOFContactors), Plunger, 1
 If Epileptikdof = True Then DOF 224, DOFPulse End If
On joue le son SSF du côté du plunger tant qu'à faire.
Et oui, sur ma version epileptik, j'aime bien interpeller le joueur en ajoutant un petit flash sur le 5 Flasher Outside Right (config-too E224 Red f200 par exemple)


Les lumières
Le bouton start
Noté Start Button dans le config-tool.
Un gros standard : E200 Blink fu500 fd600
ça clignote doucement une fois que c'est ON, avec un fadeup de 500ms et un fd de 600ms.
Côté script de VPX, il va falloir trouver où activer et désactiver ce E200.
Quand on met des crédits :
DOF 200, DOFOn
Quand il n'y a pus de crédit :
DOF 200, DOFOff
Raconté comme ça, c'est tout simple, mais souvent partir à la recherche de tous les endroits où ça doit être pris en compte, cela peut-être long.
Chez Loserman c'est plutôt bien fait, souvent on met très peu d'entrée.
Exemple sur Teacher's pet
Code:
Sub Table1_init()
[...]
 If Credits > 0 Then DOF 200, DOFOn End If
[...]
Code:
 'END GNMODthen
 Credits=Credits-1
 If Credits < 1 Then DOF 200, DOFOff
 CreditsReel.SetValue(Credits)
[...]
Code:
Sub AddSpecial()
 [...]
 Credits=Credits+1
 DOF 200, DOFOn
 if Credits>15 then Credits=15
 [...]
 CreditsReel.SetValue(Credits)
End Sub
Code:
Sub AddSpecial2()
 PlaySound"click"
 Credits=Credits+1
 DOF 200, DOFOn
 if Credits>15 then Credits=15
 [...]
 CreditsReel.SetValue(Credits)
End Sub


Les lumières
L'undercab
Le top est de l'allumer quand la table se lance, puis de l'éteindre en fin de partie (et bien entendu de le rallumer quand on recommence une partie).
Côté script on a un DOF 201, DOFOn dans la routine "table1_ini" et "newgame"
Et un DOF 201, DOFOff dans la routine "engame"
Dans le config-tool, c'est E201 couleur
Les noms des routines sont données à titre indicatif et peuvent changer d'un auteur à l'autre bien entendu.


Les lumières
Les Roll-over
Toutes les inlane, out-lane, tous ces machins où la bille roule et donne des points.
On va gérer du SSF et un Pulse sur une lumière de la flashboard.
Exemple :
Code:
Sub TriggerLeftOutlane_Hit()
 If TableTilted=false then
 PlaySound "sensor"
 AddScore(100)
[...]
Nouveau code :
Code:
Sub TriggerLeftOutlane_Hit()
 If TableTilted=false then
 PlaySoundAtVol "sensor", ActiveBall, 1
 DOF 222, DOFPulse
 AddScore(100)
[...]
Le SSF s'enclenche sur l'objet de la bille active, volume 1.
On fait un Pulse sur le E222.

Sur tous les roll-over, on considère qu'il faut du f200.
E222 f200
Sur les outlane, pour bien montrer que la bille est perdue, on peut mettre en 400
E222 f400

Les lumières
Le Spinner
Je n'ai pas encore d'exemple.
On colle un EXXX couleur f200 et ça fonctionne super bien (la lumière va flasher à chaque tour de spinner) !
Côté SSF, on fait la tamlbouille habituelle.
Je reviens ici avec un exemple de code dès que possible.


Les lumières
Le drain
Vous perdez la bille, vous petes dégouté, il faut appuyer ça avec un petit pulse qui montre que vous petes vraiment un losser !  Laughing
Code:
ub Drain_Hit()
 Drain.DestroyBall
 PlaySound "fx_drain"
 DOF 225, DOFPulse
 If Epileptikdof = True Then DOF 226, DOFPulse End If
' AddBonus
 Pause4Bonustimer.enabled=true
End Sub
Ici pas de SSF, pourtant on pourrait l'activer sur le bas de la table. Je regarderais quel objet serait le plus proche.
On ne peut pas l'activer sur "activeball" car elle disparait du jeu (non elle ne tombe pas dans votre pincab, ça c'est sur les vrais pinball)
DOF 225 = E225 Red fd800 (pax emple). On utilise un looong fade down.. C'est bon vous avez compris que vous êtes nul ?
Moi j'ajoute en plus un effet d'animation avec mon E226 lié à la fonction epileptikdof.

Prenons cet exemple pour apprendre une "animation" simple sur la flashboard.
Voici ce que nous avons sur le config-tool :
5 Flasher Left : E226 Red w150 f200
5 Flasher Center : E225 Red fd800
5 Flasher right : E226 Red w150 f200
Après 150 ms d'attente, les flashers droit et gauche s'enclenche pendant 200ms.  Cela donne un petit effet d'onde bien sympa.
Juste après, on va l'utiliser mais sur toute la flashboard.


Les lumières
Nouvelle partie et fin de partie
Perso quand on lance une nouvelle partie je met une petite animation, et quand on perd toutes les billes également.
Côté script c'est un simple DOFPulse à placer au bon endroit (souvent subroutine newgame et endgame)
DOF 250, DOFPulse

Côté config-tool, je vais avoir ça :
5 Flasher Outside Left : E250 Red w300 f200
5 Flasher Left : E250 Red w150 f200
5 Flasher Center : E250 Red f200
5 Flasher right : E250 Red w150 f200
5 Flasher Outside Right : E250 Red w300 f200
Vous suivez ? Cela fait un effet d'onde très sympa ! Le top étant de jouer avec les dégradés de couleur qu'on a sur la table par exemple, ici tout est rouge (ça fonctionne aussi).


Les lumières
Animation ball entrance
C'est quoi ça encore ?
Une belle animation de suivie de la bille sur la flashboard : les lumières vont s'allumer de droite à gauche lorsque la bille entre en jeu.
Voici un exemple de code que vous insérez où vous voulez :
Code:
'******************************
'     DOF lights ball entrance
'******************************
'
Sub Trigger004_Hit
    DOF 250, DOFPulse
End sub
Il vous manque un Trigger (ici 004) sur la table.
On ouvre la table sur VPX, et on sélectionne l'outils trigger à gauche (une étoile). Vous la positionnez en sortie de rampe, et vous décochez bien "visible". Il faut que ce trigger soit invisible.
En fonction de la table, VPX va lui attribuer un nom automatique : Trigger001, ou Trigger009... A vous de reporter ce nom ici, suivi de _hit
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Ajout_10


Côté config-tool, un exemple d'animation qui marche très bien !
5 Flasher Outside Left : E250 Red w600 f200
5 Flasher Left : E250 Red w450 f200
5 Flasher Center : E250 Red w300 f200
5 Flasher right : E250 Red w150 f200
5 Flasher Outside Right : E250 Red f200
On décale à chaque fois de 150ms l'allumage, et ça fait un effet de suivi super sympa. Le top est de faire des dégradés de couleur en fonction de ce que l'on a sur la table (pour l'exemple tout est rouge)


Les exceptions
Quelquefois, ça ne fonctionne pas aussi simplement.
On a déjà évoqué les "idx".
En gros l'auteur colle une série de roll-over (par exemple), dans une "collection" sur VPX.
Pour voir les collections, c'est menu TABLE->COLLECTION MANAGER
Chaque objet dans une collection possède comme numéro sa place dans la liste.
Imaginons une collection de trigger.
Le premier de la liste s'apelle Trigger0, le deuxième Trigger1, etc...

On peut donc faire du DOF rapide (côté script) pour gérer ça.
Si vous avez :
Code:
'************************************
'  Rollover lanes
'************************************

Sub TriggerCollection_Hit(idx)
   If TableTilted=false then
      [...]
On peut lancer des évènements DOF comme ceci :
Code:
'************************************
'  Rollover lanes
'************************************

Sub TriggerCollection_Hit(idx)
   DOF 240+idx, DOFPulse
   If TableTilted=false then
      [...]
Et ensuite dans le config-tool, le premier trigger sera E240 (240+0), le deuxième trigger sera E241 (240+1) etc...
ça semble une super idée sauf que c'est très difficile de suivre ce que l'on fait, puisque l'info n'apparait pas dans le script.

Activer la fonction epileptikdof
Nous avons vu que nous pouvons mettre tous les effets que npus voulions sur cette fonction.
Pour qu'elle soit prise en compte, il faut la déclarer, en début de script, après "randomize"
Voici ce que j'intègre en tout début de script
Code:
' Option for more lights effects with DOF (Undercab effects on bumpers and slingshots)
' "True" to activate (False by default)
Const Epileptikdof = False


Big toys
Le knocker
Vous gagnez une partie !
CLAC et strobe dans la gueule !
Le plus simple la plupart du temps, trouver le son "knocker" dans le script.
Code:
Sub AddSpecial()
 PlaySound SoundFXDOF ("knocker",300,DOFPulse,DOFContactors)
 DOF 230, DOfPulse
 Credits=Credits+1
 DOF 200, DOFOn
 if Credits>15 then Credits=15
 If B2SOn Then
 Controller.B2SSetCredits Credits
 End If
 CreditsReel.SetValue(Credits)
End Sub
Ici le knocker est E300 dans le config-tool
E230 c'est le strobe !
On remarque que comme le script donne un crédit, on allume en plus le E200 qui est notre start button.


Big toys
Les chimes, les carillons, ou cloches
DING DING DING, le son bien typique des bonnes vieilles tables EM.
Certains pincab ont de vrais cloches, dont il faut les gérer aussi.
Vous allez devoir repérer les différentes tonalités pour associer un EXXX différent à chaque fois.

Exemple pour du faible point :
Code:
If LastChime10=1 Then
 PlaySound "SJ_Chime_10a"
 LastChime10=0
Le nouveau code avec du DOF :
Code:
If LastChime10=1 Then
 PlaySound SoundFXDOF ("SJ_Chime_10a",301,DOFPulse,DOFChimes)
 LastChime10=0
Notez qu'on distingue le DOF avec un DOFChimes ici !

Si vous avez un doute sur la tonalitée du son qui est joué, dans VPX -> option -> sound manager et vous lisez le son associé (ici SJ_Chime_10a).
Comme ça vous placez correctement vos E301, E302 et E303 (par exemple) dans le config-tool.
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Chimes10
Notez également que la table peut avoir 2, 3 ou 4 tonalités (et donc autant d'entrées config-tool différentes).

Je ne parle pas volontairement des autres toys (moteur et shaker) car je ne sais pas les placer sur une table EM.

Enregistrer son travail
Maintenant on oublie pas d'enregistrer son travail sur le config-tool.
Voici ce que vous avez en bas de page.
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Save10
Saves changes, vous le faites dès que vous faite une modification. Comme ça en cas de déconnexion, vous ne perdez pas votre travail.
Revert vous devez connaitre, attention si vous faites ça sur une table vide, vous perdez TOUTE la config de la table.
Submit vous cliquerez dessus quand vous aurez testé la table 10 fois.
Save and create, cela génère automatiquement le MX flashboard et le MX strobe ! Et heureusement, car c'est imbuvable (il y a des experts ici mais perso je préfère ne pas toucher).
Generate vous devez déjà connaitre, puisque ça vous sortira les fichiers nécessaire à la mise à jour du config-tool (indispensable pour tester votre nouveau dOF).

Côté script, pour l'instant, vous avez un fichier script (.vbs), et une table d'origine en fichier .vpx
Quand tout est super clean (multiples essais), vous pouvez fusionner les deux en sauvegardant la table.
VPX vous propose alors d'enregistrer le script externe.


SSF peaufinage
Bon et vous pensiez que c'était fini !
Non, le SSF demande quelques petits ajouts !
Partout sur la table où un son est joué, et qu'il doit être localisé, on ajoute le SSF !

Exemple :
Code:
PlaySound"plungerrelease"
devient :
Code:
PlaySoundAtVol "plungerrelease", Plunger, 1

Code:
PlaySound"sensor"
devient :
Code:
PlaySoundAtVol "sensor", ActiveBall, 1

Code:
playsound "postup"
devient
Code:
playsoundAtVol "postup", primgate, 1
etc etc....
Vous aurez compris, on fait le tour des "playsound" restant et on regarde si le son doit être positionné ou pas.


Et là vous êtes super fier de vous, ça fait des heures que vous bossez là-dessus, génial !
Vous lancez la table (après avoir mis à jour le config-tool perso)!
BING !
Erreur de script !  Laughing  Laughing  Laughing  Laughing
C'est normal ! N'allez pas vous pendre tout de suite.  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342

Rapellez vous, on a utilisé de nouvelles fonctions !
Il faut les déclarer dans le script.
Ici je ne vous demande pas de comprendre, faut faire comme moi, un gros copié/collé sans rien regarder.  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 1502191233
Il vous faut ça dans le script, là où on a le
Positional Sound Playback Functions (vous pouvez tout remplacer si une version précédente existe):
Code:

' *******************************************************************************************************
' Positional Sound Playback Functions by DJRobX, Rothbauerw, Thalamus and Herweh
' PlaySound sound, 0, Vol(ActiveBall), AudioPan(ActiveBall), 0, Pitch(ActiveBall), 0, 1, AudioFade(ActiveBall)
' *******************************************************************************************************

' Play a sound, depending on the X,Y position of the table element (especially cool for surround speaker setups, otherwise stereo panning only)
' parameters (defaults): loopcount (1), volume (1), randompitch (0), pitch (0), useexisting (0), restart (1))
' Note that this will not work (currently) for walls/slingshots as these do not feature a simple, single X,Y position

Sub PlayXYSound(soundname, tableobj, loopcount, volume, randompitch, pitch, useexisting, restart)
  PlaySound soundname, loopcount, volume, AudioPan(tableobj), randompitch, pitch, useexisting, restart, AudioFade(tableobj)
End Sub

' Set position as table object (Use object or light but NOT wall) and Vol to 1

Sub PlaySoundAt(soundname, tableobj)
  PlaySound soundname, 1, 1, AudioPan(tableobj), 0,0,0, 1, AudioFade(tableobj)
End Sub

' set position as table object and Vol + RndPitch manually

Sub PlaySoundAtVolPitch(sound, tableobj, Vol, RndPitch)
  PlaySound sound, 1, Vol, AudioPan(tableobj), RndPitch, 0, 0, 1, AudioFade(tableobj)
End Sub

'Set all as per ball position & speed.

Sub PlaySoundAtBall(soundname)
  PlaySoundAt soundname, ActiveBall
End Sub

'Set position as table object and Vol manually.

Sub PlaySoundAtVol(sound, tableobj, Volume)
  PlaySound sound, 1, Volume, AudioPan(tableobj), 0,0,0, 1, AudioFade(tableobj)
End Sub

'Set all as per ball position & speed, but Vol Multiplier may be used eg; PlaySoundAtBallVol "sound",3

Sub PlaySoundAtBallVol(sound, VolMult)
  PlaySound sound, 0, Vol(ActiveBall) * VolMult, AudioPan(ActiveBall), 0, Pitch(ActiveBall), 0, 1, AudioFade(ActiveBall)
End Sub

Sub PlaySoundAtBallAbsVol(sound, VolMult)
  PlaySound sound, 0, VolMult, AudioPan(ActiveBall), 0, Pitch(ActiveBall), 0, 1, AudioFade(ActiveBall)
End Sub

' requires rampbump1 to 7 in Sound Manager

Sub RandomBump(voladj, freq)
  Dim BumpSnd:BumpSnd= "rampbump" & CStr(Int(Rnd*7)+1)
  PlaySound BumpSnd, 0, Vol(ActiveBall)*voladj, AudioPan(ActiveBall), 0, freq, 0, 1, AudioFade(ActiveBall)
End Sub

' set position as bumperX and Vol manually. Allows rapid repetition/overlaying sound

Sub PlaySoundAtBumperVol(sound, tableobj, Vol)
  PlaySound sound, 1, Vol, AudioPan(tableobj), 0,0,1, 1, AudioFade(tableobj)
End Sub

Sub PlaySoundAtBOTBallZ(sound, BOT)
  PlaySound sound, 0, ABS(BOT.velz)/17, Pan(BOT), 0, Pitch(BOT), 1, 0, AudioFade(BOT)
End Sub

' play a looping sound at a location with volume
Sub PlayLoopSoundAtVol(sound, tableobj, Vol)
  PlaySound sound, -1, Vol, AudioPan(tableobj), 0, 0, 1, 0, AudioFade(tableobj)
End Sub
+ Le code supporting ball
Code:

'*********************************************************************
'            Supporting Ball, Sound Functions and Math
'*********************************************************************

Function RndNum(min, max)
  RndNum = Int(Rnd() * (max-min + 1) ) + min ' Sets a random number between min and max
End Function

Const Pi = 3.1415927

Function dSin(degrees)
  dsin = sin(degrees * Pi/180)
End Function

Function dCos(degrees)
  dcos = cos(degrees * Pi/180)
End Function

Function AudioFade(tableobj) ' Fades between front and back of the table (for surround systems or 2x2 speakers, etc), depending on the Y position on the table. "table1" is the name of the table
  Dim tmp
  On Error Resume Next
  tmp = tableobj.y * 2 / table1.height-1
  If tmp > 0 Then
    AudioFade = Csng(tmp ^10)
  Else
    AudioFade = Csng(-((- tmp) ^10) )
  End If
End Function

Function AudioPan(tableobj) ' Calculates the pan for a tableobj based on the X position on the table. "table1" is the name of the table
  Dim tmp
  On Error Resume Next
  tmp = tableobj.x * 2 / table1.width-1
  If tmp > 0 Then
    AudioPan = Csng(tmp ^10)
  Else
    AudioPan = Csng(-((- tmp) ^10) )
  End If
End Function

Function Pan(ball) ' Calculates the pan for a ball based on the X position on the table. "table1" is the name of the table
  Dim tmp
  On Error Resume Next
  tmp = ball.x * 2 / table1.width-1
  If tmp > 0 Then
    Pan = Csng(tmp ^10)
  Else
    Pan = Csng(-((- tmp) ^10) )
  End If
End Function

Function Vol(ball) ' Calculates the Volume of the sound based on the ball speed
  Vol = Csng(BallVel(ball) ^2 / 2000)
End Function

Function VolMulti(ball,Multiplier) ' Calculates the Volume of the sound based on the ball speed
  VolMulti = Csng(BallVel(ball) ^2 / 150 ) * Multiplier
End Function

Function DVolMulti(ball,Multiplier) ' Calculates the Volume of the sound based on the ball speed
  DVolMulti = Csng(BallVel(ball) ^2 / 150 ) * Multiplier
  debug.print DVolMulti
End Function

Function BallRollVol(ball) ' Calculates the Volume of the sound based on the ball speed
  BallRollVol = Csng(BallVel(ball) ^2 / (80000 - (79900 * Log(RollVol) / Log(100))))
End Function

Function Pitch(ball) ' Calculates the pitch of the sound based on the ball speed
  Pitch = BallVel(ball) * 20
End Function

Function BallVel(ball) 'Calculates the ball speed
  BallVel = INT(SQR((ball.VelX ^2) + (ball.VelY ^2) ) )
End Function

Function BallVelZ(ball) 'Calculates the ball speed in the -Z
  BallVelZ = INT((ball.VelZ) * -1 )
End Function

Function VolZ(ball) ' Calculates the Volume of the sound based on the ball speed in the Z
  VolZ = Csng(BallVelZ(ball) ^2 / 200)*1.2
End Function

'*** Determines if a Points (px,py) is inside a 4 point polygon A-D in Clockwise/CCW order

Function InRect(px,py,ax,ay,bx,by,cx,cy,dx,dy)
  Dim AB, BC, CD, DA
  AB = (bx*py) - (by*px) - (ax*py) + (ay*px) + (ax*by) - (ay*bx)
  BC = (cx*py) - (cy*px) - (bx*py) + (by*px) + (bx*cy) - (by*cx)
  CD = (dx*py) - (dy*px) - (cx*py) + (cy*px) + (cx*dy) - (cy*dx)
  DA = (ax*py) - (ay*px) - (dx*py) + (dy*px) + (dx*ay) - (dy*ax)

  If (AB <= 0 AND BC <=0 AND CD <= 0 AND DA <= 0) Or (AB >= 0 AND BC >=0 AND CD >= 0 AND DA >= 0) Then
    InRect = True
  Else
    InRect = False
  End If
End Function
+
Un ajout sur le JPball rolling sound (ici le code complet, ça ajoute simplement à la fin une fonction pour un son de bille qui décolle et retombe).
Il faudra uploader ce son dans votre table bien entendu.
Le son s'appelle fx_ball_drop, je le mettrais en téléchargement ici :
Code:
'*****************************************
'      JP's VP10 Rolling Sounds
'*****************************************
Const tnob = 5 ' total number of balls
ReDim rolling(tnob)
InitRolling
Sub InitRolling
    Dim i
    For i = 0 to tnob
        rolling(i) = False
    Next
End Sub
Sub RollingSoundTimer_Timer()
    Dim BOT, b
    BOT = GetBalls
 ' stop the sound of deleted balls
    For b = UBound(BOT) + 1 to tnob
        rolling(b) = False
        StopSound("fx_ballrolling" & b)
    Next
 ' exit the sub if no balls on the table
    If UBound(BOT) = -1 Then Exit Sub
 ' play the rolling sound for each ball
    For b = 0 to UBound(BOT)
        If BallVel(BOT(b) ) > 1 AND BOT(b).z < 30 Then
            rolling(b) = True
            PlaySound("fx_ballrolling" & b), -1, Vol(BOT(b)), AudioPan(BOT(b)), 0, Pitch(BOT(b)), 1, 0, AudioFade(BOT(b))
        Else
            If rolling(b) = True Then
                StopSound("fx_ballrolling" & b)
                rolling(b) = False
            End If
        End If
      If BOT(b).VelZ < -1 and BOT(b).z < 55 and BOT(b).z > 27 Then 'height adjust for ball drop sounds
        PlaySoundAtBOTBallZ "fx_ball_drop" & b, BOT(b)
      End If
    Next
End Sub

Et ne partez pas, ce n'est toujours pas fini !

BONUS
Voici un dossier avec quelques ressouces pour vous aider pour la suite :
https://drive.google.com/drive/folders/12e-WgW0_SqsFb2zis-8S1mpHbE8yRZrZ?usp=sharing

15th Wall
Là normalement vous ouvrez des grands yeux. C'est quoi ce truc ?
C'est spécifique aux tables de Loserman76.
Il utilisait le même modèle, et il y a un "mur" invisible mal placé, qui retient la bille trop basse lorsque l'on tire le plunger.
Dans VPX, on sélectionne ce wall15 (il pourrait avoir un autre nom), et on le déplace avec le clavier de 16 flêches vers le haut !
On appuie 16 fois sur la touche "flèche haut du clavier".
En gros on le remonte.

Voici une capture avant/après pour bien comprendre :
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Wall1510
Le wall15 c'est l'objet à la forme étrange sélectionné en bleu sur la table corrigée.
On voit bien la différence de "hauteur" entre gauche et droite, par rapport au plunger.
Vous ferez la joie de pleins de mecs de la communauté en faisant ça, qui sont apparemment traumatisés par ce détail !  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342


LUT et luminosité
Ici nous allons aborder la version rapide.
Pour améliorer les tables de façon un peu plus sympa, il faudra passer par l'étape "Blender" avec la création de plusieurs masques d'ombres.
Tuto en cours.

Toujours sur les tables de Loserman76.
Toutes ses tables sont trop claires pour le pincab.
L'idée va être de faire ressortir les lampes sous les objets de la table.
Première étape, on diminue la luminosité, grâce au petit slider. Entre 3 et 4 crans ça semble pas mal.
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Lumino10
Par défaut ce curseur sera au milieu.

Ensuite, vous allez appliquer un LUT, une colorimétrie toute prête.
Dans le dossier de téléchargement, vous en trouverez 2.
Il faut dans un premier temps les charger dans la table. Menu TABLE/IMAGES MANAGER !
Une fois les images chargées, pour en appliquer un, dans VPX vous allez :
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Lut10

Voici le avant/après
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Lut_di10
Même si ce n'est pas parfait, on a déjà plus l'impression que les lumières éclairent vraiment la table et les objets. Sur le pincab c'est encore plus flagrant.



Ball shadow
Thalamus propose également d'améliorer la fonction ball shadow sur les tables de Loserman
Dans la partie conssacrée au code "nizzuzu ball shadow"
Code original :
Code:
       If BOT(b).X < Table1.Width/2 Then
            BallShadow(b).X = ((BOT(b).X) - (Ballsize/6) + ((BOT(b).X - (Table1.Width/2))/7)) + 6
        Else
            BallShadow(b).X = ((BOT(b).X) + (Ballsize/6) + ((BOT(b).X - (Table1.Width/2))/7)) - 6
        End If
        ballShadow(b).Y = BOT(b).Y + 12
Code modifié :
Code:
           BallShadow(b).X = ((BOT(b).X) - (Ballsize/6) + ((BOT(b).X - (Table1.Width/2))/21)) + 6
        Else
            BallShadow(b).X = ((BOT(b).X) + (Ballsize/6) + ((BOT(b).X - (Table1.Width/2))/21)) - 6
        End If
        ballShadow(b).Y = BOT(b).Y + 4
Simplement quelques valeurs qui changent en fin de lignes.


Ball rolling sound
En cours de négociation  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3746298195
Je voudrais remplacer le son de la bille qui arrache les oreilles par ceux de JPSalas qui ont plus de basses et qu'on sent mieux avec le SSF.

Si on regarde le code pour le rolling sound de JP, on a ça :
Code:
PlaySound("fx_ballrolling" & b)
Le "b" c'est le numéro de la bille !
Et si vous regardez vos fichiers sons pour la table, vous aurez un fichier fx_ballrolling0, un fichier fx_ballrolling1, fx_ballrolling2 etc...
Il faudra un son de bille pour chaque bille prévue sur la table (en multibille).
Sur les tables de Loserman76, on trouve des fois 14 itérations du même fichier. Bon... Je ne crois pas qu'il y ait de tables EM avec 14 multibilles.... ça peut s'épurer au moins jusqu'à 5 (si on charge 5 billes d'un coup), cela permet d'alléger le fichier final sur VPX.


Résumé code DOF + SSF en exemple
Script
Config-Tool

Lumières
DOF 200, DOFPulse
DOF 200, DOFOn
DOF 200, DOFOff
E200/E200 Red/E200 Red f200/E200 Red w150 f200/E200 Red fd800

Flippers
PlaySoundAtVol SoundFXDOF ("FlipperUp",101,DOFOn,DOFContactors), LeftFlipper, 1
PlayLoopSoundAtVol "buzzL", LeftFlipper, 1
E101

Slingshots
PlaysoundAtVol SoundFXDOF ("left_slingshot",103,DOFPulse,DOFContactors), sling2, 1
E103

Bumpers
PlaySoundAtVol SoundFXDOF ("bumper1",105,DOFPulse,DOFContactors), ActiveBall, 1
E105

Targets
PlaySoundAtVol SoundFXDOF ("target",108,DOFPulse,DOFTargets), ActiveBall, 1
E108 @t@

DropTargets
PlaySoundAtVol SoundFXDOF ("target",108,DOFPulse,DOFDropTargets), ActiveBall, 1
E108 @dt@

Kickers
PlaySoundAtVol SoundFXDOF ("scoopexit",112,DOFPulse,DOFContactors), PKickarm003, 1
E112

Ball release
PlaySoundAtVol SoundFXDOF ("Ballrel", 104, DOFPulse, DOFContactors), Plunger, 1
E104


A améliorer mais on a déjà une bonne base !
C'est super dense et pas super bien présenté. Mais on pourra répondre à toutes les questions sur ce sujet !


Dernière édition par leeoneil le Mar 22 Fév 2022 - 14:37, édité 26 fois

jimenez, totolarico, Thalamus, Sebcemoi, Moussounet, actarus, Mikcab et aiment ce message

Revenir en haut Aller en bas
Sebcemoi
Admin
Sebcemoi


Messages : 6203
Département : 94

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 13:59

Bravo @leeoneil !! t'es génial

J'ai passé le sujet en note [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3253257302

leeoneil aime ce message

Revenir en haut Aller en bas
ebor
Modérateur



Messages : 3125
Département : 30

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 20:58

Super boulot ! Respect [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 1393933098 
You did it !
Revenir en haut Aller en bas
Mikcab

Mikcab


Messages : 87
Département : 06

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 21:35

Super tuto 😃 Énorme boulot 👍
J’ai déjà essayé d’intégrer les Fleep Sounds (que je trouve excellent pour le SSF), mais après plusieurs essais j’ai laissé tomber (trop d erreurs de script)🤪
Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 21:57

Excellente initiative @leenoeil, merci pour ce que tu fais, il y a beaucoup à lire alors je vais checker ça tranquillement ce week-end Smile
Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 22:04

Pour le remplacement de la bille, on peut le faire globalement pour toutes les tables via le menu avec le overwrite ball image, et puis choisir un fichier d'image de balle

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 2Tmn5L7

j'ai mis une image en attaché dans mon post qui est pas mal, pas sombre.
Fichiers joints
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX AttachmentTTMMball REF.png
Vous n'avez pas la permission de télécharger les fichiers joints.
(25 Ko) Téléchargé 13 fois

Sebcemoi aime ce message

Revenir en haut Aller en bas
ebor
Modérateur



Messages : 3125
Département : 30

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 22:10

J'attends de voir si un modo va oser  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 722859262
Perso, je suis lâche  [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342
Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 22:38

Ouais c'est un peu le bordel mon truc, il y a beaucoup beaucoup d'infos.
Si on lit tout à la suite ça fonctionne, mais le temps de lecture est énorme.
On ne peut pas naviguer comme dans un vrai tuto, car j'ai écris ça "comme un roman". Laughing

J'ai épuré 2-3 trucs, mais je pourrais simplifier encore.

Il faut oser quoi côté modo Ebor ?  scratch

Ah et là j'essaie de piger le "tuto" de Bord sur Blender, pour avoir un meilleur rendu de la table.
Bien entendu je viens d'installer Blender, je n'y ai jamais touché de ma vie. [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342
On l'entend faire des raccourcis clavier de partout, je met 20 minutes à trouver chaque fonction.
Laughing

Sebcemoi aime ce message

Revenir en haut Aller en bas
ebor
Modérateur



Messages : 3125
Département : 30

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 22:42

Dire à @Arngrim qu'il ne faut pas cumuler les posts comme ça lol!
Je respecte trop le personnage et tout ce qu'il fait pour la communauté [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3253257302
Revenir en haut Aller en bas
Sebcemoi
Admin
Sebcemoi


Messages : 6203
Département : 94

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 22:46

@Arngrim,

Il y a @ebor qui m’a dit en mp qu’il faut que tu évites le multipost à peu d’intervalle de temps et que tu utilises plutôt le bouton éditer pour rajouter du contenu au message déjà posté….
Je ne vois pas où il est allé chercher ça ? Tant pis

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 722859262 [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 722859262 rire [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 90750709 [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 2833380491


Au passage, j’utilise aussi depuis le début la bille de Tom Tower avec les calques scratch par défaut, elle est magnifique et colle bien à toutes les tables. [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 4216826579

ebor aime ce message

Revenir en haut Aller en bas
ebor
Modérateur



Messages : 3125
Département : 30

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 22:53

Je ne sais même pas ce qu'est un MP geek 
Une bonne bande de lâches je vous dis ! [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3746298195 
Encore Merci à vous trois @Arngrim, @leeoneil et @foxyt pour ce que vous apportez [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3253257302

Sebcemoi aime ce message

Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 23:05

Oupss, j'avais pas capté la remarque, ze le ferai plus [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 2480599388
@leeoneil, si tu commences avec blender tu vas finir table builder Very Happy
Jpj s'y connait bien dans la matière je pense

ebor aime ce message

Revenir en haut Aller en bas
Sebcemoi
Admin
Sebcemoi


Messages : 6203
Département : 94

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 23:13

@arngrim, le multipost est prohibé sur le forum, mais une tolérance est appliquée si les posts successifs sont espacés d’au moins 24h, mais ce que ne savait pas @ebor, c’est que toi, tu bénéficie d’une dérogation spéciale réduisant ce délai à 24 secondes. Cool Very Happy

lol

ebor aime ce message

Revenir en haut Aller en bas
foxyt

foxyt


Messages : 188
Département : essonnes

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyMer 16 Fév 2022 - 23:21

super Leeoneil ,je vais étudier ça après mes journées de ski pour finaliser mes tables en cours à mon retour drz t'es génial
Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 0:24

T'oublieras pas, il faut installer blender également hein !

Je suis en train de faire n'importe quoi mais je kiffe !

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Blende10

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Blende11

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Blende12

Tout ça pour faire une simple image de projection qui simule les ombres sur le plateau...
Ils sont bargeots quand même, je ne pensais pas que c'était aussi compliqué !
geek

ebor aime ce message

Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 10:31

pourquoi t'as besoin de blender en fait?
Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 10:53

Pour avoir ça comme rendu (exemple de Bord) :

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Baseba10

En fait Blender ne sert "qu'à" générer un calque d'ombre qu'on ajoute sur VPX.
Mais c'est un boulot "rapide" pour un résultat assez sympa.
Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 11:45

classy, c'est un rendu statique?
Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 12:01

Je ne comprend pas ta question ! Laughing
Le rendu est celui de Bord, hier soir j'étais bloqué et je ne suis pas arrivé jusque là.

Moi j'ai téléchargé le logiciel hier hein, faut pas trop m'en demander encore. [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 773715342
Par contre j'ai bien compris la philosophie.

- On exporte depuis VPX la table (avec seulement les objets, donc faut trier les calques) ET le blueprint qui montre l'emplacement des lumières.
- Dans Blender on importe tout ça
- On place des lumières dans blender (il y a des modif à faire je passe sur les détails)
- On fait un rendu des ombres uniquement !
- On importe cette image comme un calque dans VPX
- On booste un peu quelques lumières et on change leurs couleurs pour quelque chose de plus chaud
- On baisse un peu la luminosité globale
- On dégage dans le script (si ça existe) le gion et gioff (ben oui sinon on aura des ombres sans lumières)
Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 13:54

oui en fait, ça doit être une limitation de vpx, peut être que vp11 va améliorer ça mieux, en tout cas unity devrait gérer nativement les ombres.

VP est de plus en plus en 3d, mais a encore ses limites, si je comprends bien tu dois dessiner les ombres, alors que un bon moteur graphique, il gère lui-même, comme unreal engine, le ray tracing etc, mais bon comme on reste sur de l'affichage statique de nos playfield, ce n'est pas si dérangeant.

Si j'ai bien compris dans unity, il y aura même plus de script, tu définis tes objets sur le playfield, la physique, les ombres, les évènements, tout sera géré en natif par le moteur graphique.

A voir si ça va vraiment venir le jour et si oui, faudra revoir la façon de doffer les tables [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3746298195

jimenez aime ce message

Revenir en haut Aller en bas
Sebcemoi
Admin
Sebcemoi


Messages : 6203
Département : 94

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 15:42

Eh bien @leeoneil, tu pars de l'amélioration / ajout du DOF et t'en arrives à doffer, appliquer SSF, et ajouter les ombres dans Blender ! Shocked
Tu vas finir table maker en effet.

Gros respect ! [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 1393933098
Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 16:26

Tu t'enflammes un peu quand même ! Laughing
La marche est énorme.

Là on parle de simplement ajouter un calque d'ombre, et jusqu'à preuve du contraire pour l'instant je n'ai même pas réussi.  Laughing

Mais déjà si on arrive sur plein de tables de Loserman à DOF + SSF + Petits ajustements + Petite modification graphique, ce sera beaucoup !

Et effectivement Arngrim, le moteur de VPX a l'air carrément pourri en fait ! Laughing
C'est même un miracle que ça puisse sortir de la VR avec !
Relativisons, je me moque mais on parle d'un projet fait dans un garage.
Mais c'est de la grosse bidouille pour que ça tourne quand même, les créateurs de tables sont un peu fous !
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 1393933098
Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 22:01

Je fais comme Arngrim, je me répond.
J'ai réussi à générer l'image des ombres, à l'intégrer dans VPX.
J'ai galéré comme pas possible, vraiment je découvre Blender de zéro et même avec de bonnes connaissances sur illustrator par exemple, ça ne suffit, c'est vraiment spécial.

Voici la table (non définitive), ça claque quand même, je suis vraiment super content !

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Teache10

Sebcemoi aime ce message

Revenir en haut Aller en bas
arngrim
Développeur Team PP
arngrim


Messages : 3278
Département : Charleroi, Belgique

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 22:18

Disons que vp et vpm existe depuis bien 15 ans, rien qu'il y a environ 8 ans on edt passé de vp9.2 à vp9.9, de directx7 à 9, un petit génie a réussi le coup, c'était la révolution, on a commencé à gérer plus d'objets 3d et de gpu à la place du cpu.
Et à chaque version de vp il fallait penser ou essayer de garder de la rétro compatibilité, oui le moteur de vp repose sur des vieilles batisses pas facile à remplacer sans tout casser.
Super l'éclairage, tu vas nous faire les 200 loserman comme ça hein? Smile
Non mais prends ton temps pour pas devoir revenir trop souvent sur tous tes mods [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 3253257302

Sebcemoi aime ce message

Revenir en haut Aller en bas
leeoneil

leeoneil


Messages : 1585
Département : 63

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX Empty
MessageSujet: Re: [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX   [INFO] DOF - SSF - Améliorer une table EM et originale sur VPX EmptyJeu 17 Fév 2022 - 22:46

Ah mais clairement, le moteur de VPX est un petit miracle !

Et les auteurs ont encore plus de mérite, parce-que sortir des tables incroyables avec ça, faut être bon !
Je repense à la table Tales of Arabian Nights de Flupper et là je me dis que les mecs sont des génies quand même !

[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX 1393933098
Revenir en haut Aller en bas
 
[INFO] DOF - SSF - Améliorer une table EM et originale sur VPX
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» [INFO] Nouvelle table Rescue911
» [INFO] Nouvelle table F14 Tomcat
» [INFO] Table Elvis en beta
» [INFO] Nouvelle table sortie
» [INFO] Nouvelle table Hurricane

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Pincab Passion :: Univers du Pincab :: Émulateurs :: DOF -Direct Output Framework :: Intégration DOF aux tables "DOFfage"-
Sauter vers: