Aller au contenu

[dev-Android][NoName] My second appli !


UniKorn

Messages recommandés

Salut la clique.

Toujours amoureux de mon HTC Desire, je me suis lancé dans un second projet pour Android OS (pour rappel, le premier était celui-ci.)

J'ai pris le parti d'utiliser la librairie AndEngine pour le SDK Android, qui permet, entre autre, l'implémentation d'un moteur physique 2D issu du moteur Box2D, ainsi que la prise en compte des Tiled Maps générées sous Tiles QT

Le concept, puisqu'il ne s'agit que de cela pour l'instant, est le suivant :

Dans un environnement 2D soumis à la gravité (type Mario), une bulle doit être déplacer jusqu'à la sortie.

Cette bulle se déplace par un clic sur l'écran, où la force appliqué à la bulle correspond au vecteur "endroit touché du doigt -> position de la bulle"

Plus on touche loin de la bulle, plus la force est importante. un clic légèrement à gauche de la bulle l'a fait partir doucement vers la droite, un clic éloigné à la droite de la bulle l'a fait valdinguer vers la gauche (et cela dans toutes les directions).

L'environnement contient des murs de couleur que la bulle ne peut traverser que si elle a préalablement obtenue cette couleur en touchant une plateforme:

3 types de plateformes :

  • une rouge, qui donne à la bulle la couleur rouge
  • une verte, qui donne à la bulle la couleur verte
  • une bleue, qui donne à la bulle la couleur bleue

De base, la bulle n'acquière qu'une seule couleur.

Si celle-ci collecte l'option "multicolor", elle peut alors cumuler 2 des 3 dominantes de plateformes pour passer du mode RGB au mode CYM

  • la bulle touche une plateforme rouge avant/après une plateforme bleue => la bulle devient magenta
  • la bulle touche une plateforme rouge avant/après une plateforme verte => la bulle devient jaune
  • la bulle touche une plateforme verte avant/après une plateforme bleue => la bulle devient cyan

Si la bulle touche la 3ème dominante qui ne compose pas sa couleur CYM, elle prends la couleur de la plateforme.

ex : Si une bulle magenta (composée de rouge et de bleue, donc, suivez un peu bordel) touche une plateforme verte, elle passe au vert, mais ne change pas si elle touche les autres types de plateforme, sauf si elle collecte l'option "unicolor" qui annule les effets de l'option "multicolor".

Nous avons donc 7 types de surfaces à traverser (ou pas) :

  • La neutre, impénétrable comme les lois du baigneur (enfin un truc dans ce goût là)
  • La magenta, traversable par une bulle magenta
  • La cyan, traversable par une bulle cyan
  • La jaune, traversable par une bulle jaune
  • La rouge, traversable par une bulle rouge, magenta ou jaune (puisqu'il le magenta et le jaune contiennent du rouge, et ouais)
  • La verte, traversable par une bulle verte, cyan ou jaune (bla bla ...)
  • La bleue, traversable par une bulle bleue, magenta ou cyan (bla bla ...)

Voici un petit exemple pour les possesseurs de telephone Android :

img.png

http://www.absenceoflight.net/dawa/PhysEx.apk

PhysEx2.png

Attention, ça rame un peu, c'est pas optizonion encore.

Pour un exemple de ce qui peut être fait avec le moteur AndEngine, tapez "Farm Tower" sur le market, c'est gratuit.

Si vous avez lu jusqu'ici (vous n'auriez pas dû), vous savez déjà que le projet n'est qu'au stade fœtal.

J'ai en effet besoin de votre aide ;

  • pour me dire tout de suite si le concept pu, ça m'évitera de prendre plus de temps dessus
  • De me donner des idées de gameplay à ajouter (sachant que tout est possible, tout est réalisable, enfin presque)
  • Pour m'aider sur la partie graphique

Concernant ce dernier point, c'est là qu'entre en scène les Tiled Maps.

Les niveaux sont pris en compte à partir de ce que peut générer QT, en utilisant le TileSet adéquate (comme Sheila ...)

Pour chaque tile du tileset corresponds un certain nombre de caractéristique qui vont définir le comportement physique du sprite dans le jeu.

Par exemple, dans le tileset suivant,

PhysEx.png

le premier Tile "Tile 0" (en haut à gauche), comprends 2 boites physiques que le programme ajoute à l'affichage du sprite.

Et là, ya pas à chier, le tileset, il est pas beau.

Si vous avez un tant soit peu de talent en graphisme/pixelart, merci de me venir en aide !!!

L'ambiance recherchée sera plutôt metal/cyber, mais je suis ouvert à toute proposition.

Petite description : les tiles sont tous des murs physiques, de la couleur affichée, exceptés les tiles :

- Le tile 20 ( la bulle rouge) qui pointe vers un gfx externe animé pour l'option multicolor

- Le tile 17 (la même pour la grise)

- Les tiles avec les petites bulles de Badoit, qui pointent vers un sprite animé pour les plateformes.

Ce n'est donc pas la peine de les modifier, sauf si vous voulez proposer un autre gif animé en dehors du tileset.

