Posté le 08/02/2016 10:05
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 264 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 09/02/2016 10:38 | #
J'étais justement en train de bosser dessus et je pense possiblement avoir trouvé, après, reste à voir si ça tient dans 255 caractères
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 09/02/2016 22:38 | #
Je ne comprends pas bien, un tableau de char peut aller jusqu'à 255*255 max ?
Oui je veux bien faire une génération procédurale mais je ne sais pas comment stocker en mémoire ce qui à déjà été chargé
Ca serait génial si je savais faire ce que tu me dis
Je te parle d'un tilemap classique.
En gros, tu as une énorme carte divisé en plusieurs petites. Quand tu t'appproche d'une extrémité de la petite carte, tu charge l'autre petite carte correspondant à celle qui est à coté. Du coup, t'as au max 2 cartes de chargées en RAM, le reste attend patiemment dans la mémoire de stockage qu'on l'appelle.
Pas besoin de génération procédurale pour ça. Au passage, tu peux faire un tableau de chars de 10*10*10*10 ou de 1000*10 si ça t'amuse. Le tout c'est d'avoir assez de RAM pour le créer.
Citer : Posté le 09/02/2016 23:13 | #
C'est en gros ce que j'ai fait mais comment stocker les autre tile justement ?
Sachant que les dites cartes sont générées aléatoirement selon un algorithme très complexe non ? Il est simple ? Ah dommage..
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 09/02/2016 23:49 | #
Les autres tiles ?
Un peu de vocabulaire, qu'on se comprenne :
– Sprite : image (quelconque) du jeu, terme plutôt réservé aux items et personnages
– Tile : sprite (tuile) destinée à l'affichage de la map
– Tileset : un ensemble (set) de tiles correspondant aux sprites de tous les blocs constituant la map
– Tilemap : un tableau contenant les numéros des tuiles à afficher, c'est le "cœur" de la map
Donc ce que je dis, c'est de créer un tilemap par partie de carte, exemple :
0 0 1 2 3 0
1 2 3 0 5 6
0 1 2 3 4 0
0 2 0 3 6 0
// On le sépare en 4 tilemaps
0 0 1 2 3 0
1 2 3 0 5 6
0 1 2 3 4 0
0 2 0 3 6 0
// On sauvegarde ces 4 tilemaps de manière séparée
tilemap_1 = 0 0 1 1 2 3
…
tilemap_4 = 3 4 0 3 6 0
// On charge le tilemap où se trouve le joueur
actual_map = tilemap_1
// Si il s'approche trop d'un bord du tilemap, on change de tilemap
if player.x >= 3 actual_map = tilemap_2
if player.y >= 3 actual_map = tilemap_3
Tu peux généraliser cet exemple à des maps de 150 par 150, pour des tilemaps de 30*30, ce qui est déjà largement suffisant
Citer : Posté le 10/02/2016 10:00 | #
Ah désolé DS je disais tile pour réutiliser ce que tu as dit mais je n'avais pas pensé qu'il y avait plusieurs significations
tilemaps
Tout ça j'avais compris
C'était surtout pour la compression que je peinais Mais c'est bon
Juste. Y'a-t-il un moyen de créer des tableau de char une dimension via le programme ou est-ce que je vais devoir les initialiser préalablement et donc en avoir un nombre limité ?
En tour cas merci de ton aide DarkStorm
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 10/02/2016 19:31 | #
Pour déclarer un tableau dynamiquement (genre char tab[variable]), il faut passer par l'allocation dynamique :
tab = malloc(variable * sizeof(char)); // on lui donne de l'espace en mémoire, autant que besoin. Le sizeof(char) sert à rien dans l'absolu, vu que ça fait 1, mais dans le cas où tes variables sont plus complexes (structures, unions, autres)
tab[0] = 2; // on y accède comme d'hab ensuite
…
free(tab); // et [b]on n'oublie surtout pas[/b] de libérer le pointeur à la fin, sinon on perd de la RAM (ce qui fini par faire planter la calto une fois que y'a plus rien
Citer : Posté le 10/02/2016 22:52 | #
Je n'arrive pas trop à voir comment je pourrais en créer une infinité
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 14/02/2016 10:57 | #
Je ne comprends pas bien, un tableau de char peut aller jusqu'à 255*255 max ?
Définitivement pas. Un tableau de char peut-être aussi long qu'on le veut, c'est la taille des éléments qui est limitée (de -128 à 127 en signed, 0 à 255 en unsigned pour les char ou -mieux- les uint8_t).
Je n'arrive pas trop à voir comment je pourrais en créer une infinité
L'allocation dynamique c'est demander au système la mémoire dont tu as besoin. Tant qu'il y a de la ram, le système peut te donner de la mémoire. En l'occurrence il y a 48 kio de heap donc dans l'absolu tu peux allouer un tableau de 48 000 char si tu veux.
Je parlerai pas trop d'alloca() mais y'a moyen d'allouer dynamiquement sur la pile si les allocations ont la durée de vie d'une variable locale.