SPACE SURVIVOR

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 14 août 2008 à 09:19
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009 - 18 sept. 2008 à 23:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47600-space-survivor

stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
18 sept. 2008 à 23:00
Oui mais je prefere garder mes $ maintenant je trouve sa plus clair et je m'y suis habitué. Merci et bonne nuit ;)
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 sept. 2008 à 22:58
je vois ... mais tu sais que tu peux faire "doublons" avec les noms de param et ceux existants .. essaye ça :

var toto = 50;

traceToto(60);
trace (toto);

function traceToto(toto) {
toto += 20
trace (toto)
}

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
18 sept. 2008 à 22:51
j'ai pris cette habitude en regardant les codes de top30.
J'ai trouvé cette idée assez simpa pour differancier les paramètres des variables normales.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 sept. 2008 à 22:49
oki, alors bizarre que tu mettes des "$" devant tes noms de certaines variables.

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
18 sept. 2008 à 22:46
oui
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 sept. 2008 à 14:23
que ta façon de coder dénote que tu es un codeur PHP avant d'être un codeur AS. Je me trompe ?

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
17 sept. 2008 à 23:26
"Ps: ok, tu viens de PHP, je comprend mieux ..."
j'ai pas compris la ?
KilikWei Messages postés 40 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 24 avril 2009
24 août 2008 à 22:34
Voulant poster un commentaire mais n'ayant pas pu pouvoir y jouer n'ayant pas flash 9 :p je l'ai mis sur page html vu que le plugin de mon firefox est a jour

Le code:

game==>SPACE SURVIVOR
Nt:je met pas le code html parce que je doute de vos competence en html mais pour les faineant comme moi qui aime le copier coller , pour ceux qui possede pas flash(peut etre certain admin comme EBArtSoft peut etre bref ou autre visiteur).
Oui parce que je trouve le jeu tres bien mais malheuresement pas beaucoup de monde peux le voir sur flashkod dans sa page sur internet (normal vu son poids).
Un tres bon jeu continu comme ça stefbuet .
voila a+
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 août 2008 à 21:26
pourquoi ne pas faire des classes de tes tirs plutôt ?

Peg'
Ps: ok, tu viens de PHP, je comprend mieux ...
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 août 2008 à 20:12
ben ce que tu "coupes" est supprimé .. regarde l'exemple ...
De plus au lieu de mettre "null" dedans, tu appliques cette fonction à ton array pour en détruire la valeur.

Ne me dit pas que tu ne vois pas l'interêt ...

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
24 août 2008 à 19:56
Je suis aller voir la doc avant d'écrire mon message, et splice permet de "couper" un Array, d'en prendre qu'un interval de l'index x à y. Je ne comprend pas comment tu peux suprimmer les cases null de l'Array via cette fonction?

Stefbuet
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 août 2008 à 19:47
oui, je te dis simplement que tu peux supprimer une (ou plusieurs) case d'un Array à l'aide de la fonction Array.Splice() ...
Va faire un tour dans le dico de Flash c'est une fonction dispo depuis Flash 5.

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
24 août 2008 à 19:38
Tu veux dire qu'a chaque ajout de tir, je re-construise l'Array sans les cases à null ?
J'y ai pensé, mais dans ce cas je suis obligé de parcourir toutes les cases de l'Array pour trouver les cases null, au contraire ici je remplace la premiere case à null, puis je break ma boucle, je ne ferais donc pas toute la boucle à chaque fois.

//reconstruction :
var newArray:Array=new Array();
for(var i:int=0; i<shoots.length; i++) {
if(shoots[i]!=null) {
newArray.push(shoots[i]);
}
}
return(newArray);

//utilisé actuellement :
research: for(var i:int=0; i<shoots.lenght; i++) {
if(shoots[i]==null) {
shoots[i]=myNewShootObject;
break research;
}
}

Voila, mais tu parles peut être de quelque chose d'autre ?

Stefbuet
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 août 2008 à 19:18
pourquoi n'utilises pas une fonction type "slice" pour supprimer simplement la case devenue vide ?

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
24 août 2008 à 19:11
Nouvelle mise à jours :

