PureBasic

Forums PureBasic
Nous sommes le Lun 20/Mai/2013 9:59

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 132 messages ]  Aller à la page 1, 2, 3, 4, 5 ... 9  Suivante
Auteur Message
 Sujet du message: Mad Fire : les méchants arrivent et ils ne sont pas contents
MessagePosté: Mer 10/Déc/2008 9:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 883
Localisation: Besançon
Hello,

J'ai commencé depuis peu le coding d'un "tire sur tout ce qui vient" en reprenant les ressources (gfx + sound) de Xenon 2000. Jamais je n'arriverai à égaler les excellents Bitmap Brother mais je vais tenter de faire un truc sympa...

A ce jour, e plus gros travail fourni (c'est à dire pas grand chose) concerne le coding du MapEditor (la source est pas la, car j'ai vraiment trop honte du code et ya encore des bugs de depassements de tableaux...)

Pour le jeu, tout reste à faire, dans le sens ou pour l'instant ya que de l'affichage : scrolling paralax + vaisseau du player (controle clavier) + tir (barre espace).

Etant néanmoins content de mon avancée, je post ce début de projet qui va m'occuper quelques mois encore...
- gestion des collisions, gestion des méchants, des nouveaux tirs de folie (laser avec bezier), jouabilité...et surtout ambiance qui doit justifié le titre : Mad Fire (nom en hommage à Mad Race, un concept de jeu qu'Ubi Soft nous avait piqué, mes camarades et moi en 1989. C'est dit)

http://xdji.free.fr/Telechargement/MadFire.zip

A bientôt

_________________
Only PureBasic makes it possible


Dernière édition par Cool Dji le Lun 22/Juin/2009 22:28, édité 2 fois.

Haut
 Profil  
 
 Sujet du message:
MessagePosté: Mer 10/Déc/2008 10:44 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 4439
Localisation: Isere
Alors la !!!!!!!!!!!!! chapeau 8O
On dirait un vrai :D

J'y connais rien en jeu, mais je suis épaté de voir ce que des gens comme toi arrivent a faire avec notre PB 8)
En plus tu partage ton code, merci

J'ai toujours adoré les jeux style space invaders, car ce sont les premiers jeux que j'ai vu avec mes yeux d'enfants emmerveillés dans les bars 8O

Et ça fait tout drole de voir le code de ce type de programmes
Ca tourne nikel sans saccade sur W2000 v4.20

J'espere que tu menera ton projet à terme.
En attendant encore bravo, comme dirais les "djeun's", j'suis bluffé 8O


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Mer 10/Déc/2008 11:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 883
Localisation: Besançon
Merci mister KCC,

J'ai encore un travail d'optimisation d'affichage des tuiles du décor. Pour l'instant, il affiche encore les dalles vides !!!
Mon code n'est pas un exemple, j'ai toujours été un peu brouillon (même en assembleur 68000), je vais faire des efforts pour commenter et bien organiser les différentes parties...

Je suis content du résultat mais je pense que la qualité des graphismes améliore l'effet du truc. En revanche, comme toi, je suis épaté par les possibilités de PB en 2D => d'ou ma signature.

Ensuite, la différence entre un vrai jeu et cette démo représente un énorme travail. Le développement est assez ingrat en ce sens car c'est assez facile et rapide d'afficher des trucs qui bougent, mais ensuite assurer la gestion des ennemis, des tirs...ce sont toutes des choses qui ne se voient pas et qui sont essentiels (j'ai fait le plein de coca pour m'aider dans cette tache)

_________________
Only PureBasic makes it possible


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Mer 10/Déc/2008 13:19 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 08/Déc/2005 5:19
Messages: 728
Localisation: Guadeloupe
Bravo !

J'espère que ça va motiver d'autres codeurs !

Bonne continuation !


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Mer 10/Déc/2008 14:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 25/Avr/2008 11:14
Messages: 944
bonjour Cool dji
super ovni
avec une telle puissance de feu on comprend pourquoi
il y a personne qui se présente en face lol
excellent graphisme, animation et les détails du vaisseau etc..
merci pour le code
trop top
au revoir


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Jeu 11/Déc/2008 10:47 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 883
Localisation: Besançon
Bonjour,

Thanx Misters Huibit & Kernadec !!!

J'avance à la vitesse de l'escargot et j'ai commence la gestion des collisions :
J'utilise SpritePixelCollision pour une détection fine des sprites.
J'avais commencé par tester collision entre tuile et ovni et je me suis aperçu d'un soucis de présision :cry:
Devant, ce doute, j'ai fait un exemple dans le vide avec 2 ovnis.

