# AssaultCube

AssaultCube est un jeu de tir à la première personne fonctionnant sur plusieurs systèmes d'exploitation notamment GNU/Linux, Solaris, BSD, Windows ou Mac OS. C'est une conversion de Cube dont les modes et les textures évoquent une ambiance de guérilla.
Le développement a commencé en juillet 2004. Après une pause, l'équipe de développement a repris le travail en novembre 2006 sous l'impulsion de makkE, qui a réalisé des maps. La sortie a eu lieu en janvier 2007 et était jouable sur une dizaine de serveurs environ.
Le code source du jeu est distribué sous une version modifiée de la licence libre ZLIB.

## Système de jeu

Si l'on compare la vitesse de déplacement des joueurs, AssaultCube est plus lent que Quake et Cube mais plus rapide que Counter-Strike. Il est également possible d'augmenter la hauteur d'un saut en tirant à la MTP-57 ou en faisant un rocket jump avec une grenade.
Le jeu est orienté vers le combat par équipe. Il y a deux équipes que le joueur peut rejoindre : les Cubers Liberations Army (terroristes) et les Rabid Viper Special Forces (commandos anti-terroristes).
Une de ses particularités, héritée de Cube, est de permettre de modifier les cartes de jeu en cours de jeu via un éditeur de carte intégré, aussi bien en multijoueur (sur les serveurs le permettant) qu'en solo. Ceci peut donner lieu à des parties inédites jusqu'alors.

### Liste de modes de jeu

* Team deathmatch (l'équipe qui abat le plus d'ennemis l'emporte)
* Deathmatch (chacun pour soi)
* Team survivor (l'équipe qui survit l'emporte)
* Last man standing (le joueur qui survit l'emporte)
* Capture the flag (jeu de drapeaux, par équipe)
* Pistol frenzy (combat au pistolet)
* Last swiss standing (combat au couteau)
* Team One shot, one kill (instagib par équipe)
* One shot, one kill (instagib par joueur)

#### Nouveautés 1.0

* Hunt the Flag (tuer le porteur du drapeau ennemi et s'en emparer)
* Keep the Flag (prendre et garder le drapeau)
* Team Keep the Flag (version en équipe du Keep The Flag).

### Classement des joueurs

Le classement des joueurs permet de savoir qui est le meilleur joueur et qui est le joueur le plus faible (exemple : en « Capture de drapeau », plus le joueur attrape les drapeaux de l'adversaire, plus il montera dans le classement).

### Liste des armes présentes dans le jeu

Armes :
| Nom de l'arme | Type d'arme | Notes supplémentaires |
| MTP-57 Assault Rifle | Fusil | Fusil automatique rapide |
| Precision Tech AD-81 Sniper Rifle | Fusil | Fusil à lunette |
| A-Ard 10 Submachine Gun | Fusil | Mitraillette d'assaut |
| V-19 Combat Shotgun | Fusil | Fusil à pompe |
| TMP M&A carbine | Fusil | Carabine |
| Swiss Tech Combat Blade DR-88 (poignard, toujours disponible) | Poignard | Toujours disponible |
| Mk-77 Semi-Automatic Pistol (pistolet, toujours disponible) | Pistolet | Toujours disponible, utilise des munitions différentes |
| SAL-T3 Grenade | Grenade | À ramasser (Max. 3) |
| Ceinture akimbo | Pistolet | À ramasser, 2 pistolets automatiques (temporaire) |

### Le mode d'édition

* Le mode d'édition est utilisable en mode simple joueur et sert à modifier/créer des maps (cartes en anglais). Pour l'activer, il suffit d'appuyer sur la touche « e » du clavier en cours de jeu.
* Pour créer une nouvelle carte, le joueur doit :
1. Activer le mode d'édition ;
2. Ouvrir la console et taper : newmap x (x est à remplacer par un nombre qui délimitera la taille de la carte : de 6 à 12) ;
3. Le joueur peut ensuite créer des murs, des cubes en sélectionnant un carré et en faisant tourner la molette de la souris ;
4. Il peut modifier les textures grâce aux six touches au-dessus des flèches directionnelles (Inser et Suppr pour le sol, la « flèche nord-ouest » et End pour les murs et les deux dernières pour le plafond) ;
5. Il est possible d'ajouter de l'eau avec /waterlevel 0 (0 correspondant au carré d'élévation) et différents objets grâce à /newent suivi de l'objet voulu. La liste des objets s'affiche lorsque le joueur écrit : /newent (exemple : ammobox, grenades ou ladder x) ;
6. Sauvegarder en tapant savemap x dans la console (x correspond au nom de la carte) ;
7. Pour charger une des sauvegardes, le joueur doit écrire map x dans la console (x correspond au nom de la carte).
Note : en multijoueur, le mode d'édition est également possible. Le mode de jeu est alors le "coop-edit". Pour le lancer, il faut taper la commande /coop suivi du nom d'une map non officielle. Certaines commandes ne fonctionnent pas en coop-edit : /undo (défaire), /waterlevel (hauteur de l'eau dans la carte), etc.

## Mods

Il est possible de créer des mods pour AssaultCube. Il y a plusieurs moyens de le faire :
* La plus simple des possibilités consiste simplement à remplacer des fichiers de données par des fichiers synonymes mais ayant un contenu différent. On peut aussi ajouter des fichiers de scripts (.cfg) mais, pour qu'ils soient pris en compte, il faut modifier des fichiers de scripts préexistants ou les remplacer par d'autres, qui pointent sur les nouveaux.
    Bien que cette méthode fonctionne parfaitement (et semble être la plus utilisée), AssaultCube n'est pas fait pour être modifiée de cette manière. De plus, certain fichier ne peuvent pas être modifiés sans enfreindre des droits d'auteur.
* Une autre possibilité qui est une variante de la précédente. Elle consiste à faire un dossier de mod et d'y mettre les fichiers alternatifs. Ensuite il faut soit copier (avec un autre nom) le script qu'on ouvre pour lancer le jeu et modifier cette copie, soit simplement modifier ce script et ajouter l'option --mod= (chemin d'accès au mod)
    AssaultCube est explicitement fait pour être modifié ainsi. De plus, cette méthode possède, en théorie, exactement les mêmes possibilités que la précédente sauf que l'on peut choisir de ne pas utiliser le mod sans avoir à restaurer les fichiers d'origine. Dans la pratique, certaines des choses permises par la première méthode ne sont plus possibles avec cette seconde (on ne peut pas, par exemple, faire que le jeu ignore un fichier sans le retirer réellement). De plus, cela nécessite certaines connaissances et ce n'était pas possible avec Cube.
* La troisième possibilité est radicalement différente des deux autres, est bien plus polyvalente et nécessite des connaissances en C++. Elle consiste à récupérer le code source du jeu, modifier ce code source et générer des exécutables alternatifs. C'est de cette manière qu'AssaultCube fut créé à partir de Cube. Quelques forks d'AssaultCube ont également été réalisés de cette manière.
    Cette méthode, contrairement aux deux autres, permet d'importants changements du gameplay. Certaines modifications ne peuvent être réalisées que de cette façon. Malheureusement, cette méthode, en plus d'être la plus compliquée des trois, est relativement mal vue par la plus grande partie de la communauté. Les forks, eux, sont extrêmement mal vus par cette communauté.

## Traductions

Il existe des traductions amatrices pour AssaultCube dont une française disponible.

## AssaultCube Reloaded

Il existe une version améliorée du jeu appelée AssaultCube Reloaded. Elle comprend notamment de nouvelles armes, un système anti-triche, et intègre davantage d'éléments de réalisme.