Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SPACE SURVIVOR


Information sur la source

Catégorie :Jeux Classé sous : Concours Flash, Arcarde, espace, shoot, vaisseau Niveau : Expert Date de création : 14/08/2008 Date de mise à jour : 24/02/2009 20:17:24 Vu / téléchargé: 3 808 / 405

Note :
Aucune note

Commentaire sur cette source (62)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Space Survivor est un jeu qui vous met dans la peau d'un pilote de vaisseau spacial. Le but du jeu est de survivre dans le monde hostile de l'espace, pour cela vous devez détruire les vaisseaux ennemis et éviter les asteroïdes ou les détruire grâce aux différentes armes et bonus présents dans le jeu, à travers differents niveaux.

Le jeu possède 10 niveaux, d'une difficulté progressive. Vous retrouverez 10 bonus récupérables dans le jeu en détruisant les ennemis, dont 7 armes différentes. Vous pouvez sélectionner un niveau de difficulté avant de commencer une partie, facile, normale ou difficile, ce qui fera varier l'intensité des réparations sur le bouclier de votre vaisseau à la fin de chaque niveau.

Pour les ordinateurs peu puissants sur lequels le jeu irait lentement, lors d'une partie, vous trouverez un bouton en bas "options" qui vous permet de désactiver certains effets lourds en calculs. Cependant, un ordinateur lent, ou un rapide ne sera pas désaventagé au niveau de la vitesse du jeu, car toutes les vitesses du jeu ne sont pas en pixels par image, mais bien en pixels par segonde.

Contrôles du jeu :
Orientez le vaisseau grâce au curseur de la souris.
Plus le curseur est éloigné du vaisseau plus les réacteurs du vaisseau auront de puissance.
Tirer avec le clique gauche de la souris.
Changer d'arme avec la mollette de la souris (ou les fléches haut et bas du clavier [voir dans source pourquoi])
Mettre le jeu en pause avec la touche P du clavier
Désactiver la musique de fond avec le bouton en haut à droite dans le jeu.
 

Source

Conclusion

Le jeu est codé en AS3. Tout le code est placé dans des fichiers externes (.as). Le fichier FLA ne contient que les élements graphiques necessaires dans la bibliothèque, rien sur la scène principale.

Pour changer d'arme on peut utiliser soit la molette de la souris soit les fléches haut et bas du clavier, en effet je me suis rendu compte que l'évènement MouseEvent.MOUSE_WHEEL ne marche pas sous les mac, ainsi tout le monde pourra profiter du jeu :)

Un coefficient est appliqué à toutes les vitesses du jeu pour que le jeu tourne à la même vitesse sur toutes les machines. On calcule le temps écoulé entre deux appels de la fonction de mise à jour du code grâce à getTimer() (flash.utils.getTimer)

Dans les options vous pouvez mettre le mode de détection de collisions en Boundary Box. Cela ira beaucoup plus vite qu'avec le mode Perfect Pixel, mais  la jouabilité est fortement endomagée. On ne peut pas tout avoir sur un ordinateur lent, la qualité, ou la vitesse :p

Les graphismes du vaisseau principal ont été faits en 3D sous 3dsmax puis exportés en images png pour flash. Le design 2D n'étant vraiment pas mon truc, j'avais prévu de faire tous les ennemis en 3D, mais par faute de temps et de disponibilité seul le premier ennemi à été modelisé en 3D, tous les autres proviennent de Photoshop.

Description des fichiers :
Main.fla : contient les élements graphiques du jeu dans la bibliothèque.
Main.as : Document class, permet de lancer le jeu et jongler entre les differentes fenêtres du jeu.
Game.as : se charge de tout initialiser, puis de tout mettre à jour, puis de tout quitter.
IA.as : se charge des calculs nécessaires aux actions des ennemis.
collisions.as : code et non classe, inseré dans la class Game qui s'occupe des collisions.
ScoreManager.as : gestion de tout ce qui concerne l'affichage graphique et la mise à jour du score.

Dernière chose :
petit conseil pour détruire les ennemis plus facilement, approchez vous un maximum d'eux en évitant leurs tirs jusqu'à ce qu'il changent leur trajectoire pour éviter la collision, lorsqu'il feront demi-tour, tirez leur dessus !
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

14 août 2008 09:10:14 :
Correction des fautes d'orthographe.
14 août 2008 14:35:30 :
Zip
20 août 2008 00:49:17 :
Zip
20 août 2008 20:00:21 :
Zip
22 août 2008 17:54:36 :
Zip
24 février 2009 20:17:28 :
Zip

