Page 1 of 3

[Axe] Clash of TI

Unread postPosted: 22 Jan 2015, 14:36
by Clément.7
Bonjour à tous !

Suite au projet de Wistaro de reproduire Clash of Clans sur TI, je me suis moi aussi penché dessus. J'ai donc programmé mon propre jeu Clash Of Clans en TI-Basic, mais c'était moche (et un peu lent, même si c'était presque instantané grâce à l'optimisation) puisque j'utilisais des caractères avec la commande Output(

J'ai donc proposé un projet à Wistaro de développer Clash Of TI en Axe (au fait on dit Axe pour le langage et Axe Parser pour le compilateur mais pas Axe Parser pour le langage de programmation :bang:).

J'ai fait le tout tout tout début du projet, à savoir la fonction permettant d'afficher la map (qui dans la première version ne sera pas scrollable, vous ne pourrez "que" disposer de 10 * 6 tiles ('faut bien mettre un pixel d'espace entre chaque bâtiment sinon ils seront tous collés).

Pour les premières versions du jeu (on n'en fera peut-être qu'une seule en fait), la map s'affiche en 2D, pas de 3D comme sur smartphone (trop dur à faire : je me débrouille en Axe maintenant mais je suis loin d'être une lumière).

Le jeu sera assez simpliste; pour la première version, voici ce que je propose (je verrais avec Wistaro, ce qui suit est susceptible de modifications)

Version 0.0.1

- Hôtel de ville (niveau 1 max.)
- Réserves d'élixir et d'or
- Mines d'or et extracteurs d'élixir

Version 0.0.2

Version 0.0.1 mais avec gestion des niveaux et des améliorations pour les bâtiments

Version 0.1

- Hôtel de ville (niveau 1 max.)
- Réserves d'élixir et d'or
- Mines d'or et extracteurs d'élixir
- Camps militaires
- Casernes (niveau 2 max. : Barbares et Archers)
- Remparts
- Canons

A noter que la portée des canons par exemple ne sera sans doute pas prise en compte avant la version 1.0
A noter que tous les bâtiments, y compris les remparts, on un sprite 8*8 (même si une partie sera des pixels blancs)

Si vous avez des conseils à donner ou tout simplement votre avis, n'hésitez pas !

P.S. : Quelqu'un saurait-il comment utiliser l'horloge sur la TI-84+ ? ça serait en effet plus simple pour gérer les améliorations !

Re: [Axe] Clash of TI

Unread postPosted: 22 Jan 2015, 18:23
by Wistaro
Très bonne idée ! Faut que je revois l'Axe, j'ai un peu oublié par manque de pratique. Je serais ravi de t'aider !

Je ne sais pas s'il est possible de s'occuper du timestamp en Axe. Il ne faut pas par contre utiliser l'horloge, modifiable par l'utilisateur !

EDIT: J'ai bien peur que ce ne sois pas possible... Mais il faut demander à des pros en Axe pour être sûr.

Re: [Axe] Clash of TI

Unread postPosted: 22 Jan 2015, 19:00
by Hayleia
Clément.7 wrote:Pour les premières versions du jeu (on n'en fera peut-être qu'une seule en fait), la map s'affiche en 2D, pas de 3D comme sur smartphone (trop dur à faire : je me débrouille en Axe maintenant mais je suis loin d'être une lumière).

C'est de la 3D vite fait le vrai jeu. L'isométrique c'est quand même limite de la 2D. Par contre ça sert à rien, autant faire un jeu qui marche plutôt qu'un jeu en isométrique (moins maniable en plus).

Clément.7 wrote:P.S. : Quelqu'un saurait-il comment utiliser l'horloge sur la TI-84+ ? ça serait en effet plus simple pour gérer les améliorations !

Pas une bonne idée, ça rendrait le jeu incompatible avec les anciennes 83+.

Re: [Axe] Clash of TI

Unread postPosted: 22 Jan 2015, 19:02
by technolapin
Comment tu compte remplacer le manque de joueurs à aller piller? tu va générer des villages et des raids aléatoires?

Re: [Axe] Clash of TI

Unread postPosted: 23 Jan 2015, 13:30
by Clément.7
Il y a deux problèmes qui se posent de toute façon pour ce jeu : le temps des améliorations ET la possibilité de tricher.
Comme ça ne sera pas un jeu en réseau, le fait que le joueur puisse tricher en modifiant l'horloge ou le fichier de sauvegarde n'est pas vraiment un problème.
Ce qui l'est en revanche, c'est le temps des améliorations. En effet, sans horloge, le joueur devra patienter avec le programme lancé pendant des heures pour attendre la fin des améliorations, ce qui bien sûr est non seulement contraignant de par l'impossibilité d'utiliser sa TI pendant ce temps-là, mais en plus ça épuiserait les piles à une vitesse très élevée...
La seule solution que j'envisage d'utiliser et que j'ai employée pour faire mon propre Clash Of Clans en TI-Basic, c'est d'utiliser une horloge, donc minimum TI-84+.

