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

OutRun (with Cannonball engine)

🗃️ Specifications

📰 Title: OutRun (with Cannonball engine) 🕹️ / 🛠️ Type: Game
🗃️ Genre: Sport 👁️ Visual: 2D
🏷️ Category: Sport ➤ Motorsport ➤ Arcade ➤ OutRun 🏝️ Perspective: Third person
🔖 Tags: Sports; Arcade; Motorsport; Driving; OutRun; Classic; Remake; Pixel Art; Level Editor; Keyboard; Controller ⏱️ Pacing: Real Time
🐣️ Approx. start: 2012-09-23 👫️ Played: Single
🐓️ Latest: 2021-03-05 🚦 Status: 08. Active & Not working (no status)
📍️ Version: Latest: 0.3 / Dev: f31f2fc ❤️ Like it: 9. ⏳️
🏛️ License type: 🕊️💰 Libre with Commercial assets 🎀️ Quality: 7. ⏳️
🏛️ License: Code: MIT / Artwork: Commercial ✨️ (temporary):
🐛️ Created: 2018-01-11 🐜️ Updated: 2024-06-22

📦️ Deliverables

📦️ Package name: ..... 📦️ Arch:
📄️ Source: ✓ ..... 📦️ RPM:
⚙️ Generic binary: ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ✓ ..... 📦️ Flatpak:
✨️ Not use: ..... 📦️ Snap: ✓

🚦 Entry status

📰 What's new?: 👔️ Already shown:
💡 Lights on: 💭️ New version published (to be updated): ✓
🎨️ Significant improvement: 🦺️ Work in progress:
🎖️ This work: 4 stars 🚧️ Some work remains to be done:
👫️ Contrib.: goupildb & Louis 👻️ Temporary:
🎰️ ID: 15326

📖️ Summary

📜️[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. 📜️[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.

🎥️ Videos


🎲️ Gameplay: (202xxx♺), (202xxx♺), (202xxx♺),


🎙️ Dev Interviews:

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(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
[PCGamingWiki] [MobyGames (OutRun)]

🦣️ Social
(Cannonball) Devs (Cannonball Team [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
(Cannonball) Devs (Chris White (djyt) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2]
(Out Run) Devs (SEGA [fr] [en]): [Site 1 2] [Chat] [mastodon] [Facebook] [Instagram] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

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

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

📰 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)

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🕹️ Title:
🦊️ What's:
🏡️
🐣️
🔖 #LinuxGaming #ShareYourGames #LibreGameEngine
📦️
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update:
⚗️
📌️ Changes:
🦣️ From: 🛜️

🏝️ https://www.youtube.com/embed/
🦉️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🕵️ https://www.youtube.com/embed/
🕯️https://www.youtube.com/embed/
🕯️https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️[fr] https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🐧https://www.youtube.com/embed/
🐧https://www.youtube.com/embed/

🕶️

📚️ Name is a

📕 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" 📜️ .

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.

📕 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.

🚧️ Installation ➜ 🚀️ Launching [fr]

☝️ Contraintes: Pour jouer à ce jeu vous devez disposer des données originales du jeu.

⚙️ Installation à partir du binaire

📦️ Installation (méthode alternative) à partir du binaire au format Snap :

(✘ snap v0.3-50-g7a4a3b9) Un binaire au format Snap est disponible.

▸ Installation des dépendances :
• Installez au préalable le(s) paquet(s) suivant(s) : sdl2 mesa boost
(pour Debian/Ubuntu, installez les paquets éponymes, généralement précédés du préfixe “lib” et suivis du suffixe "-dev" s'ils sont disponibles, avec en plus les paquets spécifiques suivants : 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 ce n'est déjà fait, installez le paquet : snapd

▸ Installation du jeu au format Snap :
Après avoir installé snapd (en dépôt), lancez en console ("your_snap_package" étant le nom de votre jeu) : # snap install your_snap_package

💡Nota :
[The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.




📄️ Installation à partir du source

• (✘ v. 0.3) Si vous souhaitez quelque-chose de très récent (versions de développement) et/ou qu'il n'y a pas de binaire disponible pour votre distribution/architecture (32/64-bits), la compilation du source est une bonne idée, voir un passage obligé.

▸ Installation des dépendances :
• Installez au préalable le(s) paquet(s) suivant(s) : sdl2 mesa boost
(pour Debian/Ubuntu, installez les paquets éponymes, généralement précédés du préfixe “lib” et suivis du suffixe "-dev" s'ils sont disponibles, avec en plus les paquets spécifiques suivants : libgl1-mesa-glx libboost-all-dev)

▸ Téléchargement du source (sur GitHub) :
☝️ Nota : Évitez le téléchargement du source via les liens https, car ils ne fournissent pas les dépendances
Version stable, dans le répertoire souhaité, 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).
ou Version récente (non stable), dans le répertoire souhaité, lancez : $ git clone --recursive https://github.com/djyt/cannonball

▸ Compilation :
• 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 du contenu / des données :

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) :

🎯️ Objectif : Mise à jour de son fonctionnement/évolution.

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) :

🎯️ Objectif : Mise à jour de son fonctionnement/évolution.

💻️ PC specs :
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 : un grand classique :)