connect
 

Description:
Carton Slug Project


By Tibo (aka Lapinou Fou)
& Dam (aka Valryon)

Homebrew pour Nintendo DS, reprenant l'univers de Metal Slug (©SNK) et quelques idées d'autres jeux.

Carton Slug est un jeu d'action/réflexion se jouant sur plusieurs niveaux à travers deux modes de jeu.



Outils : Notepad++, PAlib, DevkitPro, une bonne dose de motivation, une autre de patience !

On utilise aussi Visual C# 2008 Express, et le Framework .NET de Microsoft pour l'éditeur de Maps.
Thématiques:

Projet
Blog
Map
Physique
Editeur
Scénario
Dev
Release

Abonnement aux flux
Flux rss
DevBlog de Carton Slug

23 jui
2008

Chargement et affichage d'une map

Générer des maps facilement, c'est bien.
Pouvoir les utiliser dans le jeu, c'est mieux !

Comme expliquer précédemment, un des fichiers générés est un header C++ (.h) qui peut être inclus directement au code source. On peut utiliser ce qu'il contient directement là où a été inclus le header. Dans ce fichier, on fait une méthode qui prend comme paramètre un numéro, et on associe celui-ci au niveau grâce à un bon gros switch.



Un truc du genre :
switch(numéro passé en paramètre)
{
 case 1:
  charger le niveau 1 avec tels paramètres
break;

etc
}
C'est d'ailleurs pourquoi pour l'instant il n'est pas possible de créer une map et de l'ajouter dans le jeu sans recompiler : le jeu ne cherche pas sur la carte mémoire la map, elle est directement dans son code source et il faut l'ajouter à la main. Question de vitesse à l'exécution, et de simplicité pour nous à coder.



Le chargement de la map consiste à lire le contenu du header et de générer ce qui nous intéresse en fait : une liste des caisses à afficher et à traiter. Beaucoup de boucles "for", un algorithme bête et méchant.

Une fois qu'on a ce tableau (qui est un attribut de la classe où est chargée la map), il faut afficher ce qu'il contient en fonction du contexte.
Ici le contexte, c'est le Parallax. Ce dernier utilise une variable pour le scrolling, qui représente la position où il est arrivé.
A chaque frame, on va donc examiner toutes les  caisses et déterminer si elles sont sur l'écran (cad si leur position horizontale - le scrolling est entre 0 et 256, taille de l'écran). Si elles le sont, on les affiche !

Et ça marche pas mal. Sauf que quand je supprime une caisse (PA_DeleteSprite), le personnage disparaît... Et qu'il va falloir trouver une solution pour limiter le nombre de caisses en mémoire sprite, et ne pas mettre 50 sprites de caisses en vue quand seulement 10 sont utilisés...

Une bonne avancée, on approche du but...

Release fin août ! Le temps passe vite !



Commentaires

Yoduns :
Le raton laveur, ou plus exactement le raton laveur commun (Procyon lotor, Linnaeus 1758), est un mammifère omnivore originaire d’Amérique et introduit en Europe dans les années 1930. Il doit son nom à son habitude, plus ou moins réelle, de tremper ses aliments dans l’eau avant de les manger. L’animal, de la famille des procyonidae, est essentiellement nocturne et grimpe facilement aux arbres grâce à ses doigts agiles et à ses griffes acérées. Il a le pelage poivre et sel avec de légères teintes de roux. On le reconnaît facilement à son masque noir bordé de blanc autour des yeux et à sa queue rayée de blanc et de noir. Le raton laveur s’adapte à de nombreux milieux naturels. Opportuniste et facile à apprivoiser, il s’aventure également dans les villes nord-américaines (Canada, États-Unis d'Amérique). Son comportement varie selon le sexe et la région où il vit. Il est toujours chassé pour sa fourrure mais ne constitue pas une espèce en danger ni même menacée.

Retour à l'index
lache tes com dev fr scrutator irc bot
created by Jerome Wax based on LT version 0.3.2 - dev-fr.org 0.4 install