Aller au contenu

Upside down preview release


jmb

Messages recommandés

Tada!

Depuis le mois de février, j'essaye de réaliser un jeu lourdement inspiré du jeu Kula World qui m'avait bien marqué il y a quelques années sur Playstation.

Après deux mois au point mort, je me suis enfin remotivé pour corriger les deux gros bugs qui m'empêchaient d'en faire quelque chose de presque jouable.

Textures, modèles et niveaux sont provisoires. Pas de son pour l'instant.

Pour le principe, une vidéo vaut mieux qu'un long discours :

http://www.youtube.com/watch?v=J6UlrM4Bk0s

Une version preview (5 niveaux seulement) existe pour windows et linux :

Version Windows XP (et Vista ?) (1.2Mo)

Version Linux (1.4Mo) (packages sdl et sdl_image nécessaires)

Les contrôles :

Touches flèchées pour contrôle le déplacement de la balle

Espace pour sauter

S pour activer ou désactiver le mode Survol

R pour recharger le niveau

U pour basculer la camera vers l'avant, pensez à la remettre en place avec J

Le score affiche pour l'instant le nombre d'images par seconde.

Chez moi, le jeu est beaucoup plus fluide sous linux que sous windows.

J'aimerais avoir quelques retours sur le bon ou mauvais fonctionnement sur différentes machines.

Le nom upside down me plaisait pas trop mal jusqu'à ce que je trouve d'autres jeux du même nom... C'est donc provisoire aussi :)

Lien à poster

machine de test : A64 3800+ / 2Go / GF7800GT sous win XP (bref n'importe quoi est censé tourner dessus).

Framerate oscillant entre 52 et 60 fps... c'est honnête.

Je conçois que tu aies placé la caméra de façon à ne pas avoir de problèmes, seulement, le champ de vision est un poil trop restreint. La caméra placée aussi près de la basse et à un tel angle empêche de bien analyser les alentours, ce qui gène un peu la progression dans les niveaux.

Je suppose que tu as inclus la touche S (survol) pour pallier à cet inconvénient, cependant, j'ai pas l'impression qu'on puisse contrôler ce survol. On est obligé de laisser le truc se faire jusqu'à ce qu'on voit ce qu'on avait envie de voir et pendant ce temps là, le compteur tourne. Si tu pouvais faire en sorte qu'en mode survol on puisse tourner le niveau dans tous les sens (avec la souris? ou même les touches fléchées), ça aiderait bien.

Les touches u et j pour changer la caméra... heu... comment dire... ont un comportement bizarre. Lorsqu'on utilise cette fonction, on peut toujours faire avancer la balle avec la touche haut, mais on ne peut plus tourner la balle (touches droite et gauche)... j'ai du mal à comprendre l'intérêt de mettre l'écran à l'envers (joli bug graphique au passage) si on ne peut plus déplacer correctement la balle.

Plutôt qu'un long discours, voici un screenshot du bug graphique :

udbugxl5.jpg

Comme on le voit en haut : les piques apparaissent à l'intérieur du mur (sur les côtés).

Niveau contrôles, appuyer sur la touche "haut" pour lancer le niveau ou recommencer après la mort, ce n'est pas intuitif. La touche [entrée] serait plus adéquate pour ça. A part ce détail, la maniabilité demande un certain temps d'adaptation, mais ça finit par passer.

A part ça, joli travail. Pour une version alpha, ça tourne quand même bien et c'est plutôt bien foutu. Continue comme ça :]

Lien à poster

Hey ça a l'air sympa vu la video ... je vais essayer la demo tiens ...

sinon j'ai bien compris le coup du upside down, et ca m'a fait penser à une spider ball (au cas ou tu aurais besoin d'un coup de main pour le nom du jeu) ...

Mais apres recherche, il s'avere que spider ball est pas mal utilisé, entre autre pour ca :

spiderball.JPG

Mais finalement, puisque dans le jeu tu diriges une "Ball", pourquoi ne pas appeler ton jeu "Jump 'M Ball" ?

Oui ça ne veut rien dire, mais c'est à rapprocher des beat them all ^_^, approximativement quoi ...

Jump M Ball, par jmb, voilà quelque chose de tres logique je trouve ...

...

Lien à poster
La caméra placée aussi près de la basse et à un tel angle empêche de bien analyser les alentours

J'avais prévu qu'on puisse placer la camera à une distance et altitude personnalisable. Un début de gestion par la souris est fait avec la molette de la souris. Suite aux problèmes de clipping qui en découlent, j'ai remis cela pour plus tard. L'objectif est que la souris permette de tourner autour de la balle dans tous les sens, avec la distance réglée par la molette.

Je suppose que tu as inclus la touche S (survol) pour pallier à cet inconvénient

Non :] En fait, le mode survol a été créé pour la présentation au début du niveau. Pour des raisons de débogage, je lui ai assigné une touche. Je pense que l'activation manuelle du survol sera enlevé dans les versions futures. Il en va de meme pour la touche D (mode déforme qui est loin de ce que j'aimerais au final).