Optimisation des tirs : je n'utilise plus la méthode Array.push pour rajouter un nouveau Objet de tir dans le tableau qui les contient (shoots) mais je recherche la première place qui est a null pour lui atribuer comme valeur celle du nouveau Objet de tir, ce qui limite la taille max des boucles de mise à jour des tirs lorsqu'elles parcourent l'Array shoots. Des qu'un tir quitte l'éran il est suprimmé et sa place dans le tableau devient null.

Autrement, update du radar. Il fonctionnel parfaitement maintenant. Tous les ennemis sont affichés sur la radar. Ceux qui sont trop loins devinnent des triangles au lieu de ronds rouges.

Stefbuet
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
22 août 2008 à 03:13
Pas de ralentissements remarqués au 3e et 4e stage non
Ca doit venir de ta mule :)
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
21 août 2008 à 13:45
Salut,

Non le ZIP a Diminué de poid!
Avant il était a 80Mo sauf que les sons et img 3D n'étaient pas dedant, maintenant 50Mo.
Les meilleurs performances sont visibles pour les pc lent, les vitesse sont en px/s et non en px/frame, c'est juste le rafraichissement qui changera.
La vitesse des asteroides à été baissé de 15 à 5 :o
J'aimerais bien avoir des retours sur la nouvelle difficultée du jeu, vous arrivez jusqu'ou ? Votre pc commence pas à ramer à partir du niveau 3 ou 4 ?

Stefbuet.
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
21 août 2008 à 06:37
Ca y est enfin téléchargé xD
Bon maintenant on a une petite histoire, certes digne d'un film de steven seagall mais on sait où on en est;
Dans le jeu j'ai pas ressenti beaucoup de différences, j'ai remarqué par contre que les astéroides nous arrivaient très souvent sur la tronche, à croire qu'ils nous cherchent :(

Bon, j'ai fini le fanta, je me mets au café, plus que 10 jours :s
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
21 août 2008 à 06:22
Hmm c'est qu'il a pris du poids au passage ton zip xD
Tu vas bientôt pouvoir faire un iso avec installation à ce rythme :p
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
20 août 2008 à 13:23
J'ai trouvé l'erreur, avant d'updater les ennemis j'ai rajouté une vérification, mais au lieu de mettre un > j'ai mis un <. Donc les ennemis n'étaient plus mis à jour. J'ai réparé ce petit problème et la source sera bientôt mise à jour par un admin ;)
J'ai aussi encore un peu baissé la vitesse des asteroides (de 10 à 5 max)

Stefbuet.

PS:Un ralentissement de plus en plus fort au fils du jeu se fait ressentir, en tout cas sur mon pc, je cherche encore la cause du probleme.
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
20 août 2008 à 12:40
Je vien de voir qu'il y a un probleme avec les ennemis comme tu le dis Girou, je my met tout de suite, merci.

Stefbuet.
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
20 août 2008 à 12:31
Voila une nouvelle mise à jour du jeu :

-Poid réduit : j'ai suprimé la moitié des images de la rotation 3D du vaisseau, on passe donc de 300 à 150 images.

-Un scenario :) Après l'introduction initiale (les 3 images), ne cliquez pas tout de suite sur "passer l'intro" et vous verrez l'histoire du "space survivor". Je ne suis pas chez moi alors j'ai essayé un truc simpa : dessin au crayon à papier pris en photo, et sous Photoshop dans un calque en mode incrustation on colore le dessin.

-Plus besoin de passer par l'aide avant de jouer au jeu.

-J'ai changé certains typages de variables : Des Number changés en int, et dans la class Game utilisation des const.

-Nouveau systeme d'affichage des element du jeu qui améliore les performances. Au lieu de simplement changer la visibilité des astéroides, ennemis et tirs via leur propriété visible, je les enleves et remets dans la displayList grace à removeChild et addChild.

-J'ai créé une class Star qui est capable de remplacer toutes les instructions de mise à jour des étoile dans la class Game, seulement je n'arrive pas a avoir les même taille d'étoiles que dans la class Game, c'est pour sa que je l'ai mise dans un dossier "facultatif".

-Meilleur gestion de la mémoire dans la class Main. Toutes les references d'objets qui ne sont plus utilisés sont passées à null, ainsi le garbage collector peut mieux travailler ;)

-La vitesse du vaisseau hero à été augmentée.