La collision entre 2 ovnis est détectée et je m'aperçois qu'une collision concernant le bord des ailes (à gauche ou à droite) n'est pas détectée.
Est-ce que tous les pixels des sprites sont réellement testés un par un ?
Est-ce que le clipsprite n'interfere pas avec le spritepixelcollision ?

http://xdji.free.fr/Telechargement/MadFire.zip

Quand la collision est détectée, j'affiche le sprite sans effet de transparence => c'est visuel !!

Je ne comprends pas, j'ai regardé un grand nombre d'exemples sur le forum et n'ai pas trouvé de cas similaires...
Spritepixelcollision est imprécis ou c'est mes yeux (ref : les bronzés font du ski 8O )

ps : je pose ça la car je ne pense pas que ce soit un bug de purebasic !

_________________
Only PureBasic makes it possible


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Jeu 11/Déc/2008 19:55 
Hors ligne

Inscription: Mer 21/Jan/2004 17:48
Messages: 4493
tu ne testes que ton sprite 1
If (SpritePixelCollision(1, PosplayerX, PosplayerY, 1, 200,200))
Alors que les bords sont constitués du sprite 3, il faut faire un test de collision pour ce sprite , et pour les 4 positions que tu as déterminées

_________________
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Jeu 11/Déc/2008 20:21 
Hors ligne

Inscription: Mer 21/Jan/2004 17:48
Messages: 4493
vu l'ampleur que peut prendre un jeu de ce type, tu as peut-être intérêt à structurer tout de suite :)

C'est bien pour des petits codes les gosub, mais ensuite il est préférable de privilégier les procédures.


Je crois bien que je n'ai jamais utilisé les gosub avec PureBasic.
Avec d'autres Basic c'était obligatoire, y'avait rien d'autre.

Pense aussi à utiliser les structures, comme pour ton vaisseau principal et les ailes , tu peux faire une structure qui regroupe toutes les données nécessaires pour l'affichage , les animations et les collisions.
ou une structure distincte pour les animations, c'est à toi de voir.

_________________
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Jeu 11/Déc/2008 20:46 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 08/Juil/2007 18:32
Messages: 1306
Localisation: Toulouse
Cool Dji a écrit:
Bonjour,

Thanx Misters Huibit & Kernadec !!!

J'avance à la vitesse de l'escargot et j'ai commence la gestion des collisions :
J'utilise SpritePixelCollision pour une détection fine des sprites.
J'avais commencé par tester collision entre tuile et ovni et je me suis aperçu d'un soucis de présision :cry:
Devant, ce doute, j'ai fait un exemple dans le vide avec 2 ovnis.

La collision entre 2 ovnis est détectée et je m'aperçois qu'une collision concernant le bord des ailes (à gauche ou à droite) n'est pas détectée.
Est-ce que tous les pixels des sprites sont réellement testés un par un ?
Est-ce que le clipsprite n'interfere pas avec le spritepixelcollision ?

http://xdji.free.fr/Telechargement/MadFire.zip

Quand la collision est détectée, j'affiche le sprite sans effet de transparence => c'est visuel !!

Je ne comprends pas, j'ai regardé un grand nombre d'exemples sur le forum et n'ai pas trouvé de cas similaires...
Spritepixelcollision est imprécis ou c'est mes yeux (ref : les bronzés font du ski 8O )

ps : je pose ça la car je ne pense pas que ce soit un bug de purebasic !
ton projet est bien cool. A la vue du code:
- tu n'utilise pas de procédure( voir jeu vers l'infini par exemple hein), alors quand ton code fera plusieurs millier de lignes de code...
-StartSpecialFX est à mon avis désuet, vive les sprites3D

Est-ce que le clipsprite n'interfere pas avec le spritepixelcollision ?
bonne question, heu..., mais vaut mieux faire çà:
-SpritePixelCollision marche bien, mais avant vaut mieux calculer une zone de détection( x et y ou commande SpriteCollision() ), et une fois qu'un objet rentre dans la zone d'un autre, et bien là tu utilise la fameuse commande. tu peux juste tester un seul petit pixel( que tu n'affichera pas à l'écran pour la version finale bien sûr). Donc je vois cela comme çà: un pixel à gauche et un autre à droite... et pis un autre en haut et en bas tiens.

mais perso je testerai juste les positions x et y, à l'ancienne, c'est plus long à mettre en oeuvre mais cà bouffe rien en temps machine.


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Jeu 11/Déc/2008 20:56 
Hors ligne

