Page 1 sur 6

Speedy Square - Plateform Runner

Publié : 30 Août 2020 18:27
par protokoll_studio
Update 15.10.2020 : Speedy Square est enfin disponible sur le Google Play Store.

Salut à toutes et à tous,

Je viens vous présenter un nouveau projet de jeu sur Android. Pour le moment, ce jeu n'a pas de nom définitif car ce n'est pas le plus important :)

J'ai déjà eu la possibilité de créer Snowball Runner et Snowball, un jeu de tir disponible sur PC, Mac OS et Linux. Oui, j'aime bien la neige haha mais celui-ci part dans un tout autre style graphique et gameplay.

En bref
Le joueur a pour but de faire sauter un carré sur des plateformes verticales défilantes de haut en bas et ce, le plus longtemps possible. La vitesse augmentant au fur et à mesure, le joueur devra appuyer sur l’écran de plus en plus rapidement afin d’atteindre la prochaine plateforme.

Le meilleur score du joueur peut être enregistré dans une base de donnée afin d’avoir un défi en plus faces aux autres joueurs.

Voici une petite capture d'écran
Image

Comme vous pouvez le voir, le projet n'est qu'au début de son développement (surtout en voyant les particules qui sont encore au mauvais endroit mais la vitesse augmente déjà petit à petit :) ).
La mécanique du jeu est déjà présente, ce qui est, à mon avis, déjà pas mal. Concernant le visuel, j'aimerais partir sur un style un peu rétro-néon. Quelque chose de simple comme on peut le voir sur ce gif

De plus, si le joueur le souhaite, il peut recommencer sa partie au même endroit, en conservant son score et en ayant la vitesse de base, où il a fait un game over en regardant une annonce. Sinon, il peut recommencer sa partie depuis le début.

Même si le projet n'en est qu'à son début, je reste ouvert à toute proposition d'idées et de remarques :)

A la prochaine et bon dimanche

Vous pouvez me suivre sur twitter ou mon site web

Re: [WIP]Jeu de plateforme mobile

Publié : 02 Sep 2020 10:42
par protokoll_studio
Salut tout le monde :)

Première information concernant ce projet : j'ai écrit un article concernant la vitesse angulaire que le joueur effectue sur une trajectoire donnée. N'étant pas très bon ami avec les mathématiques, je me suis dit que d'écrire cet article sera sûrement utile pour d'autres personnes surtout si c'est pour intégrer tout ça en C# avec Unity. L'article en question : Unity : angular velocity (seulement en anglais)

Deuxième partie plus intéressante : j'ai ajouté quelques nouveautés au prototype. Le plus important étant le test de changement de couleur au fil du temps du joueur. Je vais certainement ajouter ce changement de couleur sur les plateformes afin de rendre le tout uniforme.

Désolé pour la très mauvaise qualité du GIF
Image

Pleins d'autres points sont en cours d'ajout comme par exemple :
- L'ajout de pique sur certaines plateformes
- L'ajout de "coin" sur le parcours

Je reviendrai prochainement pour de nouveaux screenshot et gif :)

Belle journée à vous

Re: [WIP]Jeu de plateforme mobile

Publié : 02 Sep 2020 11:01
par jmhoubre
Je trouve le gif pas si mal que cela.
Par contre, expliquer une règle de 3 et appeler cela des mathématiques... 8|

Re: [WIP]Jeu de plateforme mobile

Publié : 02 Sep 2020 11:48
par protokoll_studio
jmhoubre a écrit :
02 Sep 2020 11:01
Je trouve le gif pas si mal que cela.
Par contre, expliquer une règle de 3 et appeler cela des mathématiques... 8|
Merci pour ton retour. Je tacherai tout de même d'optimiser cela ;)
La partie que je ne comprenais pas était de comment calculer la vitesse de rotation pour faire 180* sur une distance donnée. Et apparemment il fallait partir sur le calcul du radian que je ne comprenais pas jusqu'à maintenant. Un peu plus complexe qu'une règle de trois :geek:

Re: [WIP]Jeu de plateforme mobile

Publié : 03 Sep 2020 14:24
par DevAmat
Sympa merci pour le partage :super:

Re: [WIP]Jeu de plateforme mobile

Publié : 04 Sep 2020 06:49
par protokoll_studio
DevAmat a écrit :
03 Sep 2020 14:24
Sympa merci pour le partage :super:
En espérant que cela vous en soit utile à l'avenir :)

Voici quelques nouvelles informations concernant mon jeu :
- On peut collecter jusqu'à 3 types de "coins" différents donnant des points variés (1, 5, 10) qui seront ajouté au score final
- La vitesse n'augmente plus indéfiniment. Elle s'arrête à un certain moment
- A partir de 300 points, un "coin" bonus apparaît pour vous ralentir durant un certain temps

Image

Les prochains points à faire sont :
- Améliorer l'UI et le gameplay
- Corriger les bugs
- Ajouter un tableau des meilleurs en ligne
- Trouver un nom pour le jeu.

