Page 3 sur 5
Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 06:17
par alekmaul
Kaminari a écrit : ↑dim. 29 juil. 2018 22:10
Par contre Alek tes portages SFC et PCE semblent vachement accélérés par rapport aux version ZX et MD, au point de rendre certains niveaux injouables. Ce ne serait pas un problème de timing PAL > NTSC ? Ca fait quand même une différence de 20%.
Faut que je regarde, ils étaient peut être en 30 fps. Mais vu qu'ils y en a qui terminent la version SNES sans pb, je me dis que ça le fait quand même non ?
Pour le code source, je suis parti de la version MD, commeles grafs (avec Shiru dans la boucle

). J'ai changé des trucs pour le SNES car sinon, ça pasait pas.
Pour la version PCE, idem, bien changé par rapport à la SNES mais à la base, c'est son code.
Pour le son, y'a ça dans la doc squirrel v3 :
/* these will only work if you made subtrack 1 and subtrack 2 as sound effects
see gnop.mml, and the manual, for details */
if( jsv & JOY_A )
{
psgPlay( 1 );
}
if( jsv & JOY_B )
{
psgPlay( 2 );
}
Je me demande si je peux pas faire en sorte que cela joue les SFX ...
Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 10:24
par Kaminari
Je préfère largement le gameplay original (tes versions semblent effectivement accélérées par deux) mais c'est toi qui voit. Tu dois pouvoir faire du 60 fps sans avoir à doubler la vitesse d'exécution...
La version Spectrum tourne certainement à 25 fps (affichage PAL 50). Pour son portage MD, Shiru a dû choisir une sortie 60 Hz mais pour coller à la version ZX il a divisé la vitesse par deux pour une exécution à 30 fps, ce qui reste agréable à jouer. Tes versions SFC/PCE sont synchronisées en 60 Hz et sont donc en l'état 2.4 fois plus rapides (!) que le gameplay original, ce qui pose un véritable problème de maniabilité dans certains niveaux.
Proposer une option peut-être, genre Speed Normal|Turbo ? Mais le problème c'est que tout semble quand même s'animer trop vite, les anims, les cycles de couleurs, façon Benny Hill. C'est assez perturbant.
Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 10:42
par franz
Et bin voilà, on l'a trouvé la musique adéquate!
Et je suis sûr qu'il y a une version 8/16 bit du générique de Benny Hill qui traîne sur le net...
Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 10:48
par Kaminari
Les musiques SFC sont très chouettes au demeurant, avec des arrangements sympas et plus longs que les thèmes originaux.
Et contrairement au reste du jeu, elles tournent à la bonne vitesse ^^
Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 20:06
par alekmaul
ok, ok ^^ tu l'auras à 30fps Kaminari.
J'ai aussi intégré l'effet fadeout entre les écrans

Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 20:40
par touko
Ah cool tu t'es basé sur quelque chose où tu l'as codée toi même ?
Re: Uwol: Quest for Money
Publié : lun. 30 juil. 2018 22:24
par Kaminari
C'est un fondu au noir présent sur ZX, MD et SFC pour passer d'un écran à l'autre. L'effet est subtil mais sympa et "pro".
Re: Uwol: Quest for Money
Publié : mar. 31 juil. 2018 00:05
par touko
Merci kaminari mais je suis qd même au courant de ce qu'est un fade out
Je voulais savoir si alek avait utilisé une fonction déjà faite ou si il l'avait codée.
Re: Uwol: Quest for Money
Publié : mar. 31 juil. 2018 00:13
par Kaminari
J'imagine bien que tu sais ce qu'est un fade
Mon post avait surtout pour but de préciser que cette fonction existait déjà sur les versions ZX et MD (open source je te le rappelle) dont Alek s'est servi pour ses portages ; ma déduction logique étant il s'en est inspiré plutôt que de réinventer la roue.
Re: Uwol: Quest for Money
Publié : mar. 31 juil. 2018 06:12
par alekmaul
oui, inspiré mais assez simple de trouver les fonctions en fait.
Je me suis inspiré d'un exemple de zeograd, touko avait donné le lien dans le post qui est maintenant dans la partie graphique.
Le code que j'utilise pour faire le fading des 4 palettes BG utilisées dans le jeu :
//---------------------------------------------------------------------------------
void fade_out () {
unsigned char r,g,b,i,j;
for (j=0;j<7;j++) {
for (i=0;i<16*4;i++) {
b= get_color(i) & 7;
r= (get_color(i)>>3) & 7;
g= (get_color(i)>>6) & 7;
if (r) r--;
if (g) g--;
if (b) b--;
set_color_rgb(i, r, g, b);
}
vsync(2);
}
disp_off();
}
Re: Uwol: Quest for Money
Publié : mar. 31 juil. 2018 07:26
par cazeysan
Bonjour tout le monde
Question d'ignorant :
J'ai cru comprendre que vous codiez en langage assembleur c'est ça ? Les autres consoles de cette époque (NES, Master System, Megadrive, Super Nintendo, etc.) se codent aussi en assembleur ? Et si oui, le portage d'une machine à l'autre revient-il à adapter un code en assembleur existant selon les caractéristiques de chaque machine et de le compiler avec l'outil logiciel adapté afin de créer un fichier interprétable ?
D'avance merci de vos lumières.
Re: Uwol: Quest for Money
Publié : mar. 31 juil. 2018 09:19
par touko
Oui tu es obligé d'adapter vu que le hardware est assez différent.
Et c'est cette adaptation qui va tirer partie ou pas dune machine, à savoir si elle est faite par des gens compétents ou pas sur la machine cible.
A l époque de commercialisation des 16 bits c'était assez fa ile de foirer un portage,souvent à cause des delais tres serrés.
@kaminari:je te charriais je sais bien que ca partait d'un bon sentiment
@alekmaul:tu l'as bien adaptée car l'originale fait un fade sur toutes les palettes c'est assez lent.
En rentrant je vais en faire une pour huc que je mettrais à disposition.
Re: Uwol: Quest for Money
Publié : mer. 01 août 2018 06:08
par alekmaul
Kaminari a écrit : ↑lun. 30 juil. 2018 10:24
La version Spectrum tourne certainement à 25 fps (affichage PAL 50). Pour son portage MD, Shiru a dû choisir une sortie 60 Hz mais pour coller à la version ZX il a divisé la vitesse par deux pour une exécution à 30 fps, ce qui reste agréable à jouer. Tes versions SFC/PCE sont synchronisées en 60 Hz et sont donc en l'état 2.4 fois plus rapides (!) que le gameplay original, ce qui pose un véritable problème de maniabilité dans certains niveaux.
En regardant son code, je vois pas de double vsync à chaque frame pour tourner à 30fps.
J'ai testé mon code à 30fps (vsync(2) dans la boucle de jeu), c'est trop lent

