Page 1 of 24

[ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 21:31
by Epharius
Françaises, français,

Peut-être ne le savez-vous pas (aussi étonnant que cela puisse paraître) mais je suis actuellement en train de faire un "The Impossible Game" ou un "Geometry Dash".
Étant arrivé à un stade assez avancé du jeu, et ayant fini une grosse partie de celui-ci, je me suis dit que qu'il était temps de vous faire partager un peu plus en détail ce que je suis en train de faire.
*Transition*

Principe
Bon, je suppose que tout le monde connaît le principe, non ? Tssss...
Geometry Dash est un jeu qui a connu un grand succès sur mobile, à l'instar de Flappy-Bird ou de Don't Touch The Spikes. Le principe est simple : parcourir un niveau qui scrolle automatiquement horizontalement en évitant tous les pièges que vous rencontrerez. Pour cela, il vous faudra seulement sauter.... "seulement". Le but étant le plus souvent de retenir le niveau pour ensuite mieux anticiper les actions à réaliser. Une petite image pour vous rafraîchir la mémoire :

Image




Quoi ?! Il y a un éditeur de niveau intégré ?
Eh oui ! Vous ne rêvez pas ! Mais arrêtons de crier si vous le voulez bien ! Vous pouviez jouer à Geometry Dash CE en cours de maths (ou autre d'ailleurs) : maintenant vous pourrez créer et éditer des niveaux directement sur votre calculatrice !
Pour cela, il vous suffit - dans le menu principal - d'appuyer sur :f31: pour éditer n'importe quel niveau et :f95: pour créer le votre !
Je ne détaille pas la marche à suivre ici mais si vous voulez plus d'informations, allez faire un tour au topic de l'éditeur de niveau intégré !
Par ailleurs, si vous aimez créer des niveaux, l'équipe des Geometry Dasheurs peuvent vous guider. N'hésitez pas à leur demander de rejoindre leur team ! Plus d'info en cliquant sur ce lien.


Comment puis-je créer mon propre niveau sur ordinateur ?
C'est relativement simple mais il faudra surtout avoir la patience de créer son niveau ! Voici les étapes à suivre :
  • Téléchargez et installez Tiled, un logiciel qui sert à créer des niveaux de jeux à partir d'un tileset
  • Téléchargez le tileset de Geometry Dash à cette adresse
  • Créez le niveau d'un minimum de 10 tiles de hauteur et importez le tileset ("Cartes" → "Nouveau Tileset"). Vous pourrez bien sûr changer plus tard la taille de la MAP en allant dans le menu "Cartes" → "Redimensionner la carte"
  • Quand votre niveau est terminé, exportez-le en .CSV
  • Ensuite, allez sur ce site puis copiez-collez le contenu du fichier .CSV dans le "data" et mettez-lui un ou deux noms entre 1 et 8 caractères et une difficulté. Les espaces et les lettres sont les seuls caractères autorisés.
  • Si votre niveau a des changements de contexte, mettez-les dans le champ adapté. La syntaxe est la suite : "Pour chaque changement de contexte, vous devez seulement mettre le numéro de tile du changement. Les changements doivent être séparés par une virgule. Attention à mettre un numéro pair de changements, sinon le convertisseur ne vous autorisera pas à importer votre niveau !". Pour plus d'informations, je vous conseille d'aller jeter un oeil à cette page.
  • Une fois l'AppVar téléchargée, transférez-la sur votre calculatrice et... c'est tout !
Pour plus de précisions concernant la marche à suivre je vous invite à suivre le tutoriel de PocketArt !
N'hésitez pas à nous faire part de vos niveaux en les uploadant ! Ça me ferait hyper plaisir et ça pourrait en intéresser plus d'un ;)


Une adaptation sur TI-83 Premium CE et sur TI-84+CE ?
Le programme était dans sa version finale (ou du moins 1.0), voici les features à ce jour disponibles :
  • Fonctionnalités de base : ça ne prend qu'un élément dans la liste, mais ce fut une grosse partie qui on peut dire, est presque entièrement terminée. Elle compte :
    • Gestion des blocks de base : Pics, Blocks, petits Pics noirs, doubles-sauts, et autres...
    • Gestion du personnage, des collisions des sauts...
    • Animations diverses et avariées
    • Scrolling vertical permettant d'avoir des niveaux de plus de 10 tiles de hauteur
    • Menus divers, squelette du jeu de base
  • Support du mode inversé (la tête en bas)
  • Possibilité de rajouter sa propre MAP via un système d'AppVars
  • Support du vaisseau de la mort qui tue (wesh)
  • Éditeur de niveau intégré
    • Créer un niveau, le nommer, choisir sa difficulté (à titre indicatif, comme affiché dans le menu principal avec le smiley)
    • Editer un niveau déjà créé
    • Commandes de base :
      • Insérer/Supprimer un tile
      • Choisir le tile à insérer (voir l'image raccourcis clavier)
      • Allonger/Raccourcir la map en X et en Y (mamène)
    • Lancer le niveau qui est en train d'être éditer/Le lancer à partir de la position du curseur
    • Ajouter un changement de contexte (Gravité/Vaisseau Spatial)
    • Copier/Coller
    • Convertisseur AppVar -> CSV pour pouvoir ensuite l'éditer via Tiled
Plus c'est vert, plus c'est fait, plus c'est rouge, plus ça ne l'est pas :p


Screenshots et téléchargement (mis-à-jour à chaque modification majeure)
Voilà à quoi ressemble la bête pour le moment (à noter que ce n'est pas la vitesse maximale, je me garde de la marge) :
Image

Pour l'éditeur de niveau :
Image

Show/Hide spoilerAfficher/Masquer le spoiler
Précédents Screenshots (du plus vieux au plus récent)

test9.gif
test17 (optimized).gif
Image


Vous pouvez télécharger l'actuelle version de Geometry Dash en suivant ce lien !


Voilou les pitchouns, je vous mets les avancées du projet ici à partir de maintenant, et pis quand j'aurai un problème, je saurai à qui m'adresser (eh eh...).
Je tiens en dernier lieu à remercier chaleureusement et comme il se doit :
  • Anonyme0 qui a largement contribué au projet en me fournissant tout l'aspect graphique du jeu (malgré ses demandes pointilleuses en terme de reproduction du jeu original :p).
  • Shadow qui m'a autorisé à ajouter ses niveaux dans l'archive de Geometry Dash ! On monte (à l'heure où j'écris ces lignes) à 8 niveaux intégrés de base ! Merci à lui !
  • TheMachine02 (ou TheMachichi42 pour les intimes) pour sa patience et pour son aide, par rapport aux aspects techniques de l'assembleur (notamment pour les timers toussa...)
  • Grosged pour m'avoir très gentiment donné sa p'tite astuce pour tracer des ronds ! Ça m'a évité quelques heures d'écriture d'une routine d'affichage de disques :D
  • Vous, pour m'avoir soutenu, pour avoir téléchargé le programme et pour avoir répondu au topic. Quoi ? Ce n'est pas déjà fait ? :'(
  • Enfin Adriweb et l'open-source qui m'a permis d'utiliser tivars_lib pour l'importateur de MAP ! J'ai par ailleurs légèrement modifié de la fonction makeDataFromString($str = '', array $options = []) du fichier TH_0x15.php qui comme son nom l'indique transforme une chaine de caractères en data pour être inséré dans le fichier.8xv. La modification me permet de mettre en entrée quelque chose du genre "10,45,68,..." au lieu de "0A2D44". Voici le code modifié :
    Show/Hide spoilerAfficher/Masquer le spoiler
    Code: Select all
    public static function makeDataFromString($str = '', array $options = [])
    {
        $explodeDATA = explode(',', $str);
        $bytes = sizeof($explodeDATA) + 1;
        return array_merge([ $bytes & 0xFF, ($bytes >> 8) & 0xFF], array_map('intval', $explodeDATA));
    }

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 21:38
by Hayleia
le carré ne tourne pas

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 21:39
by Adriweb
Woooo, très joli :)

Hayleia wrote:le carré ne tourne pas

:#roll#:

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 21:45
by Epharius
le carré ne tourne pas

Lol j'savais que j'aurais la remarque :p
D'ailleurs Hayleia tu radotes, et tu n'es pas l[ae] seul[e]? à l'avoir dit, je pense notamment à :
  • Wistaro
  • Anonyme0
  • S01den
  • Ti64Cli++
  • toi évidemment
  • et bientôt d'autres :p
(oui j'aime bien les listes)
NE VOUS INQUIÉTEZ PAS : je prévois de le faire tourner, ce fichu rond (je ferai peut-être des concessions par contre, d'un point de vue symétrie du personnage) :p

Woooo, très joli :)

Merci, j'espère pouvoir faire quelque chose de quand même plus joli d'un point de vue artistique plus tard ;)

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 21:48
by Hayleia
Epharius wrote:
le carré ne tourne pas

Lol j'savais que j'aurais la remarque :p
D'ailleurs Hayleia tu radotes, et tu n'es pas l[ae] seul[e]? à l'avoir dit, je pense notamment à :
  • Wistaro
  • Anonyme0
  • S01den
  • toi évidemment
  • et bientôt d'autres :p
(oui j'aime bien les listes)
NE VOUS INQUIÉTEZ PAS : je prévois de le faire tourner, ce fichu rond (je ferai peut-être des concessions par contre, d'un point de vue symétrie du personnage) :p

Je sais, c'était un troll, à détecter par l'absence de majuscule et de point :P
Et ça évite aussi à d'autres (présents dans ta liste ou non) de le répéter par la suite maintenant que c'est bon, c'est dit dans le topic.

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 21:58
by guinatore
Bien joué super idée j'ai hâte que la version finale (sans bugs avec le carré qui tourne :') ) sorte pour pourvoir y jouer

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 08 Nov 2016, 22:03
by Epharius
Une première version sans vaisseau ni tête en bas devrait ne pas tarder selon les imprévus, peut être dans deux trois semaines.
Pour le reste je ne sais pas encore, ça dépend si je fais une césure entre la première et la deuxième partie du projet (première partie = The Impossible Game et la deuxième = Geometry Dash). Bref, dès qu'il y a quelque chose de jouable je vous mets au courant ;)

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 09 Nov 2016, 14:19
by Ti64CLi++
Euh, Epharius, tu m'a oublié dans la liste des personnes qui t'ont dit que le carré ne tournait pas ^^
Sinon, bravo, et je compte sur toi pour adapter aussi Jetpack Joyride ;) (Les deux ont été ou sont en train d'être porté sur Casio, donc si on ne veut pas que les TI se retrouve à la traîne par rapport à Casio,...)
Travaille bien ^^

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 09 Nov 2016, 17:21
by GalacticPirate
Ouaouh, vous avez avancé, je voyais votre blabla mais je pensais pas que ça avançait aussi vite :D
Et c'est très impressionnant pour un jeu sur PCE :p

Re: [ASM] Geometry Dash sur TI-83 Premium CE et TI-84+CE

Unread postPosted: 09 Nov 2016, 18:46
by Epharius
C'est bon Ti-64Cli++, je t'ai rajouté même si j'ai galéré à écrire ton pseudo en passant :p
Ça avance vite, tout est relatif quand je vois ce que font certains membres mais disons que ça avance, c'est déjà ça :p