-Augmentation des bonus de vie et de vitesse (vie : +10% au lieu de 5%, vitesse = +2px/s au lieu de 1px/s).

-La vitesse de tous les ennemis à été legerement baissée.

-La vie du joueur est differante en fonction du niveau de difficultée choisie. Avant on avait 1000 tout le temps. Maintenant avec mode facile on a 2000, normal 1500 et difficile 1000.

-La vitesse des asteroids à été diminuée legerement (elle va de -10 à 10 au lieu de -15 à 15)

Voila pour cette mise à jour.

Je cherche encore :
-Pourquoi les animation des décharges electriques (sparks) de tous les vaisseaux ainci que les explosions des asteroides (ricochets) au demarage se déclanchent alors qu'il y a un stop sur la premier frame des animations.
-Comment utiliser la fonction addFrameScript depuis ma class Game en appelant une fonction de la class Game pour gérer la fin des animations au lieu d'utiliser des boucles for plus couteuses en puissance.

Stefbuet.
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
20 août 2008 à 12:11
Heu, petite question stupide...
Vous êtes sur que le swf dans la source est bien compilé, parce que moi, j'ai pas encore réussi a voir le moindre vaisseau ennemi et encore moins de bonus :o(
Juste des astéroides...

Girou
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
18 août 2008 à 16:47
Argh Lidl, bah la cafeïne elle est bonne ici comme ailleurs hein ;)
J'espère seulement que je vais pas finir avec une source de 100mo là, faut que je nettoie ma gallerie à fond sinon ça va pas le faire.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 août 2008 à 15:31
Moi je tourne au cappuccino vanille de chez Lidl avec un nuage de lait ... 'suis pô riche, moi ;)
Mais qu'est-ce que je m'amuse en tout cas ;)

Bref, tout ça pour dire que je pense que les plus belles sources viendront vers la fin. Le fait de vouloir la mettre rapidement n'est pas une bonne chose, malgré tout les commentaires donnés ici, car ça donne une fausse impression de "bâclé".

Comme on vient de dire, il reste peu de temps avant la deadLine et autant ça doit servir à ceux qui n'ont pas finis de se bouger l'arrière-train, autant ça doit permettre à tout ceux qui ont déjà mis leurs source ici de la peaufiner .. au contraire, qu'ils en profitent !

Peg'
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 août 2008 à 15:18
Et ouai faut se grouiller les gars !!!
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
18 août 2008 à 15:00
ouais 13 jours...
Va falloir que je me fournisse en Colombie directement pour le café là. Ca va être limite xD
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
18 août 2008 à 14:28
Oui je reconnais également que parmis tout ceux posté jusqu'a présent c'est celui qui m'a le plus plût (bien qu'il boufe beaucoup de ressource !)

Mais comme le souligne Peg', il reste 13 jours. C'est donc à mon sens la meilleure... pour le moment ;)
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
18 août 2008 à 13:48
Pour le niveau de jeu d'accord avec Blacknight, une fois qu'on arrive au 2e boss c'est même plus la peine. La première fois que je le rencontre je me prends une salve de laser avant de le voir et boum mort :(
Deuxième fois, il apparait commme par magie mais j'arrive à esquiver. Je lui tire dessus par derrière et il meurt.
J'ai jamais passé le 5e niveau par contre, la dernière fois j'ai encore eu un bug d'accrochage avec un ennemi :(
Enfin pour le moment c'est le jeu sur lequel j'ai le plus rejoué de toutes les sources.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 août 2008 à 13:42
il suffit de lire la règle du concours :

Le jury sera composé des membres de nos partenaires au concours ainsi que d'administrateurs de CodeS-SourceS.

Je doute que les partenaires (sauf adobe) ne soient en mesure d'estimer le code des jeux.
Pour ce qui est des admins CS, je n'en ai aucune idée ... les membres, par contre ... ;)

Mais je reste curieux de savoir comment ça va se passer.

Bref, encore 13 jours (argh) et on verra bien ...

Peg'
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
18 août 2008 à 13:28
A ce moment la on peut appliquer le même principe pour les graphismes.
D'ailleurs les avis vont encore plus diverger pour celui-ci.