... Je vais poursuivre mes recherches pour comprendre pourquoi c'est plus lent chez lui (même si franchement, je préfère ma vitesse qui donne plus de punch au jeu mais je fais confiance aux gamers par rapport au gameplay

). Peut être un pb de lenteur du code qui donne cet effet ...
Re: Uwol: Quest for Money
Publié : mer. 01 août 2018 09:33
par touko
Shiru a peut être joué seulement sur les timings de déplacements des sprites plutôt que sur un simple 30 fps qui impacte tout le jeu.
Ou alors il faut déplacer tout les sprites a 60fps (sans délai donc) et là utiliser un vsync (2)
Re: Uwol: Quest for Money
Publié : mer. 01 août 2018 12:54
par Kaminari
Ce ne sont pas juste les sprites, c'est tout le code qui tourne d'une manière ou d'une autre trop vite, ça se voit par exemple sur les cycling de palette (écran-titre), sur la vitesse du compteur de temps... Je pensais au départ à un décalage PAL/NTSC, mais la version MD/Genesis tourne elle aussi en 60 Hz.
La différence n'est peut-être pas tout à fait de x2, mais elle est suffisante pour rendre le gameplay problématique (assez flagrant avec l'arrivée du fantôme qui est inévitable sur SFC/PCE tellement il est rapide).