60

Cool ça a l'air assez original smile

Autrement j'ai lu un peu l'histoire du jeu sur revsoft, ça me rappel un peu http://tiforge.info/zcontest3/?a=projet&id=7 , j'ai vraiment hâte de voir le résultat smile

Pour la taille du fichier je me pose la même question pour un projet que j'ai commencé, mais je pense qu'en compressant en RLE mes cartes puis en les décompressant dans un saferam avant de les afficher ça pourrait me faire gagner pas mal d'octets.

61

Oui, mais sinon on pourrait peut-être séparer le jeu dans des chapitres (comme The Shadow of Nárkemen ou The Verdante Forest). Et j'avais jamais vu ce jeu, à vrai dire il est très beau et paraît assez complèxe, j'aime les cutscenes. Merci de me l'avoir montré !

Et si plus tard on pourrait m'aider à traduire les textes en français, je serais très reconnaissant... wink

62

Oui c'est une solution aussi, d'ailleurs je pensais séparer les données de sauvegarde du jeu lui même sans forcement faire plusieurs chapitres (plus simple pour transporter ses données et avoir une compatibilité entre différentes versions du jeu, enfin dans la mesure ou la structure de la sauvegarde reste inchangée).

Pas de problème pour les traductions, étant donné la communauté francophone ce sera fait rapidement smile

63