Commentaires et avis

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 09:19:30 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 14/08/2008 09:20:28

Oui

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 09:25:16 administrateur CS

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'

signaler à un administrateur
Commentaire de raddreamer le 14/08/2008 15:12:07

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

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 15:25:16 administrateur CS

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'

signaler à un administrateur
Commentaire de gremlins7 le 14/08/2008 15:39:44

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 !

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 15:42:16 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 14/08/2008 15:46:42

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.

signaler à un administrateur
Commentaire de EBArtSoft le 14/08/2008 16:25:12 administrateur CS

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...

@+

signaler à un administrateur
Commentaire de stefbuet le 14/08/2008 16:28:01

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
@++

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 16:51:08 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 14/08/2008 16:54:15

Ok...

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 17:30:44 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 14/08/2008 19:20:08

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

signaler à un administrateur
Commentaire de Mansuz le 14/08/2008 19:36:00

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).

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 19:43:43 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 14/08/2008 19:47:13

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.

signaler à un administrateur
Commentaire de pegase31 le 14/08/2008 19:54:53 administrateur CS

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'

signaler à un administrateur
Commentaire de raddreamer le 15/08/2008 11:54:46

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 ~_~

signaler à un administrateur
Commentaire de stefbuet le 15/08/2008 11:57:50

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...

signaler à un administrateur
Commentaire de pegase31 le 15/08/2008 12:28:40 administrateur CS

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'

signaler à un administrateur
Commentaire de raddreamer le 15/08/2008 12:44:07

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

signaler à un administrateur
Commentaire de stefbuet le 15/08/2008 13:26:03

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 :(

signaler à un administrateur
Commentaire de stefbuet le 15/08/2008 13:35:14

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...

signaler à un administrateur
Commentaire de gremlins7 le 15/08/2008 14:22:08

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.

signaler à un administrateur
Commentaire de raddreamer le 15/08/2008 14:32:18

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)

signaler à un administrateur
Commentaire de pegase31 le 18/08/2008 08:25:34 administrateur CS

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'

signaler à un administrateur
Commentaire de Mansuz le 18/08/2008 10:20:34

pegase31, ça laisse une chance à tout le monde. :)

signaler à un administrateur
Commentaire de Blacknight91titi le 18/08/2008 12:14:48

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)

signaler à un administrateur
Commentaire de Mansuz le 18/08/2008 13:06:20

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!


signaler à un administrateur
Commentaire de Blacknight91titi le 18/08/2008 13:28:32

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

signaler à un administrateur
Commentaire de pegase31 le 18/08/2008 13:42:24 administrateur CS

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'

signaler à un administrateur
Commentaire de raddreamer le 18/08/2008 13:48:06

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.

signaler à un administrateur
Commentaire de Blacknight91titi le 18/08/2008 14:28:33

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 ;)

signaler à un administrateur
Commentaire de raddreamer le 18/08/2008 15:00:48

ouais 13 jours...
Va falloir que je me fournisse en Colombie directement pour le café là. Ca va être limite xD

signaler à un administrateur
Commentaire de EBArtSoft le 18/08/2008 15:18:16 administrateur CS

Et ouai faut se grouiller les gars !!!

signaler à un administrateur
Commentaire de pegase31 le 18/08/2008 15:31:27 administrateur CS

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'

signaler à un administrateur
Commentaire de raddreamer le 18/08/2008 16:47:38

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.

signaler à un administrateur
Commentaire de Girou le 20/08/2008 12:11:02

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

signaler à un administrateur
Commentaire de stefbuet le 20/08/2008 12:31:04

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.

signaler à un administrateur
Commentaire de stefbuet le 20/08/2008 12:40:36

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.

signaler à un administrateur
Commentaire de stefbuet le 20/08/2008 13:23:37

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.

signaler à un administrateur
Commentaire de raddreamer le 21/08/2008 06:22:16

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

signaler à un administrateur
Commentaire de raddreamer le 21/08/2008 06:37:24

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

signaler à un administrateur
Commentaire de stefbuet le 21/08/2008 13:45:58

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.

signaler à un administrateur
Commentaire de raddreamer le 22/08/2008 03:13:13

Pas de ralentissements remarqués au 3e et 4e stage non
Ca doit venir de ta mule :)

signaler à un administrateur
Commentaire de stefbuet le 24/08/2008 19:11:01

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

signaler à un administrateur
Commentaire de pegase31 le 24/08/2008 19:18:03 administrateur CS

pourquoi n'utilises pas une fonction type "slice" pour supprimer simplement la case devenue vide ?

Peg'

signaler à un administrateur
Commentaire de stefbuet le 24/08/2008 19:38:09

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