Pour le code, le but final est je penses la portabilité (puisque posté comme une source) mais également les ressources employés (par rapport au langage puisqu'avec as3 on a beaucoup plus de potentiel) et enfin l'organisation du code. J'entends par ce dernier argument surtout le commentaire, pertinent ou complètement absent.

Il me semblait que le jury se trouvait à ne pas être les membres de codes-sources. Est-ce bien le cas ? Surement les admins donc (ils ont donc une certaine expérience en matière de dévellopement donc de quoi juger).

Blacknight
Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
18 août 2008 à 13:06
Blacknight91titi, si le code est présent dans la note il faudra le juger... Or tout dépend de la façon de juger le code des participants! Qu'est ce qui est considéré comme pas bien pour toi? Peut être que chacun n'a pas les mêmes critères. Ce qui peut paraitre pas mal pour quelqu'un, va paraitre nul pour une personne ayant un niveau plus avancé.

On peut programmer en AS3 ou en AS2 (ça fait déjà 2 façon de coder très différentes...)

Mais cela dit, c'est vrai que les sources ne doivent pas être codées n'importe comment!
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
18 août 2008 à 12:14
Ceci-dit au passage Mansuz, les particpations au concours sont postées en tant que source sur le site.
Et une source au départ se doit d'être irréprochable (en théorie bien sûr). L'idée est tout de même la.

Je trouves aussi domage que ce point ait été négligé par Codes-sources.

En ce qui concerne cette source, bravo pour le rendu final. Je suis d'accord avec la majeur partie des commentaires postés jusqu'a présent.
Note : Le niveau du jeu me semble trop élevé. Une fois arrivé au niveau 2 il ne faut même plus espérer pouvoir détruire un croiseur... Entre ces tirs continu (d'autant qu'il tourne presque à la même vitesse que nous) et tout les astéroïds.... Même avec un bouclier à 100% je n'ai jusque la jamais réussit.
Un léger mange de maniabilité également lors des tirs (puisqu'ils ne vont pas asez vite).

Au final, malgrès que cette belle usine à gaz façon mémoire vive (pour imager) est un très bon potentiel, il manque d'exploitation.

Je note au passage que le graphisme fait bien partie lui des crtières pour le concours. Pourquoi pas le code donc, d'autant qu'il me semble que c'est bien le plus important.

Blacknight
Note : Pas de note pour le moment (j'attend l'update, a condition qu'il soit concluant)
Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
18 août 2008 à 10:20
pegase31, ça laisse une chance à tout le monde. :)
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 août 2008 à 08:25
Je viens de regarder (une fois de plus) sur le règlement du concours, et quand on lit le barème :

Les critères pris en compte par le Jury pour l'attribution des notes sont notamment :

4 pts/30 : La créativité : Soyez créatif et original.
4 pts/30 : L'intuitivité : Plus simple sera la prise en main et plus votre jeu sera apprécié.
5 pts/30 : La beauté : N'hésitez surtout pas à mettre la gomme sur les effets sonores et visuels !
7 pts/30 : La jouabilité : Donner du dynamisme et de la vie dans vos animations.
10 pts/30 : Appréciation générale : Le retour global sur votre jeu et le coup de coeur du jury.

nulle part il n'est mentionné que le code est pris en compte. Donc dans l'état actuel des choses, tu as le droit de faire un code pourris et du moment que le jeu fonctionne, tout va bien.

Cherchez l'erreur sur "code-source" ...

Peg'
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
15 août 2008 à 14:32
Obligé de passer par l'aide oui, je lui ai déjà fait part de ce problème.
Bah les jeux arcades en flash dès que ça bouge beaucoup tu peux pas faire grand chose derrière. (en terme de mémoire CPU surtout, mon jeu tourne à 25%-40% de mémoire)
la mémoire après tout dépend.
Enfin faut pas s'amuser à faire une analyse antivirus en même temps c'est sûr :) (déjà fait le flash player suivait pas lol)
gremlins7 Messages postés 380 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 28 décembre 2009
15 août 2008 à 14:22
Je dois dire pour ma part que j'ai passer quelques heures scotché sur ton jeu...je suis devenu une vrai star de Space Survivor !!! Malgrès tout les problèmes de mémoire, ce jeux est très amusant !!!

Soit-dit en passant, chez moi quand je joue, je ne peu plus rien faire d'autre : tout le système est occupé ! Pis, je sais pas pour les autres mais quand je veux jouer, je suis obliger d'aller dans l'aide d'abord, puis après de revenir au menu principal pour jouer sinon pas moyen de jouer directement...

Voila, je te souhaite bonne chance pour le concours.
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
15 août 2008 à 13:35
Ce que je voulais dire au niveau de la mémoire, c'est pas pour le taille du swf,
juste que si je fait genre :
anim=new animation();
//sa rajoutera 10mo environs de mémoire ram prise par le lecteur flash
anim=null;
//plus de ref vers l'object animation créé juste avant
//mais les 10mo ne disparaissent jamais...
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
15 août 2008 à 13:26
J'ai décidé de laisser uniquement 1 image du vaisseau lors du menu principale. Cela fait gagner 350mo de mémoire utilisé. Je suis deçu j'avais mis du temps a faire les images du vaisseau qui tourne en 3d :(
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
15 août 2008 à 12:44
J'ai zieuté la bibli et bah quand je vois le nombre d'images pour les astéroïdes ^^;
T'as pas besoin de toutes ces images pour des astéroïdes. tu peux en enlever une bonne moitié et la rotation aura toujours l'air aussi bien
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
15 août 2008 à 12:28
Le soucis réside dans la démultiplication des images de ton jeu ...

Tu as beau passer ton clip à null, la bibliothèque reste pleine et c'est ça qui prend de la place.
A vouloir faire trop beau, tu risques de faire une usine à gaz.

Génère un rapport de taille dans tes paramètres d'exportation, et regarde le poids de chaque éléments .. tu verras que ce qui prend le plus de place ce sont les sons et tes images d'intro.

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
15 août 2008 à 11:57
Je suis avec vista la ou je suis pour le moment huhu super je te confirme :D
Autrement, j'ai beaucoup optimisé la class Main, et tous les objets non utilisés sont passé a null. Le probleme avec le vaisseau en 3D qui est un clip, c'est qu'apres avoir été enlevé de la liste d'affichage, puis avoir passé toutes ces references à null, ben la mémoire ne baisse pas a nouveau le garbagecollector ne fait pas sont boulot...
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
15 août 2008 à 11:54
450mo de mémoire pour 45% du CPU. Je trouvais que la LED du CPU d'activait beaucoup après lecture du swf :s
Par contre hallucinant, la mémoire est pompée dès la rotation du vaisseau en 3d dès le début du jeu ^^;

Bon heureusement que j'ai un peu de mo mais pour les pc un peu plus failblard et en plus avec vista ça doit être la galère ~_~
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 19:54
je viens de lire l'article suivant : http://www.gskinner.com/blog/archives/2006/06/types_in_as3_in.html
Effectivement, une légère différence, mais négligeable pour quelques variables ... il faut remettre dans le contexte.

Au final, le code en est plus "léger" et plus structuré.
Après ce n'est pas une "faute", juste un peu plus de mémoire utilisée ...

Je te rappelle que ton animation prend plus de 400Mo en mémoire et en moyenne 30% de CPU sur un dual-Core ...

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
14 août 2008 à 19:47
J'ai mis les grands switch de parametrage à part dans des fichiers AS. Pour le typage, si, le uint est extremement plus long que les autres type int et Number. Cependant je ne sais pas entre int et Number... c'est pour cela que j'utilise Number. Je vais faire des recherches.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 19:43
c'est surtout une question de mémoire ... un uint est moins lourd qu'un int, qui l'est encore moins qu'un Number ... pour ce qui est de la rapidité, ce sont tout les 3 des chiffres, donc quesiton "rapidité", je doute qu'il y ait des différences.
Le XML, par contre, est bien plus rapide qu'un Array .. surtout avec l'E4x de l'AS3.

De plus, attendre de faire un jeu fonctionnel pour reprendre tout le code est une méthode plutôt discutable quand au temps passé dessus.
Ensuite, tu auras beau faire 150.000 .as, au final tu n'auras qu'un fichier SWF. Et si tu parles du XML, tu peux le définir directement dans une classe (par exemple) et il n'y aura rien d'externe lors de la compilation.

Peg'
Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
14 août 2008 à 19:36
Je crois que int est plus rapide que uint. Dans le doute faut utiliser Number!

Beau jeu! ;) Ce que me dérange un peu, c'est que l'on peu rattraper ses tirs. :)
Et puis j'ai pas pu joué au jeu online (le chargement n'en finissait plus).
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
14 août 2008 à 19:20
Merci pour toutes tes remarques. J'attendais d'avoir fini le jeu au niveau fonctionnel pour le poster sur flashKod et recevoir des remarques de ce genre très, mais alors très importantes pour moi, pour pouvoir optimiser le code.

