The Mini Slug Project - Le Bottin des Jeux Linux

The Mini Slug Project

🗃️ Specifications

📰 Title: The Mini Slug Project 🕹️ / 🛠️ Type: Game
🗃️ Genre: Arcade 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Arcade ➤ Shooter ➤ Run and Gun ➤ Misc. 🌍️ Browser version:
🔖 Tags: Run and Gun; Arcade; Action; Shooter; Bullet Hell; 194x; Pixel Art; Remake; Classic; Retro; Cute; PvE; Difficult; Casual; Controller 📦️ Package Name:
🐣️ Approx. start: 2012-04-23 📦️ Arch package:
🐓️ Latest: 2013-03-14 📦️ RPM package:
📍️ Version: Latest: 20130314 📦️ Deb package:
🏛️ License type: 🎁 Free of charge 📦️ Flatpak package:
🏛️ License: Code: Free / Artwork: Fair use (commercial) 📦️ AppImage package:
🏝️ Perspective: Side view 📦️ Snap package:
👁️ Visual: 2D Scrolling ⚙️ Generic binary: ✓
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support: ✓
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 5 stars 👫️ Contrib.: goupildb
🎰️ ID: 16129 🐛️ Created: 2021-10-24
🐜️ Updated: 2023-04-15

📖️ Summary

[en]: A free and multi-platform run and gun game strongly inspired (it uses some of the sprites under copyright, with a spirit of fair use) by the game Metal Slug (Nazca Corporation & SNK, 1996), in which the player faces (in a humorous tone) enemies inspired by the 2nd World War, the Vietnam War, supernatural monsters and alien invaders (for the original game). This implementation offers a single player game through 3 missions, with keyboard or joystick, with a scoreboard, in windowed or full screen. [fr]: Un run and gun gratuit et multi-plateforme fortement inspiré (il en reprend une partie des sprites sous copyright, avec un esprit de fair use) du jeu Metal Slug (Nazca Corporation & SNK, 1996), dans lequel le joueur affronte (sur un ton humoristique) des ennemis inspirés de la 2nde guerre mondiale, de la guerre du Viêt Nam, des monstres surnaturels et des envahisseurs extraterrestres (pour le jeu original). Cette implémentation offre un jeu solo au travers de 3 missions, au clavier ou au joystick, avec un tableau des scores, en fenêtré ou plein écran.

🎥️ Videos