Les touches u et j pour changer la caméra... heu... comment dire... ont un comportement bizarre

Oui, là encore j'utilise ces touches principalement pour du débogage. Le but est d'avoir une touche (shift par exemple) qui permette de "se pencher" en avant pour voir s'il y a du vide ou pas à l'aplomb de la balle, ça reste tant qu'on laisse appuyé, bloquant le déplacement de la balle, puis la caméra revient à sa position initiale quand on relâche la touche (comme quand on se penche sur le côté dans Return to Castle Wolfenstein). Ca ne posera pas de problème pour implémenter ça, toute la partie chiante de rotation de caméra est déjà codée.

Le bug graphique est là encore du à la distance de clipping qui fait disparaître la face du cube proche de la camera (même problème soulevé par Momo). C'est en fait sur ce problème qu'il faut que je me penche car c'est lui qui me bloque pour beaucoup d'idée que j'ai pour la suite.

Merci pour vos remarques :p

Et si je l'appelais "Baloone" ^^

Lien à poster

Tu n'as pas activé le back face culling ? (si tu utilises OpenGL, sous DX je connais pas le nom, mais ça existera aussi)

Du coup, comme les faces extérieures seule sont visibles : si la caméra se trouve "dans" une colonne, la partie intérieure n'est pas affichée, puisque elle ne fait pas face à la caméra. Et ça te ferai gagner quelques fps au passage (Bon, c'est pas vital, j'ai presque 450fps...). Ou afficher en mode "blend" un peu transparent, pour que l'on sache qu'il y a une colonne à cet endroit.

Lien à poster

Ah ! Merci LapinGarou, je viens de l'activer et effectivement cela va être beaucoup plus pratique maintenant ! J'ai juste certaines faces orientées à l'envers,faut que j'inverse l'ordre d'affichage de leurs vertex :]

(Pour le blend, c'est la première idée que j'avais eu mais je n'avais pas obtenu quelque chose de terrible visuellement et surtout ma méthode de calcul coutait cher en fps.)

Lien à poster
  • 1 mois après...

J'ai essayé d'avancer un peu en tenant compte des remontées que vous m'avez faites.

Au passage, j'ai sonorisé un peu le jeu.

Version windows (5.7Mo)

Version linux (5.7Mo) (packages sdl , sdl_image et sdl_mixer nécessaires)

Touches :

Flèche haute : avancer

Flèches gauche/droite : tourner

Espace : Saut

Shift droit: Se pencher pour regarder devant

Echap : Recommencer le niveau

M : Musique ON / OFF (sous windows, je viens de voir que le clavier était en qwerty donc pour l'instant utilisez "," à la place de M)

Y a encore plusieurs bugs lorsque l'on fait un saut sur une autre plateforme (son décalé par rapport à l'atterrissage, saccades lors de la chute, bug avec les planchers traversés par la caméra lors du saut) : ce sera pour la prochaine release :]

Lien à poster