Je pense que je vais donc faire : une version TI-84+ avec améliorations en temps réel et parfaitement réalistes (et ne nécessitera pas de laisser sa TI allumée) ; et une version TI-83+ qui du coup effectuera les améliorations bien plus rapidement.

Et pour ce qui est de ta question technolapin je vais proposer deux solutions pour faire des combats :

- Un système de campagne Solo comme sur le jeu original avec un bon nombre de niveaux
- Un système de combats inter-village que je détaillerais plus tard (là je n'ai plus le temps)

Re: [Axe] Clash of TI

Unread postPosted: 23 Jan 2015, 20:22
by Clément.7
Donc maintenant que j'ai le temps je vous explique le mode multijoueur :

Toute personne possédant un village pourra voir dans le menu une option "Affronter en Multijoueur".

Vous pourrez ainsi faire deux choses :

Pour que d'autres joueurs affrontent mon village

Il suffira de crééer un compte puis de mettre en ligne sur une plateforme web (que je vais développer) l'appvar CLXPRT qui correspond à votre village.

Pour que j'affronte d'autres villages

Il vous suffira de télécharger sur cette même plateforme web l'un des nombreux villages mis en ligne par les autres utilisateurs.

Pour que je récolte l'argent que j'ai gagné ou perdu lorsque d'autres ont téléchargé puis attaqué mon village

Vous aurez tout simplement à télécharger une appvar CLIPRT et à lancer le jeu : vous recevrez votre dû - ou ce que vous avez perdu - lorsque d'autres ont attaqué votre village.

Il me manque cependant UNE chose pour mener cette fonctionnalité à bien : J'ai besoin d'un système qui me permette de lire la valeur octale de chaque octet d'une appvar TI-83+/TI-84+ donnée et qui puisse être appelée en PHP (une fonction du style for($i = 0, $i = getLength($appvar)) { echo getOctal($appvar, $i) . '-'; }) si quelqu'un sait comment faire merci ça m'aiderait beaucoup

NB : Si je ne peux pas il faudra que l'utilisateur aie à chaque fois qu'il modifie son village l'exporter et l'importer en tapant un long code hexadécimal...

Re: [Axe] Clash of TI

Unread postPosted: 25 Jan 2015, 18:55
by Wistaro
Je suis pas sûr que ce sois possible à faire. A moins de transformer le fichier en txt, pour pouvoir le lire en php...Autrement, je vois pas du tout.

Le projet me semble difficilement réalisable... :(


Mais pourquoi ne pas faire un autre jeu, jamais fait? Je pense notamment à "Geometry Dash", un jeu excellent sur smartphones. Et réalisable en Axe.

Vous en pensez quoi?

Re: [Axe] Clash of TI

Unread postPosted: 25 Jan 2015, 19:47
by nikitouzz
deja pour empecher la modification du fichier de sauvegarde c'est simple.... très simple...

tu recode tout tes chiffres en d'autre chiffre (le 6 devient 45 le 7 devient 128...) et tu fais la conversion a chaque ouverture fermeture...) apres tu fais la somme de tt ces chiffre tu le met en fin d'appvar et tu compare a chaque ouverture fermeture... j'ai fais un truc du style pr mon 2048 impossible de tricher !

l'isometrire est super simple a faire...

Re: [Axe] Clash of TI

Unread postPosted: 25 Jan 2015, 20:54
by Clément.7
Bonne idée Nikitouzz je pense que je vais faire ça.
Par contre je sais qu'il est possible de lire et d'écrire des appvar et prgm en PHP (ou peut-être en ASP.NET) puisque l'ancien TI-Editor sur SourceForge le faisait... Ou alors (chose qui m'étonnerait) il pouvait exécuter une library en C/C++ pour utiliser ça...

Ce dont j'aurais besoin surtout c'est de pouvoir lire sous forme de tokens hexadécimaux (0x0F etc.) mais je ne connais pas la commande PHP pour faire ça, il me semble qu'il y en a une...

Une dernière chose : Je code Clash of TI (si possible avec Wistaro, mais je préfère faire le tout début seul ça sera plus simple) parce que c'est un jeu assez amusant et léger en taille; Geometry Dash par exemple serait de une très difficile à coder avec les portails etc. etc. et serait lourd, peut-être même laggerait bien que fait en Axe...

Ces temps-ci je n'ai pas vraiment d'idée je suis bien moins passionnée par les TI qu'il y a un an, je fais surtout du développement web maintenant... Peut-être que je devrais essayer de faire un jeu original après dont le concept n'a pas déjà été utilisé...

Re: [Axe] Clash of TI

Unread postPosted: 26 Jan 2015, 19:01
by Wistaro
Okay! Bon courage !

Pour le Ph, faudrais déjà voir comment est fait ton fichier de sauvegard. Quel format (hexa natif?)
Si c'est juste un soucis de conversion de bases, il existe des commandes en PHP pour sa. Après suffit de parcourir le fichier...