Sache que si je le pouvais j'aurais vraiment utilisé des fichiers XML pour tout! Pour chaque ennemi, pour les armes, les bonus... Mais c'est bien expliqué, tout doit être dans un seul fichier swf... C'est pour cela que j'utilise des gros switchs très moches, après le concours je mettrais tout sa dans des XML, promit.

Je vais actuellement faire des optimisations sur les boucles for. Cependant j'ai entendu dire qu'utiliser des uint est plus lent que les Number. Qu'en est-il des int ?

Merci encore,

Stefbuet
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 17:30
bon, j'exagère un peu .. mais c'est clair que quand je vois ces alignements de "if" les uns derrière les autres, toutes ces ribambelles d'images et ces switch/case remplis de variables, ça donne une certaine sensation de "trop pleins" ... tu sais, comme quand tu as eut un sandwich en plus gratos à Mc Do grâce à un bon de réduction au dos de ton ticket de caisse Auchan, et que "pour pas gâcher" tu te forces à le manger ... ben c'est un peu comme ça que je me sens.

Alors en vrac, et désolé d'avance pour la tournure de certaines phrases :
- pas de typages de variables intelligent (aucun int ou uint, par exemple), aucune const, juste des var ..
- trop de variables, beaucoup trop ! tu aurais pas pu coller ça dans un XML, histoire de "classer" ?
- des "if" en cascade ... tu ne dois pas connaitre le "&&" ou le "||" car il est courant de voir 2 ou 3 "if" à la suite
- switch/case, c'est bien, mais là c'est de l'abus car tu définis toutes tes variables (dans l'IA, par exemple) à la chaine ... un XML bien sentis aurait eut un effet plus "clair" et surtout moins lourd à la lecture et l'utilisation.
- Je râlais il ya peu contre la démultiplication des .as mais là avec l'AS3, pas le choix et c'est franchement un gain de lisibilité et de temps machine (au final)... tes codes méritent largement d'êtres morcelés, toujours pour une question de lisibilités.
- pourquoi ne vois-je que si peu d'écouteurs d'évènement ? l'AS3 repose sur ce principe fondamental et n'est pas exploité dans ton code.
- trop de répétitions et de boucles inutiles qui alourdissent ton code. Par exemple je vois 3 ou 4 fois "for(var i:Number=0; i<starsNumber; i++)" à la suite dans Game, alors qu'une seule boucle avec une fonction appelée aurait un effet plus limpide et plus simple.
- Fais attention à tes import en début de classe, certains sont dupliqués et d'autres inutiles.
- trop d'images .. l'AS3 permet de traficotter les bitmaps aussi bien que n'importe quel assembleur et te permettrais donc de faire des planches de sprites pour tes astéroïdes par exemple.
- le code ":void" après une déclaration de fonction est important et utile, il permet de dire qu'une fonction ne renvoie rien, donc de libérer de la mémoire. (c'est plus "propre")
- pour ce qui est de l'export, tes images ne sont pas en PNG, mais bien en Jpeg 100% et j'ai même vu des sons en exportation brut !

