PDA

Voir la version complète : [GBA] Starcraft Ghost


Thommasc
10/07/2007, 20h20
Starcraft Ghost GBA

ALPHA
http://img215.imageshack.us/img215/7505/star2jc0.jpg
Version 0.5 (http://mti.epita.net/intra/wftp/index.php?action=download&filename=SCGBA%20v0.2.gba&pathext=Cours/JeuxVideo/rendus01/&u=8f96d975d73650cda2396a7c7582aad7&copt=1&sortKey=0)


Présentation :
Reprenant le projet annule par Blizzard et en le portant sur GBA. J'utilise les sprites et effets graphiques de SC1.

Galerie d'image :

http://img146.imageshack.us/img146/7852/startk7.jpg

Historique :
0.1
Affichage de Nova et de Marines
0.2
Refonte du mouvement
Ajout du Zergling
0.3
Au total 10 unités gérées dans le code. Bien que seulement 3 d'afficher dans ma démo.
L'UI avec pts de vie et arme, ainsi que les effets pour chacune des 10 armes.
0.4
Scrolling de Map
0.5
IA et Collisions
0.6 (à venir)
Son et passage de niveau

Comment jouer :
A = Tirer
B = Strafer (désactivé)
L/R = Changer d'arme
Select = Camouflage

Autres informations :
Le jeu alternera des phases d'action et des phases d'infiltration...
Les calldowns sont prevus.

cf : http://www.jeuxvideo.com/forums/1-13342-7753-4-0-1-1-0.htm

Version 0.5 : http://thommas.free.fr/scgba/

Projet scolaire.
Date de rendu : 11 Septembre.
Type : Action/Infiltration

Je cherche des level designers. Aucune notion de programmation requise.

Pour toute question/remarque, n'hesitez pas !
Merci.

Bobby Sixkilla
10/07/2007, 20h25
Il y a un template à respecter dans cette section : http://playeradvance.org/forum/showthread.php?t=3686 ^^

Thommasc
10/07/2007, 20h27
Hehe j'avais compris, crosspost :D

Bobby Sixkilla
10/07/2007, 20h29
Sympa l'anim. J'aime bien la giclée de sang. :lol:

Pour le son, le wav est à éviter. C'est gros, très gros. En plus, ce n'est pas pratique. Il vaut mieux utiliser des .mod dans lesquels tu mets tous tes sons. ^^ Il y a plusieurs lib pour le son sur GBA. Ca remonte à loin pour moi... Je ne pourrais pas être plus précis là.

EDIT : La GBA vaincra!!! :D

Yodajr
10/07/2007, 20h41
Pour le son, y'a aussi l'excellente lib adpcm d'Nrx ;)
http://www.playeradvance.org/forum/showthread.php?t=355

Thommasc
10/07/2007, 21h36
Pas grave que ce soit gros.
Pour les voix il n'y a pas le choix il me semble...
Au niveau des mods ... comment convertir un son de tir en wav a l'origine en mod ?
Merci pour les indics ;)

Bobby Sixkilla
10/07/2007, 21h42
En fait, un mod, c'est un peu comme un ficher midi avec des samples dedans. Tu peux y mettre tous tes samples, ça sera moins le bordel que d'utiliser plein de fichier wav. M'enfin, c'est juste peut-être plus pratique, pas plus léger.

Après, pour les musiques, utiliser des mod c'est beaucoup plus léger que du wav. :)

En tout cas, en matière de son, t'as le choix. :)

Thommasc
10/07/2007, 22h06
Oui mais existe-t-il une methode pour convertir de wav a mod ?
Car j'ai uniquement tous les sons de Starcraft en wav a ma disposition :/

Reppa
10/07/2007, 23h15
En tout cas t'as du courage d'avoir poster ca au départ sur jv.com, je viens de matter le forum et t'as eu de la patience, j'aurais été carrément plus méchant envers cette bande de noobs de la bas sérieu ^^. Bon courage pour la suite

omg
10/07/2007, 23h19
Oui mais existe-t-il une methode pour convertir de wav a mod ?
Car j'ai uniquement tous les sons de Starcraft en wav a ma disposition :/Hum... avec le lecteur dont YodaJr a parlé il converti tes wav en fichiers exploitables par le lecteur adpcm.
En plus c'est super facile a utiliser! :)

Bobby Sixkilla
11/07/2007, 00h26
Oui mais existe-t-il une methode pour convertir de wav a mod ?
Car j'ai uniquement tous les sons de Starcraft en wav a ma disposition :/

Ce n'est pas possible... Enfin, si... mais bon, tu aurais un seul gros sample dans ton .mod. :D Pas très utile... Regarde le soft de Nrx que te conseille Yoda, tout ceux qui l'ont utilisé l'ont approuvé. :)

C'est de la musique ou des effets sonores de Starcraft dont tu parles?

Arcadia
11/07/2007, 00h40
Regarde le soft de Nrx que te conseille Yoda, tout ceux qui l'ont utilisé l'ont approuvé. :)


+1. L'essayer c'est l'adopter, direct ! :bave:

Noda
11/07/2007, 00h55
Hmm pour le son, le mieux reste encore la lib faite par les devs de Payback...
http://www.apex-designs.net/tools_aas.html

ca gère les mods et les wav, un mixeur est intégré, ca marche nickel, bref que du bon ;-)

Bobby Sixkilla
11/07/2007, 01h02
Avec Dr.Vince, on avait bien galérer avec AAS...

Eife
11/07/2007, 01h40
Ce projet est énorme.
Tout mon courage (j'peux pas faire mieux, a par tester et commenter, voir apporter des idées...)

Smealum
11/07/2007, 02h48
Pareil que Eife, projet tres prometteur, auquel je souhaite tout le bien du monde ! :)
Je le suivrai de pres.

omg
11/07/2007, 08h02
J'adore quand les corps explosent! Bon ok je suis un peu sadique sur les bords!
En tout cas vraiment sympa cette démo!

Thommasc
11/07/2007, 13h16
Merci pour le soutien, vos idées sont carrément bienvenue, même si je ne retiendrai pas tout, sur jv.com par exemple une ou deux personnes m'ont donné de super bonnes idées.

Ici vous offrez un meilleur soutien technique ^^
ça tombe bien car je commence vraiment à tomber sur des problèmes hard de ce pt de vue.

Mon TODO :
TODO for SCGBA

- Put more units (PCX Limitations !!!)
- Put more effects and create Calldown and Weapon for Nova (Palette Problem !)
- User Interface with HP of Nova and hit enemy (Priority Problem with BGs and Sprites)
- Calldown Mode / Basic Map (Scrolling Issue)

Later :
- Trigger units waves
- Good Tiles for Maps and Missions
- Sound & Music
- IA
- Mission triggers
- Dialogs
- Save & Load

"C'est de la musique ou des effets sonores de Starcraft dont tu parles?"
Y'a deux choses à mettre, les sons des unités par exemple lorsqu'elles meurent.
Et les sons de tir ... d'explosion ...
Sachant que 100% du matos dont je dispose c'est du .wav

" Avec Dr.Vince, on avait bien galérer avec AAS..."
Je vais y jeter un coup d'oeil MERCI

Voilà pour l'instant =)

Thommasc
13/07/2007, 22h13
"- Put more units (PCX Limitations !!!)"
Liste implémentée :
Nova
Marine
Ghost
Medic
Flammeur
Zergling
Hydra
Zealot
High Templar
Observer

Plus de problème de limitation.

"- Put more effects and create Calldown and Weapon for Nova (Palette Problem !)"
10 Armes différentes. toujours le problème de palette !!!

"- User Interface with HP of Nova and hit enemy (Priority Problem with BGs and Sprites)"
Affichage des HP en cours.

Bientôt une Version 0.3

Thommasc
16/07/2007, 22h09
Version 0.3
http://thommas.free.fr/scgba/

Bobby Sixkilla
16/07/2007, 22h14
31 Mo!!! :oha:

Thommasc
16/07/2007, 22h45
^^
Y'a 10 unités animés et 10 effets d'arme, ça prend de la place :p

omg
17/07/2007, 01h31
Ze Niouze!

Noda
17/07/2007, 09h28
^^
Y'a 10 unités animés et 10 effets d'arme, ça prend de la place :p

heu 10 unités et 10 effets c rien du tout :blink:

Si t'utilise ce que je pense y'a moyen d'optimiser ca énormément!
Déjà les pcx d'anim de starcraft contiennent un paquet de frame identiques, rien qu'en les éliminant déjà tu devrait pouvoir gagner beaucoup. Ensuite, est-ce vraiment utile d'avoir les frames qui font le 360° d'un perso au complet, 16 directions devraient suffire pour faire quelques chose de fluide déjà?

Enfin, tu pourrais ptetre essayer de réduire les palettes en 16 couleurs, ca te permettrait d'en économiser et de gagner encore en place. Et surtout, au lieu du pcx, tu devrais les stocker en gif (avec tes frames immenses je t'explique meme pas le gain), que tu load en sprite au besoin.

Avec ce que t'as actuellement, ca devrait pas dépasser les 1-2Mo normalement en optimisant un minimum :rolleyes:

Thommasc
17/07/2007, 09h45
"heu 10 unités et 10 effets c rien du tout"
on parle d'unités et d'effets en 64x64 en 256 couleurs.
Les unités ont des animations de mouvement, voir d'attaque dans 8 directions.
J'utilise l'horizontal flipping des sprites.

"Déjà les pcx d'anim de starcraft contiennent un paquet de frame identiques, rien qu'en les éliminant déjà tu devrait pouvoir gagner beaucoup."
Je me suis pas amusé à mettre des frames identiques ^^

"Ensuite, est-ce vraiment utile d'avoir les frames qui font le 360° d'un perso au complet, 16 directions devraient suffire pour faire quelques chose de fluide déjà?"
J'ai 16 directions ;)

"Enfin, tu pourrais ptetre essayer de réduire les palettes en 16 couleurs"
Ouais bonne idée !
Comme ça on fait plus la différence entre un Marine et un Firebat =)
Nan, 16 couleurs c'est la mort !!!

"Et surtout, au lieu du pcx, tu devrais les stocker en gif (avec tes frames immenses je t'explique meme pas le gain), que tu load en sprite au besoin."
Je load pas du pcx pur, j'ai juste des données brutes sous forme d'un tableau.
SpritesUnits.h fait 24 Mo
et SpritesEffects.h fait 6 Mo
Voilà =)
J'utilise pcx2gba ...
J'veux bien utiliser du gif si y'a aucune perte de qualité. Mais faudra m'expliquer comment réobtenir mes sprites dans le code.

RefiX
17/07/2007, 10h55
Juste un conseil, compresse au moins ta rom au format zip ou rar.
Reppa m'a dit qu'on arrivait à une taille d'environ 3mégas ( car bon 30 mega à 15k/sec cest pas terrible >_< ).
Sinon j'ai testé sur ému, les couleurs violettes (comme sur les screens de la news) pour les tirs des armes cest normal ?