🎲️ Gameplay: (201311), (201706),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) ht(202xxx) g(201311) g(201706) 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
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
(The Mini Slug Project) Devs (Clément CORDE (c1702) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(201304) 2(202xxx)]
(Metal Slug) Devs (Nazca Corporation [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
(Metal Slug) Devs (SNK [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (Metal Slug) [fr] [en] [de]]

📦️ 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]

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

🦣️ Social Networking Update (on mastodon)

🕹️ Title: The Mini Slug Project
🦊️ What's: A free run and gun game strongly inspired by Metal Slug
🏡️ https://oldschoolprg.x10.mx/projets.php
🐣️ -
🔖 #LinuxGaming #ShareYourGames #Arcade #RunAndGun
📦️ #Free #SRC #Bin
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

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

📦️
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/
🎲️ https://www.youtube.com/embed/9vsYkOlqIEM
🎲️ https://www.youtube.com/embed/KQaLjwO-7e0

📕 Description [en]

📕🐧"A free run and gun game strongly inspired by Metal Slug"🐧📕

Mini Metal Slug Project.
Done by Clément CORDE.
Contact: c1702@yahoo.com

All graphical content (c) Nazca Corp., SNK and PlayMore.

Using rips by (in no particular order): Gussprint, The Mad Soldier, Random Rebel Soldier, C2000MC/Futaokuu, Random Talking Bush, Kevin Huff, Grey Wolf Leader, Goemar, Magma Dragoon, AzRaezel/Dan, The_Protagonist, Tk big_mickey_k, Grim, @$$h0l3 (what a nickname is that!?), Crazy Slug, Xezan... and some 'unsigned' rips. Hope I'm not forgetting anyone.

Now using ST-Sound by Leonard/OXG (https://leonard.oxg.free.fr/), and ST era music by David WHITTAKER.


> Foreword:

Hi there,

After several breaks (to code a Bomberman, to ready myself for exams, aso...), here is finally the final version of my little project.

I didn't manage to reach the quality I wanted to (I think it's not that bad either), but I already spent a lot of time on this program, and at the moment, I don't have so much time left.

The biggest weakpoint is the sound. I only have a few WAV files, and I don't master Audacity, so I did what I could. In addition to this, I know dick in sound programming. Update: Added ST-Sound for music.

You'll have to excuse a bit of a 'lame' finish as well...


> Controls:

- On the main menu, F1 to switch: 1 credit / 3 credits / infinite credits. Attention though, this doesn't work ingame on purpose.

- F9: Toggle screen mode: Normal 320x224 / 2x 640x448 / TV2x 640x448.
- F10: Toggle full screen / Windowed.
- F12: Pause.

- Up, down, left, right: Move.
- Button A: Shot.
- Button B: Jump.
- Button C: Bomb.

- Down + Button B to exit a vehicle.

Default keys are the arrows keys, 'V' for Button A, 'C' for Button B and 'X' for Button C.

When I released the preview, I had comments stating that my key's choice was not really good. So I made a little tool to allow people to set up their own controls. It's a very simple tool, but I didn't want to spend several hours to make a configuration menu in the game. I think that will do anyway.

I also added joystick support. I only did some tests with an old stick (with some broken buttons) lended by a co-worker, but it seems to work. If a joystick is plugged in, the configuration tool will ask you for the 3 buttons to use (right after the keyboard configuration). Be careful to keep the 4 directions and 3 buttons, and not to set up the jump on 'up', that would make the game impossible to play on some levels.

Note: When using a 32 bits color mode (or worse, 24 bits), the 2x and TV2x modes seems to use a lot time. I got a feeling that the 16 bits (the game video buffer) to 24/32 bits conversion by SDL is rather time-consuming. For maximum speed, I think it's better to use a 16 bits color mode.

📕 Description [fr]

Un run and gun fortement inspiré de jeu Metal Slug, par Clément CORDE (c1702), Metal Slug par Nazca Corporation & SNK.
En C.

The Mini Slug Project est un run and gun gratuit et multi-plateforme fortement inspiré (il en reprend une partie des sprites sous copyright, avec un esprit de fair use) du jeu Metal Slug (Nazca Corporation & SNK, 1996), dans lequel le joueur affronte (sur un ton humoristique) des ennemis inspirés de la 2nde guerre mondiale, de la guerre du Viêt Nam, des monstres surnaturels et des envahisseurs extraterrestres (pour l'original). Cette implémentation offre un jeu solo au travers de 3 missions, au clavier ou au joystick, avec un tableau des scores, en fenêtré ou plein écran.


Mini Metal Slug Project.
Done by Clément CORDE.
Contact: c1702@yahoo.com

All graphical content (c) Nazca Corp., SNK and PlayMore.

Using rips by (in no particular order): Gussprint, The Mad Soldier, Random Rebel Soldier, C2000MC/Futaokuu, Random Talking Bush, Kevin Huff, Grey Wolf Leader, Goemar, Magma Dragoon, AzRaezel/Dan, The_Protagonist, Tk big_mickey_k, Grim, @$$h0l3 (what a nickname is that!?), Crazy Slug, Xezan... and some 'unsigned' rips. Hope I'm not forgetting anyone.

Now using ST-Sound by Leonard/OXG (https://leonard.oxg.free.fr/), and ST era music by David WHITTAKER.


> Préambule :

Bonjour,

Après plusieurs interruptions plus ou moins longues (un Bomberman, préparation de concours et autres...), voici enfin la version finale de ce petit projet.

Je ne suis pas arrivé au niveau de qualité que j'aurai voulu atteindre, mais j'ai déjà passé assez de temps sur ce programme, et du temps, en ce moment je n'en ai plus trop.

Le gros point faible est toujours le son. Je n'ai que quelques WAV et je ne maîtrise pas du tout Audacity, donc jai fait comme j'ai pu. Ce n'est clairement pas non plus ce que je maîtrise le mieux au niveau programmation, pour ne pas dire que je n'y connais strictement rien. Mise à jour : J'ai rajouté ST-Sound pour avoir de la musique.

Vous excuserez aussi le finish un peu 'lame'...


> Introduction :

Bonjour,

J'étais cette fois-ci parti sur un projet de petit platformer tranquille (le but du jeu étant pour moi de voir si je n'avais pas tout oublié) et de fil en aiguille, je me suis retrouvé à faire un mini Metal Slug.

Attention, il n'a jamais été question pour moi de prétendre faire un jeu aussi cool et complet que l'original pour plusieurs raisons :
- D'abord je suis tout seul pour tout faire : Programmation bien sûr, mais aussi découpage des sprites, mise en planche des décors et montage des maps, level design, réglages... etc... Donc je fais ce que je peux.
- Ensuite, je ne sais pas forcément faire tout ce qu'il y a dans Metal Slug.
- Enfin et surtout, Metal Slug est une légende. Ce serait quand même assez prétentieux de prétendre faire aussi bien qu'une légende tout seul dans son coin.

D'autres choses rentrent aussi en compte :
- Malgré tous les rips concernant Metal Slug qui trainent sur le net, je pense que tout n'a pas été rippé. (Quelqu'un a-t-il vu les sprites de Marco "zombifié" par exemple ?).
- Je dois m'adapter à des graphs existants. Il est plus simple de demander à un graphiste de faire des graphs en ayant une idée de comment on va faire le code derrière que de faire le code en fonction des graphs.
- La mise en forme des graphs est une tâche très longue (16 décors comprenant entre 1 et 4 plans, sans compter ceux que j'ai montés mais pas inclus, et près de 4500 sprites tout de même).
- Je n'ai pas les ROMs ni MAME et ma Neo-Geo CD a rendu l'âme il y a bien longtemps. Donc je ne peux pas jouer pour voir comment se comporte tel ou tel ennemi. Je me contente de quelques vidéos et de ce dont je me rapelle d'il y a 10 ans.
- Metal Slug est bourré de petits détails. Vouloir tenter de tout refaire à l'identique est mission impossible, à plus forte raison quand l'équipe est composée de 1 personne.

Accessoirement, j'ai fait du point de vue technique à peu près ce que je voulais faire, donc je suis plutôt content.

Les "gros" trucs non refaits seraient je pense le mode 2 joueurs, le tir sur des angles de la mitrailleuse et les états alternatifs (gros, momie, zombie...). On verra si un jour j'ai du temps et que je trouve les ressources qui vont bien, mais ce n'est pas à l'ordre du jour (sachant que pour les deux derniers points, je n'ai pas trouvé tous les sprites adéquats).


/!\ Merci de bien noter qu'il s'agit d'une preview ! Tout n'est pas fini (et je ne montre pas tout), mais je pense que ça donne une bonne idée de ce que sera le jeu au final. /!\



> Technique :

Le projet est codé en C avec la lib SDL, et uniquement SDL (que j'utilise du reste très peu). Et donc pas de SDL_xxx.

Comme j'aime bien réinventer la roue, tout est fait maison : Rotations et zooms de sprites, lecture du PSD, du GIF animé, rotations 2D et remplissage de surface, etc... Je ne sais pas si c'est plus ou moins rapide que d'utiliser des routines dans des libs tierces, mais c'est en tous cas bien plus amusant !


A l'heure actuelle, j'ai décidé de ne pas donner le code source pour les raisons expliqués sur ma page (https://oldschoolprg.x10.mx/projets.php). Je me cite :

"Mes programmes valent ce qu'ils valent mais je pense qu'ils fonctionnent à peu près correctement et représentent quand même une certaine somme de travail.

Malgré quelques bonnes surprises (comme le portage de l'Arkanoid sur Dingo A320 et sur Pandora), j'estime avoir eu trop peu de feedback : Par exemple sur CPP France, c'est en moyenne 2 commentaires (dont souvent 1 par un collègue) par projet pour plus de 500 téléchargements. C'est bien peu.

A partir de là, deux explications :
- Soit mon code est merdique.
- Soit mon code est potable et ceux qui le récupèrent n'ont pas de reconnaissance pour le travail fourni.

Dans les deux cas, je ne vois pas de raison pour continuer à distribuer mes sources. Je les garderai donc dorénavant pour moi, je ne diffuserai plus que les binaires."

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

⛓️ Installation à partir du binaire classique :
• (✔ v. 20130314) Un binaire statique (64-bits) est disponible, il suffit de décompresser le livrable et (s'il ne l'est pas) de rendre son binaire exécutable (clic droit sous votre gestionnaire de fichier).


📄️ Installation à partir du source

• Source non testé.


🚀️ LANCEMENT DU JEU:
• En console dans son répertoire racine lancez (ou cliquez sur ce binaire si vous l'aviez rendu exécutable d'un clic droit sur le fichier): $ ./minislug2.elf64


⌨️🖱️🎮️ CONTRÔLES:

(extrait du fichier "_LISEZMOI_final.txt")

• Sur le menu, F1 pour switch : 1 crédit / 3 crédits / crédits infinis. Attention, ça ne fonctionne pas en cours de jeu, et c'est voulu.

• F9 : Toggle mode normal 320x224 / 2x 640x448 / TV2x 640x448.
• F10 : Toggle full screen / Windowed.
• F12 : Pause.

• Haut, bas, droite, gauche : Déplacement.
• Bouton A : Tir.
• Bouton B : Saut.
• Bouton C : Bombe.

• Bas + Bouton B pour sortir d'un véhicule.

Les touches par défaut sont les flèches de direction, V pour le Bouton A, C pour le Bouton B et X pour le Bouton C.

Lorsque j'ai présenté la preview, il revenait assez souvent dans les commentaires que les touches étaient mal choisies (moi elles me paraissaient pas mal, mais bon). J'ai donc bricolé un petit exécutable qui vous permet de configurer vos touches. C'est très simpliste, mais je n'avais pas envie de passer plusieurs heures à faire un écran de config dans le jeu. Je pense que ça fera l'affaire quand même. Pour la ligne concernant le mode vidéo, 0, 1 et 2 correspondent aux modes 320x224, 2x et TV2x.

J'ai aussi ajouté la gestion du joystick. Je n'ai pu faire mes essais qu'avec un joystick (en état moyen) prêté, mais ça semble fonctionner. Si un joystick est branché, l'utilitaire de configuration vous permettra de configurer les 3 boutons nécessaires au jeu (après la configuration du clavier). Attention à bien conserver les 4 directions et 3 boutons et de ne pas mettre par exemple le saut sur 'haut', ça rendrait le jeu injouable dans certains niveaux.

Note : Quand on utilise un mode écran 32 bits (ou pire, 24 bits) sous son OS, les modes 2x et TV2x consomment pas mal de temps. J'ai l'impression que la conversion 16bits > 32bits par SDL est assez gourmande. Pour une rapidité optimum, je vous conseille donc de passer en mode 16 bits.

🕵️ Test [fr]

🕵️ Test (✔ v. 20130314) par goupildb (config. : Manjaro 64-bit) :
Le : 24 Octobre 2021
⏱️Durée du test : 15 minutes.

🎯️ Objectif: rédiger sa notice d'installation, tester son fonctionnement et partager mes premières impressions.

Ouaouh :)
Les sensations sont là. Une très très bonne surprise. Un excellent petit shooter en mode run and gun qui rappelle bien Metal Slug - donc l'objectif est atteint.
Il fonctionne admirablement bien avec le joystick, c'est un vrai régal.
Le gameplay est assez difficile (enfin pour moi), car çà tire vraiment de partout :)).
Un très bon gameplay et une très belle réalisation.

Dommage de ne pas l'avoir libéré pour permettre son éventuelle amélioration par d'autres utilisateurs.
Ses sprites pourraient être remplacés par la communauté pour en faire un jeu totalement libre.

Les utilisateurs : pensez à remercier les auteurs quand ils offrent leur travail. On y est tous sensibles.
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à son auteur !