Vous n'êtes pas identifié.
Non pas de 5 couleurs... par contre pour l'animation, la, je peux pas te contredire...
Hors ligne
Donc c'est animé !!
Hors ligne
C'est clair que j'ai hate aussi !!
Pour la déduction, on m'a un peu aider :mrgreen:
Hors ligne
1 seul 'n' à leadfiner
sinon elle prend bcp de place ton image d'intro ? où t'as fait un truc style *.gif où y'a ke les parties ki changent ki sont mises à jour ?
Hors ligne
Mon post est avant celui d'X-thunder...
En parlant de déduction, t'as vu ca ?? :ptdr:
Hors ligne
je vais pas dire grand chose de plus, mais non ce n'ai pas un gif, ni un un truc du genre. C'est quelque de non fige, c'est tout :P
Vous verrez bien de toutes facons
C'est curieux parce que, dans mon ancien post, je pensais que c'etait le gain de place qui devait retenir l'attention, et bien, non c'est la presentation... bon comme vous voulez
Hors ligne
Les graphismes sont treés important ouai !!
l'optimisation aussi, mais généralement c'est vrai que ca passe après
Hors ligne
ouais c sur tout le monde commence par faire les sprites ( et pas que le minimum) et font apres le moteur ensuite ( et s'ils se rendent compte qu' il sont pas assez doué ils demandent)
Hors ligne
Bon, ca y'est y'a la perspective pour les arbres !!! Seul defaut... -1FPS mais bon faut savoir ce que vous voulez !!!
Hors ligne
dis toi ke l'opti en taille m'a donné une id pour mgs
car l'exe pour le moment tient en 26Ko, mais il gonfle à vue d'oeil dès ke je rajoute des sprites! (1 sprite chez moi est 2 fois plus volumineux k'un sprite normal lol)
Mais bon, je vais fair un INSTALL.EXE ki fera dans les 50Ko et un MGS.EXE ki tapera dans les 30!!
Hors ligne
"1 sprite chez moi est 2 fois plus volumineux k'un sprite normal lol" en fait ca dépend du nb de couleur utilisée et de la téchnique de mask:
1- Noir et blanc, 1 sprite + 1 mask = 2, sans mask 1
2- NGB, 2 sprites(2 couches) + 1 mask (commun) = 3, sans mask 2
3- NGB, 2 sprites(2 couches) + 2 masks (2 couches) = 4, sans mask 2
4- NGfGGcB, 4 sprites(4 couches) + 1 mask(commun) = 5, sans mask 4
5- NGfGGcB, 4 sprites(4 couches) + 4 mask( 4 couches) = 8, sans mask 4 (pour suicidaire lol)
Pour les mask, seul les mask commun sont utilisées, les masks par couches étant plutot recommendé pour un effet de transparence autre que pour le blanc (exemple gris transparent)
le coup de l' INSTALL.EXE tu la pas cherché loin lol
Hors ligne
Pourquoi tu fais pas des fichiers externes ? Ca t'eviterait ton INSTALL.EXE... enfin c'est comme ca que je le vois, mais bon tu fais comme tu veux...
En tout cas, pour SW, faut avoir 20Ko dans la zone 1 pour les fichiers temporaires ( efface en quittant ).
Faudra ajouter encore quelques Ko pour les sauvegardes... ... J'aime bien prendre de la place :P
Sinon, pour les maps assemblees... je sais toujours pas exactement de quoi il s'agit... et je vois pas trop en quoi ca pourrait accelerer l'affichage des maps.
Hors ligne
en fait ca peut servir a 2 chose:
1- diviser la taille des maps par 4
2- accélérer l' affichage
simplement le 2 fo etre un pure programmeur en ASM lol
moi je me sert de cette téchnique pr couper en 4 les maps, chargeant la vraie map dans un endroit temporaire !
Hors ligne
Personne veut me dire exactement le principe ??? Ou un lien avec l'explication ???
Hors ligne
bon je t' explique(puisque c moi ki en ai l' auteur de cette méthode)!
Supossont que tu as une map!
En C on la stocke souvent dans un tab du type:
unsigned char map[taillex][tailley]
Suposon une map de 6*6 :
AAAAAA
AZZRZA
AZZZZA
AZZZRA
AZZRAA
AAAAAA
La taille en octet sera alors de 6*6 = 36 octets!
Le principe des maps assemblées, c de prendre chaque groupe de 4 sprites et de les coder en 1 octet:
exemple:
ici, on est des bourrins, on prend la map et on la code a l' arrache:
1- on code les sprite16*16 assemblés:
1 AAAZ
2 AAZR
3 AAZA
etc
Et la map devient alors :
123
456
789
Soit une division /4 !
Maintenant, en utilisant les sprite16*16 assemblés, faut décoder la map dans une map temporaire comme ceci:
-On scanne la map codée en x et en y
-Pour x=0 et y=0 dans notre exemple on aurai 1
Dés lors, nous regardons la librairies d' assemblages, et nous voyons ceci:
AA
AZ
Et bien c' est simple!
suffit juste de copier ces 4 octets dans la map temporaires aux endroits x et y!
La copie doit avoir pour déstination la map temporaire au endroits x*2 et y*2 (puisqu' on reconstitue la map décodée)
Maintenant fo savoir que cette méthode convient pour des maps petites ou moyenne, car si elles sont trop grandes ca limites les possibilitées, mais en tout cas ca marche très bien pour une multitude de petites maps
J' espere t' avoir éclairci !
Hors ligne
Merci beaucoup pour tes explicatons.
- il faut pas avoir plus de 256 groupes differents par maps (pour coder sur 1 octet). Jusque la, ca va. Vu que dans SW les maps font au maximum 1024 cases (1024/4=256) ca ne pose pas de probleme. En revanche, pour gagner de la place il faut en avoir moins de 192 (pour une map de 1024) : 1024/4+192*4=1024 car il faut stocker l'index des sprites assembles. En fait le nombre de groupe X doit verifier : X<3n/16 ou n est le nombre de cases dans la map. Bon je pense que c'est jouable pour la plupart des maps, grandes ou petites
-pourquoi ca accelere l'affichage? parce qu'on a des sprites assembles 16*16 qu'on dessine directement? Si tu assembles ces sprites au chargement de la map, ca ne m'arrange pas des masses pour SW, car pour l'animation des textures il faudrait que je re-assemble les sprites a chaque fois que la texture change... donc y'a peu de chance que ca accelere le dessin de la map
Mais bon je garde quand meme de cote la technique de compression pour eventuellement gagner de la place sur le lecteur...
Encore merci pour ces explications
Hors ligne
au lieu d'utiliser la zone 1, utilise plutôt la zone 12 (celle utilisé par les addins de casio), en plus tu gagnes 10 octets par fichier !
Hors ligne
Oui c'est d'accord... C'est que pour les tests, on peut verifier la taille et si il y'a quelque chose dedans plus facilement en les mettant en zone 1. Par contre, pour le fichier de sauvegarde je pense le laisser en zone 1. SW ne va gerer qu'une seul sauvegarde, donc si on veut recommencer une partie et sauvegarder sans perdre l'ancienne, il suffit de renommer le fichier basic...
Ca me semble une bonne idee, non ? Et puis surtout, ca simplifie la programmation de faire qu'une seule sauvegarde
Deja que la taille de la sauvegarde changera a chaque fois..... selon ou l'on se trouve dans les maps, le nombres d'ennemis...
Hors ligne
Et bien, c'est trop la mission pour le systeme de sauvegarde :rocket:
Ca prend deja plus de 3Ko de code !!! Et c'est ni fini, ni teste !!! :x
J'aurai du faire une puissance 4, c'etait plus simple y'avait juste un tableau a sauver
Bon, enfin je termine ca, je fais le systeme d'inventaire et ensuite je sors une version publique pour les tests... avec de nouvelles cartes
Hors ligne
Ben oui y'aura des armes !!! Y'a deja l'epee
mais bon, je pense ajoute des fleches et des bombes. Pour un bouclier, faudra voir, mais ca fonctionne pas tout a fait de la meme facon qu'une arme... ( sinon, je m'inspire absolument pas de Zelda )
L'inventaire separera armes et objets( cles, potion vie a utiliser quand on veut)
Hors ligne