Applications Pedro22

Bonjour tout le monde !

J'ai le plaisir de vous présenter le dernier venu dans mes applications, tout juste validé par Sébastien : Excelian War

J'espère que le jeu plaira, et que les codeurs chevronnés seront indulgents !

Bonsoir,

petit jeu sympathique, 22 combat et 100% de victoire... J'ai misé sur la cavalerie légère et ma foie cela a fonctionné.
Il me reste plus qu'à gérer mon argent pour faire évoluer mes troupes petit à petit.

J'aurais juste une remarque à faire (mis à part celle déjà faite dans le jeu lorsqu'il se fige...) :
une cavalerie légère a plus de chance de gagner les combats contre les infanteries légères ou lourdes. Mais en plus lorsque ces chevaux arrivent au "but" la barre d'avancement va plus vite... Ce qui donne : si on a bien fait grossir ces cavaleries, alors sans combat, il suffit de lâcher les chevaux pour gagner rapidement...

Personnellement je réfléchirais à ceci : une infanterie "fragile" qui va au but, ferait avancer la barre de progression plus vite qu'une cavalerie lourde et puissante que presque rien n'arrête... Attention, je dis cela, mais je n'ai testé le jeu qu'en mode "normale", autant en difficile ce n'est plus le cas.

Bravo pour la programmation, dommage qu'il y ait cette cellule H9 qui soit sélectionnée... Pour les images, j'aime bien les troupes et les chevaux, mais j'aime encore plus les Bing ! Bang ! Paf !

@ bientôt

LouReeD

46 parties, 46 victoires !

sans titre

Par rapport à la progression de la barre : si la troupe a combattue alors pas de progression, si la troupe a évité le combat alors progression...
Plus on devient fort plus le chemin pour remplir la barre devrait être long, donc au début 50/50 puis plus on progresse dans le jeu plus on augmente la différence : 30/70.

Ce ne sont que des idées !

@ bientôt

LouReeD

Bonjour Loureed,

Merci pour ton intérêt et tes suggestions !
Pour les interruptions de jeu et la sélection de la cellule H9, je n'ai pas trouvé comment faire mieux. La sélection de la cellule H9 sert juste à "désélectionner" les images tout juste ajoutées.

Le score max et les caractéristiques des troupes sont modifiables dans le code, donc il est tout à fait envisageable de faire des ajustements pour rendre le jeu un peu plus difficile. J'ai déjà rehaussé le score de 40 à 60 (ce qui fait 30 points à marquer pour un joueur qui ne laisse passer aucune troupe adverse). Autre tâche que j'ai en tête : améliorer l'IA (qui fait des choix purement aléatoires actuellement), notamment pour qu'elle dispose davantage de troupes sur les couloirs occupés par les unités du joueur.

Salut,

Merci de prendre en comptes les anciennes versions d'Excel si possible ^^

sans titre

Je sais pas s'il y a d'autre dinosaure comme moi en ancienne version :P

Edit: il y a d'autre fonctions qui ne fonctionne snif tant pis, sinon juste une remarque je ferais des couloirs/lignes pour bien savoir sur quel ligne se trouve les ennemis

Bonjour,

Je pensais déjà être une antiquité avec mon Excel 2010 ! Je vais me renseigner un peu pour adapter le code et le rendre fonctionnel sur des versions antérieures, et je peux sans soucis adapter le visuel pour mieux délimiter les couloirs de jeu.

Je posterai ici quand la nouvelle version sera en ligne.

L'autre truc qui bug au final c'est :

.ShapeRange.Shadow.Type = msoShadow21

en le supprimant pas de souci, cela ne doit pas existé sur ma version

D'autres remarques/améliorations :

- Je ferais des boutons ou alors un simple clique pour acheter/pause/nouvelle partie/etc, c'est pas intuitif le double clique
- Je ferais des encadrés pour les améliorations de chaque unité (donc 3 lignes par 3 lignes) pour bien faire le distinguo
- Faudrait faire un rappel du fait que lancer une unité annule le chargement de toute les autres car cela m'a bien surpris ^^. Et pourquoi pas un deuxième mode de jeu "rapide" ou quand on lance une unité cela reset que son rechargement à elle? les parties seront plus rapide ou plus tactique peut être, tu as testé?
- Changer la difficulté en cours devrait faire lancer une nouvelle partie nan? quelle est la différence entre les difficultés?
- Il faudrait une confirmation tout comme le "réinitialiser acquis" quand on lance une nouvelle partie c'est important je pense
- A quoi cela sert de réinitialiser d'ailleurs? une nouvelle partie ne devrait pas tout remettre à zéro?
- Je verrais bien (en option activable le cas échéant) un numéro ou autre comme des points tel dans le chargement du level de l'unité (juste derrière, devant, au dessus?) pour voir comme ça en jeu quand deux unité (surtout du même style) vont se rencontrer savoir en un coup d’œil si je vais me faire laminer ou pas du genre level 10 vs lvl 3 et renforcer la ligne si besoin
- Esthétiquement je ferais des sprites de rond noir en dessous des ronds orange dans le chargement de level, cela montrerais l'avancement global et pourquoi pas un % qui s'affiche à côté ou une sprite/texte "unité prête!" à coté qui s'affiche une fois à fond pour bien voir visuellement
- Idem l'avancement de partie je rajouterais soit les chiffres ou % de chaque camp en temps réel pour avoir une meilleure idée que juste la barre
- En pause je cacherais le timer pour mettre un gros sprite "JEU EN PAUSE", c'est toujours sympa un effet visuel ^^ ou alors directement le texte du bouton qui change quand on clique dessus
- Quand on clique sur "nouvelle partie" tu dois le compter comme une partie perdue sinon facile d'avoir 100% de win rate ^^
- Pour un meilleur gameplay j'afficherais les flèches d'amélioration que si on a les finances nécessaires voir un % sur le cout genre on a 10 en finances j'afficherais le cout "50 (20%)" ou au choix du joueur en option ^^
- Idem le level pourquoi ne pas faire "1/10" directement? puis MAX une fois lvl 10 et cacher la flèche d'achat?
- Ça serait cool de savoir le gain de ce qu'on va acheter genre à coté de la flèche améliorer "(+X) "
- Ça serait cool de pouvoir sélectionner l'unité et/ou la ligne via le clavier :) au moins les unités via 1-2-3-4 puis on clique sur la ligne ou si les deux lignes de 1 à 0 et unité du style A-Z-E-R

Bon bien-sur on peut copier/coller les shapes ou les avancer à la mains mais c'est secondaire on va dire ^^
On peut se mettre tout l'argent que l'on veut ^^ (tu devrais le sécuriser ça coute pas grand chose)
On peut modifier le timer (idem tu devrais le sécuriser ça coute pas grand chose)

Par contre en jouant avec le bouton pause/nouvelle partie cela donne du grand n'importe quoi:
- les unités se chargent alors que le timer est stoppé
- les unités avancent alors que le timer est stoppé

En faisant "nouvelle partie" cela efface que l'infanterie légère nan? on peut donc "tricher" en maxant une cavalerie et en pouvant la lancer direct en début de partie:

bug