Inscription: Mer 21/Jan/2004 17:48
Messages: 4493
Citation:
SpritePixelCollision marche bien, mais avant vaut mieux calculer une zone de détection( x et y ou commande SpriteCollision() ), et une fois qu'un objet rentre dans la zone d'un autre, et bien là tu utilise la fameuse commande. tu peux juste tester un seul petit pixel( que tu n'affichera pas à l'écran pour la version finale bien sûr). Donc je vois cela comme çà: un pixel à gauche et un autre à droite... et pis un autre en haut et en bas tiens.


C'est totalement inutile, la fonction SpritePixelCollision le fait déjà, elle ne teste les pixels qui si les deux sprites se chevauchent (box collision).

_________________
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Ven 12/Déc/2008 10:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 19/Juin/2007 10:28
Messages: 379
Localisation: Picardie (France)
Etant un fan de shoot'em up dans le passé (Z-Out, R-Type, Cybernoid, Xenon 2...) je te soutiens dans ton projet. Bravo à toi.

_________________
Image
http://www.teamblackhawk.fr Site officiel de la communauté BlackHawk.


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Ven 12/Déc/2008 12:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 883
Localisation: Besançon
Hello à tous,

Merci de vos remarques et conseils.
Avant de poursuivre, je vais réorganiser mon code et remplacer les gosub (que j'aimais tant, ça me rapelle les jsr - rts :cry: ) par des procédures => le message est entré (merci Comtois et Beauregard)

Concernant le spritepixelcollision, j'ai fait un test avec 2 sprites sans utiliser le clipsprite et le test fonctionne parfaitement :P .
Dans l'exemple posté sur le forum, les 2 sprites (vaisseau) sont les 2 issus de clipsprite et la detection à l'air de se réaliser uniquement sur la première image (les ailes penchées sont plus courtes que les ailes droites : donc pas de collision).
J'ai pris les mêmes sprites pour eliminer d'éventuelles erreurs provenant d'une mauvaise sélection de tuile du décor...

Je vais donc tronçonner tous les sprites en sprite individuels et ne plus utiliser le clipsprite.
Ensuite, pour les collisions entre sprite et décor, je test uniquement les tuiles qui sont dans la zone d'un sprite (je ne fais pas un test de coordonnées, ce sont les coordonnées du sprite qui pointent sur la bonne ou les bonnes tuiles du Map).

Effectivement, j'avais utilisé Sprite3D dans le Memory (je sais pas pourquoi j'ai utilisé SpecialFX - :? )

Merci encore pour vos encouragements (Guidev : yes +SWIV, Battle Squadron). Je voulais me dépecher de faire un prototype pour voir ce que ça pouvait rendre. Maintenant, je vais réfléchir à la structure du jeu et du programme pour éviter le brouillonage...
L'objectif n°1 est de terminer ce qui est commencé.

_________________
Only PureBasic makes it possible


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Ven 12/Déc/2008 12:38 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 10/Sep/2007 11:13
Messages: 958
hybris aussi :p

_________________
ImageImageImage


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Ven 12/Déc/2008 16:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 3063
Localisation: Arras, France
Moi aussi j'aime bien les gosub (aussi l'habitude des des JSR!). Franchement je pense que de temps en autre le gosub et le goto sont valables, d'autant que les procédures sont plutôt lentes en PB. Et un JMP, c'est une instruction du processeur que tout le monde utilise sans s'en rendre compte, tout le temps (y compris pour appeler une procédure!).

_________________
The shooting crew ~> http://www.shootingcrew.com
Bobble Puzzle ~> http://djes.free.fr


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Ven 12/Déc/2008 18:46 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 08/Juil/2007 18:32
Messages: 1306
Localisation: Toulouse
Cool Dji a écrit:
Je vais donc tronçonner tous les sprites en sprite individuels et ne plus utiliser le clipsprite.
à ta place j'y réfléchirai à 2 fois*... mmh, peut-être faut-il faire simple: placer un carré de 64*64( ou 56*56 placé au milieu/bas, car le bout des ailes et le nez peuvent mordre un peu sur le décor, c'est pas un drame) sur ton vaisseau, et tu teste les collisions avec ce carré et le tour est joué. Après tout, la collision du vaisseau/décor n'a pas besoin d'être un monstre de précision...

... j'imagine que le vaisseau n'explose pas au contact du décor, comme view point, sauf si le vaisseau est acculé au bas de l'écran bien sûr... c'est bien çà ?


* car beaucoup trop contraignant, aussi bien pour la découpe/retouche d'image que pour coder tout les loadmachin...

_________________
config de mon ordi: seven, directx11, Pentium(R) DualCore E5700, RadeonHD 4550 512MB, PureBasic 4.61 x86


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 132 messages ]  Aller à la page 1, 2, 3, 4, 5 ... 9  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye