Mes cogitations pour rénover la gestion des maps dans mon moteur DS commence à porter ses fruits, au point que je peux commencer à réfléchir à l'impact que ça aura sur l'éditeur de niveaux. ça me tient à coeur parce qu'avec le système actuel, je ne vois de bonne solution pour réaliser les cours d'eau souterrains que mon frère avait mis dans les niveaux historiques de la Grande Aventure.
Je me dirige vers un système avec uniquement un byte par tile de 8x8 pixels, et quatre grande classes de blocs:
- les morceaux de blocs interactifs, provoquant des collisions auxquelles le personnage doit réagir (pics, bloc-question, bonus, portes ...)
- les zones non-solides mais succeptibles d'affecter le comportement de certains morceaux de code (eau, échelles, courant d'air ...), dites "medium"
- les blocs de "sol" (solides) qui encodent la forme des pentes
- les blocs solides qui encodent les propriétés physiques (friction, déplacement forcé, etc.)
And to make sure I have required flexibility, I'll split physics-hinting tiles from slope-angle-tiles. Some part of the code will read the pixel immediately under the character's feet and find the angle, while other part of the code will read past the slope and figure out whether we're on ice, solid ground or mud.
ça signifie aussi que c'en est fini de l'encodage de petits "0" et "2" dans la map pour former un code entre 1 et 256 en base 4: l'éditeur de niveau ne pourra plus proposer que les blocs qui auront été décrits, ce qui devrait au passage rendre les choses plus lisibles et plus faciles pour des gens qui auraient envie d'utiliser LEDS pour leur propres projets (on peut rêver, non?)
Autre truc intéressant: puisque l'information concernant un bloc spécial (mettons des briques cassables) n'est plus encodée que sur 1 tile, je vais avoir besoin de tiles qui disent "suite du bloc, cf. à droite" ou "suite du bloc, cf. en haut", etc. Chose qui devrait être plus simple à étendre à des blocs interactifs de 24x24 ou 32x32 si le besoin s'en fait sentir...
6 comments:
C'est pour éditer des mondes en 2D a base de bloc ?
c'est bien ça. J'avais envie d'avoir quelque-chose pour faire ça directement sur la DS...
j'avais la possibilité de modifier les attributs des blocs (directement dans le jeu et pendant qu'on y joue) dans Moktar ou Prehistorik2. Ca gagne un temps dingue !
Par contre c'était un peu low tech, depuis on a fait bien mieux...
J'avais essayé de faire quelque-chose de ce genre aussi mais le premier prototype ne marchait pas terriblement bien. Il faudra que je tente de l'intégrer dans une prochaine version de mon petit outil, parce qu'avec la taille grandissante des niveaux dans School Rush, j'ai fini par refaire des maps des niveaux déjà existants sur papier quadrillé pour pouvoir noter les modifications que je voulais apporter pendant que mes play-testeurs avançaient dans les niveau ... sympa mais un peu lourd quand-même.
(je précise que ça ne marchait pas bien parce que j'avais mal compensé le scrolling hardware)
je ne vois pas trop comment tu t'y ai pris, mais pour ma part c'était simple: quand on appuie sur F12 le jeu se fige et le bloc sous nos pieds est éditable (seulement les métas données, pas le graphisme qui lui reste identique).
Nouvel appuie sur F12 et le jeu reprend avec la modif.
L'intégralité des niveaux a été fait comme ca.
Par contre on n'a jamais rien écrit sur une feuille de papier 🙂
J'essayais de pouvoir éditer n'importe quel bloc à l'écran à l'aide du stylet de la DS, ce qui suppose une modification synchronisée de la VRAM et de la RAM. probable que mon code de gestion du scrolling n'était pas encore très propre à l'époque (j'ai corrigé quelques bugs entre temps), et le fait que j'aie essayé de transférer des blocs de 64 pixels de large pour le scrolling horizontal plutôt que de colonnes de tiles pour profiter du DMA n'a pas dû aider à ce que ce soit propre. Du coup, comme on était dans du 'nice to have' et que ça n'aurait probablement pas complètement évité l'utilisation d'un éditeur ... bah, j'ai démarré le projet "éditeur" à la place
L'idée d'éditer uniquement le bloc sous le personnage est intéressante, par contre. L'écran tactile servirait à afficher le tileset et un "curseur" indiquerait quel bloc va être édité plutôt que l'inverse ... ça me plaît bien.
(quand je retourne voir le blog pour cette période-là, je dois bien reconnaître que le développement était ... un peu anarchique) - https://sylvainhb.blogspot.com/search/label/scrolling?updated-max=2009-05-23T13:47:00%2B02:00&max-results=20&start=20&by-date=false
Post a Comment