- Si j'ai une inf légère en jeu level 1 en vie et que je monte d'un niveau, elle sera affecté aussi nan ? (j'ai pas regardé le code) à voir si c'est bien comme cela que tu veux que cela fonctionne ^^

Sinon ça reste cool comme jeu ! j'espère qu'il va évoluer un peu

Bonjour !

Merci pour tes remarques, je vais tâcher de prendre tout ça en compte !

L'autre truc qui bug au final c'est :

.ShapeRange.Shadow.Type = msoShadow21

en le supprimant pas de souci, cela ne doit pas exister sur ma version

Ça correspond à l'ombre ajoutée sur les formes, ce n'est donc clairement pas essentiel au fonctionnement du jeu !

Concernant les remarques :

1. Boutons plutôt que double clic : c'est faisable sans soucis, et ça devrait aussi amoindrir le risque de blocage impromptu !

2. Encadrés par unité pour amélioration : idem, s'il faut sauter une ligne entre 2 unités, c'est gérable.

3. La RAZ du chargement de toutes les unités est volontaire, et je pense que c'est plus stratégique qu'un chargement indépendant. Je ne pense pas toucher à cette partie du jeu.

4. Changer la difficulté du jeu rend les améliorations adverses plus efficaces, c'est effectif immédiatement, sauf pour la santé des unités déjà lancées.

5. Confirmation nouvelle partie : ok je peux ajouter ça

6. Réinitialiser les acquis fait une RAZ des améliorations, argent et statistiques. Sur la version en préparation, la difficulté est aussi indexée sur le nombre de parties, ça réinitialise donc aussi la difficulté.

7. Affichage du level d'une unité : trop complexe à mettre en oeuvre, les unités n'ont pas niveau à proprement parler, mais des caractéristiques variables selon les améliorations effectuées. A noter que pour 2 unités équivalentes, c'est souvent la première lancée qui l'emporte, car c'est la première à frapper l'autre.

8. Affichage chargement global et unité prête : à étudier pour voir comment mettre ça en pratique.

9. Ajout de l'état d'avancement en + de la barre de progression : c'est gérable sans trop de difficultés je pense

10. Msg "JEU EN PAUSE" : Ok je plancherais dessus aussi

11. Partie compté perdue si recommencée : Ok

12. % du coût d'une amélioration : Ok

13. Mise en forme spécifique si amélioration level 10 : à étudier

14. Détail du gain d'une amélioration : c'est plus complexe qu'il n'y parait car ce sont des fonctions racine carrée, qui dépendent par exemple du niveau de difficulté. A voir donc si je peux fournir une indication sans trop alourdir le tout.

15. J'y avais pensé à l'origine, mais actuellement je ne vois pas trop comment procéder. J'étudierai le sujet.

16. Pour la "triche" avec les modifications manuelles, j'ai tenté une version avec protection - dé-protection à chaque tour de la macro, mais ça faisait laguer le fichier. A voir si je peux concevoir ça différemment pour sécuriser le tout sans trop altérer les performances.

17. Une nouvelle partie (tout comme le lancement d'une unité quelconque) remet le chargement à 0 de l'infanterie légère. Dès lors que cette partie est vide, la variable de décompte du temps est remise à 0, et cela concerne toutes les unités.

Je proposerais une mise à jour, mais pas tout de suite car j'ai un peu de pain sur la planche.

C'est sur qu'il ne faut pas faire laguer le jeu avec trop de feature (faut pas oublier qu'on est sur excel :P)
Pas de soucis pour les points que tu ne veux pas prendre/trouve inintéressant, cela reste ton jeu et on idée :)

Pour le 15 (détection clavier si je ne dis pas de bêtise), tu as la fonction:

Application.OnKey

ECG

Bonjour !

Je viens de soumettre une version qui intègre les modifications suivantes :

@LouReeD : diminution voire disparitions des interruptions, augmentation progressive de la difficulté et du score max, révision de l'équilibre des troupes

@ExcelCoreGame : points 1 à 17, à l'exception des suggestions 7 (trop complexe) et 15 (toutes mes tentatives ont échouées, l'utilisation des touches est inopérante dès lors que la macro d'actualisation du jeu fonctionne).

Modifications non suggérées : gains corrélés à la difficulté, bonus en fonction du temps restant en fin de partie, amélioration de l'IA (meilleure balance des troupes jouées, et affectation de troupes en priorité sur les couloirs occupés par le joueur), faible chance que l'adversaire joue un "héros" (cavalerie lourde avec 10 fois plus de points de vie).

N'hésitez pas si vous relevez des bugs ou pour d'autres suggestions !

A+

Salut,

Je viens de tester la V2:

- J'aurais personnellement préféré une valeur plutôt qu'un pourcentage pour les améliorations car bon -29% pas trop parlant ^^

Surtout que par exemple pour l'infanterie légère:

info amelio

Pour la vie : 35*1.41 = 49.35 et on passe à 49, on a donc un arrondi inférieur
Pour l'attaque: 4*1.41 = 5.64 et on passe à 5, on a donc un arrondi supérieur

Mettre directement +14 pour la vie et +1 attaque à coté du bouton réglerait le problème et surtout chiant de calculer nous même ^^ ou alors le cas échéant double info "+14 (+41%)"

- Plusieurs fois j'ai eu un cheval ennemi qui passe sans combattre mon infanterie comme ci-dessous:

bug 2

- Souvent les PIF PAF BIM ne s'affiche pas, les unités se rencontre et se tue sans message affiché, c'est normal?
- En gagnant une partie au temps (je devais avoir 75 ou 82% à la fin du timer) j'ai eu un bug sur la boucle de victoire qui ne voulait pas s'arrêter et qui incrémentait le compteur (en passant en mode dev j'ai l'impression que c'est le VarStop qui merdait et faisait jamais sortir, je vais tenté de reproduire si tu as besoin
- Si on fait "réinitaliser les acquis" cela passe l'avancement à 100%, on peut le voir dans une vidéo ci-dessous qu'on est à 100% en avancement alors que cela joue
- Des fois le "temps" va plus vite que prévu, par exemple sur une nouvelle partie + réinit acquis au début le cheval est sous nitro mais le timer semble compter les secondes normalement:

https://www.youtube.com/watch?v=-qdcRDFF33E

- Il y a donc toujours des bugs entre le bouton pause/l'avancement de production d'unité/avancé des unités sur le jeu/timer
Un autre exemple de bug ou le timer et les unités n'avancent plus mais ou l'avancement de prod fait un peu n'importe quoi et donc je peux poser des unités (à noter aussi que l'IA a poser le cheval en haut à droite pendant le bug):

On ne voit pas ma souris mais je fais juste des pauses/reprendre à la chaine (et aussi à noter que c'était juste après avoir mis pause pour prendre le cheval qui passe au dessus de mon infanterie sur le premier screen ci-dessus, j'avais repris le jeu car on peut voir que le cheval bleu à dégommer un peu mes unités, que j'ai tué une infanterie.
Tout ça pour dire que tout allait bien au début de partie, j'ai pu mettre pause pour faire un premier screen, j'ai repris un peu le jeu puis en refaisant pause à nouveau la tout à bogué sans raison ^^

https://www.youtube.com/watch?v=sTpVbKk_itU

courage :)

Edit: A voir si c'est que sur ma vieille version d'escel que cela bogue autant :P

Salut ExcelCoreGame !

J'ai trouvé un petit soucis lié à la pause, qui exécute à nouveau la macro d'avancement, alors qu'elle tournait déjà en arrière plan. C'est juste une ligne de code à modifier, mais ça évite que les troupes avancent en accéléré et que la victoire soit comptée plusieurs fois.

La macro de réinitialisation met l'avancement à 100% pour éviter de compter une défaite si on relance une partie. Je peux aussi retravailler cette partie pour que la réinitialisation ne soit pas possible en cours de jeu, ou arrêter le jeu le cas contraire.

L'animation "PAF BIM" est aléatoire et peut ne pas apparaître pendant un combat. J'ai volontairement limité cette animation pour ne pas dégrader les performances et ralentir le jeu en cas de combats simultanés sur la grille.

Il arrive que des unités, surtout cavalerie, se croisent sans combattre. En effet, le combat dépend de la cellule sur laquelle se trouve l'unité après déplacement (référence : coin supérieur gauche de l'image). Si les 2 unités changent de cellule au même moment, elles ne sont donc jamais dans la même cellule et ne combattent pas. Personnellement je trouve que ça ajoute un peu de piment au jeu !

Je peux retravailler la partie amélioration pour afficher ça en valeur & pourcentage.

J'ai trouvé le soucis de chargement complet de l'infanterie légère après chaque sortie de pause. En fait, pour ne pas perdre le chargement des troupes, je me base sur l'avancement de l'unité la plus longue à charger (=cavalerie lourde) pour restaurer l'avancement des autres unités.

Donc, 1 étoile = 1/5 de la durée d'une cavalerie lourde = 1,6 seconde écoulées (ce qui correspond au chargement complet d'une infanterie légère).

A voir si je peux affiner cette partie pour éviter ça.

Je testerais la V3 :)

Rechercher des sujets similaires à "applications pedro22"