OutRun (with Cannonball engine) - Le Bottin des Jeux Linux

OutRun (with Cannonball engine)

🗃️ Specifications

📰 Title: OutRun (with Cannonball engine) 🕹️ / 🛠️ Type: Game
🗃️ Genre: Sport 🚦 Status: Not working
🏷️ Category: Sport ➤ Motorsport ➤ Arcade ➤ OutRun 🍥️ Name:
🔖 Tags: Sports; Arcade; Motorsport; Driving; OutRun; Classic; Remake; Pixel Art; Level Editor; Keyboard; Controller 📦️ Arch:
🐣️ Approx. start: 2012-09-23 🍥️ On Deb repo:
🐤️ Latest: 2021-03-05 📦️ Deb:
📍️ Version: Latest : 0.3 / Dev : f31f2fc 📦️ RPM:
🏛️ License type: Commercial 📦️ AppImage:
🏛️ License: Code : MIT / Artwork : Commercial 📦️ Snap: ✓
🏝️ Perspective: Third person 📦️ Flatpak:
👁️ Visual: 2D ⚙️ Generic bin.:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 🌍️ Browser-based:
🎖️ This record: 5 stars 📱️ PDA support: ✓
🎖️ Game design: 👫️ Contrib.: Goupil & Louis
🎰️ ID: 15326 🐛️ Created: 2018-01-11
🐜️ Updated: 2021-03-16

📖️ Summary

[fr]: Un moteur libre et multi-plateforme compatible avec les données du jeu OutRun de SEGA. Pour y jouer il est nécessaire d'acquérir la ROM OutRun Revision B. Il s'agit d'une ré-écriture complète du moteur, permettant d'améliorer ses performances. Il supporte notamment un jeu plus fluide (60 FPS), les écrans larges et haute résolution, de nouvelles vues de caméra, d'autres modes de jeu (contre la montre, continu, triche), plus d'objets de niveaux, le changement de vitesse auto, les pistes occidentales, japonaises et prototypes, la musique personnalisable, la sauvegarde des meilleurs scores, les joysticks. [en]: A libre, cross-platform engine compatible with SEGA's OutRun game data. In order to play it is necessary to purchase the OutRun Revision B ROM. This is a complete rewrite of the engine, improving its performance. In particular, it supports smoother gameplay (60 FPS), wide and high resolution screens, new camera views, other game modes (time trial, continuous, cheat), more level objects, automatic gear change, Western, Japanese and prototype tracks, customizable music, saving high scores, joysticks.

🎥️ Videos

🕹️ Gameplay [en] :


🎙️ Interview des développeurs / Interview with Dev :

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) ts(202xxx) gd(202xxx) id(202xxx) r(202xxx) lp(202xxx) g(202xxx) g(202xxx) g(202xxx) g(202xxx) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💵 Commercial : (empty)

🍩️ Resources
• Javascript port of CannonBall (ROM needed) : [massdestruction.co.uk (Javascript port of CannonBall)]
• A Track Editor for OutRun : [LayOut (Dev Site) (Manual)]
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames (OutRun)]

