Page 1 of 1

OutRun v0.70, jeu arcade Sega adapté pour Graph 90+E fx-CG50

Unread postPosted: 20 Mar 2022, 17:10
by critor
Nombre de jeux sortant pour smartphones, tablettes, ordinateurs et consoles de jeux, se retrouvent plusieurs années plus tard disponibles sur calculatrices graphiques.

Justement, un énorme avantage jusqu'à présent des calculatrices graphiques Casio, le constructeur ne combat pas l'exécution d'application tierces lorsque la calculatrice n'est pas en mode examen. Un choix de la raison à l'exact opposé de l'ensemble de la concurrence qui pousse pour l'excessif avec le blocage, l'effacement ou parfois même les deux, de tout programme ou application faisant appel à du code machine tiers, parfois même hors mode examen.

Les formidables Casio Graph 90+E (ou fx-CG50 à l'international), ainsi que les modèles les ayant précédés fx-CG10 et fx-CG20, grâce aux émulateurs dédiés NESizm et prizoom par tswilliamson, te permettent de jouer directement aux jeux compatibles avec les consoles de jeux suivantes :
  • Nintendo Famicom (1983)
  • Nintendo NES (1985)
  • Nintendo Game Boy (1989)
  • Nintendo Game Boy Color (1998)
8198831412255


Pour les consoles de jeux et plus généralement plateformes ne disposant pas encore d'un émulateur dédié sur ta Casio, les jeux doivent être adaptés au cas par cas. L'on n'en compte pas moins diverses adaptations ou portages hautement réussis de jeux sortis pour d'autres plateformes. On peut citer entre autres :
1189112784144371445415176

Les Casio Graph 90+E et compatibles sont de formidables machines vidéoludiques, aussi bien pour les joueurs que les développeurs, de loin le meilleur choix à ce jour toute concurrence confondue ! :bj:

Parlons aujourd'hui d'un tout autre jeu. OutRun est un jeu de course en 3D sorti initialement sur borne d'arcade par Sega en 1986.

Au départ de Coconut Beach au volant de ta Ferrari Testarossa décapotable et accompagné de ta copine, tu devais enchaîner avec succès 5 circuits. L'épopée te faisait sillonner l'Europe avec sa haute variété de paysages et reliefs. À chaque fin de course tu avais le choix entre deux destinations possibles avec des conséquences sur la fin du jeu.

6774En 2016 OutRun avait fait l'objet d'une première adaptation sur calculatrices graphiques par Mark Power sous le nom de Racer, pour la tant regrettée HP Prime.

Le jeu avait ici été recodé intégralement dans le langage interprété de la machine, le HPPPL.

Malgré cela ainsi que le recodage intégral, le lien avec l'original n'en restait pas moins évident vu la réutilisation des sprites de Sega.

9617En 2018, nous avons eu droit cette fois-ci à un portage de Cannonball pour TI-Nspire par gameblabla en langage compilé C.

Cannonball est un moteur de jeu amélioré dédié au jeu OutRun. Nécessitant ici la ROM du jeu original, il te permettait d'en retrouver toutes les fonctionnalités.

15326Justement il y a 10 jours, nous te parlions de SlyVTT qui s'était lancé dans le projet d'un jeu OutRun pour Graph 90+E et compatibles.

Librement inspirée du jeu d'origine et construite intégralement à partir de zéro, cette première démo jouable du jeu n'en était pas moins déjà de très haute facture :
  • virages à gauche ou à droite
  • piste en montée ou descente
  • 2 environnements possibles : plaine ou désert
  • éléments décoratifs de bord de route avec 3 espèces d'arbres différentes
  • fond d'écran animé (défilement de nuages)
  • et le tout avec des performances absolument extraordinaires


1533615335Depuis SlyVTT n'a pas chômé. Il nous partage aujourd'hui la nouvelle version 0.70 d'OutRun, avec pléthore d'améliorations.

D'une part nous avons droit à un écran d'accueil dédié digne de ce nom pour un jeu d'un tel acabit, même si le titre "OUTRUN FOR GRAPH90" en Anglais est un peu petit choquant vu que la Graph 90+E n'est distribuée qu'en France, et que les utilisateurs de tous les autres pays au monde auront droit à un autre modèle, la fx-CG50.

Passé cet écran, nous avons maintenant droit à un menu. Les circuits sont de plus au choix dans un nombre d'environnements qui passe de 2 à 5. Dans l'ordre, nous parcourons cette fois-ci non plus l'Europe, mais bel et bien une bonne moitié du globe :
  • European Plains : Plaines européennes
  • Atacama Desert : Désert d'Atacama en Amérique du Sud
  • US Road 66 : Route 66 aux Etats-Unis en Amérique du Nord
  • Finland : L'hiver finlandais en Europe du Nord
  • Kenyan Savanah : Savane kenyane en Afrique de l'Est

15341Tu auras pu remarquer en passant :
  • l'ajout de divers indicateurs en haut d'écran : vitesse, chronomètre, score et numéro de circuit.
  • l'ajout enfin de voitures concurrentes, parmi 8 types différents
Mais c'est loin d'être tout. Nous avons maintenant aussi :
  • une animation de ta voiture donnant une impression de vitesse lorsqu'elle roule
  • obligation de tourner le volant pour combattre la force centrifuge dans les tournants
  • gestion des collisions avec les voitures adverses
  • justement lorsque tu tournes le volant la voiture change maintenant de sprite
  • davatange de décorations de bord de route (espèces d'arbres, castus, herbes, ...) et notamment des panneaux d'information (virage à gauche ou droite, ainsi que piste en montée ou descente)
  • nouveau système de fond d'écran sur 3 plans : le ciel toujours avec les nuages qui défilent, et devant lequel s'interposent jusqu'à 2 niveaux d'horizon animés en parallaxe pour les virages
Rappelons les touches de cette petite merveille :
  • SHIFT
    pour accélérer
  • ALPHA
    pour freiner/reculer
  • EXIT
    pour quitter
  • ou
    pour aller à gauche ou à droite
Malgré ces ajouts gargantuesques, les performances sur les derniers modèles Graph 90+E et fx-CG50 n'en restent pas moins formidables, et ce sans aucun besoin d'overclocker la machine : :#tritop#:

Téléchargement : archives_voir.php?id=2870241

Source : viewtopic.php?f=51&t=25534&p=267092#p267092

Re: OutRun v0.70, jeu arcade Sega adapté pour Graph 90+E fx-

Unread postPosted: 20 Mar 2022, 17:36
by DoOmnimaga
Bug: Lorsque on appuie sur la flèche droite sur fx-CG10 après un certain temps de course, la voiture s'arrête après une demi seconde si on laisse la touche enfoncée D:

Re: OutRun v0.70, jeu arcade Sega adapté pour Graph 90+E fx-

Unread postPosted: 20 Mar 2022, 20:04
by SlyVTT
Hello,

tout d'abord, merci Critor pour cette nouvelle annonce :favorite: .
En effet le jeu avance bien, j'ai beaucoup travaillé sur les décors et à corriger des bugs.

DJ Omnimaga, en fait il ne s'agit pas à vraiment parler d'un bug, mais d'un comportement voulu, juste mal défini. En fait cela arrive quand tu roules sur l'accotement de la route. Dans la version disponible, si on empiète sur le bas côté, la vitesse est limitée à 100km/h puis si on va encore plus en dehors de la route, on arrête la voiture. Effectivement c'est bizarre, je m'en suis rendu compte. Donc désormais lorsque cela arrive, dans la version en cours de debug (qui sera rapidement dispo en tant que V0.80), le joueur est repositionné au milieu de la route.

A bientôt

Sauf gros soucis, j'espère livrer la V1.0 d'ici à la fin du mois.

so, stay tuned ....


Sly

PS : effectivement pour le titre, j'y avais pas pensé. C'est la French Touch :-)

Re: OutRun v0.70, jeu arcade Sega adapté pour Graph 90+E fx-

Unread postPosted: 21 Mar 2022, 09:54
by SlyVTT
Je voulais voir la stabilité des performances et connaître plus précisément ce qui prend du temps dans une frame de OutRun.
J'ai donc codé un petit module rapide pour suivre les différents temps de manière graphique.

C'est en bas à droite de l'écran. Il y a 3 courbes qui se dessinent :
- rouge : update-time (mise à jour du trafic, de la position, lecture des inputs player ...)
- verte : project-time (calcul des projections 3D, des positionnements du trafic et des interactions trafic-joueurs, ... )
- bleue : render-time (affichage de tout ce qui est sur l'écran)
c'est un empilage donc la courbe bleue correspond en fait à render-time+project-time+update-time

il y a aussi 3 lignes noires pour se situer dans les FPS :
- celle du bas : 30fps
- celle du milieu : 25fps
- celle de haut : 20fps

Il y a une rotation sur 120 frames de l'affichage.

Le but vous l'aurez compris, se situer le plus bas possible pour viser le 25/30FPS

et voici ce que ça donne "in game":

Image

Image

Image

Et un cas qui permet de voir que les méga-sprites d'acacias avec la transparence ne sont pas anodins pour le framerate (un pic en dessous de 20FPS)

Image


On voit aussi où est "perdu" le temps : c'est principalement le rendu (pas forcément étonnant).

Juste pour tester, j'avais jamais fait : voici en overclock Ptune3 (option F5)

Image

et le circuit du Kenya (ca passe à mini 30FPS)
Image



Sly