Bref, j'ai l'impression de me retrouver devant un code AS1 mais fait en AS3.
Tu n'as pas exploité les possibilités de ce langage, c'est vraiment dommage ...

Je comprend que certains trucs te dépassent, mais sache simplement que je suis graphiste et pas codeur à la base, et que le passage à l'AS3 m'a donné la même impression que celle de passer du collège au Lycée. Un véritable dépucelage du C.. enfin, tu m'as compris. Mais franchement, quand je vois mon CPU qui grimpe à 43% (et c'est pas un PC de merde) pour une telle animation, ça me fait quelque chose ...
Je suis passé aux classes (pas trop el choix), à une écriture normalisée (ou presque) propre et je me suis rendu compte qu'avec un rien je gagnais 5% sur la charge CPU .. ben ça fait vraiment plaisir.

Après, ok, ton jeu fonctionne, il est beau, sympa, mais franchement, 34 Mo ?!

Avec quelques modifs, j'ai réussis à passer à 27.5Mo, mais pas mieux en quelques minutes.

Mais pour rester positif (car il le faut), ça reste le plus beau jeu de tout le concours et il fonctionne bien. Enfin à condition qu'on ne jette pas un œil au code et qu'on soit en fibre optique ...

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
14 août 2008 à 16:54
Ok...
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 16:51
oui, non, pas maintenant ... je peux pas, c'est trop dur. Je finis de me bourrer la tronche à coup de candy'up d'abord et on en reparle demain. C'est trop pour moi, là ....

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
14 août 2008 à 16:28
Ok merci, pour le moment, vu que c'est une énorme source, je ne vais pas tout de suite mettre en ligne le ZIP sur flashkod, mais je vais faire un max de modifications.
Donc Pegase, tu peux debaler tout ce que tu as sur le coeur :D
@++
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
14 août 2008 à 16:25
stefbuet> désolé j'ai du enlever le rotation 3D et les sons du fla pour le passer dans la base... disons que au dela de 50mo ça pose malgres tout des problemes que l'on doit gerer au cas par cas. Si tu mets à jour ta source fais s'il te plait comme la premiere fois (via mp) ainsi je pourrais uploader le zip plus rapidement.