J'ai bossé un peu aujourd'hui sur Juego, j'ai fait quelques modifications dans l'animation du joueur (le joueur "saute" et l'animation quand on court n'est pas autant vite qu'avant). J'ai commencé la programmation du moteur de batailles (battle engine) et implementé les stats (hp, mp, etc.). Il reste encore que j'ajoute les ménus, qui sera sûrement un gros travail :/

juego2.gif

64

J'ai eu à programmer des menus aussi pour un projet sur lequel je bosse en ce moment, en faisant une routine avec des "paramètres" (adresses des routines à appeler lors des événements : mouvement du curseur, validation...) et avec du SMC finalement c'est assez optimisé.

Autrement je trouve l'animation superbe lorsque le personnage coure, mais lorsqu'il marche on a l'impression que les changements de sprites sont trop rapides par rapport au déplacement, non ?

En tout cas bravo, voir de tels projets me motive beaucoup à coder de mon côté ! smile

65

Super chickendude, c'est magnifique comme toujours smile

66

Aujourd'hui j'ai décidé que le jeu va être un Flash App parce que je ne veux pas m'inquiéter pour la taille du programme, je veux pouvoir ajouter tout ce que je voudrai. Si j'arrive à finir le jeu je pourrai peut-être faire une version condensée pour la 83/82, mais pour le moment je veux le traiter comme une cartouche de gameboy wink

J'ai passé la plupart de la journée en écrivant de nouveau les sprites/cartes et j'ai dessiné quelques nouveaux sprites. Je souhaiterais vraiment savoir coder mon propre éditeur de maps, je sais que ça va être très encombrant chaque fois que je veux ajouter un nouveau sprite et qu'il faudra écrire tous les informations spéciales sur chaque sprite à main :/

J'ai très peu codé aujourd'hui, tout mon travail a été avec les datas smile

67

Dommage pour les 82/83 pour le moment, mais tant mieux si ça améliore la profondeur du jeu top

J'ai fait pas mal d'éditeurs de cartes en PureBasic, si tu veux je peux tenter de t'en créer un (il faut juste me détailler le format des cartes : nombre de couches, organisation entre elles, propriétés des tiles...) smile

68

Je peux aussi finir l'editeur en python qu'on utilise pour notre jeu et t'aider a l'utiliser pour juego.

69

Merci à vous deux ! Je crois qu'il ne serait pas trop simple, mais je serais très reconnaissant est très content de l'avoir ! grin

Les cartes sont divisées en "brushes", chaque brush a ses propres propriétés. Les numéros dans les cartes ne pointent pas sur des sprites, ils pointent sur un brush qui contient des datas (comme le numéro de sprite, les actions, l'adresse d'un label de texte, etc.).

Un petit exemple:
weaponShop:
.db 11,7,33     ;11 = largeur, 7 = hauteur, 33 = tuile par défaut (certains sprites n'occupent pas toute la 16x16 tuile, la tuile par défaut est affiché dessous et le sprite est "masqué" par-dessus.)
.db 32,32,32,32,32,32,32,32,32,32,32
.db 33,33,33,33,33,33,33,33,33,33,33
.db 33,33,33,33,33,33,33,33,33,33,33
.db 33,33,37,33,33,33,33,33,33,33,33
.db 33,33,33,33,33,33,33,33,33,33,33
.db 33,33,33,33,33,33,33,33,33,33,33
.db 34,34,34,34,30,31,34,34,34,34,34


brushes:
;...
.dw brush030
.dw brush031
.dw brush032
.dw brush033
.dw brush034
;...
.dw brush037


;bit 0:animé
;bit 1:passable: armé si on peut pas passé (tuile solide)
;bit 2:hauteur de tuile
;bit 3:
;bit 4:
;bit 5:
;bit 6:interaction quand le joueur touche la tuile (pas besoin d'apuyer sur 2nd)
;bit 7:interaction (avec 2nd)
;	0 - texte
;	1 - changer carte
;	2 - changer carte en sortant
brushData:
;...
brush030:
.db %01000000     ;octet d'informations: bit 6
.db 30               ;numéro de sprite
.db 1			;action id
.db 4,4,0		;x/y coords, map#
brush031:
.db %01000000
.db 31
.db 1
.db 4,4,0         ;carte 0, x=4, y=4
brush032:
.db %00000000   ;pas d'action, on peut y marcher
.db 32
brush033:
.db %00000000
.db 33
brush034:
.db %00000110	;solide, hauteur différente
.db 34                 ;sprite id
.db 7			;masque
.db 10			;hauteur de sprite
;...
brush037:
.db %10000110       ;action avec 2nd, solide, hauteur différente
.db npc0                ;sprite id
.db npc0mask        ;masque de sprite
.db 12                   ;hauteur de sprite
.db 0                ;action (afficher texte)
.dw npc2txt        ;label de texte à afficher


spriteData:
;...
tile30:
 .db $FF,$FF,$B5,$5F,$E7,$F9,$E8,$04,$A5,$29,$D2,$D3,$99,$26,$D4,$CB
 .db $94,$CB,$D9,$26,$92,$D3,$E5,$29,$E8,$04,$E7,$F9,$B5,$5F,$FF,$FF
;...

Le tilemapper cherche le brush dans la carte, puis il charge l'adresse du brush et en tire le numéro du sprite et en fin affiche le sprite.

C'est un peu complèxe et très ennuyeux avoir à changer tous les sprites chaque fois que j'en ajoute un. Je ne sais pas comment ont fait les autres pour faire leurs programmes (comme Dying Eyes, The Verdante Forest, Joltima, etc.).

70

Pour un de mes projets j'utilise seulement un "simple" tilemapper (une seule couche avec de simples tiles sans propriétés), et à côté de ça j'ai une liste de tiles avec lesquels on peut interagir soit au contact directe soit suite à l'appui d'une touche, et leurs évènements dépendent de la carte qu'on affiche.

C'est un peu plus laborieux mais comme c'est un RPG où les déplacements n'ont pas à être ultra-rapide je peux me permettre de faire les tests à chaque déplacement, et ça simplifie mon éditeur de cartes...

Je peux tenter d'adapter mon éditeur smile

71

Merci smile A propos, comment vont tes projets ?

72

J'ai un projet qui avance pas mal, si j'arrive à aller un peu plus loin je pense publier quelque chose d'ici quelques temps...

Concernant l'éditeur, je dois encore l’adapter un peu (système de "brush" surtout, ainsi que l'exportation des données).

73

Prends ton temps, je ne suis pas pressé, et si tu es occupé ne te dérange pas. Je voudrais bien savoir de quoi il s'agit ton projet smile

74

T'inquiète, le plus gros de l'éditeur est déjà fait.

Pour le projet j'en parlerai plus tard autrement je sens que ça fera comme tous mes autres...

75

Et les miens aussi wink Mais j'espère bientôt avoir du temps pour y consacrer smile

76

Hier j'ai fini de converti le jeu au format app, une chose que je ne pensais pas pouvoir jamais finir. Trop de SMC :/

77

Désolé pour l'attente, je suis partit une semaine en vacances en Alsace et finalement ma clé 3g n'a rien captée...

Concernant l'éditeur pour le moment j’essaie de faire en sorte que lorsqu'on ajoute un tile ou un "brush" ça décale les autres selon l'ordre qu'on lui donne, mais ça avance !

78

Merci smile J'espère que t'as bien amusé !

79

Oui c'était bien (pile la semaine où on a enfin un peu de soleil sun).

80

Maintenant c'est moi qui est sorti de vacances, je suis en Espagne et j'y serai une semaine et demi grin

81

Cool smile

Pour l'éditeur ça avance mais y'a un problème : PureBasic ne gère toujours pas le cross-compiling donc je ne pourrais te sortir qu'une version windows pour le moment...

Quand j'ai le temps j’essaie d'avancer la gestion des brushes et surtout des données qui y sont liées (événements...). Une fois que ce sera fait j'aurais plus qu'à relier ça à mon "moteur" d'éditeur de cartes qui gère plusieurs outils (crayon, rectangle, remplissage, zoom...) et à gérer l'exportation des données et ce sera plus ou moins terminé smile

Quelques images :

Mti1 1iED 0wq3

82

Si ça marche sous Wine pas de probléme (j'utilise à présent CalcGS sous Wine) ou sinon j'ai aussi une partition Window$ wink Il se voit très beau ! Merci beaucoup grin

83

Pendant le vol à l'Espagne, j'ai épuisé toute la batterie de mon portable en essayant de dessiner de beaux arbres. Vous avez des critiques, des suggestions ?
file.php?id=89

84

Non aucune critique c'est magnifique !

85

C'est beau smile

86

Deeph, tu penses que tu pourrais partager ce que tu as écrit ? Je crois que j'aurai bientôt terminé un simple moteur de batailles et la plupart de la routine de ménus est faite, maintenant je voudrais agrandir le petit monde du jeu un peu et d'ailleurs j'ai simplement hâte de jouer avec l'outil !

naWf

87

Ok j'essaie de finir rapidement une première version smile

88

Ça ne presse pas, j'ai simplement pas de patience wink De toutes façons, il me reste encore beaucoup de choses que je peux faire smile

89

T'inquiète ça avance, là je me bas pour finir de gérer les brushes, ensuite il ne me reste plus que le chargements/l'enregistrement de fichiers .map puis l'exportation des fichiers .inc (tiles.inc, objects.inc et map.z80) smile

Enfin y'aura toujours quelques petits trucs à modifier par la suite (par exemple si on supprime un tile qui a tel ID, il faudra que tous les brushes faisant références à un ID de tile au delà voit celui-ci décrémenté de 1)...

gBm1

90

Ooooooh .. grin Il me parait déjà très bon !

Concernant à ce de supprimer un tile, CalcGS a justement ce problème, bien que je ne me souviens pas exactement quand il arrive, je crois que c'est en collant (insertant) un tile, mais peut-être c'est quand on en supprime. Maintenant j'ai beaucoup de tiles blancs partout pour éviter ça wink