Noda
17/07/2007, 11h26
"heu 10 unités et 10 effets c rien du tout"
on parle d'unités et d'effets en 64x64 en 256 couleurs.
Les unités ont des animations de mouvement, voir d'attaque dans 8 directions.
J'utilise l'horizontal flipping des sprites.

"Déjà les pcx d'anim de starcraft contiennent un paquet de frame identiques, rien qu'en les éliminant déjà tu devrait pouvoir gagner beaucoup."
Je me suis pas amusé à mettre des frames identiques ^^

"Ensuite, est-ce vraiment utile d'avoir les frames qui font le 360° d'un perso au complet, 16 directions devraient suffire pour faire quelques chose de fluide déjà?"
J'ai 16 directions ;)

"Enfin, tu pourrais ptetre essayer de réduire les palettes en 16 couleurs"
Ouais bonne idée !
Comme ça on fait plus la différence entre un Marine et un Firebat =)
Nan, 16 couleurs c'est la mort !!!

"Et surtout, au lieu du pcx, tu devrais les stocker en gif (avec tes frames immenses je t'explique meme pas le gain), que tu load en sprite au besoin."
Je load pas du pcx pur, j'ai juste des données brutes sous forme d'un tableau.
SpritesUnits.h fait 24 Mo
et SpritesEffects.h fait 6 Mo
Voilà =)
J'utilise pcx2gba ...
J'veux bien utiliser du gif si y'a aucune perte de qualité. Mais faudra m'expliquer comment réobtenir mes sprites dans le code.

moi tu sais je dis ca, t'es déjà à 31Mo sans niveaux ni son etc, sachant que la limite d'une rom gba est de 32Mo...

Pour info dans mon warcraft sur DS (format des gfx idem à la gba), j'ai environ 40 sprites de monstres, chacun en 32x32 x 4 directions (pas de flip, j'avais la flemme....) x 256 couleurs, avec des anims de marche, de mort etc, 64 sprites de tours dans le meme genre, une 50aine de tirs différent, plus 10 tilesets de maps différents de 512x256 en 256 couleurs, le tout tient dans 1,5Mo...

J'ai quand meme du mal à voir comment tu t'en sors :/ ou alors tu as vraiment masse de frame, mais dans ce cas faut optimiser et réduire un peu... Tes pcx avant conversion ca prend combien au total?

omg
17/07/2007, 12h09
Sur mon Banjo Advance (http://www.playeradvance.org/forum/showthread.php?t=1269), j'utilise Gba Graphics (http://www.playeradvance.org/forum/showthread.php?t=438) de Brunni.
Je code en 16 couleurs mes sprites pour une gestion plus simple des palettes.
Niveau mémoire ça prend pas grand chose. :)

Si ma ROM est enorme, c'est (surtout) a cause des musiques.

Thommasc
17/07/2007, 14h37
"Juste un conseil, compresse au moins ta rom au format zip ou rar."
ok ^^

"Sinon j'ai testé sur ému, les couleurs violettes (comme sur les screens de la news) pour les tirs des armes cest normal ?"
Oui, il faut que je trouve une bonne palette pour afficher les effets, celle que fourni l'extracteur du jeu ne contient aucune palette qui rend les effets du jeu comme il faut.
Si qqun est chaud pour me fabriquer la bonne palette, ça serait un méga merci =)

"moi tu sais je dis ca, t'es déjà à 31Mo sans niveaux ni son etc, sachant que la limite d'une rom gba est de 32Mo..."
J'avais entendu dire que c'était 512 Mo la limite :P

"le tout tient dans 1,5Mo..."
Faudra m'expliquer comment avoir des graphismes aussi petits xD

"Tes pcx avant conversion ca prend combien au total?"
900 ko

"Gba Graphics de Brunni"
Faudrait ptet que je teste ...

Dr.Vince
17/07/2007, 14h42
effectivement, 31 Mo ça fait un peu beaucoup là

le plus simple serait de prendre un exemple concret (avec les fichier et tout et tout) d'un gfx et que tu nous expliques ce que tu fais exactement

Thommasc
17/07/2007, 15h02
C'est pourtant simple.
Je prend mon pcx, je le lance dans pcx2gba ... il me crache un fichier .h
avec un tableau de palette et un tableau de données.
Je vais lire les données au bon endroit pour extraire la séquence de 64x64 pixels que je veux sachant que mes unités sont sur une colonne chacune, et leur séquence de mouvement dans un ordre que je connais.

J'ai compressé en .rar
ça passe de 31 Mo à 2,3 Mo :D
On sent la redondance des données mdr

MIKEGBA
17/07/2007, 15h26
"J'avais entendu dire que c'était 512 Mo la limite :P

"Faudrait ptet que je teste ...


....Oui, la vraie limite, c'est bien 512 Mb ......... pas Mo :D , soit 64 Mo. ( du moins les plus grosses cartouches commerciales font cette taille )


Sinon, oui daccord avec tout le monde , ça devrait pas dépasser 1 à 1,5 mo la taille de ta rom avec tout ce que tu as dit .

Quand on sait que vrally3 gba fait 4 ou 8 Mo... tu devrait pouvoir t'en sortir avec moins que ça non ?:lol:

Dr.Vince
17/07/2007, 15h39
C'est pourtant simple.
Je prend mon pcx, je le lance dans pcx2gba ... il me crache un fichier .h
avec un tableau de palette et un tableau de données.
Je vais lire les données au bon endroit pour extraire la séquence de 64x64 pixels que je veux sachant que mes unités sont sur une colonne chacune, et leur séquence de mouvement dans un ordre que je connais.

J'ai compressé en .rar
ça passe de 31 Mo à 2,3 Mo :D
On sent la redondance des données mdr

et tu peux pas nous passer les fichiers ainsi que la ligne de commande que tu utilises avec pcx2gba ???

omg
17/07/2007, 15h41
GbaGraphics y'a que ça de vrai! :p

Thommasc
17/07/2007, 17h55
"et tu peux pas nous passer les fichiers ainsi que la ligne de commande que tu utilises avec pcx2gba ???"
http://thommas.free.fr/scgba/nova.pcx
Bah j'ai un pcx, je le fais glisser dans pcx2gba.exe et ça créé le .h correspondant ^^

Noda
17/07/2007, 18h17
....Oui, la vraie limite, c'est bien 512 Mb ......... pas Mo :D , soit 64 Mo. ( du moins les plus grosses cartouches commerciales font cette taille )


La limite réelle, c'est 256Mb soit 32Mo, ce qui correspond à l'espace d'adressage accessible... j'ai entendu dire effectivement que c'était possible de monter à 64Mo, mais c'est en faisant du bank swapping ;)


Sinon, si tu dit que l'ensemble de tes pcx fait 900Ko, la il y a un pb car le format gba est du raw, donc ca devrait pas etre plus gros...

sinon tu dit que tout est en 64x64, or sur le screenshot les perso semblent pas faire plus de 32x32? tu gagnerais surement dans ce cas à recouper tes sprites en 32x32, pour éviter au maximum d'avoir du vide autour qui prend de la place pr rien (et comme on voit dans le zip, qui est très redondant ;))

Dr.Vince
17/07/2007, 19h16
"et tu peux pas nous passer les fichiers ainsi que la ligne de commande que tu utilises avec pcx2gba ???"
http://thommas.free.fr/nova.pcx
Bah j'ai un pcx, je le fais glisser dans pcx2gba.exe et ça créé le .h correspondant ^^

elle fonctionne pas ton adresse

PS: tu peux utiliser le bouton CITER, tu verras c'est vraiment mieux ;)

mastertop101
17/07/2007, 19h20
elle fonctionne pas ton adresse

PS: tu peux utiliser le bouton CITER, tu verras c'est vraiment mieux ;)

http://thommas.free.fr/scgba/nova.pcx
;)
Étonnant le nombre de frames..

Smealum
17/07/2007, 19h42
Je sais que sur DS, on peut utiliser les pcx a l'etat pur, ca doit aussi etre possible sur GBA.

Thommasc
17/07/2007, 22h08
Sinon, si tu dit que l'ensemble de tes pcx fait 900Ko, la il y a un pb car le format gba est du raw, donc ca devrait pas etre plus gros...

sinon tu dit que tout est en 64x64, or sur le screenshot les perso semblent pas faire plus de 32x32? tu gagnerais surement dans ce cas à recouper tes sprites en 32x32, pour éviter au maximum d'avoir du vide autour qui prend de la place pr rien (et comme on voit dans le zip, qui est très redondant ;))
En fait si je met les sprites en 32x32, ça me saoule car certains seraient coupés, comme les tirs de Nova ou des Marines... et si je centre, il faudrait ajuster l'image en terme de coordonnées, bref, c'est la misère.
Je suis pas trop un optimisateur de code, je code quick & dirty et tant que ça marche de façon fluide je cherche pas à faire mieux ou plus léger...

J'ai que jusqu'à septembre pour vous offrir un jeu jouable et intéressant ! Je prend 3 semaines de vac au mois d'aout ... et j'ai 2 autres projets en parallèle...

Thommasc
20/07/2007, 13h56
Est-ce que qqun pourrait m'expliquer comment exploiter une map exportée par Mappy for Win32 ...?
Il créé un .h qui a l'air sympa à utiliser.
Mais c'est chaud pour comprendre...

Sinon, vous utilisez quoi pour créer une map ?
Et quel code pour la scroller ?

jujurackham
20/07/2007, 14h08
Bon alors pour les maps : GBA Graphics de Brunni.

Le site : http://gbagraphics.palib.info
Téléchargement : http://gbagraphics.palib.info/GBA_Graphics.zip

Franchement, c'est très pratique, du tout bon. Si Brunni passe par ici, il pourra confirmer ^^

Thommasc
20/07/2007, 21h57
J'vais me lancer sur cet outil qui a l'air plebiscité... parce que j'arrive pas à obtenir la map que je veux avec Mappy for Win32 ...
C'est un vieil outil en + je suis sûr... que nous a fourni notre prof de GBA.

jujurackham
20/07/2007, 23h29
Pas gentil le prof ^^ Il l'a fait exprès pour vous donner du fil à retordre !

Thommasc
21/07/2007, 16h37
Trop puissant, bravo à brunni pour l'outil.
J'ai mis 15 minutes à m'y faire.
Et je fais maintenant tout de façon automatique alors qu'avant je mettais des heures à placer un tile au bon endroit !!!

Merci pour l'outil =)
Egalement idéal pour faire les missions de mon jeu !
Le système de liste d'objet c'est vraiment un truc trop trop puissant, j'ai hâte de placer mes unités de cette manière.

Thommasc
23/07/2007, 14h12
Juste un conseil, compresse au moins ta rom au format zip ou rar.
Reppa m'a dit qu'on arrivait à une taille d'environ 3mégas ( car bon 30 mega à 15k/sec cest pas terrible >_< ).