Je vais essayer de faire passer le zip avec les sons mais je promet rien pour le moment...

@+
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
14 août 2008 à 15:46
Ok, merci pour toutes vos remarques.

@Raddreamer :
-Je vais essayer de faire une petite intro avant le menu principale [devrais-je dire desolé nix pour le poid suplémentaire ? :'( ]
-Ok, je suprimme la restriction qui oblige le joueur à lire l'aide avant de jouer.
-Pour les autres bug, je suis dessus

@pegace :
-Je ne comprend pas, le Fla fait 49Mo, et il y a tous les sons dedant. J'avais mis exportation en exe pour les gents qui ne savent pas comment lire les swf, et mes swf sont créés tout seul lors d'un test de l'anim.

-Tous mes graphismes sont par default en PNG, mais est-il possible de les laisser en PNG au lieu de prendre la compression JPG?

-Je vais intégrer la police dans la bibliotheque.

@gremlins :
Normalement pour compiler il te suffit d'ouvrir le fla et de tester l'animation, je ne comprend pas pourquoi vous n'avez pas les sons!

@pegase (bis) :
Essaye de telecharger la source sur mon ftp :
http://stephane.baleon.free.fr/FlashKod/concours/upload04/Space%20Survivor.zip
Pour le code, oui je sais, c'est un peu un massacre mais avec le temps que j'ai eu pour develloper le jeu, j'ai préféré finir à l'arrache et améliorer ensuite plutot que le contraire.


Désolé pour tous les probleme que vous avez je vais m'efforcé de tous les corrigés.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 15:42
non, j'ai pas réussis à la compiler, justement ...
Il manque des classes de sons dans la biblio. donc cette source est actuellement inexploitable.

Là je regarde le code .. et je pleures à chaudes larges pour le massacre de ce pauvre AS3 si malmené ...

Peg'
gremlins7 Messages postés 380 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 28 décembre 2009
14 août 2008 à 15:39
Salut à tous...
Je voudrais saluer le merite de pegase31 qui à reussit à compiler cette source...
Parceque chez moi, j'ai erreur de compilation sur erreur de compilation...c'est la prise de tête !
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 15:25
Ah oui, ok .. je vois. Ben au moins tu as gagné le concours de "la plus grosse source jamais mise en ligne sur flashkod" ...
Mon pauvre Nix, je compatis à ton royale postérieur d'avoir pondu un tel zip ;)

Bref, alors voyons ce jeu.

- Alors déjà il va falloir m'expliquer comment tu peux avoir un swf de 34Mo avec une source qui en fait peine plus de 13 ... ok, je vois, tu as mis l'exportation des jpegs par défaut à 100% grossière erreur car au final c'est plus lourd que si tu avais laissé les PNG ...
Sans parler du fait de laisser les paramètres d'exportation en .exe et plus swf.

- Tu utilises des polices qui ne sont pas dans la biblio, donc flash demande à ce qu'on les importe, il serait bon de les ajouter dans la source (désolé Nix).

- j'ai extrait la source avec les as, j'ai ouvert le fla, changé le paramètre en swf et lancé une compilation ... puis :

Game.as, ligne 153 => 1046: Ce type est introuvable ou n'est pas une constante de compilation : reactor_snd. => private var reactorSound:reactor_snd;
Game.as, ligne 192 => 1180: Appel à une méthode qui ne semble pas définie, reactor_snd. => reactorSound=new reactor_snd();
Game.as, ligne 196 => 1180: Appel à une méthode qui ne semble pas définie, game_snd. => gameSound=new game_snd();
Game.as, ligne 238 => 1180: Appel à une méthode qui ne semble pas définie, lvlUp_snd. => lvlUp_sound=new lvlUp_snd();

Ok, le répertoire sons de la biblio est vide ... pour alléger le poids final ?

Bon, j'arrête-là pour le moment, car beaucoup d'autres choses à dire par la suite, mais rien que ça c'est pas bon à mon avis ...

Alors déjà :
- arranger ce satané poids, car tout le monde n'est pas encore en fibre optique
- remettre les sons de base (en mp3, c'est moins lourd dans la source et le zip fera moins de 100Mo comme ça
- remettre les principes de base de la compilation en swf, histoire d'éviter des commentaires du genre "ça marche pas, je comprend pas"

Peg'
raddreamer Messages postés 170 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 22 décembre 2010
14 août 2008 à 15:12
Ouah 40mo le zip xD
Bon ça vaut le coup de télécharger tout ça.
Le logo du début (je l'aurai bien vu encadré et mis dans un fond noir pour faire plus pro) avec la petite musique stridente. L'écran titre, tout ça met bien dans l'ambiance.

Une histoire ? Bon faut survivre dans l'espace d'accord, tout le monde t'en veut dans le jeu mais pourquoi ? Même les parodius ou n'importe quel shoot a une histoire aussi débile soit-elle :)

Début du jeu (bon obligé de se taper l'aide à chaque fois c'est un peu chiant à la longue)
le joueur s'il veut se la taper il le fera t'inquiète. Sinon tu fais une aides qu'on puisse passer en cliquant au début du jeu. De toute manière les controles sont naturels.

Je lance le jeu à bord de mon vaisseau. C'est très sympa

Y a des bugs tout de même mais ça n'enlève rien au fun :
Première chose : le vaisseau est super gros par rapport à la taille de l'écran. Bon c'est clair que si on le fait plus petit ça sert à rien de passer sur 3ds ou toshop pour le rendre beau. (même soucis pour moi, j'ai du passer en 1024 en réso pour mon jeu sinon autant faire du pixel art)

Quand je perds une partie et que je clique sur recommencer, je me retrouve avec le bruit de tir en continue quelques fois

Bug de collision quand je fonce sur le croiseur impérial (oh qui a dit impérial ? :D) je me suis retrouvé bloqué sur son nez et impossible de m'en défaire :(

Le radar aussi donne des infos plus ou moins erronées. l'écho est souvent au centre du radar longtemps avant que je rencontre l'ennemi.

Soucis avec les ennemis qui ont tendance à te tirer dessus avant d'être sur la scène ^^;

Orthographe : sourie prends un "s" et non un "e" je crois ^^; Souris :D
Dans ton aide aussi pour les contrôles : entre "il" ou "le vaisseau" il faut choisir

En tout cas bon jeu, j'ai hâte de voir de petites corrections dessus. Ca me motive encore plus pour finir le mien quitte à passer quelques nuits blanches dessus
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 09:25
Bon, alors on va attendre un peu ... mais comme c'est de l'AS3, on va décortiquer ça lentement, tout douuuucement ;)
Attention, je serais impartial sur le code cette fois-ci ! :D

Peg'
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
14 août 2008 à 09:20
Oui
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 09:19
je suppose (encore une fois) que la raisons pour laquelle la source n'est pas encore dispo c'est qu'elle est entre les mains de l'admin en phase de validation ?

Peg'
Rejoignez-nous