Mad Fire : les méchants arrivent et ils ne sont pas contents

Programmation avancée de jeux en PureBasic
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

Cool Dji
tu es un dieu , je suis epaté sur ton jeu , j'aimerai bien moi aussi crée un un jeu ..
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Message par Cool Dji »

Merci jbernard,

Je rectifie, j'étais un dieu (enfin c'est ce que je pensais ya 20 ans !!), lorsque je programmais réellement des jeux vidéo.
Les vrais Dieux, ce sont les graphistes des Bitmap Brothers qui ont dessiné les décors que j'ai utilisé. Je sais que j'ai encore beaucoup de travail pour produire un code clean. Memory et Mad Fire me permettent de me remettre à la tache. Ensuite, ma troisième production sera un peu plus originale (rdv à l'automne 2009)...

Sinon, jbernard, si tu veux programmer, faut commencer par des objectifs modestes puis les augmenter peu à peu...Lance-toi, bon courage, le forum est plein de ressources...
Only PureBasic makes it possible
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

apprend moi à programmer comme toi svp
Avatar de l’utilisateur
Polux
Messages : 440
Inscription : mer. 21/janv./2004 11:17
Localisation : france
Contact :

Message par Polux »

Sympa, et très bonne idée les graphs de xenon 2000 sont superbes.
alors a mon avis, ( mais ce n'est que très subjectif et surtout ça a déjà été dit ):

- privilégie les procédures aux gosubs ( surtout si le code devient important. )

- Optimise ta gestion des collisions. Les spritepixelcollision sont très lents au final et si le jeu fait beaucoup appel à eux, il ralentira. Le mieux etant effectivement de mettre en place un systeme de collision propre aux coordonnées x et y de ton objet. De toute façon, dans un shoot tu dois avoir une marge de manoeuvre, le vaisseau peut mordre un peu :)

- evite les starspecialfx qui effectivement devraient être plus lents que les sprites 3d, c bizarre...

pour les clipsprites et la v4.30 avec mon code ça marche parfaitement, par contre les usebuffer ne fonctionnent plus. Mais c'est surtout le souci de synchro avec les flipbuffers qui pose probleme ( quand on utilise dx9 j'entends ).
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Message par Cool Dji »

Great Mr Pollux,

Effectivement pour les collisions, j'ai privilégié sprite pixelcollision pour les collisions entre sprites et décor (ya des tuiles pas toujours rectangulaires). Ensuite pour les sprites entre eux, les collisions par coordonnées sont très efficaces et largement suffisantes...

Je vais revoir ma copie entre sprite3D et specialFX... mais vraiment, je ne vois pas d'ou vient le ralentissement...
Pour l'instant, y environ 1500 sprites si on compte les tuiles (1200 tuiles de 32*32) des scrolling, les étoiles (500 étoiles de 1*1), les missilles (100 missiles de 4*16) + quelques autres sprites...

Bravo pour Lethal et BGames, c'est techniquement impressionnant...
apprend moi à programmer comme toi
Jbernard13, je ne suis pas le bon exemple !!!!
en plus ya plein d'excelents tutoriaux de Dobro, Comtois, Djes...(désolé pour tous ceux que j'oublie :oops: )
Sinon, dans tous les tutoriaux et avec l'aide de PureBasic,
1 - commence par afficher un sprite
2 - fais le bouger avec les touches du clavier
3 - fais apparaitre un autre sprite qui bouge tout seul
4 - quand ces 2 sprites se touchent, tu joues un son

Quand tu auras fait ça, tu pourras te débrouiller tout seul. Il ne te manquera que le temps et les idées.
Only PureBasic makes it possible
Avatar de l’utilisateur
Polux
Messages : 440
Inscription : mer. 21/janv./2004 11:17
Localisation : france
Contact :

Message par Polux »

Cool Dji a écrit :
Pour l'instant, y environ 1500 sprites si on compte les tuiles (1200 tuiles de 32*32) des scrolling, les étoiles (500 étoiles de 1*1), les missilles (100 missiles de 4*16) + quelques autres sprites...
wow, j'espère que t'affiche pas ton décor d'un bloc 8O . l'idéal etant de n'afficher que la portion visible + 1 pour ne pas voir l'ajout de tile;
ca permet de ne faire scroller que ce qu'on voit à l'écran.

merci pour bgames :wink:
Lethal judgment 5 va nous faire passer un cap technique.
là je suis sur un niveau de ville désolée:
- 14 plan de parallaxe, un ciel 3d en mouvement, des vaisseaux qui circulent au fond, des voitures sur une autoroute au premier plan; ça ressemble à last resort si tu connais. La jouabilité va se recentrer aussi sur l'arcade et le fun ( plein d'armes à améliorer ).
Là je galère pour tout optimiser ( et que ça reste fluide ) :D
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Message par Cool Dji »

wow, j'espère que t'affiche pas ton décor d'un bloc
Non, non, j'affiche le strict minimum. Enfin presque, pour l'instant les tuiles vides sont encore affichées mais un test va vite corriger ça.

Je travaille aussi sur de nouvelles armes mais je n'ai pas encore la technique pour matérialiser de beaux effets...je ferai avec les moyens du bord et les gfx de Xenon2000...