Sinon j'ai testé sur ému, les couleurs violettes (comme sur les screens de la news) pour les tirs des armes cest normal ?

J'ai mis tous les sprites d'effet rarés (Winrar) dans le dossier suivant :
http://thommas.free.fr/scgba/Effects.rar

Le problème est le suivant :
http://thommas.free.fr/scgba/exploKO.bmp
Les sprites fournies ont tous une mauvaise palette de 256 couleurs.
Tu peux voir la palette avec n'importe quel éditeur graphique (photoshop, gimp, irfanview, paint shop, etc.)
Le but c'est que l'explostion ressemble à :
http://thommas.free.fr/scgba/exploOK.bmp

Et une fois que t'as obtenu la bonne palette, tu l'appliques à tous les Effects !
Il faut qu'une seule palette fasse que tous les Effects soient parfaitement comme dans le jeu. Tu peux également jouer à Starcraft et faire des Impr Ecran, convertir le .pcx en .bmp 8 bits (256 couleurs), pour savoir quelle couleur récupérer ...

Bon courage, et si d'autres veulent aider, ça fait 1 an et demi que je traine ce problème pour exploiter les sprites de Starcraft !!!

kinski
23/07/2007, 15h17
... que nous a fourni notre prof de GBA.

Un prof de gba...
:w00t::w00t::w00t:

omg
23/07/2007, 15h27
Tu as essayé avec GbaGraphics? :rolleyes:
(Je sais je radote)

Pour traiter ça facilement avec gbagraphics, tout d'abord, crée pour chaque effet (de 64 x 64 pixels) un fichier bmp ou png avec les images les unes en dessous des autres afin d'obtenir un fichier de 64 pixels par n x 64 pixels (ou n est le nombre d'images de ton animation)

Ensuite envoi moi le fichier et je te le convertis.
A toute.

Thommasc
23/07/2007, 16h24
@omg : je sais comment mettre les effets dans mon jeu, c'est pas ça que je demande...

Le problème est que mes sprites d'effets ont une palette mauvaise de base, qui fait que les explosions sont mauves au lieu d'être jaune/orange ...
Il me faut un graphiste pour me créer la bonne palette pour que les effets s'affichent comme dans le jeu.

J'ai mis tous les sprites d'effet rarés (Winrar) dans le dossier suivant :
http://thommas.free.fr/scgba/Effects.rar

omg
23/07/2007, 16h41
Bon, file moi ton msn par MP et vers 17h je te file un coup de main. :)
Je te ferai une formation GbaGraphics afin que tu puisse avancer sans te prendre la tête avec ces satanées palettes!

Smealum
23/07/2007, 19h04
Ce n'est pas GBAgraphics le probleme omg...

omg
23/07/2007, 19h30
J'ai bien compris, mais je veux juste partager l'expérience que j'ai eu avec les sprites de Banjo Advance.
Je voudrais lui montrer la création des sprites (palettes + tiles) ainsi que l'affichage de ces derniers.
Comme ça il gagnera du temps, car là il galere avec les palettes...

Ce qu'il y a de bien avec GBAGraphics c'est qu'il te converti tes graphismes avec le nombre de couleurs que tu veux. De même, par la suite tu peux modifier ces dernieres très facilement. ;)

Smealum
23/07/2007, 19h35
Mais le probleme ne vient pas de la conversion ni de l'affichage, il vient des images elles meme.

omg
23/07/2007, 19h51
Justement smea, on récupere les 12 animations d'un sprite, puis on les mets dans la moulinette gbagraphics, puis on change la palette...
Rien de compliqué... Non?

Thommasc
23/07/2007, 22h07
Je sais me servir d'une palette xD

Je dis juste que les sprites des effets n'ont pas de palette appropriée pour rendre comme dans le jeu.
Car l'outil d'extraction GRP ne fourni aucun jeu de palette qui gère le bon rendu.
Il faut donc trouver la bonne palette... il faut la créer ! de A à Z ...

Sinon, dans ma rom, je gère très bien les palettes thx.

omg
23/07/2007, 22h10
Au temps pour moi, Smea m'a repris mais j'avais toujours pas compri.
Sinon pour en revenir a ma solution, tu peux récupérer test sprites sur gbagraphics et redefinir une nouvelle palette facilement.
Je te dis ça car je l'ai déjà fait plusieurs fois pour mes sprites afin de changr les ennemis de couleur par exemple.
;)

Thommasc
25/07/2007, 20h31
Mes problèmes de développement actuels :
- Scrolling de la map en diagonale qui fait de la merde
- Effet d'arme qui ne s'affiche plus au bon endroit
- Sprite des unités 8 à 10 (les unités Protoss) ne s'affiche pas correctement

Un bug de perdu, 10 de retrouvés comme on dit ...

jujurackham
25/07/2007, 23h22
Pour ta palette d'effets, je veux bien essayer (il me semble que ça me faisait pareil avec Worms > ça doit venir du fait que les jeux sont en 256 couleurs...)

Pour DevKitAdvance, c'est une vieille version que tu utilises non (j'ai vu ça sur ton FTP). Tu devrais peut-être utiliser la dernière version de DevKitPro pour GBA.

Thommasc
26/07/2007, 12h10
"Pour DevKitAdvance, c'est une vieille version que tu utilises non (j'ai vu ça sur ton FTP). Tu devrais peut-être utiliser la dernière version de DevKitPro pour GBA."
ça changerait quoi ?

"Pour ta palette d'effets, je veux bien essayer (il me semble que ça me faisait pareil avec Worms > ça doit venir du fait que les jeux sont en 256 couleurs...)"
Oui c'est du 256 couleurs, et je n'ai pas trouvé sur le net la bonne palette pour les Effets, alors qqun doit la créer pour moi... ^^

Dr.Vince
26/07/2007, 12h56
ouais devkitadvance c'était dans les débuts de la GBA, il a vite été abandonné pour donné place à devkitpro, si ma mémoire est bonne

ce que ça changerait: surement moins de bugs

et utiliser le bouton CITER s'il te plait, c'est bien pljus compréhensible et en plus ce sera bien plus simple pour toi. (Pour multi-citer tu utilises le plus pour sélectionner tes messages et sur le dernier message tu fait CITER)

Thommasc
26/07/2007, 14h46
Je connais la fonction citer, je l'utilise délibérément pas, parce que ça me prendrait 2 minutes de + à répondre, et j'préfère utiliser ces 2 minutes à coder.

Les seuls bugs pour l'instant viennent de mon code :p

Dr.Vince
26/07/2007, 15h15
Je connais la fonction citer, je l'utilise délibérément pas, parce que ça me prendrait 2 minutes de + à répondre, et j'préfère utiliser ces 2 minutes à coder.


parce que copier coller des messages c'est plus rapide que de faire quelques clics ??? :hmm:

Thommasc
26/07/2007, 17h53
"parce que copier coller des messages c'est plus rapide que de faire quelques clics ???"
Nan mais c'est juste que quand y'a 5 parties, et que je veux montrer précisemment à quoi je répond, faudrait ouvrir et ferme les balises [ QUOTE ] et ça me saoule :)
Bref, c'est une habitude, et tes yeux vont pas mourir :p

Thommasc
28/07/2007, 22h05
Je fini de galérer avec mes 2 tableaux COS et SIN,
et je vous envois ma version 0.4 avec scrolling de Map géré

Noda
28/07/2007, 22h42
"parce que copier coller des messages c'est plus rapide que de faire quelques clics ???"
Nan mais c'est juste que quand y'a 5 parties, et que je veux montrer précisemment à quoi je répond, faudrait ouvrir et ferme les balises [ QUOTE ] et ça me saoule :)
Bref, c'est une habitude, et tes yeux vont pas mourir :p

Tu sais t'a juste à cliquer sur le bouton"quote" pour citer une personne et c'est tout, et à cliquer sur "+" pour faire des quotes multiples, tu perds plus de temps avec des copier-coller <_<

Thommasc
29/07/2007, 14h12
Tu sais t'a juste à cliquer sur le bouton"quote" pour citer une personne et c'est tout, et à cliquer sur "+" pour faire des quotes multiples, tu perds plus de temps avec des copier-coller <_<


J'vois pas de bouton "+" et j'vois pas en quoi ça découpe tes paragraphes ou des morceaux de phrase précises dans la citation ...

heaveN.
29/07/2007, 14h17
Le + est juste à la droite du bouton Citer :)

Thommasc
29/07/2007, 14h44
HELP :


