Aujourd’hui, je vous propose un petit tutoriel détente, et plus particulièrement de retrogaming avec trois jeux FPS mythiques des années 90 :

Découvrons ou redécouvrons ensemble ces petites pépites qui ont forgé les FPS de maintenant. Chacun de ces jeux a fait l’objet d’un portage sur le Raspberry pour notre plus grand plaisir.

Tout au long de ce tuto, je vais vous guider pas à pas dans l’installation de ces portages. Let’s rock!

Doom Duke_2044814c afd-65025

DOOM

Doom fait partie de ces jeux mythiques qui ont forgé toute une génération. Développé par Id Software et sorti en 1993, il a eu une suite Doom II: Hell on Earth et plusieurs extensions comme The Ultimate Doom ou Final Doom. Ces jeux vous proposent d’entrer dans la peau d’un marines envoyé sur Mars pour faire le ménage. Carnage garanti !

Pour jouer aux jeux Doom, il existe un portage qui tourne parfaitement sur notre framboise, Chocolate Doom. Miam !

3413-doom2

Avant de nous lancer dans la compilation de Chocolate Doom, nous allons installer quelques dépendances audio/vidéo nécessaires au bon fonctionnement de la librairie graphique SDL :

sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-mixer1.2 libsdl-mixer1.2-dev libsdl-net1.2 libsdl-net1.2-dev timidity

Vous pouvez télécharger la dernière version de Chocolate Doom sur le site officiel. A l’heure où j’écris cet article, il s’agit de la version 2.1.0 :

wget http://www.chocolate-doom.org/downloads/2.1.0/chocolate-doom-2.1.0.tar.gz
tar -xvf chocolate-doom-2.1.0.tar.gz
cd chocolate-doom-2.1.0

Maintenant, installons le !

./configure
make
sudo make install

Il ne reste plus qu’à télécharger les sources des jeux Doom. Il existe une pléthore de versions sur internet (bah oui, depuis le temps…). La plus récente est InstaDoom, un mod permettant d’appliquer des filtres Instagram, mais surtout de prendre des selfies avec vos ennemis préférés 🙂

Pour vous faire gagner du temps (de jeu), vous trouverez les sources des jeux originaux et quelques mods sur pc-freak. Chaque jeu est composé d’un seul fichier au format .wad.

Supposons que vous vouliez jouer au jeu Doom 1 (fichier doom1.wad), il faut d’abord le configurer sur le Raspberry via la commande chocolate-doom-setup :

chocolate-doom-setup -iwad doom1.wad

52af761d757b7f59178b4568

L’utilitaire de configuration s’ouvre alors, contenant de nombreuses options : résolutions d’écran, configuration des touches du clavier ou encore choix de la sortie audio. Après cette étape, le jeu se lance via la commande chocolate-doom :

chocolate-doom-iwad doom1.wad

doom2-eb95f

A vous les frags de marines zombies !

Duke Nukem 3D

Duke Nukem 3D est un peu la Rolls Royce des FPS : sexe, drogue, rock n’roll et surtout des phrases cultes ! Le synopsys tient en 2 lignes mais ce n’est pas le plus important. Le vaisseau de Duke Nukem est abattu au dessus de Los Angeles par des extraterrestres qui veulent s’emparer de la Terre. Pour stopper l’invasion, le gouvernement décide donc d’envoyer Duke. Looks like it’s TIME TO KILL !

Le jeu développé par 3D Realms étant un peu (très) vieux, un portage nommé eduke32 a vu le jour et fonctionne sur la plupart des plateformes existantes (OS X, Windows, Linux,…). Come get some !

ss_ca3097505b5609ecb09ec5366de1af139f667d55.600x338

L’installation de Duke Nukem est plus compliquée que pour Doom, accrochez-vous ! Les premières étapes consistent à installer la librairie graphique SDL 2.0, qui n’est évidemment pas dans les dépôts standards de Raspbian… Pourquoi faire simple quand on peut faire compliquer ! Pour info, Doom nécessitait la version 1.0 de cette librairie.

Commençons par installer quelques dépendances obligatoires :

sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev libasound2-dev libjpeg8-dev libtiff5-dev libwebp-dev libvpx-dev nasm automake

Ensuite, téléchargez les sources de la dernière version de SDL 2.0 sur le site officiel de la librairie. A l’heure où j’écris cet article, il s’agit de la version 2.0.3 :

wget https://www.libsdl.org/release/SDL2-2.0.3.tar.gz
tar zxvf SDL2-2.0.3.tar.gz

Maintenant, il est temps de configurer et d’installer SDL 2.0 :

cd SDL2-2.0.3 && mkdir build && cd build
../configure --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl
make
sudo make install

