Beaucoup de jeux vidéos, du légendaire Zelda ou
encore Pokemon aux plus récents
comme starcraft son conçus à base
tiles, c'est à dire que leur moteur, ou du moins toute la partie «
gameplay », ne manipule pas directement les pixels de l'écran mais de
petites régions, souvent rectangulaires ou carrées appelées « tiles »,
qui signifie en
bon français « carreaux ».
La carte, le joueur et tous
les bâtiments se composent donc d'une ou plusieurs tile(s).
L'objectif de cet article est de vous initier à l'écriture d'un
moteur de jeu basé sur les
tiles prenant en charge une carte de
dimensions non restreintes, le scrolling, l'animation
ainsi que la
gestion d'événements par le biais de fonctions de rappel.
Bien qu'il existe différentes sortes de tiles, hexagonales ou bien en
forme de losange,
nous nous limiterons aux tiles carrées, plus faciles
à gérer. Libre à vous d'adapter le
moteur à vos exigences !
Ce moteur sera écrit en langage C, couplé à la librairie graphique SDL,
librement
téléchargeable a cette adresse :
www.libsdl.org.
Tous les exemples ainsi que le code complet ont été développes et
testés sous Linux
en architecture x86. Un portage « tel quel »
sous Windows ou tout autre environnement
et/ou architecture pour
lesquels il existe un compilateur C ainsi qu'un portage de la
SDL ne
devrait à priori pas poser de problème majeur.
La lecture de cet article ne requiert une connaissance approfondie de la SDL, mais
nécessite toutefois une bonne maîtrise du C.