Bon courage dans Lethal et BGames, c'est une belle aventure !
Only PureBasic makes it possible
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

comment tu as fais pour afficher le decor , sachant que les elements sont dans un meme fichier graphique ?
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Message par Cool Dji »

comment tu as fais pour afficher le decor , sachant que les elements sont dans un meme fichier graphique
?
Dans mon cas, chaque élément (tuile) mesure 32 pixels de large par 32 pixels de haut.
Mon décor est composé par un assemblage de tuiles. C'est en quelque sorte un tableau de lignes et de colonnes. ex :
1,2,0,0,0,0,0,7,8
4,2,2,0,0,0,0,6,5

la premiere ligne du décor (haute de 32 pixels) est composé par la tuile n°1, puis la tuile n°2, puis la tuile n°0, puis la tuile n°0, ...
la seconde ligne du décor (haute de 32 pixels) est composé par la tuile n°4, puis la tuile n°2, puis la tuile n°2, puis la tuile n°0, ...

le fichier graphique contient toutes les tuiles de 32x32.

Il y a 2 manières de faire :
1 - La premiere, je l'apelle la tuile 0, la seconde la tuile 1...
Lorsque je veux afficher une tuile, je n'affiche (via clipsripte, par exemple) que le morceau du décor de 32x32 qui m'interesse...et ainsi de suite jusqu'à ce que j'ai affiché toutes les tuiles du décor...

2 - la seconde, on peut avoir un sprite par tuile et afficher le sprite0 pour la tuile0, le sprite1 pour la tuile1...(c'est ce que je fais. A l'initialisation, je découpe le fichier en autant de sprite que d'éléments et de fait je n'utilise pas clipsprite)

A l'occasion, je te posterai un exemple basique d'affichage de décor pour bien comprendre ces 2 techniques (mais yen a surement d'autres)...
Only PureBasic makes it possible
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

Polux a écrit :pour les clipsprites et la v4.30 avec mon code ça marche parfaitement, par contre les usebuffer ne fonctionnent plus. Mais c'est surtout le souci de synchro avec les flipbuffers qui pose probleme ( quand on utilise dx9 j'entends ).
impossible à dire, je viens de découvrir grâce à toi l'existence de cette commande, bien mystérieuse. Je n'ai pas encore installé la 4.30 car j'ai trop de trucs à faire pour mon jeu, et j'ai pas envie de me prendre la tête s'il faut modifier des trucs comme lors du passage de la 3.94 à la 4.00
Djes aura peut être la réponse...
Polux a écrit : ça ressemble à last resort si tu connais. La jouabilité va se recentrer aussi sur l'arcade et le fun ( plein d'armes à améliorer ).
Là je galère pour tout optimiser ( et que ça reste fluide ) :D
sur la rolls des consoles, la neo geo, oui, j'y ai joué dans un magasin y a longtemps, un jeu tellement surchargé qu'il ramait assez souvent... ce qui était finalement salvateur pour éviter les nombreuses boulettes. :)
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Alors? Ca en est où? J'espère que tu n'as pas abandonné...
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Message par Cool Dji »

Hello Gildev,

J'avance doucement mais surement tout essayant d'organiser le code. J'ai vraiment du mal à produire du premier coup un code structuré et clean et je ne fais pas toujours l'effort de corrigé le tir après (mais je progresse).

http://xdji.free.fr/Telechargement/Mad%20Fire.zip

J'ai intégré un menu (le jostick n'est pas encore pris en compte).
Je n'ai pas correctement bloqué le dépassement du player sur les bords et la détection des missiles hors écran provoque un bug (ce qui est normal).
Je travaille sur le Map Editor pour constuire les décors et intégrer les ennemis, coordonner le décor d'arrière plan avec premier plan...
Je test quelques armes (les collisisons avec le laser ne fonctionnent pas encore)

Bref, il reste encore beaucoup de travail...et pour reprendre la méthode de mesure de progression de guerrier01 :
IA 0%
Armes 12%
Collision 22,45 %
Jouabilité 0%
FunPlay 2%
Graphismes 100% (c'est facile, c'est pas moi)
Music 100% (idem)
...la liste est encore longue !!

Total entre 11 et 12%
Only PureBasic makes it possible
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Haaaaaaaaaaaaaaa! :D
Me voilà rassuré. Bonne chance.

PS: Tu me donnes envie d'en faire un aussi! :lol:
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Message par Cool Dji »

PS: Tu me donnes envie d'en faire un aussi!
Héhé, d'autant qu'avec des graphismes existants, ça simplifie beaucoup les choses... :wink:
Only PureBasic makes it possible
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Allez, c'est décidé, je commence à en faire un demain matin. Ca me donne trop envie. C'est vraiment parce que ça me rappelle les années 80-90. :D

Je vais réfléchir cet après-midi au thème du shoot'em up. Je vais déjà faire un seul level, on verra après pour la suite si j'y arrive. :wink:

Analyse: 1%
Scénario: 0%
Décors: 0%
Vaisseau: 0%
Ennemis: 0%
Armes: 0%
Jouabilité: 0%
Collisions: 0%
Bruitages: 0%
Musiques: 0%
Répondre