La librairie de gestion audio SDL 2.0 Mixer s’installe séparément. Nous allons suivre les mêmes étapes (ici la version 2.0.0) :

wget http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.0.tar.gz
tar zxvf SDL2_mixer-2.0.0.tar.gz
cd SDL2_mixer-2.0.0 && mkdir build && cd build
../configure
make
sudo make install

Installons à présent le portage eduke32 sur notre framboise. Ce programme étant toujours en développement, nous allons prendre les sources d’une version ancienne mais stable. La compilation dure environ 30 min, vous pouvez aller prendre un verre 🙂

wget http://dukeworld.duke4.net/eduke32/synthesis/20140907-4593/eduke32_src_20140907-4593.tar.xz
tar zxvf eduke32_src_20140907-4593.tar.xz
cd eduke32_20140907-4593
make NOASM=1

On a presque fini !

Le portage nécessite une version originale du jeu. Comme pour Doom, je vais vous épargner une recherche longue et fastidieuse sur Google ! La version Atomic Edition de Duke Nukem 3D se télécharge sur dosgamer. Téléchargez l’archive du jeu et dézippez tous les fichiers (sans le dossier) dans le dossier courant eduke32 :

unzip -j d3datom.zip

Si vous avez survécu à l’installation du jeu, bravo ! Vous méritez amplement d’incarner Duke dans ses aventures « nucléaires » ! Le jeu se lance avec la commande eduke32 :

./eduke32

raspberry_pi_dos_emulator_duke_nukem_3d

Pour les fans de Duke, des amateurs ont créé un certain nombre de mods qui fonctionnement très bien avec eduke32. Le mod WGRealms 2 nous emmène en enfer avec de nouveaux ennemis et des nouveaux décors :

Quake III Arena

Quake 3 est sorti à la toute fin des années 90, le 2 décembre 1999. Comme Doom, il a été développé par Id Software et est très orienté multi-joueurs contrairement à la plupart des FPS de cette époque.

Dans des décors en vrai 3D, il vous met dans la peau d’un gladiateur luttant pour sa survie dans de nombreuses arènes féodales grâce à des armes ultra-futuristes.

quake3-arena-demo1

En février 2014, Broadcom le fabricant de la carte vidéo VideoCore IV du Raspberry, annonce la sortie de nouveaux drivers open-source afin que les développeurs puissent profiter de la pleine puissance de la carte graphique.

Pour l’occasion, Broadcom a organisé un concours de programmation qui consistait à porter Quake 3 sur le Raspberry en utilisant ces nouveaux drivers plutôt que les anciens, closed-source. En une semaine, le défi fut relevé par le hacker Simon Hall, un habitué des carte ARM.

On peut noter que le portage est basé sur le framebuffer Linux (fbdev) et utilise donc la puissance du GPU à travers une console classique, donc sans avoir besoin de passer par un environnement graphique lourd comme le serveur X.

quake-iii-arena-raspberry

Installons d’abord quelques dépendances :

sudo apt-get install git gcc build-essential libsdl1.2-dev

Puis téléchargeons le code source du portage de Quake 3 :

mkdir ~/src
cd ~/src
git clone https://github.com/raspberrypi/quake3.git
cd quake3

Il faut faire quelques changements dans le fichier build.sh du dossier courant :

ligne 8 : 
ARM_LIBS=/opt/vc/lib
ligne 16 : 
INCLUDES="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads"
ligne 19 : 
#CROSS_COMPILE=bcm2708-

Sauvegardez le script et lancez le :

./build.sh

La compilation des sources commence et va durer une bonne heure… Ensuite, nous allons télécharger les sources originales du jeu. Pour ce tuto, j’utilise la version de démo disponible gratuitement sur le net :

cd build/release-linux-arm/baseq3
wget http://dl.dropbox.com/u/1816557/Q3%20Demo%20Paks.zip
unzip Q3\ Demo\ Paks.zip
mv ./baseq3/pak* ./
cd ..

Dernière étape, le lancement du jeu !

sudo ./ioquake3.arm

Si vous rencontrez des problèmes, un petit tour sur raspbian.org peut vous tirer d’affaire, et sinon notre forum est toujours ouvert 🙂

Forum_LINK

Anth0kuto

Anth0kuto

gérant chez Byprog
Administrateur

Freelance Full-Stack Développeur, plus d'infos sur byprog.com !

Fervent linuxien depuis plus de 10 ans, je suis passionné par l'univers de l'open source et par la programmation en particulier. Ma mission si vous l'acceptez: vous emporter dans d'autres contrées!
Anth0kuto
Retrouver aujourd'hui son N9...sans Nokia
4 façons de regarder Youtube sur le RaspberryPi