Si vous avez des propositions de nom de jeu, je suis preneur :)

Belle journée à vous

Re: [WIP]Jeu de plateforme mobile

Publié : 04 Sep 2020 13:20
par jmhoubre
Bonjour,
jeu bien sympathique.
Twirling square ? --> carré virevoltant
Infinite jump ?
Side2Side ?

Re: [WIP]Jeu de plateforme mobile

Publié : 05 Sep 2020 10:43
par protokoll_studio
jmhoubre a écrit :
04 Sep 2020 13:20
Bonjour,
jeu bien sympathique.
Twirling square ? --> carré virevoltant
Infinite jump ?
Side2Side ?
Merci beaucoup ces propositions. Twirling Square est marrant à prononcer. J'aime beaucoup. On reviendra sur le sujet mais belle proposition. Merci :)

J'implémente actuellement le leaderboard. Le joueur/la joueuse va pouvoir enregistrer son score avec son pseudo(maximum 4 caratères, comme sur les vieilles bornes d'arcarde)

Re: [WIP]Jeu de plateforme mobile

Publié : 06 Sep 2020 18:34
par jmhoubre
De rien.

J'ai également un classement à faire sur mon projet.

A l'heure actuelle, je ne gère que le score courant, et le plus haut score sur le PC utilisé. Je pense que je n'aurais pas de difficultés à produire un classement multi-joueur sur le même PC. Je suis donc intéressé par une manière de permettre un classement multiPC, voir multi plateformes :
- si possible sans utiliser un package réseau (je ne pense pas que cela soit possible, mais je ne prétends pas connaître le manuel Unity par :coeur: ).
- avec les techniques permettant de détourner la fonctionnalité de classement (triche, spam, création de faux scores, etc.), et surtout le moyen de les éviter.

Pour l'instant, je suis sur d'autres points, je n'ai même pas cherché comment faire, mais je profite que que le sujet soit abordé :-D

Re: [WIP]Jeu de plateforme mobile

Publié : 07 Sep 2020 11:01
par protokoll_studio
jmhoubre a écrit :
06 Sep 2020 18:34
De rien.

J'ai également un classement à faire sur mon projet.

A l'heure actuelle, je ne gère que le score courant, et le plus haut score sur le PC utilisé. Je pense que je n'aurais pas de difficultés à produire un classement multi-joueur sur le même PC. Je suis donc intéressé par une manière de permettre un classement multiPC, voir multi plateformes :
- si possible sans utiliser un package réseau (je ne pense pas que cela soit possible, mais je ne prétends pas connaître le manuel Unity par :coeur: ).
- avec les techniques permettant de détourner la fonctionnalité de classement (triche, spam, création de faux scores, etc.), et surtout le moyen de les éviter.

Pour l'instant, je suis sur d'autres points, je n'ai même pas cherché comment faire, mais je profite que que le sujet soit abordé :-D
Dans mon cas, j'utilise une base de données MySQL et 2 scripts PHP : 1 pour recevoir les scores et l'autre pour envoyer un nouveau score sur la DB.

Comme dit dans votre message, je vais aussi devoir mettre quelques petites techniques de détournement de faux classement. Plusieurs possibilités s'offrent à nous :
- Contrôler le maximum d'informations reçu de la part du joueur : le temps de partie, son score, sa vitesse, le nombre d'objets ramassées. Si une de ces indications cloches, par exemple un score trop élevé pour un temps de jeu minime, on accepte pas la demande
- On peut également générer une clé cryptée à chaque début de partie (timestamp par exemple). Celle-ci est reçu de la part du serveur et est utilisé afin d'envoyer les informations de la partie terminée. Si la clé reçu en début de partie n'est pas identique à celle de la fin de partie ou qu'une des deux clés est inexistante, le score n'est pas accepté.
- On peut également accepter les demandes de score provenant uniquement de téléphone Android (pas d'après une requête PHP en POST/GET par exemple)
- Une autre possibilité aussi et de pouvoir récupérer les IP/adresses mac de chaque joueur. Si on voit qu'un des joueurs triches, on le met dans une base de données des tricheurs. On compare cette db à chaque nouvel ajout de score
- Crypter/sécuriser les PlayerPrefs pour prévenir le joueur d'accéder à ces valeurs s'il tente de décompiler le projet Unity.

Il y a bien d'autres possibilités, je ne sais pas lesquelles vous avez en tête, mais si on peut combiner tout cela, on pourrait sûrement avoir quelque chose d'un peu fiable. Malheureusement, la sécurité fiable à 100% n'existe pas :/

Pour mon projet, je vais essayer d'implémenter un peu tout ça et voir l'effet que cela aura une fois le jeu en ligne. Si j'ai de bons résultats en retour, je pourrais en faire un tutoriel sur mon blog afin de pouvoir aider aussi d'autres personnes.

Heureusement, c'est un projet qui n'a seulement un élément devant accéder à une DB. Je n'ose pas imaginer le temps de travail pour un jeu type Clash of Clan ou autre.