Voili voilou !

A vous de juger.

  • Like 1
Lien à poster

Je voudrais réagir sur le gameplay :

C'est peut être évident pour toi, mais il faudrait peut être ajouter une composante "temps" au jeu, avec soit un décompte (1 minute pour réussir) soit un systeme de meilleurs temps (le compteur part à 0 et s'incrémente, à toi de faire le meilleur temps) ... perso je préfère la seconde solution, à toi de voir ...

Tu pourrais peut être aussi ajouter une plateforme qu'il ne faut pas toucher sous peine de game over et une option "fantome" (genre la bulle remplie de fumée) qui permet de tout traverser, même les voies du seigneur (genre up ultime qui n'arrive que tres rarement) ...

Il faudrait aussi réfléchir à comment tu vas offrir les options au joueur ? elles apparaissent au milieu de l'écran ? une trappe s'ouvre en haut et elles tombent (un peu à la casse-brique) ?

Maintenant quand je réfléchis à ton concept de base : "La force appliqué à la bulle correspond au vecteur "endroit touché du doigt -> position de la bulle" Je me dis qu'en tant que joueur, la bulle j'aimerais justement la faire valdinguer, un peu comme une bille de flipper en début de partie, alors que j'ai plutot l'impression que tu as envie d'un jeu ou l'on guide doucement la bulle, presque en équilibre ?

Et en parlant d'équilibre, ton HTC là, il a pas un genre d’accéléromètre qui permettrait de faire bouger la bulle en secouant le téléphone ?

...

Lien à poster

L'ajout de temps n'est pas une conne d'idée.

Autant le temps restant peut être implémenter en "solo", autant la notion de "meilleur temps" nécessite la mise en place d'un serveur de score à distance, mais c'est faisable.

De multiple plateforme sont encore prévues (game over, rotative, chariot, inclinée ...)

Actuellement, la force appliqué à la bulle me parait presque trop importante, mais il faut juger au gameplay pour s'en rendre compte, cela reste facilement modifiable.

Le principe de l'accéléromètre ne me plait guère, pour la simple raison qu'incliner ou bouger le téléphone fait perdre de la visibilité.

Lien à poster

En ce qui concerne le "meilleur temps", je pensais à un truc du genre démineur. Quand tu réussis le meilleur temps, il s'enregistre dans un fichier et la fois d'apres tu joues autant contre la machine (passer le niveau) que contre toi (faire un encore meilleur temps) ...

Évidemment, si tu ajoutes un compteur de temps, tu fais stresser le joueur de la même façon, qu'il se décrémente (p'tin me reste plus que 10 seconde pour passer le niveau)ou s'incrémente (2'20 ? merde je vais pas y arriver !!!) mais par contre, dans le premier cas c'est éliminatoire (arrivé à zéro game over), dans le deuxième cas c'est un motif de satisfaction en plus, et c'est pour cela que je le préfère ...

...

Lien à poster

Pour le concept, pourquoi pas. Après tu vois ça plutôt comme un jeu de raisonnement ou il faudra trouver les bonnes combinaisons de couleur ou comme un jeu d'habilité ou il faudra doser la force ? (ou les deux)

Je voudrais aussi me mettre à la programmation d'une appli mais j'ai pas de concept du tout ^^

Sinon, je trouve la force appliquée pour l'instant carrément trop forte : la bulle part à fond même en touchant près d'elle. On n'a pas un sentiment de contrôle précis.

Et pour finir, optimisé ou pas, cela ne rame pas sur mon téléphone (ZTE Blade).

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

Tiens, UniKorn, je viens justement d'installer le module ADT pour Eclipse et le framework androïd avec un émulateur et tout le toutim.

Mon but va être de créer des applets (en Java ME donc). Je ne sais pas encore en quoi ça va consister mais pour des sites universitaires, ce ne sera pas des jeux.

Aurais-tu des conseils pour débuter si tu programmes tes jeux en Java ME ?

EDIT : J'ai installé le framework android et le module Eclipse ADT et j'ai fait mon premier Hello World sur un smartphone virtuel !

La classe ! B)

Par contre, pas moyen d'utiliser JavaFX pour l'instant. Ce n'est pas que je tienne vraiment à cette librairie qui semble vouée à disparaître, mais parce que les tutos sur le net l'utlise souvent, alors pour tester ça aurait été mieux qu'elle fonctionne. :}

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

Le projet avance, mais il me manque toujours un graphiste.

- Ajout d'un menu

- Meilleure Gestion des TMX Tiles

- Gestion hiérarchique des levels.

- La touche "retour" permet de quitter le level et revenir au menu.

Pour infos, les zones grisées font perdre la partie, le but étant d'atteindre la zone blanche clignotante.

J'ai copier-coller les 3 premiers levels de test pour charger les chapitres et tester le menu "load levels", et le dernier level tourne en boucle.

Le QR Code pointe vers la nouvelle version.

Je sais que le programme plante parfois en retour menu et au chargement d'un level.

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