Page 1 sur 2
Proto-Type
Publié : lun. 06/juil./2009 14:56
par cha0s
Voici une démo que j'ai présenté au dernier concours de
l'AJVA. Cette Démo n'est pas finit et ne le sera jamais car comme indiqué c'est un prototype. Le but était de crée un moteur de shoot them up entièrement scriptable en XML. Je lache le code source car je recode le moteur (qui est loin d'être finit)en C++ en gardant le principe du XML.
Coté code 4,1K ligne de code, il compile sous linux avec le subsystem OpenGL mais les collisions sont aléatoire car pas de pixel perfect. J'utilise beaucoup de lib disponible sur Chronos et incleu dans le code sources generé.
Sources.
Les graphisme sont la propriété de l'auteur (voir crédits), aucune réutilisation sans son consentement.
Pour DL l'exécutable c'est Ici : (windows only)
http://www.doujin-spirit.com/oldies/Proto-Type.rar
Publié : lun. 06/juil./2009 15:05
par Anonyme
Sympa mais un peu raidos quand même

le jeu saccade lorsque je tire.
les boules jaunes & rouges sont des bonus ?
Publié : lun. 06/juil./2009 15:10
par cha0s
Nop aucun bonus que des tirs. Le jeux est assez gourmand notamment a cause de la texture de fond. C'est scripté a larache étant donné que tout a été fait en une semaine. D'ailleurs c'est assez simple quand on a fait le niveau une fois et qu'on a remarqué comment ne pas se faire toucher. Pour les collisions je vais passer en quadtree le pixel perfect de pure est trop gourmand.
Publié : lun. 06/juil./2009 15:15
par Anonyme
tu stockes la texture dans un tableau de byte (1=collision 0=non)
pour les collisions , pour se type de jeu un simple bouding box suffit
tu récupères l'intersection des 2 box , si il se rentre dedans tu lis que la partie qui se chevauche , si tab_A() = 1 & tab_B() = 1 alors collisions. Simple, rapide.

Publié : lun. 06/juil./2009 15:21
par cha0s
Avec le quadtree encore mieux je divise récursivement une image en quatre partie N fois. et après je fait un tableau pour les feuilles (dernière subdivision). Comme sa j'évite de tester les zones inutiles de collisions.
Publié : lun. 06/juil./2009 16:11
par djes
Pour un truc fait en une semaine, c'est plus que bien!
Tu nous tiendras au courant des résultats du concours, stp?
Publié : lun. 06/juil./2009 16:22
par cha0s
Le top 4 a été donné hier a la Japan Expo.
1 - Invaders Resurrection
2 - Sukubus
3 - LightDroid V2
4 - Ocean's Keeper
A croire que il y avait du challenge, d'ailleurs je n'ai pas respecté le cahier des charges car le niveau a une fin et il fallait un jeu infinissable (mais bon sans le boss, la démo aurait une autre saveur :p).
Par contre aucune idée pour le restant des jeux, enfin personnellement jetait sur place et j'ai trouvé l'organisation (si on peut appeler cela une organisation) du stand était faite avec des pieds.
Publié : lun. 06/juil./2009 16:26
par Anonyme
Cpl.Bator a écrit :
tu stockes la texture dans un tableau de byte (1=collision 0=non)
pour les collisions , pour se type de jeu un simple bouding box suffit
tu récupères l'intersection des 2 box ,
si il se rentre dedans tu lis que la partie qui se chevauche , si tab_A() = 1 & tab_B() = 1 alors collisions. Simple, rapide.

je ne suis pas a la maison, je te ferai un jolie dessin tout a l'heure

Publié : lun. 06/juil./2009 17:11
par Le Soldat Inconnu
Oui, plutôt terrible en une semaine

Publié : lun. 06/juil./2009 17:29
par Anonyme
Voilà ce que je voulais dire :
tu fait 2 boites , tu gardes les intersections , tu lis dans ces limites.
@+
Publié : lun. 06/juil./2009 17:44
par djes
Je crois qu'il avait compris... Tu implémenterais comment le quadtree pour les tirs? En stockant au fur et à mesure dans un tableau? Je vois pas trop...
Publié : lun. 06/juil./2009 18:35
par cha0s
@CLP : oui j'avais comprit ^^'.
djes a écrit :Je crois qu'il avait compris... Tu implémenterais comment le quadtree pour les tirs? En stockant au fur et à mesure dans un tableau? Je vois pas trop...
En fait plutôt une liste. Le principe c'est sa
je vais prendre l'exemple du vaisseau principale
Je divise l'image en quatre partie car chacune des partie contient des pixel visible. Dans la partie en haut a droite nous avons 1 2 3 et 4. seul 4 est crée an tant que sous arbres car il contient des pixels, les autres zone sont ignoré. En cas de collision le principe est simple je test sur les zone existante si elle entre en contacte et ce récursivement jusqu'à arriver a la zone la plus petite en collisions. Une fois ceci fait je regarde si les pixel se chevauchant on une opacité supérieur a 0. résultat : si aucune collision mais un chevauchement des images très peu de calcul a réaliser et si une collision on isole les zone concerné ce qui diminue les tests.
Publié : mar. 07/juil./2009 0:35
par beauregard
cha0s a écrit :@CLP : oui j'avais comprit ^^'.
tu devrais faire un tour au forum shump, là tu apprendrai que pour les collisions, faut pas s'embêter: un seul rectangle de collision suffit. Pour les derniers manic shooter, un minuscule rectangle se trouve au centre de chaque boulettes... ... et même chose pour le ship du joueur.
Publié : mar. 07/juil./2009 7:09
par Anonyme
Cpl.Bator a écrit :pour se type de jeu un simple bouding box suffit
la vache , on me lit en diagonale

Publié : mar. 07/juil./2009 9:26
par Cool Dji
Bravo Chaos !!