FIXED SIN[360]=
{ 0x0000,
0x0477, 0x08EF, 0x0D65, 0x11DB, 0x164F, 0x1AC2, 0x1F32, 0x23A0, 0x280C, 0x2C74, 0x30D8, 0x3539, 0x3996, 0x3DEE, 0x4241, 0x4690,
0x4AD8, 0x4F1B, 0x5358, 0x578E, 0x5BBD, 0x5FE6, 0x6406, 0x681F, 0x6C30, 0x7039, 0x7438, 0x782F, 0x7C1C, 0x7FFF, 0x83D9, 0x87A8,
0x8B6D, 0x8F27, 0x92D5, 0x9679, 0x9A10, 0x9D9B, 0xA11B, 0xA48D, 0xA7F3, 0xAB4C, 0xAE97, 0xB1D5, 0xB504, 0xB826, 0xBB39, 0xBE3E,
0xC134, 0xC41B, 0xC6F3, 0xC9BB, 0xCC73, 0xCF1B, 0xD1B3, 0xD43B, 0xD6B3, 0xD919, 0xDB6F, 0xDDB3, 0xDFE7, 0xE208, 0xE418, 0xE617,
0xE803, 0xE9DE, 0xEBA6, 0xED5B, 0xEEFF, 0xF08F, 0xF20D, 0xF378, 0xF4D0, 0xF615, 0xF746, 0xF865, 0xF970, 0xFA67, 0xFB4B, 0xFC1C,
0xFCD9, 0xFD82, 0xFE17, 0xFE98, 0xFF06, 0xFF60, 0xFFA6, 0xFFD8, 0xFFF6, 0xFFFF, 0xFFF6, 0xFFD8, 0xFFA6, 0xFF60, 0xFF06, 0xFE98,
0xFE17, 0xFD82, 0xFCD9, 0xFC1C, 0xFB4B, 0xFA67, 0xF970, 0xF865, 0xF746, 0xF615, 0xF4D0, 0xF378, 0xF20D, 0xF08F, 0xEEFF, 0xED5B,
0xEBA6, 0xE9DE, 0xE803, 0xE617, 0xE419, 0xE208, 0xDFE7, 0xDDB3, 0xDB6F, 0xD919, 0xD6B3, 0xD43B, 0xD1B4, 0xCF1B, 0xCC73, 0xC9BB,
0xC6F3, 0xC41B, 0xC134, 0xBE3E, 0xBB3A, 0xB826, 0xB505, 0xB1D5, 0xAE97, 0xAB4C, 0xA7F3, 0xA48D, 0xA11B, 0x9D9C, 0x9A10, 0x9679,
0x92D6, 0x8F27, 0x8B6D, 0x87A8, 0x83D9, 0x8000, 0x7C1C, 0x782F, 0x7438, 0x7039, 0x6C30, 0x6820, 0x6407, 0x5FE6, 0x5BBE, 0x578E,
0x5358, 0x4F1B, 0x4AD9, 0x4690, 0x4242, 0x3DEE, 0x3996, 0x3539, 0x30D9, 0x2C74, 0x280C, 0x23A1, 0x1F32, 0x1AC2, 0x1650, 0x11DB,
0x0D66, 0x08EF, 0x0477, 0x0000, 0xFFFFFB89, 0xFFFFF712, 0xFFFFF29B, 0xFFFFEE25, 0xFFFFE9B1, 0xFFFFE53E, 0xFFFFE0CE, 0xFFFFDC60, 0xFFFFD7F5, 0xFFFFD38C, 0xFFFFCF28, 0xFFFFCAC7,
0xFFFFC66A, 0xFFFFC212, 0xFFFFBDBF, 0xFFFFB971, 0xFFFFB528, 0xFFFFB0E5, 0xFFFFACA8, 0xFFFFA872, 0xFFFFA443, 0xFFFFA01A, 0xFFFF9BFA, 0xFFFF97E1, 0xFFFF93D0, 0xFFFF8FC8, 0xFFFF8BC8, 0xFFFF87D1,
0xFFFF83E4, 0xFFFF8001, 0xFFFF7C27, 0xFFFF7858, 0xFFFF7493, 0xFFFF70D9, 0xFFFF6D2B, 0xFFFF6988, 0xFFFF65F0, 0xFFFF6265, 0xFFFF5EE6, 0xFFFF5B73, 0xFFFF580D, 0xFFFF54B5, 0xFFFF5169, 0xFFFF4E2C,
0xFFFF4AFC, 0xFFFF47DA, 0xFFFF44C7, 0xFFFF41C2, 0xFFFF3ECC, 0xFFFF3BE5, 0xFFFF390E, 0xFFFF3646, 0xFFFF338D, 0xFFFF30E5, 0xFFFF2E4D, 0xFFFF2BC5, 0xFFFF294E, 0xFFFF26E7, 0xFFFF2491, 0xFFFF224D,
0xFFFF201A, 0xFFFF1DF8, 0xFFFF1BE8, 0xFFFF19E9, 0xFFFF17FD, 0xFFFF1622, 0xFFFF145A, 0xFFFF12A5, 0xFFFF1101, 0xFFFF0F71, 0xFFFF0DF3, 0xFFFF0C88, 0xFFFF0B30, 0xFFFF09EB, 0xFFFF08BA, 0xFFFF079B,
0xFFFF0690, 0xFFFF0599, 0xFFFF04B5, 0xFFFF03E4, 0xFFFF0327, 0xFFFF027E, 0xFFFF01E9, 0xFFFF0168, 0xFFFF00FA, 0xFFFF00A0, 0xFFFF005A, 0xFFFF0028, 0xFFFF000A, 0xFFFF0001, 0xFFFF000A, 0xFFFF0028,
0xFFFF005A, 0xFFFF00A0, 0xFFFF00FA, 0xFFFF0167, 0xFFFF01E9, 0xFFFF027E, 0xFFFF0327, 0xFFFF03E4, 0xFFFF04B5, 0xFFFF0599, 0xFFFF0690, 0xFFFF079B, 0xFFFF08BA, 0xFFFF09EB, 0xFFFF0B30, 0xFFFF0C88,
0xFFFF0DF3, 0xFFFF0F71, 0xFFFF1101, 0xFFFF12A4, 0xFFFF145A, 0xFFFF1622, 0xFFFF17FD, 0xFFFF19E9, 0xFFFF1BE7, 0xFFFF1DF8, 0xFFFF2019, 0xFFFF224D, 0xFFFF2491, 0xFFFF26E7, 0xFFFF294D, 0xFFFF2BC5,
0xFFFF2E4C, 0xFFFF30E5, 0xFFFF338D, 0xFFFF3645, 0xFFFF390D, 0xFFFF3BE5, 0xFFFF3ECC, 0xFFFF41C2, 0xFFFF44C6, 0xFFFF47DA, 0xFFFF4AFB, 0xFFFF4E2B, 0xFFFF5169, 0xFFFF54B4, 0xFFFF580D, 0xFFFF5B73,
0xFFFF5EE5, 0xFFFF6264, 0xFFFF65F0, 0xFFFF6987, 0xFFFF6D2A, 0xFFFF70D9, 0xFFFF7493, 0xFFFF7857, 0xFFFF7C27, 0xFFFF8000, 0xFFFF83E4, 0xFFFF87D1, 0xFFFF8BC7, 0xFFFF8FC7, 0xFFFF93CF, 0xFFFF97E0,
0xFFFF9BF9, 0xFFFFA01A, 0xFFFFA442, 0xFFFFA872, 0xFFFFACA8, 0xFFFFB0E4, 0xFFFFB527, 0xFFFFB970, 0xFFFFBDBE, 0xFFFFC212, 0xFFFFC66A, 0xFFFFCAC6, 0xFFFFCF27, 0xFFFFD38C, 0xFFFFD7F4, 0xFFFFDC5F,
0xFFFFE0CD, 0xFFFFE53E, 0xFFFFE9B0, 0xFFFFEE25, 0xFFFFF29A, 0xFFFFF711, 0xFFFFFB88,
};
FIXED COS[360]=
{ 0x10000,
0xFFF6, 0xFFD8, 0xFFA6, 0xFF60, 0xFF06, 0xFE98, 0xFE17, 0xFD82, 0xFCD9, 0xFC1C, 0xFB4B, 0xFA67, 0xF970, 0xF865, 0xF746, 0xF615,
0xF4D0, 0xF378, 0xF20D, 0xF08F, 0xEEFF, 0xED5B, 0xEBA6, 0xE9DE, 0xE803, 0xE617, 0xE419, 0xE208, 0xDFE7, 0xDDB3, 0xDB6F, 0xD919,
0xD6B3, 0xD43B, 0xD1B3, 0xCF1B, 0xCC73, 0xC9BB, 0xC6F3, 0xC41B, 0xC134, 0xBE3E, 0xBB3A, 0xB826, 0xB504, 0xB1D5, 0xAE97, 0xAB4C,
0xA7F3, 0xA48D, 0xA11B, 0x9D9C, 0x9A10, 0x9679, 0x92D5, 0x8F27, 0x8B6D, 0x87A8, 0x83D9, 0x8000, 0x7C1C, 0x782F, 0x7438, 0x7039,
0x6C30, 0x681F, 0x6407, 0x5FE6, 0x5BBE, 0x578E, 0x5358, 0x4F1B, 0x4AD8, 0x4690, 0x4242, 0x3DEE, 0x3996, 0x3539, 0x30D8, 0x2C74,
0x280C, 0x23A0, 0x1F32, 0x1AC2, 0x164F, 0x11DB, 0x0D65, 0x08EF, 0x0477, 0x0000, 0xFFFFFB89, 0xFFFFF711, 0xFFFFF29B, 0xFFFFEE25, 0xFFFFE9B1, 0xFFFFE53E,
0xFFFFE0CE, 0xFFFFDC60, 0xFFFFD7F5, 0xFFFFD38C, 0xFFFFCF28, 0xFFFFCAC7, 0xFFFFC66A, 0xFFFFC212, 0xFFFFBDBF, 0xFFFFB970, 0xFFFFB528, 0xFFFFB0E5, 0xFFFFACA8, 0xFFFFA872, 0xFFFFA443, 0xFFFFA01A,
0xFFFF9BFA, 0xFFFF97E1, 0xFFFF93D0, 0xFFFF8FC8, 0xFFFF8BC8, 0xFFFF87D1, 0xFFFF83E4, 0xFFFF8001, 0xFFFF7C27, 0xFFFF7858, 0xFFFF7493, 0xFFFF70D9, 0xFFFF6D2B, 0xFFFF6988, 0xFFFF65F0, 0xFFFF6265,
0xFFFF5EE5, 0xFFFF5B73, 0xFFFF580D, 0xFFFF54B4, 0xFFFF5169, 0xFFFF4E2B, 0xFFFF4AFC, 0xFFFF47DA, 0xFFFF44C7, 0xFFFF41C2, 0xFFFF3ECC, 0xFFFF3BE5, 0xFFFF390E, 0xFFFF3646, 0xFFFF338D, 0xFFFF30E5,
0xFFFF2E4D, 0xFFFF2BC5, 0xFFFF294D, 0xFFFF26E7, 0xFFFF2491, 0xFFFF224D, 0xFFFF2019, 0xFFFF1DF8, 0xFFFF1BE8, 0xFFFF19E9, 0xFFFF17FD, 0xFFFF1622, 0xFFFF145A, 0xFFFF12A5, 0xFFFF1101, 0xFFFF0F71,
0xFFFF0DF3, 0xFFFF0C88, 0xFFFF0B30, 0xFFFF09EB, 0xFFFF08BA, 0xFFFF079B, 0xFFFF0690, 0xFFFF0599, 0xFFFF04B5, 0xFFFF03E4, 0xFFFF0327, 0xFFFF027E, 0xFFFF01E9, 0xFFFF0168, 0xFFFF00FA, 0xFFFF00A0,
0xFFFF005A, 0xFFFF0028, 0xFFFF000A, 0xFFFF0001, 0xFFFF000A, 0xFFFF0028, 0xFFFF005A, 0xFFFF00A0, 0xFFFF00FA, 0xFFFF0167, 0xFFFF01E9, 0xFFFF027E, 0xFFFF0327, 0xFFFF03E4, 0xFFFF04B5, 0xFFFF0599,
0xFFFF0690, 0xFFFF079B, 0xFFFF08BA, 0xFFFF09EB, 0xFFFF0B30, 0xFFFF0C88, 0xFFFF0DF3, 0xFFFF0F71, 0xFFFF1101, 0xFFFF12A5, 0xFFFF145A, 0xFFFF1622, 0xFFFF17FD, 0xFFFF19E9, 0xFFFF1BE7, 0xFFFF1DF8,
0xFFFF2019, 0xFFFF224D, 0xFFFF2491, 0xFFFF26E7, 0xFFFF294D, 0xFFFF2BC5, 0xFFFF2E4C, 0xFFFF30E5, 0xFFFF338D, 0xFFFF3645, 0xFFFF390D, 0xFFFF3BE5, 0xFFFF3ECC, 0xFFFF41C2, 0xFFFF44C6, 0xFFFF47DA,
0xFFFF4AFB, 0xFFFF4E2B, 0xFFFF5169, 0xFFFF54B4, 0xFFFF580D, 0xFFFF5B73, 0xFFFF5EE5, 0xFFFF6264, 0xFFFF65F0, 0xFFFF6987, 0xFFFF6D2A, 0xFFFF70D9, 0xFFFF7493, 0xFFFF7858, 0xFFFF7C27, 0xFFFF8000,
0xFFFF83E4, 0xFFFF87D1, 0xFFFF8BC8, 0xFFFF8FC7, 0xFFFF93D0, 0xFFFF97E0, 0xFFFF9BF9, 0xFFFFA01A, 0xFFFFA442, 0xFFFFA872, 0xFFFFACA8, 0xFFFFB0E5, 0xFFFFB527, 0xFFFFB970, 0xFFFFBDBE, 0xFFFFC212,
0xFFFFC66A, 0xFFFFCAC7, 0xFFFFCF27, 0xFFFFD38C, 0xFFFFD7F4, 0xFFFFDC5F, 0xFFFFE0CD, 0xFFFFE53E, 0xFFFFE9B0, 0xFFFFEE25, 0xFFFFF29A, 0xFFFFF711, 0xFFFFFB88, 0x0000, 0x0477, 0x08EE,
0x0D65, 0x11DB, 0x164F, 0x1AC2, 0x1F32, 0x23A0, 0x280B, 0x2C73, 0x30D8, 0x3539, 0x3996, 0x3DEE, 0x4241, 0x468F, 0x4AD8, 0x4F1B,
0x5358, 0x578E, 0x5BBD, 0x5FE5, 0x6406, 0x681F, 0x6C30, 0x7038, 0x7438, 0x782F, 0x7C1C, 0x7FFF, 0x83D9, 0x87A8, 0x8B6D, 0x8F27,
0x92D5, 0x9678, 0x9A10, 0x9D9B, 0xA11A, 0xA48D, 0xA7F3, 0xAB4B, 0xAE97, 0xB1D4, 0xB504, 0xB826, 0xBB39, 0xBE3E, 0xC134, 0xC41B,
0xC6F2, 0xC9BA, 0xCC73, 0xCF1B, 0xD1B3, 0xD43B, 0xD6B2, 0xD919, 0xDB6F, 0xDDB3, 0xDFE6, 0xE208, 0xE418, 0xE617, 0xE803, 0xE9DD,
0xEBA6, 0xED5B, 0xEEFF, 0xF08F, 0xF20D, 0xF378, 0xF4D0, 0xF615, 0xF746, 0xF865, 0xF970, 0xFA67, 0xFB4B, 0xFC1C, 0xFCD9, 0xFD82,
0xFE17, 0xFE98, 0xFF06, 0xFF60, 0xFFA6, 0xFFD8, 0xFFF6,
};


Quand j'appelle :

nova.weaponX_set((int)COS[nova.angle_get()] + nova.x_get());
nova.weaponY_set((int)SIN[nova.angle_get()] + nova.y_get());

ou même

nova.weaponX_set(COS[0] + nova.x_get());
nova.weaponY_set(SIN[0] + nova.y_get());

dans mon code,
COS et SIN renvoient systématiquement zéro xD

Snif ... any idea ?

FIXED = s32 = typedef signed long

Dr.Vince
29/07/2007, 20h16
et le bouton éditer tu le connais pas celui-là non plus ??? :ranting:

[EDIT] le bouton code non plus apparemment.....sans déconner essaies de faire un effort pour la lisibilité de tes posts

Thommasc
30/07/2007, 20h57
Version 0.4, scrolling de map avec encore qqs bugs résiduels.

http://thommas.free.fr/scgba/

Prochaine étape, gestion des collisions de tout type.
Vous remarquerez que le sol est carrément naze, sans transition.
Je cherche un super level designer pour améliorer les décors et créer les cartes des missions (boulot uniquement graphique)
Merci !

omg
30/07/2007, 21h35
Je niouze!

Noda
30/07/2007, 21h36
Version 0.4, scrolling de map avec encore qqs bugs résiduels.

http://thommas.free.fr/scgba/

Prochaine étape, gestion des collisions de tout type.
Vous remarquerez que le sol est carrément naze, sans transition.
Je cherche un super level designer pour améliorer les décors et créer les cartes des missions (boulot uniquement graphique)
Merci !

juste pour info histoire que tu sois pas déçu le jour venu, mais ta rom de 52Mo ne marchera jamais sur une vraie GBA... la seule raison qui fait que ca passe sur ton émulateur, c'est qu'il ne pose pas de limite à l'espace d'adressage de la ROM, qui est normalement limité à 32Mo...

Thommasc
30/07/2007, 21h59
Merci Maître Noda pour l'info :D

Mais petit padawan que je suis, ma rom ne sera testée par mon prof qu'en émulateur ...
Je n'ai de toute façon pas de kit avec carte mémoire pour lire ma rom sur ma GBA.
Cependant on en a semble-t-il à l'école.
Si jamais il faut limiter la taille, je repenserai le système d'affichage des sprites avec un format un peu plus compressé.

Si vous avez des suggestions pour optimiser la taille de mes sprites, je suis tjs preneur, ce n'est juste pas ma priorité pour l'instant :)

PS: merci pour la niouze :)

omg
30/07/2007, 22h23
Me suis permis de mettre ta petite annonce! ;)

Thommasc
31/07/2007, 10h53
En fait, il y en a 2,
Une pour le level design,
et une autre pour régler le problème de la palette des Effets. ^^

Thommasc
31/07/2007, 20h47
Petite question concernant l'outil GBA Graphics.
Quand je créé une Map (une mission pour moi), à droite il y a les Tiles mais dans un ordre plutôt infame surtout quand je veux rendre par exemple un Lac qui fait de nombreux tiles en terme de bordures et dans un ordre bien précis pour être cohérent ...
N'existe-t-il pas un moyen pour avoir la même disposition que la Map de base ?
J'aime pas trop l'ordre, ça se suit pas bien comme j'aimerais ...
Et pis l'outil est un peu chiant, on bosse sur une toute petite fenetre ... sans pouvoir augmenter ...

Vous avez des idées ?
Merci

Thommasc
04/08/2007, 11h20
Aujourd'hui est le dernier jour où je code, dès demain je suis en vac jusqu'à fin aout.

Eife
04/08/2007, 11h30
on aura droit a une release en fin de journée? :p
avant que tu partes?

ou y'aura rien de nouveau d'interessant à tester...?

Thommasc
04/08/2007, 12h33
Personne ne pourrait m'indiquer un bon système pour intégrer des sprites dans le jeu sans que ça fasse 50 Mo :D ?

On m'a conseillé ça sur un autre forum :
http://www.coranac.com/projects.php
Vous connaissez ?? J'vais tester...

Thommasc
04/08/2007, 12h39
@Eife : j'aimerais vraiment vous sortir qqs features en +
Pour info j'en suis là :
La version 0.5 que je vais release dès que mon ami level designer aura fini de faire quelques belles maps contiendra la gestion des collisions unité à unité et unité à map.
C'est déjà codé mais il me faut le matos du level designer, adapter qqs trucs.
Il a d'ailleurs corrigé les palettes des explosions qui ont l'air + naturelles désormais ! ça c'est chouette !
Je la release dès que j'aurai ses maps. D'ici au 10 août je pense.

Sinon il reste un bug au niveau de l'affichage des sprites, mais j'en ai marre que ma rom prenne 50 Mo, j'aimerais trouver un meilleur moyen d'intégrer des sprites compressés dans mon jeu, et recoder mes animations pour utiliser ce système.

ça sera une Version 0.6 pour fin aout, avec les 10 unités nickel, d'ici là j'aurai qqs IA si un gars de mon groupe se bouge le cul.
J'ai vraiment mis en place les briques de base du jeu.
Après il ne me restera plus qu'à coder des triggers pour les missions, des phases de dialogue, et le jeu sera jouable.

Ma copine arrive demain matin de l'île de la réunion et croyez-moi que je vais plus toucher à un pc jusqu'à au moins fin août ^^

CrazyLapinou
04/08/2007, 13h02
Salut à toi ;)

Pour tes sprites, quelle méthode utilises-tu ? Tu utilise gfx2gba pour convertir ?

Bonne continuation pour ton projet :)

Eife
04/08/2007, 13h20
Ma copine arrive demain matin de l'île de la réunion et croyez-moi que je vais plus toucher à un pc jusqu'à au moins fin août ^^

c'est le genre de ptite phrase qui fait mouche...:p
ou comment dire gracieusement : "ça va y aller pendant 3 semaiiiiiines :bave:"
:lol::lol::lol:

Thommasc
04/08/2007, 13h41
mdr Eife... t'as tout compris !

"Pour tes sprites, quelle méthode utilises-tu ? Tu utilise gfx2gba pour convertir ?"
Je créé des pcx format 8 bits puis je les envoi dans un .exe : pcx2sprite.exe
ça me sort un .h avec un immense tableau...
Voilà ...

[EDIT]"Pour tes sprites, quelle méthode utilises-tu ?"
Qqun connait-il une méthode pour utiliser facilement des sprites et surtout avoir une compression des données dans la ROM :/ ?

[NDmodo] essaye d'utiliser la commande editer plutot que de double poster, merci ;)]

CrazyLapinou
04/08/2007, 14h58
Tu utilise Visual HAM ? Si c'est le cas, tu pourrais utiliser gfx2gba qui te converti ton image et ta palette de couleur en fichier .c
Je ne sais pas si ça prend plein de place avec plein de sprite, mais à mon avis non.
Après la convertion, il ne te reste plus qu'à faire comme d'habitude avec les manips de ta palette et de tes sprites.

Bonne chance :)

Thommasc
04/08/2007, 15h49
Merci je vais tester ça !

"Si c'est le cas, tu pourrais utiliser gfx2gba qui te converti ton image et ta palette de couleur en fichier .c
Après la convertion, il ne te reste plus qu'à faire comme d'habitude avec les manips de ta palette et de tes sprites."

Je vois qu'HAM est un peu trop complet ... ne peut-on pas simplement, prendre une image pcx, la convertir en .c et quel est l'algorithme pour mettre dans la mémoire d'affichage un sprite de 64x64 depuis le pcx ainsi converti de 640x8064 ?

Merci.

CrazyLapinou
04/08/2007, 16h20
Je vois qu'HAM est un peu trop complet ... ne peut-on pas simplement, prendre une image pcx, la convertir en .c et quel est l'algorithme pour mettre dans la mémoire d'affichage un sprite de 64x64 depuis le pcx ainsi converti de 640x8064 ?


Tu n'es pas obligé d'utiliser HAM si tu veux. Tu peus n'utiliser que gfx2gba. Pour l'algo, je ne peut pas t'aider (je ne sais pas encore trop comment programmer sur GBA... :p), mais à mon avis, tu peut prendre le tiens. Au cas où ce n'est pas compatible, tu peut toujours le modifier légèrement, mais je crois que ce ne sera pas nécessaire.

