Page 1 sur 1

PB 4.31: Générer map+scrolling avec TileStudio

Publié : mer. 23/sept./2009 8:13
par kelebrindae
Bonjour à tous,

Je prends enfin le temps de poster ce qui était la motivation première du re-vamping d'Oldskull 2 (cf. section "jeux"): le script "PureBasic" pour TileStudio.

Pour mémoire, TileStudio est un merveilleux petit outil de type "map editor" permettant de construire des niveaux de jeux 2D.
On définit d'abord un "Tile set", contenant les briques de construction d'un niveau. Puis on agence ces briques à l'intérieur d'une grille, la "map". Enfin, on indique les parties solides de la map (les murs, les sols, etc), nommés "bounds".

C'est là que ça devient magique: on appuie sur un bouton et TileStudio vous crache du code PB tout fait, fonctionnel, autour duquel vous n'avez plus qu'à développer votre jeu. :mrgreen:

Mode d'emploi:
- Téléchargez TileStudio ici: http://tilestudio.sourceforge.net/ ou là: http://tilestudio.sourceforge.net/ts.zip
- Dézippez-le. Pas d'install, Tile Studio est complétement portable (vous pouvez l'avoir sur une clé USB)
- Téléchargez mon script à cette adresse : http://keleb.free.fr/codecorner/downloa ... eBasic.tsd et mettez-le dans le répertoire de Tile Studio avec les autres ".tsd"
- Tant que vous y êtes, vous pouvez télécharger ces deux autres fichiers: http://keleb.free.fr/codecorner/downloa ... lDemo2.tsp et http://keleb.free.fr/codecorner/downloa ... /tower.tsp , puis placez-les dans le répertoire "tsp" de Tile Studio. Ce sont des exemples de niveaux, pour vous faire un peu la main.
- Dans le menu "file", chargez "ScrollDemo2.tsp", par exemple.
- En cliquant sur les boutons "Tile Editor" et "Map Editor" (en haut, à peu près au milieu), vous passez de l'éditeur de Tiles à l'éditeur de Map (duh!). Chaque Tile Set correspond à la Map du même nom.
- Dans le menu "Code", cliquez sur "Code Generation Settings", puis sélectionnez "PureBasic" dans la liste déroulante.
- Dans le menu "Code", cliquez sur "Select Output Directory", puis indiquez l'emplacement où vous voulez sauvegarder le code qui sera généré.
- Enfin, toujours dans le menu "Code", cliquez sur "Generate Code" (ou appuyez sur F10)

Là, Tile Studio génère les images des Tile Sets au format PNG dans un sous-répertoire "tileset", et trois sources PB:
- ScrollEngine.pbi : contient toutes les routines génériques du scrolling; ce code ne changera pas d'un niveau à l'autre.
- TSinclude_[nom du niveau].pbi : contient du code spécifique au niveau (chargement des tiles, maps, etc.) ainsi que les datas du niveau.
- test.pb : un ch'tit bout de code permettant d'explorer votre niveau sous PB (ça donne aussi un exemple de la façon d'utiliser le code généré).

Encore quelques précisions:
- Chaque Tile Set / Map sous Tile Studio correspondra à un layer de scrolling sous PB: le plus à gauche dans Tile Studio sera le layer de premier plan, le plus à droite sera le layer de fond (non-transparent)
- La vitesse de défilement de chaque layer de scrolling est paramétré dans le menu "Map" -> "Map Scroll function...". Le layer de premier plan aura une vitesse de déplacement x,y (valeur par défaut). Si vous voulez que le layer du dessous se déplace deux fois moins vite, il suffit d'indiquer "x / 2" et "y / 2" pour ce layer.
- Les bounds en diagonale ne sont pas vraiment gérés, mais on peut récupérer la valeur correspondante et la gérer "à la mano".

Enfin, n'oublions pas de rendre à César ce qui appartient à César: Le moteur de Scrolling est le travail d'Ollivier, avec seulement quelques retouches de ma part pour les Tiles animées et l'aspect générique. Respect.

Re: PB 4.31: Générer map+scrolling avec TileStudio

Publié : mer. 23/sept./2009 11:30
par Ollivier
Ah ouais en effet, vous vous êtes éclatés dans tous les sens du terme!

Quand je pense qu'à la base, ce n'était pas conçu pour des jeux mais pour un système administratif, je n'en reviens pas de la dérive que ça prend!

Ollivier

Re: PB 4.31: Générer map+scrolling avec TileStudio

Publié : lun. 28/sept./2009 18:14
par poshu
Oh, j'vais tester ça, merci ^^

Re: PB 4.31: Générer map+scrolling avec TileStudio

Publié : mar. 29/sept./2009 20:22
par Ollivier
@Kelebrindae

Je n'ai pas testé ta bestiole, vu que je suis en train de faire un éditeur de jeux perso.

Par contre, il y a Rook Zimbabwe qui va avoir besoin d'un coup de main sur la traduction ici.

Je crois donc que tu as un peu de pain sur la planche à traduire ta doc en Anglais!

Ollivier

Re: PB 4.31: Générer map+scrolling avec TileStudio

Publié : mer. 07/oct./2009 15:56
par Ar-S
Merci pour ce travail, je le testerai des que j'ai le temps, je viens de récupe les fichiers, c'est un début :)