Hmm cette version est plus agréable à jouer (la touche entrée pour démarrer, tout de suite, ça perturbe moins). Ptet qu'un peu plus d'air control serait bienvenu (si c'est possible)?

J'veux dire, il est difficile lors d'un saut de contrôler précisément où l'on va atterrir, même pour un petit saut d'une case, et ça, c'est handicapant.

Autre point sur lequel on peut chipoter : le filtrage des textures. On voit que sous la balle, les textures sont nettes et bien foutues. Par contre 1.5 cases plus loin, le texture est déjà floutée. Je pense que tu pourrais augmenter un brin la "distance de qualité" pour tes textures sans que les performances ne chutent. Au passage, petit point surprenant : sur les vues d'ensemble (de loin donc), les textures sur les côtés des niveaux paraissent plus nettes que les textures sur la face où se trouve la balle...

A part ces petits points (et le problème de décalage de son que tu as cité... décalage qui n'est pas si gros que ça, au passage), pas grand chose à dire. C'est jouable et ça me parait stable (côté perfs, toujours 58~60fps, aucun problème donc). Bon courage pour la suite :]

Au fait, juste par curiosité, pour tes niveaux, tu t'es fait un éditeur exprès ou tu t'es contenté du notepad? :oups

Lien à poster

Je viens de regarder un peu pour le problème des textures sur le sol.

J'ai essayé avec un filtrage bilinéaire au lieu de trilinéaire et certes c'est net, mais trop pixelisé (les pixels scintillent quand on se déplace). Il faudrait un intermédiaire.

La différence de netteté entre les côtés et le dessus des cases, c'est du à l'angle de vue : quasiment à 90° pour les côtes, très rasant pour le dessus.

Apparemment, un filtrage anisotropique pourrait aider à regler cela mais ce n'est pas geré de base dans opengl.

Sinon, pour les niveaux, c'est à l'éditeur de texte. Dès que y aura beaucoup de niveau à faire, il faudra peut-être que je pense à faire un éditeur de niveau :]

Merci pour ces retours.

Lien à poster

Je viens de tester avec un filtage anisotropique pour les cases et le sol,c'est bien la solution. Un filtrage anisotropique x8 rend vraiment bien mais me fait perdre pas mal de fps. Mais dès le x2 on voit une nette amélioriation.

Vu que c'est juste une variable à changer, je donnerai le choix dans le futur menu de config.

Lien à poster

Hmm...

Donner le choix dans le menu de config est définitivement la meilleure solution.

Au passage, je crois que tu as mis une limite de FPS (synchro verticale?) dans la release de test. Si la limite se situe à 60fps, que le jeu passe de 228 à 166 fps, je crois que le joueur ne s'en apercevra pas vraiment :oups (et si problème il y a, la possibilité de changer le filtrage dans les options devrait permettre à des PC moins musclés de faire tourner quand même le jeu, donc tout va bien).

N'empêche, ça rend vraiment vraiment bien en aniso x8 ^^

Lien à poster

hmm je vois... pourtant chez moi, ce paramètre est réglé sur "utiliser le paramètre de l'application".

Ah tiens, le fait de forcer le paramètre de synchro verticale sur off "débraye" effectivement le framerate (qui passe chez moi à 2200~2500 fps... et je déconne pas).

Par contre apprarait un *petit* problème d'animation : seule la boule continue à avoir un mouvement à vitesse normale. Je veux dire par là que la caméra en mode "preview du niveau" se déplace TRES vite et que les clés tournent à une vitesse folle... (Mais encore une fois, la boule tourne et se déplace "normalement")

Lien à poster

oui, tout à fait normal.

Cela du fait que l'animation du ballon est codée proprement avec une vitesse de rotation en degrés/seconde (donc indifférente aux fps) alors que pour les clés, la sortie, etc. les anims ont été faites un peu à l'arrache : c'est pour l'instant en degré/frame (donc dépendant du framerate).

Il faudra que je pense à mettre des vitesses fixes pour toutes les anims :]

Ca ne pose pas de problème chez moi, mais je n'avais jamais atteint 2500fps ^^.

Par contre, pour la camera, il me semble que les rotations étaient en degré/seconde. Ca ne te le fait que en mode "survol" ou bien quand tu joues la camera tourne très rapidement également ?

Ca me fait quelques trucs à ajouter à ma todo list :p

Lien à poster

Et mettre une texture plus grande ? Ca devrait suffire avec le filtrage trilinéaire.

Je n'ai pas ce genre de problème dans mon moteur3d pourtant, je ne me rappelle plus comment j'ai réglé ça.

Sinon tu peux utiliser du multitexturing pour palier un peu le flou, et ça sera certainement plus beau. (Toutes les cartes aujourd'hui ont au moins 2 unités de texturing je pense) :]

Pour le problème de synchro, je vais chercher un peu demain, j'ai lu ça quelque part sur un forum, une astuce à la noix.

Lien à poster

Mise à jour disponible.

- Filtre anisotropique activé si la carte le permet

- La camera suit le mouvement lorsqu'on saute d'une plateforme à l'autre

- La vitesse d'animation de la camera devrait rester constante quelque soit le nombre de fps (je ne peux pas vraiment verifier vu que je plafonne bas en fps...)

Version windows (5.7Mo)

Version linux (4.7Mo)

LapinGarou> La texture des cases fait déjà 512x512 pixels. Ca me parait déjà beaucoup.

Lien à poster
×
×
  • Créer...