pour créer un sprite avec gfx2gba, utilise la commande gfx2gba -D -fsrc -ptonfichier.pal -t8 tonfichier.bmp (ou .pcx)
et il doit te créer deux fichiers:
¤ tonfichier.raw -> ton image
¤ tonfichier.pal -> ta palette

Bonne chance :D

Thommasc
04/08/2007, 16h23
Merci pour l'aide.
J'ai trouvé ça dans le readme :

"-Z will lz77 compress everything

NOTE: all compression stuff is compatible to the GBA internal Lz77 depacker.
if it fails to compress it will show you a warning and save the normal
data."

Cependant, je ne sais absolument pas comment utiliser ce fameux internal depacker ...

Je vais quand même voir si avec juste cet outil ça ne compresse pas déjà mieux qu'avant...

CrazyLapinou
04/08/2007, 16h29
Je ne peut pas t'aider pour la compression, je ne l'utilise pas ;)
Essaye sans compresser, tu verras, ton fichier .gba sera plus léger.
Pourquoi utilises-tu des fichiers .pcx ? Personnellement, je te conseille .bmp. Mais ça, c'est mon avis :p

Vivement la prochaine version :D

Thommasc
04/08/2007, 16h57
"¤ tonfichier.raw ton image"
ça s'utilise comment un .raw ??

CrazyLapinou
04/08/2007, 17h14
Oups :whst:
Désolais, je me suis trompé
Les fichiers créés sont:
¤ tonfichier.raw.c -> contient le tableau avec les données de ton image
¤ tonfichier.pal.c -> contient le tableau avec les données de ta palette

Pour utiliser ces fichiers, il suffit de les inclure dans le fichier .c les utilisant
#include "tonfichier.raw.c"
#include "tonfichier.pal.c"
:!: Pas besoin de les compiler, il doit seulement être inclus

Après, tu utilise ton algo en sachant que tes tableaux de données de l'image et de la palette sont:
¤ tonfichier_Bitmap -> le tableau des données de l'image
¤ tonfichier_Palette -> le tableau des données de la palette.

Qu'est-ce que tu utilise pour programmer ? Tu écris tes algo ou tu utilise une lib ?

a+

Thommasc
04/08/2007, 17h31
J'utilise les boucles "for" pour faire mon algo... :p

Exemple :

int i;
int x;
int y;
int sequence;

sequence = getSequence();

int spriteY = sequence * 12;
int spriteX = 6 + 8 * UNITS_NUMBER * spriteY;

for(i = 64 * 64 / 2 * _spriteno, y = 0; y < 64 * UNITS_NUMBER; y++)
{
if (y != 0 && y % 8 == 0)
y += 8 * (UNITS_NUMBER - 1);
for(x = 0; x < 32; i++, x++)
{
OAMData[i] = SpritesUnitsData[(y + 8 * spriteX) * 32 + x];
}
}

_step = 0;

CrazyLapinou
04/08/2007, 17h38
:) Ca risque pas de ralentir le jeu lorsque ça doit afficher de grande images?

C'est quel compilateur que tu utilise? Tu utilise une lib ou alors les fonctions getSequence();
etc...
viennent de toi?

Je pose toute ces questions parce que je commence à programmer sur GBA.:-''

Bonne chance avec gfx2gba ;)

Thommasc
04/08/2007, 17h48
"getSequence();"
est une fonction à moi qui permet en fonction de l'angle de l'unité déterminer le sprite à afficher sachant que mes sprites sont répartis en séquence de 12 ou 13 sprites (animation de marche généralement) pour chaque angle.

"C'est quel compilateur que tu utilise?"
J'utilise un vieux Dek Kit Advance

Je n'utilise aucune librairie, je fais tout à la mano :D
J'ai eu des cours de GBA donc forcément ça aide ...

"Ca risque pas de ralentir le jeu lorsque ça doit afficher de grande images?"
Si on fait pas gaffe si ... il faut pas écrire dans l'OAMData + qu'inécessairement sinon forcément ça rame !!

J'utilise Visual Studio C++ 2005 pour coder.

CrazyLapinou
04/08/2007, 17h59
OK
Si on fait pas gaffe si ... il faut pas écrire dans l'OAMData + qu'inécessairement sinon forcément ça rame !!
Merci pour le petit cours.:D

Moi j'utilise HAM version linux (parce que je suis sous linux), mais il n'y a pas de Visual HAM. J'utilise alors gedit (un notepad sous linux). Si quelqu'un connait un editeur à la Visual HAM sous linux, merci de me le signaler :)

Bonne continuation.

PS: Si tu n'arrive pas avec gfx2gba, tu peux me demander.
PS2: je connais aussi un autre pour convertir les .pcx en .h, il s'appelle pcx2gba
Je ne sais pas si tu connais, mais il m'a l'air bien pour convertir des .pcx

a+

Thommasc
04/08/2007, 19h26
"pcx2gba.exe" se trouvait avec celui que j'utilise pour les sprites :
"pxc2sprite.exe" ... alors c'est ptet pareil ...

Mais il faudrait vraiment que je trouve comment compresser les images...

CrazyLapinou
04/08/2007, 19h33
Essayes d'abord avec gfx2gba et si tu ne voit pas la différence, demande à quelqu'un de plus expérimenté (y en aura bien un qui passera par là ;))

Bonne chance

Thommasc
04/08/2007, 21h04
Aucune différence, que j'utilise pcx2gba ou pcx2sprite ça fait tjs 24 Mo le fichier .h xD

Brunni
04/08/2007, 21h14
les fichiers .c / .h sont très gros de toute façon, faudrait générer un .o pour que ça prenne moins de place.
(ne me demande pas comment :p)

Thommasc
04/08/2007, 22h24
Merci Brunni pour ton immense contribution xD
ça m'aide beaucoup !

Bon c'est pas tout ça mais dodo, demain j'dois être en forme ^^

Brunni
04/08/2007, 22h42
Bah écoute j'en sais rien je peux juste à la limite te donner une piste quoi ^^
Normalement c'est le compilo qui convertit les .c en .o (à la compilation), d'ailleurs après avoir compilé tes fichiers .c tu peux garder juste les .o mais t'es embêté si tu veux modifier par la suite donc c'est pas une bonne idée.

Ha mais j'y pense, tu fais pas #include "tonfichier.c", si? Parce que normalement il faut inclure le .h et ajouter le .c dans les fichiers à compiler, comme ça ton immense tableau n'est compilé que la toute première fois (ou après une modif).

Eife
04/08/2007, 22h45
Bon c'est pas tout ça mais dodo, demain j'dois être en forme ^^

je dirais juste : :p

Thommasc
04/08/2007, 23h00
Ouais, quoi qu'il arrive ça réduit pas la taille de ma ROM... alors je comprend pas.

Et j'inclus uniquement des .h pour pas que ça prenne 5 minutes à chaque compilation.

Brunni
04/08/2007, 23h21
Ha non réduire la taille de la ROM tu pourras pas. Il faut compresser tes graphismes dans ce cas-là, et c'est une autre affaire...

CrazyLapinou
05/08/2007, 12h31
Normalement c'est le compilo qui convertit les .c en .o (à la compilation), d'ailleurs après avoir compilé tes fichiers .c tu peux garder juste les .o mais t'es embêté si tu veux modifier par la suite donc c'est pas une bonne idée.
Ha mais j'y pense, tu fais pas #include "tonfichier.c", si? Parce que normalement il faut inclure le .h et ajouter le .c dans les fichiers à compiler, comme ça ton immense tableau n'est compilé que la toute première fois (ou après une modif).

C'est pas bête :hmm: comme les fichiers .c contiennent des tableaux, on peut faire dans un fichier .h
extern const unsigned char monfichier_Bitmap[];
et il ne reste plus qu'à compiler les fichiers .c contenant les tableaux et le linker fera le reste. :)

Mais ça reste à voir. :p

Bonne chance :D

Thommasc
08/08/2007, 20h14
Si qqun connait une lib pour compresser/décompresser les sprites avec LZ77, je suis preneur !
J'aimerais bien connaître vos attentes en terme de gameplay.
Sachant que j'étais parti sur un mélange action/infiltration ... un peu à la splinter cell où tu peux te faufiler ou bien y aller en bourrin au FAMAS ...

Ce forum me fait une pub incroyable, je me retrouve dans 36000 forums/blogs sur la toile lol

Thommasc
11/08/2007, 12h52
Si vous connaissez un fan de level design, pliz envoyez le moi :D

Nrx
15/08/2007, 15h07
Si qqun connait une lib pour compresser/décompresser les sprites avec LZ77, je suis preneur !Tu peux jeter un coup d'oeil à mon Bomb Jack (http://playeradvance.org/forum/showthread.php?t=182) (les sources sont dispo ici (http://www.nrx.free.fr/GBA/Bomb%20Jack/Sources/Bomb%20Jack%20-%20060416.rar)) : j'utilise des images (backgrounds & sprites) compressés en LZ77 par gfx2gba. Tu verras aussi que je ne lui fais pas génèrer des sources "*.c" mais de l'assembleur ("*.s") : c'est 100x plus rapide lors de la compilation. Je fais aussi la même chose dans "GOD".

Tu trouveras mes appels à gfx2gba dans mon makefile (=> utilisation des flags "-fasm" et "-Z"), et la décompression des resources dans "Common.c" (méthodes "CommonUncompressInWRAM" et "CommonUncompressInVRAM").

Pour info, pas besoin d'implémenter la décompression : on peut simplement utiliser le BIOS de la GBA :) (il faut par contre faire attention lorsqu'on veut décompresser vers la mémoire vidéo, où les écritures se font par paquets de 16 bits : gfx2gba ne compresse visiblement pas des shorts, mais bien des bytes => moi je passe par une décompression en WRAM puis une copie DMA en VRAM)

Thommasc
22/08/2007, 13h36
Yeah ! Merci ! :bravo:

Je teste tout ça dès que je rentre à Paris fin août.

J'ai jeté un coup d'oeil aux sources...
T'as appris où à coder tout ça niveau graphisme/son ?? :O

Thommasc
23/08/2007, 13h02
Verdict du prof :
"Vous prennez pas trop la tete sur la compression... vous pouvez faire un zip de la rom finale (si c'est votre pblm:))
j'attacherais plus d'importance au jeu, la jouabilité, la durée de vie, etc..."

Je vais donc pas me casser le cul à optimiser la taille de ma ROM.
On verra plus tard, si le projet est vraiment puissant, on améliorera le code source en conséquence.

Smealum
23/08/2007, 16h35
La facilité n'est pas toujours la bonne option... Si ton projet devient "puissant", tu regretteras vraiment de ne pas avoir codé la compression...

Enfin moi je dis ça, c'est ton projet hein. :p

Nesgba
26/08/2007, 18h21
Verdict du prof :
"Vous prennez pas trop la tete sur la compression... vous pouvez faire un zip de la rom finale (si c'est votre pblm:))
j'attacherais plus d'importance au jeu, la jouabilité, la durée de vie, etc..."

j'en deduis donc que ton prof n'a jamais codé pour de l'embarqué, donc inapte a prodiguer des conseils judicieux pour la plateforme gba.

concernant le probleme c'est que la gba n'a simplement pas suffisament de registres memoire pour stocker toutes tes données, la version de vba qui te permet de lancer ton jeu est buggée pour autoriser des acces aussi grand.

ps: bon courgage quand tu voudra decompresser 50mo dans une ram de 256ko >_<

Nrx
27/08/2007, 00h38
J'ai jeté un coup d'oeil aux sources...
T'as appris où à coder tout ça niveau graphisme/son ?? :OPour ce qui est de la GBA, j'ai trouvé pas mal d'infos petit à petit sur le net, et puis ai fait beaucoup d'essais (et d'erreurs)... C'est en forgeant qu'on devient forgeron comme on dit ! :)

j'en deduis donc que ton prof n'a jamais codé pour de l'embarqué, donc inapte a prodiguer des conseils judicieux pour la plateforme gba.C'est vrai qu'une remarque de ce style n'est vraiment pas très intelligente ; que tu ne passes pas du temps à optimiser quelque chose qui ne le nécessite pas, ok (autant se consacrer aux vrais problèmes si tu n'as pas le temps de tout faire de façon optimale & parfaite), mais en l'occurrence il me semble que tu as vraiment besoin de revoir ta façon de gérer tes graphismes/animations - si ta ROM fait plus de 8Mo à la fin de ton projet, ne considère pas que c'est normal (même si la GBA l'accepte). Et si elle fait plus de 32Mo, ben... :snif2:

[Edit] Je parle bien de la remarque de ton prof, pas celle de Nes hein ! :p

Thommasc
02/09/2007, 23h45
J'ai jusqu'au 10-14 septembre selon la soutenance pour faire un jeu jouable avec au moins 1 niveau. :(

Thommasc
07/09/2007, 18h21
J'ai cherché des tas de solutions pour afficher du texte, mais ça repose à chaque fois sur une usine à gaz, genre librairie de 5000 lignes de code...
QQun connaîtrait pas une solution plus soft qui tient en un ou deux fichiers .c/.h ?

Thommasc
08/09/2007, 17h38
Version 0.5 :
http://thommas.free.fr/scgba/

Je viens de finir le cloaking (camouflage) de Nova ...
J'aimerais votre avis sur le temps d'utilisation et les conditions ... ainsi que la façon de combattre que cela pourrait amener de sympa ... bref des idées de gameplay =)
Thx

Version 0.6 en cours. J'espère mettre le mode calldown.
Et finir le son au pire d'ici demain pour avoir un beau jeu à rendre au prof.

Thommasc
10/09/2007, 08h57
J'ai un problème de compilation lors de l'ajout d'ADPCM :


O_FILES = crt0.o crtbegin.o crtend.o interupt.o \
SCGBA.o Mission1.o Menu.o Map.o UI.o Nova.o \
Unit.o Marine.o ... Adpcm.o UKeDth00.o

C:\DevKitAdv\bin\ld -L C:\DevKitAdv\lib\gcc-lib\arm-agb-elf\3.0.2\interwork -L C:\DevKitAdv\arm-agb-elf\lib\interwork -T LinkScript -o SCGBA.elf crt0.o crtbegin.o crtend.o interupt.o SCGBA.o Mission1.o Menu.o Map.o UI.o Nova.o Unit.o Marine.o Medic.o Firebat.o Ghost.o Zergling.o Hydralisk.o Adpcm.o UKeDth00.o -lstdc++ -lc -lgcc -lc
SCGBA.o: In function `main':
C:/Gbadev/SCGBA/SCGBA.cpp:11: undefined reference to `AdpcmInit(unsigned char)'
C:/Gbadev/SCGBA/SCGBA.cpp:13: undefined reference to `AdpcmStart(Sound const*, signed char, unsigned char)'
C:/Gbadev/SCGBA/SCGBA.cpp:15: undefined reference to `AdpcmDecodeVbl(unsigned char)'


Any idea ? :(

Et en mettant le code d'Adpcm.c dans SCGBA.c (toujours pas bon) :

SCGBA.o: In function `main':
C:/Gbadev/SCGBA/SCGBA.cpp:410: relocation truncated to fit: R_ARM_PC24 AdpcmDecodeVbl(unsigned char)

Nesgba
10/09/2007, 10h08
QQun connaîtrait pas une solution plus soft qui tient en un ou deux fichiers .c/.h ?
afficher du texte en quel screen mode ? si c'est 0,1,2 ca tien en 5 lignes.

Any idea ?
- esque la lib de nrx contient un fichier .h avec les prototypes de ses fonctions ?
- si tel est le cas esque tu inclue bien ce fichier .h au debut de tes fichiers .c ou tu utilise la lib ?

Et en mettant le code d'Adpcm.c dans SCGBA.c (toujours pas bon) : essaye de ne pas mettre la fonction critique en memoire IWRAM deja voir si ca marche (enleve le "IWRAM_CODE" devant la fonction si y'en a un).

Thommasc
10/09/2007, 10h11
afficher du texte en quel screen mode ? si c'est 0,1,2 ca tien en 5 lignes.

Mode 0, j'ai compris comment faire à la mano mais je dois prendre le temps de le coder.


- esque la lib de nrx contient un fichier .h avec les prototypes de ses fonctions ?
- si tel est le cas esque tu inclue bien ce fichier .h au debut de tes fichiers .c ou tu utilise la lib ?

Le .h avec les prototypes de ses fonctions est bien inclu.
Lorsque j'inclu "Adpcm.h" et j'ajoute Adpcm.o dans le Makefile, j'ai 200 lignes d'erreur... je continue l'investigation...


essaye de ne pas mettre la fonction critique en memoire IWRAM deja voir si ca marche (enleve le "IWRAM_CODE" devant la fonction si y'en a un).
J'ai testé, ça compile toujours pas mais le problème vient effectivement de l'appel :
AdpcmDecodeVbl(1);
Car si je le commente, ça compile, mais aucun son ne sort de mon émulateur :'/

Thommasc
10/09/2007, 13h04
J'ai testé AAS à défaut d'ADPCM, j'ai un problème de compilation ...

LibAAS/libAAS.a(AAS_Main.o): In function `AAS_DoWork':
AAS_Main.o(.text+0x6d0): undefined reference to `_call_via_r3'

LibAAS/libAAS.a(AAS_Main.o): In function `AAS_DoConfig':
AAS_Main.o(.text+0x1508): undefined reference to `memcpy'


Je crois que je suis pas près de mettre du son dans mon projet :(

Je suis maudit :

C:\DevKitAdv\arm-agb-elf\lib\interwork/libc.a(syscalls.o): In function `_sbrk':
../../../../../../../gcc-3.0.2/newlib/libc/sys/agb/syscalls.c:104: undefined reference to `__eheap_start'
../../../../../../../gcc-3.0.2/newlib/libc/sys/agb/syscalls.c:104: undefined reference to `__eheap_end'

Thommasc
11/09/2007, 15h13
Version 0.6 pré-rendu.

http://thommas.free.fr/scgba/

Thommasc
11/09/2007, 23h13
Le projet est rendu mais je vais essayer de finir et d'atteindre une Version 1.0
Je vais faire 10 Missions environ.
Améliorer les décors.
Implémenter les calldowns.
Mettre de la musique et du son avec ADPCM (un autre groupe y est parvenu, pourquoi pas moi ? =))

Bobby Sixkilla
11/09/2007, 23h15
T'as déjà fait ta soutenance? :blink:

omg
11/09/2007, 23h44
ADPCM c'est enfantin a utiliser!
Tu diras à tes collegues que ça serai sympa si ils nous faisaient partager leurs créations... :)

Thommasc
12/09/2007, 11h16
T'as déjà fait ta soutenance? :blink:
Oui, hier aprem, elle a duré 10 minutes par personne.

ADPCM c'est enfantin a utiliser!
A utiliser oui !
A compiler avec mon projet ... :( moins enfantin ...

Tu diras à tes collegues que ça serai sympa si ils nous faisaient partager leurs créations... :)
Y'a rien d'aussi abouti que mon jeu parmi ce que j'ai vu.
Le must c'est une team de 7 personnes qui ont essayé de recréer Dota (mod de War3) sur DS xD
Y'a rien qui fonctionne totalement. Ils ont utilisé une version d'OpenGL pour DS. Ils ont implémenté plein de choses mais rien qui aboutisse à ce qu'on pourrait appeller un jeu xD

Sinon les autres projets :
- World Petanque Tour (DS, 1 personne) : no comment
- Jigsaw (GBA, 1 personne) : Snake + Reversi non fini

- Pacman (GBA, 2 filles) : abouti mais graphismes moches, et on peut pas bouffer les fantômes et y'a qu'un seul niveau.
- TheAdventureOfLink2 (GBA, 3 personnes) : scrolling à la Mario, décors de Super Mario World puis décor du palais où dort Zelda. Passage basique de niveau via une jauge d'xp, magie qui liquide tous les monstres à l'écran, animations très très bof. Jouable mais sans intérêt. On avance à droite pdt 5 minutes en tapant à l'épée et ça passe.
- Starlancer (DS, 3 personnes) : le projet le plus abouti selon moi, y'avait un vaisseau, des planètes, des ennemis, le but c'est de faire des missions, gagner de la thune et monter de rang, système d'inertie pas trop mal, la mise en orbite autour du planète c'est galère. Il me rappelle un jeu du même style sur Megadrive ... fait par Electronic Arts ... Starqqchose ... y'avait une pub de ce jeu dans Might&Magic2 ... enfin bref ... c'est le seul projet que j'ai trouvé pas trop mal ... et ils étaient à 3 dessus !

Hawks
12/09/2007, 22h52
Sinon les autres projets :
- World Petanque Tour (DS, 1 personne) : no comment
- Jigsaw (GBA, 1 personne) : Snake + Reversi non fini

- Pacman (GBA, 2 filles) : abouti mais graphismes moches, et on peut pas bouffer les fantômes et y'a qu'un seul niveau.
- TheAdventureOfLink2 (GBA, 3 personnes) : scrolling à la Mario, décors de Super Mario World puis décor du palais où dort Zelda. Passage basique de niveau via une jauge d'xp, magie qui liquide tous les monstres à l'écran, animations très très bof. Jouable mais sans intérêt. On avance à droite pdt 5 minutes en tapant à l'épée et ça passe.
- Starlancer (DS, 3 personnes) : le projet le plus abouti selon moi, y'avait un vaisseau, des planètes, des ennemis, le but c'est de faire des missions, gagner de la thune et monter de rang, système d'inertie pas trop mal, la mise en orbite autour du planète c'est galère. Il me rappelle un jeu du même style sur Megadrive ... fait par Electronic Arts ... Starqqchose ... y'avait une pub de ce jeu dans Might&Magic2 ... enfin bref ... c'est le seul projet que j'ai trouvé pas trop mal ... et ils étaient à 3 dessus !