🐘 Social
(Cannonball) Devs (Cannonball Team [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
(Cannonball) Devs (Chris White (djyt) [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
(Out Run) Devs (SEGA [fr] [en]) : [Site 1 2] [mastodon] [twitter] [Facebook] [Instagram] [PeerTube] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

🐝️ Related
[Wikipedia (Out Run) [fr] [en] [de]]
[Snap]

📦️ Misc. repositories

🕵️ Reviews
[metacritic]

📰 News / Source of this Entry (SotE) / News (SotN)
[Changes with v. 0.3 (20141111)] [dewomser on Mastodon, from Alan Pope (20210305) (SotN)] [LGDB](closed) (SotE)

📕 Description [fr]

Un moteur libre et multi-plateforme compatible avec les données du jeu OutRun de SEGA, par la Cannonball Team, initié par Chris White (djyt), Arun Horne (portage multi-plateforme).
En C++.

Cannonball engine est un moteur libre et multi-plateforme compatible avec les données du jeu OutRun de SEGA. Pour y jouer il est nécessaire d'acquérir la ROM OutRun Revision B. Il s'agit d'une ré-écriture complète du moteur, permettant d'améliorer ses performances. Il supporte notamment un jeu plus fluide (60 FPS), les écrans larges et haute résolution, de nouvelles vues de caméra, d'autres modes de jeu (contre la montre, continu, triche), plus d'objets de niveaux, le changement de vitesse auto, les pistes occidentales, japonaises et prototypes, la musique personnalisable, la sauvegarde des meilleurs scores, les joysticks.

Voir aussi / See also : OutRun (with Cannonball engine), Swervin Mervin,


Qu'est-ce que Cannonball ?

Cannonball est un programme qui vous permet de jouer à une version améliorée du jeu d'arcade de Yu Suzuki, OutRun, sur différents systèmes.

Cannonball n'est pas un émulateur ; il s'agit d'une réécriture complète du jeu original en C++ portable.

Améliorations

• 60 images par seconde (plus fluide que le jeu original)
• Véritable mode écran large (extension de la zone de jeu de 25%)
• Mode haute résolution (améliore la mise à l'échelle des sprites)
• Nouvelles vues de caméra
• Mode contre la montre (Battez votre temps à un niveau choisi)
• Mode continu (Jouez les 15 étapes de façon séquentielle)
• Support des pistes occidentales, japonaises et prototypes
• Le support ses pistes personnalisées de LayOut
• Musique personnalisable
• Commutation de la ROM audio corrigé
• Sauvegarde des meilleurs scores
• Support des contrôleurs analogiques et numériques
• Retour de force / Support haptique (Windows uniquement)
• Changement de vitesse automatique
• Tricheries (pas de trafic, temps infini)
• Améliorations facultatives de l'IA en mode Attraction
• Plus d'objets de niveau


Cannonball a été construit avec succès pour Windows, Mac OS X, Linux, Open Pandora et le Raspberry Pi.

📕 Description [en]

"A libre engine compatible with SEGA's OutRun game data. In order to play it is necessary to purchase the OutRun Revision B ROM" (Serge Le Tyrant, Le Bottin des Jeux Linux / The Linux Games Book).

What is Cannonball?

Cannonball is a program which allows you to play an enhanced version of Yu Suzuki's seminal arcade racer, OutRun, on a variety of systems.

Cannonball is not an emulator; it is a complete rewrite of the original game into portable C++.

Enhancements

• 60 fps gameplay (smoother than the original game)
• True widescreen mode (extend the play area by 25%)
• High Resolution mode (improves sprite scaling)
• New Camera Views
• Time Trial Mode (Beat your time on a chosen level)
• Continuous Mode (Play all 15 stages sequentially)
• Western, Japanese & Prototype Track Support
• Support for Custom Tracks from LayOut
• Customisable Music
• Toggle Fixed Audio ROM
• High Score Saving
• Analog and Digital Controllers Supported
• Force Feedback / Haptic Support (Windows Only)
• Automatic gear change
• Cheats (No Traffic, Infinite Time)
• Optional Attract Mode AI Improvements
• More level objects


Cannonball has been successfully built for Windows, Mac OS X, Linux, Open Pandora and the Raspberry Pi.

🚧️ Installation [fr]

INSTALLATION :

(✘ snap v0.3-50-g7a4a3b9) ➥ Installation à partir du binaire du jeu :

Un binaire au format Snap est disponible.

▸ Installation des dépendances :
• Installez les bibliothèques SDL (voir la fiche "006 - Glossaire & licences courantes" du Bottin).
• Installez au préalable les paquets suivants : # apt install libgl1-mesa-glx libboost-all-dev

▸ Installation de snap :
(L'installation du gestionnaire de paquets Snap (et ses commandes de base) est aussi décrite sur la fiche "0 03 - Glossaire & licences courantes").
Si vous ne l'avez pas déjà installé : # apt install snapd

▸ Installation du jeu au format Snap :
Après avoir installé snapd (en dépôt), lancez en console : # snap install cannonball


(✘ v. 0.3) ➥ Installation à partir du source du jeu :

▸ Installation des dépendances :
• Installez les bibliothèques SDL (voir la fiche "006 - Glossaire & licences courantes" du Bottin).
• Installez au préalable les paquets suivants : # apt install libgl1-mesa-glx libboost-all-dev

▸ Téléchargement du source (sur GitHub) :
• Si vous souhaitez une version publiée / stable :
- En HTTP : sur la page de développement du site (lien "Dev site" ci-dessus) vous cliquez sur "Clone"
- Ou en console, dans le répertoire de votre choix, lancez : $ git clone -b "Nom_de_la_release" --recursive https://github.com/djyt/cannonball
Nom_de_la_release : à remplacer par le nom d'une release valide indiquée sur la page de développement (sur GitHub, dans la section Release, le nom valide est l'étiquette située à gauche du titre, ou cliquez sur "Tags" pour obtenir la liste des étiquettes valides).
• Si vous souhaitez obtenir la version la plus récente (de développement, non stable, potentiellement non fonctionnelle), dans le répertoire de votre choix, lancez : $ git clone --recursive https://github.com/djyt/cannonball

▸ Compilation du jeu :
• Dans son répertoire racine lancez successivement :
$ mkdir build
$ cd build
$ cp ../cmake/debian.cmake default.cmake
$ cp ../cmake/CMakeLists.txt .
$ cmake .
$ make
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)


➥ Installation des données du jeu :

Ce moteur nécessite les ROMs du jeu, à copier dans le répertoire roms/ (voir la liste des ROMs supportées dans le fichier roms/roms.txt).
Néanmoins, à la lecture de la documentation accompagnant le paquet snap il est précisé : "The snap includes the game engine only; when the game runs for the first time it will download the appropriate ROM files".


LANCEMENT DU JEU :

• Si vous avez compilé le jeu, en console dans son répertoire racine lancez : $ ./cannonball
(à adapter si le nom ci-dessus n'est pas correct, car je ne suis pas parvenu à le compiler)
• Si vous avez installé le jeu à partir d'un paquet snap, lancez :
$ /snap/bin/cannonball
ou :
$ snap run cannonball

🔍️ Test [fr]

🕵️ Test (✘ compilation du source v. 0.3) par goupildb (config. : Debian Testing 64-bit) :

La compilation n'est pas très simple à réaliser pour un néophyte (du fait que le source est assez standardisé pour plusieurs plateformes), même si elle est bien documentée.
Sur mon installation Debian elle démarre puis plante sur :
(...)
[ 13%] Building CXX object CMakeFiles/cannonball.dir/mnt/DDprc/TestLogiciels/cannonball/src/main/frontend/cabdiag.cpp.o
[ 15%] Building CXX object CMakeFiles/cannonball.dir/mnt/DDprc/TestLogiciels/cannonball/src/main/frontend/config.cpp.o
In file included from /usr/include/boost/property_tree/detail/xml_parser_utils.hpp:15,
from /usr/include/boost/property_tree/detail/xml_parser_write.hpp:15,
from /usr/include/boost/property_tree/xml_parser.hpp:15,
from /mnt/DDprc/TestLogiciels/cannonball/src/main/frontend/config.cpp:13:
/usr/include/boost/property_tree/detail/xml_parser_writer_settings.hpp: In instantiation of ‘class boost::property_tree::xml_parser::xml_writer_settings’:
/mnt/DDprc/TestLogiciels/cannonball/src/main/frontend/config.cpp:242:61: required from here
/usr/include/boost/property_tree/detail/xml_parser_writer_settings.hpp:38:42: error: ‘char’ is not a class, struct, or union type
38 | typedef typename Str::value_type Ch;
| ^~
/usr/include/boost/property_tree/detail/xml_parser_writer_settings.hpp:40:9: error: ‘char’ is not a class, struct, or union type
40 | xml_writer_settings(Ch inchar = Ch(' '),
| ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/property_tree/detail/xml_parser_writer_settings.hpp:50:33: error: ‘char’ is not a class, struct, or union type
50 | typename Str::size_type indent_count;
| ^~~~~~~~~~~~
/mnt/DDprc/TestLogiciels/cannonball/src/main/frontend/config.cpp: In member function ‘bool Config::save(const string&)’:
/mnt/DDprc/TestLogiciels/cannonball/src/main/frontend/config.cpp:242:69: error: no matching function for call to ‘boost::property_tree::xml_parser::xml_writer_settings::xml_writer_settings(char, int)’
242 | boost::property_tree::xml_writer_settings settings('\t', 1);
| ^
(...)


🕵️ Test (✘ paquet snap v0.3-50-g7a4a3b9) par goupildb (config. : Debian Testing 64-bit) :
💻️ Configuration utilisée:
Debian Testing 64-bit
CPU : AMD Ryzen 7 2700X (8 coeurs)
Carte graphique : GeForce RTX 2070
Écrans : 2 écrans de 3440x1440 pixels
RAM : 32Go
Joystick : Logitech Rumblepad (2 pads analogiques, un pad numérique, et retour de force).
Noyau Linux : 5.6.0-1-amd64 x86_64
Driver graphique : nvidia v.440.82 (version propriétaire)
En : mars 2021

L'opération est plus simple.

Néanmoins là aussi çà ne fonctionne pas pour l'instant :
$ snap run cannonball
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
Testing for explicit PulseAudio choice...
...and PulseAudio has been explicitly chosen, so using it.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error: GLXBadContext
Request Major code 151 (GLX)
Request Minor code 6 ()
Error Serial #115
Current Serial #114

(nota : pas question pour moi d'installer des quantités de paquets nvidia des dépôts au risque de tout planter :)