signaler à un administrateur
Commentaire de pegase31 le 24/08/2008 19:47:11 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 24/08/2008 19:56:22

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

signaler à un administrateur
Commentaire de pegase31 le 24/08/2008 20:12:55 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 24/08/2008 21:12:13

Si je vois très bien ce que tu veux dire, les cases n'existerons plus contrairement à lorsqu'elles valent null. (mais c'est la reference qui est détruite et non l'Object de tir). En faite je pense faire une class de type Array qui pourrait faire ces opérations directement avec des methodes du genre insertOneWhere($from:*, $to:*); qui changerais la premiere entré de valeur $from par $to, et removeWhere($from:*); qui enleverais toutes les cases $from et recalculerais le tableau.

signaler à un administrateur
Commentaire de pegase31 le 24/08/2008 21:26:37 administrateur CS

pourquoi ne pas faire des classes de tes tirs plutôt ?

Peg'
Ps: ok, tu viens de PHP, je comprend mieux ...

signaler à un administrateur
Commentaire de KilikWei le 24/08/2008 22:34:04

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:

<br><p="center"><param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="game.swf" /><param name="quality" value="high" /><embed src="game.swf" quality="high"  width="800" height="600" name="game.swf" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></p>

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+

signaler à un administrateur
Commentaire de stefbuet le 17/09/2008 23:26:23

"Ps: ok, tu viens de PHP, je comprend mieux ..."
j'ai pas compris la ?

signaler à un administrateur
Commentaire de pegase31 le 18/09/2008 14:23:33 administrateur CS

que ta façon de coder dénote que tu es un codeur PHP avant d'être un codeur AS. Je me trompe ?

Peg'

signaler à un administrateur
Commentaire de stefbuet le 18/09/2008 22:46:30

oui

signaler à un administrateur
Commentaire de pegase31 le 18/09/2008 22:49:16 administrateur CS

oki, alors bizarre que tu mettes des "$" devant tes noms de certaines variables.

Peg'

signaler à un administrateur
Commentaire de stefbuet le 18/09/2008 22:51:42

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.

signaler à un administrateur
Commentaire de pegase31 le 18/09/2008 22:58:15 administrateur CS

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'

signaler à un administrateur
Commentaire de stefbuet le 18/09/2008 23:00:49

Oui mais je prefere garder mes $ maintenant je trouve sa plus clair et je m'y suis habitué. Merci et bonne nuit ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Le shoot'em up de tom [ par makikofsky ] C encore moi ;)allez voir sur mon site j'ai légèrement modifié la base gracieusement offerte par TOM (il est fort l'enfoiré! ;)C'est sur la page d'acc Photorama !!! [ par davggy ] je travaille sous FLASH5.0 sur un photoramaJe souhaite "assembler de nombreuses photos en scrolling" mais l'espace de travail est "approximativement" pause dans un jeu flash [ par darkfairy ] bonjour a tous,je suis en train de realiser un petit casse briques et j'aimerais generer une pause en appuyant sur la barre espace (pause d'un temps i shoot em up complet [ par wolfmike ] salut a tous... j ai un gro probleme... je cherche une source d un shoot em up complet!!!!!(j ai bien di complet) je veu pa d un truc trop pourri...ce "Attirance" [ par xactise ] Hello tous ceux qui vont em lirej'ai un ptit probleme en ski concerne un peu de progg 2 clip, l'un des 2 clip est déplaçable grace au touche et je vou jeu de vaisseau........ TIR !!! [ par maat ] S'il vous pait j'ai besoin d'un volontaire super sympas pour me programmer le tir d'un vaisseau qui se deplace dans tout les sens:c'est un vaisseau qu ffonction qui permet de recuperer la longueur en therme d'espace d'une variable php [ par funkoff ] BonjourUn fla recupere une ligne de variables issues d'une base de donnée via un formulaire php.Dans ce meme fla je decoupe mes variables recupérer ca comment vérifier qu'une touche ne reste pas enfoncée... [ par tim00 ] je fait un jeu débile ou le but est d'appuyer le plus rapidement possible sur la touche espace... mais ... il n'y a aucun interet si on peut rester ap problème timer [ par tim00 ] vula , le but du jeu est d'appuyer le plus vite possible sur espace ... sauf que ça n'a aucun interet si on peut rester appuyer sur espace ... voila m anim espace ( étoile qui défilent ) [ par snakeeater1 ] bonjours je suis a la recherche d'une anim ( as de préférence mais bon ) qui produit des étoile qui défile de la droite vers la gauche ( pour un débu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.