Possible d'avoir quelques choses

Thommasc
13/09/2007, 09h28
http://thommas.free.fr/scgba/MTI2008

J'ai mis :
Pacman
Zelda 2
Spacelancer

Les 3 jouables et un minimum intéressants.

Hawks
13/09/2007, 18h11
Merci ;)

Thommasc
15/09/2007, 14h09
J'essaye juste de compiler l'exemple (Main.c) fourni dans ADPCM Light :


C:\DevKitAdv\bin\ld -L C:\DevKitAdv\lib\gcc-lib\arm-agb-elf\3.0.2\interwork -L C:\DevKitAdv\arm-agb-elf\lib\interwork -T LinkScript -o SCGBA.elf crt0.o crtbegin.o crtend.o Main.o Commun.o Adpcm.o Effect.o Music.o -lstdc++ -lc -lgcc -lc
Commun.o: In function `initSIN_VBL':
C:/Gbadev/SCGBA/Commun.c:182: relocation truncated to fit: R_ARM_PC24 __floatsidf
C:/Gbadev/SCGBA/Commun.c:182: relocation truncated to fit: R_ARM_PC24 __muldf3
C:/Gbadev/SCGBA/Commun.c:182: relocation truncated to fit: R_ARM_PC24 __muldf3
C:/Gbadev/SCGBA/Commun.c:182: undefined reference to `sin'
C:/Gbadev/SCGBA/Commun.c:182: relocation truncated to fit: R_ARM_PC24 __muldf3
C:/Gbadev/SCGBA/Commun.c:182: relocation truncated to fit: R_ARM_PC24 __fixdfsi
C:/Gbadev/SCGBA/Commun.c:157: relocation truncated to fit: R_ARM_PC24 malloc
Commun.o: In function `initINV_VBL':
C:/Gbadev/SCGBA/Commun.c:222: relocation truncated to fit: R_ARM_PC24 __divsi3
C:/Gbadev/SCGBA/Commun.c:204: relocation truncated to fit: R_ARM_PC24 malloc
Commun.o: In function `initSprites':
C:/Gbadev/SCGBA/Commun.c:244: relocation truncated to fit: R_ARM_PC24 __udivsi3


Solution :
-mlong-call dans le compilo

Thommasc
16/09/2007, 12h29
Autre prob maintenant :

Commun.o: In function `initSIN_VBL':
C:/Gbadev/SCGBA/Commun.c:158: undefined reference to `sin'


J'vais y arriver xD

Thommasc
16/09/2007, 12h42
C'est bon !

Par contre, le .wav que je joue lag, c'est normal ? :/

Nrx
16/09/2007, 21h51
Oh... je ne me souvenais pas avoir laissé tant de trucs inutiles dans mon code d'exemple (ces "initSIN_VBL" et "initINV_VBL" n'ont absolument aucune utilité pour le lecteur ADPCM). Bref, j'aurais dû faire le ménage dans mon code et n'y laisser que le strict nécessaire, ça aurait été plus simple pour ceux qui veulent l'utiliser - sorry :-'

Pour ce qui est du lag, non c'est pas très normal. L'ADPCM abime un peu le son (la compression n'est pas parfaite évidemment), mais il ne doit pas lagger. Si tu as ce genre de problème, c'est probablement que le décodeur n'est pas appelé de façon périodique, à chaque VBL (il doit normalement être appelé sur interruption pour que tout marche bien ; si c'est déjà ton cas, c'est certainement que tu fais autre chose dans l'interruption, et que cette autre chose prend beaucoup trop de temps). Ou alors, c'est que ton fichier wave d'entré n'a pas la bonne fréquence.

Thommasc
17/09/2007, 09h46
La bonne fréquence c'est bien 22050 Hz ?

"Bref, j'aurais dû faire le ménage dans mon code et n'y laisser que le strict nécessaire, ça aurait été plus simple pour ceux qui veulent l'utiliser - sorry"
No prob :-), je connais ça.

"Si tu as ce genre de problème, c'est probablement que le décodeur n'est pas appelé de façon périodique, à chaque VBL (il doit normalement être appelé sur interruption pour que tout marche bien ; si c'est déjà ton cas, c'est certainement que tu fais autre chose dans l'interruption"
Merci, je vais chercher de ce côté là pour voir ce qu'il se passe.
Sachant que c'est ton exemple qui faisait lagguer le son, c'est ça qui me fait peur.

http://thommas.free.fr/scgba/SCGBA Version 0.6 with sound.rar
écoutez le résultat :/

Par contre, j'ai mis les 4 .wav en nocompress maintenant, c'est beaucoup mieux !
Seulement maintenant, à chaque fois que je joue un son, il y a le début du suivant bizarrement !!
Sais-tu d'où vient le problème ?

Nrx
17/09/2007, 23h27
Oui, 22050 Hz est une des bonnes fréquences (et en l'occurrence, c'est la fréquence max. acceptable par mon décodeur).

Les divers problèmes auxquels tu fais face sont à mon avis soit dûs à un problème dans ton code d'interruption VBL (= problème de timing pour le décodeur), soit à un problème d'alignement des données en mémoire. A ce sujet tu noteras que dans mon code il y a des "__attribute__ ((aligned(4)))" : si tu les as enlevées/modifiées, ça pourrait expliquer pas mal de soucis.

Pour ce qui est de juger de la qualité du son compressé ADPCM, tu peux essayer mes démos et jeux : Bomb Jack ("Music jack") (http://www.artplastique.free.fr/nrx/GBA/Bomb%20Jack/ROMs/Music%20Jack.zip), GOD (http://www.artplastique.free.fr/nrx/GBA/God/ROMs/God.zip) et Mario Balls (http://www.artplastique.free.fr/nrx/GBA/MarioBalls/ROMs/MarioBalls.zip).

Thommasc
18/09/2007, 13h28
C'est marrant mais même avec tes jeux, le son saute souvent...
J'ai pas ôté les "__attribute__ ((aligned(4)))", par contre au niveau du compilo, ptet qu'il les prend pas bien en compte ...
J'ai dû mettre -mlong-call pour que ça compile sans erreur ... c'est grave =) ?

Bobby Sixkilla
18/09/2007, 13h42
J'ai jamais remarqué ça avec les jeux de Nrx (et j'y ai pas mal joué à ses jeux :wub:). C'est quoi ton matos?

Thommasc
18/09/2007, 15h58
Athlon 3700+ socket 754
1 Go de RAM
Radeon X700 256 Mo
Audigy LS

C'est ptet VisualBoyAdvance qui chie ??

Thommasc
18/09/2007, 19h02
Je cherche un scénariste/level designer pour finir le jeu.
J'ai plus le temps de m'investir de ce côté là, je peaufine juste mon code.
Si vous connaissez un fan de SC qui veut proposer son histoire...
Je peux adapter les unités en fonction du scénario.

Bobby Sixkilla
18/09/2007, 19h02
Oué, ça doit être VBA qui foire. Rien ne vaut le hardware. ^^

Thommasc
18/09/2007, 20h34
Si seulement j'avais un kit pour connecter sur ma GBA pour tester :/

Nrx
18/09/2007, 23h59
Pour info, tu as quelle version de VisualBoyAdvance ? (moi je suis resté en v1.7.2)
Et quelles sont tes options ? Perso j'ai :
- Frame skip => 0 / no throttle,
- Video => Vsync,
- Sound => On, Channel 1~4, Direct Sound A & B, 22 Khz,
- Priority => Normal.

[Edit] Note que si VBA t'indique que le jeu ne tourne pas à 100% (cf. dans la barre de titre de l'application), alors y a un soucis : soit ton jeu bouffe réellement trop de ressources, à tel point que ton PC n'est pas capable de l'émuler correctement, soit y a un problème dans ta configuration. Normalement tu devrais presque toujours être au dessus de 98%.

Thommasc
19/09/2007, 11h58
Je suis toujours collé à 99%, le problème doit venir de ma boucle principale ...
Le "while" de mon timer doit interferer avec Adpcm ...

C'est quoi l'histoire du Adpcm.update(), ça sert à quoi exactement ?

omg
19/11/2007, 10h55
Alors? Desnews?

Thommasc
23/11/2007, 14h54
Je cherche tjs un scenario, le moteur de jeu est la,
probleme au niveau du son mais sinon c'est plutot sympa...
Regardez du cote de Dota DS, ils sont 7 et ils ont eu le droit de continuer le projet, moi depuis le rendu, je me suis concentre sur mon projet entreprise...

omg
23/11/2007, 15h04
En espérant que tu le finisse! :)

Deathborn
02/12/2007, 16h11
Salut ^^ tu doit peut-être me reconnaitre, je suis celui qui t'avait fait de la pub sur mon forum http://XXX , je te souhaite une bonne continuation ^^

Edit de Bobby : Merci de lire les règles.

Smealum
02/12/2007, 16h39
Ah, mais c'est aussi toi qui fais de la pub pour ton site en ce moment même, n'est ce pas ?

Jolie publicité détournée en tout cas. Mais t'aurais dû mettre plus de texte inutile, ça serait surement passé plus inaperçu.

Deathborn
27/12/2007, 00h23
Je suis content d'être l'un de tes amis thomas ^^ ton projet à bien avancer, pendant ce temps mkn forum aussi mais je pence que je vais le mettre au couleur de Super smash bros brawl lorsqu'il sortira ^^ en tout cas bonne continuation ;)

Deathborn
27/12/2007, 00h27
Je ne fait pas de pub.... je m'en balance complètement car mon forum n'avance pas beaucoup... et donc je ne préfaire pas que des gens s'inscrive.... et tu me disai sa pour m'embêter ou me portait conseil ? :s

Thommasc
27/01/2008, 19h09
Cherchant toujours une seconde vie à insufler à mon jeu vidéo...

Je me demande si créer un clone de Magic : the Gathering avec l'univers de Starcraft ne serait pas une bonne idée...

C'est en jouant à FFTA que je me suis rendu compte que l'essentiel pour faire un jeu vidéo qui plait et qui est prenant, c'est de créer avant tout un bon moteur de jeu.
Ensuite à partir du moteur de jeu, on peut développer des centaines de jobs, items, etc.

Dans un premier temps, je pourrais me contenter de créer le moteur de fonctionnement du jeu, et je relèguerai les graphismes à la fin...

Sans me focaliser sur Starcraft, n'importe quel autre univers prenant ferait l'affaire... pourquoi pas même créer un pseudo Dota avec un système de jeu moins temps réel mais plus stratégique et tour par tour.

Comme quoi avant de se lancer tête baissée dans le code, il faut avoir une idée précise de ce qu'on veut obtenir...
Et comme je suis pas du tout posé au niveau des idées, je code pas encore...

De plus, avec ma première expérience sur GBA, je vais pouvoir passer au niveau supérieur et coder sur DS.