touffu64 | Un jeu sur Excel |
3 #1 |
---|---|---|
Je m'installe
Inscrit: 17/02/2011 02:21
Post(s): 189
|
Bonsoir à tous,
Cela fait maintenant plusieurs mois que je bosse sur un projet un peu fou : réaliser un jeu sur Excel. Et je suis plutôt fier de vous présenter une première version jouable J'ai voulu faire un genre de Rogue-like, ces jeux dans lesquels on parcourt des donjons créés aléatoirement. Le but ici, c'est de faire le plus gros score à l'issue du 5e niveau. Il y a environ 1h de gameplay. C'est un jeu sur Excel ! J'ai appris la programmation VBA sur le tas, donc niveau graphismes ça reste très basique (pour le moment en tout cas). De plus, il faut "régler" l'affichage avant de lancer la partie, pour éviter qu'une partie du jeu ne se retrouve en dehors de la partie visible de l'écran. Il suffit généralement de modifier le zoom (en bas à droite, 70% marche bien pour moi) et de réduire le ruban d'accès rapide. Si ce n'est pas suffisant, l'onglet "Affichage" permet d'enlever les En-têtes (numéro de lignes/colonnes) et la barre de formule. Enfin, si vous appuyez sur une touche autre que les 4 flèches, CTRL ou ALT, ça stoppera le jeu net. Et il y a un risque que ça "casse" le fichier. C'est un Rogue-like ! Au début vous allez pas mal mourir. Mais c'est normal, et ce n'est absolument pas gênant. Mourir permet même de compléter un achievement. Les niveaux sont générés aléatoirement, seule leur taille maximum est fixe. Les salles et leur contenu sont également aléatoires. Il y a un système de sauvegarde ! Au lancement d'une nouvelle partie, un nom vous est demandé. Vous pouvez mettre ce que vous voulez mais il est conseillé d'éviter les majuscules, dans certains cas ça peut croiser des sauvegardes (par exemple : Excel ne fait pas la différence entre Test et test). Les sauvegardes sont automatiques. Quelques retours m'aideraient pas mal, surtout pour ce qui est de l'équilibrage du jeu (paliers des achievements, prix des objets/compétences, puissance des monstres, ...) N'hésitez pas à me dire ce que vous en pensez et à publier vos scores ! Voilà, merci à vous Edit du 20/01/2017 : Mise à jour du lien de téléchargement pour la version debuggée.
Contribution le : 19/01/2017 19:12
Edité par touffu64 sur 20/1/2017 15:06:44
|
|
Signaler |
Adr1enb | 0 #2 |
|
---|---|---|
La loi c'est moi
Inscrit: 19/04/2008 16:29
Post(s): 8776
Karma: 2423 |
Faudrait-il encore avoir Excel
Contribution le : 19/01/2017 20:23
|
|
Signaler |
touffu64 | 0 #3 |
|
---|---|---|
Je m'installe
Inscrit: 17/02/2011 02:21
Post(s): 189
|
Ben... oui ^^
Contribution le : 19/01/2017 21:34
|
|
Signaler |
Wiliwilliam | 1 #4 |
|
---|---|---|
La loi c'est moi
Inscrit: 07/04/2012 19:19
Post(s): 38209
Karma: 18933 |
@Z3bbra !
Contribution le : 19/01/2017 22:30
|
|
_________________
>> Récompenses si tu passes en article << |
||
Signaler |
Z3bbra | 0 #5 |
|
---|---|---|
Je suis accro
Inscrit: 27/03/2015 08:55
Post(s): 1456
Karma: 346 |
Salut à toi @touffu64 (Merci @Wiliwilliam (qui a enlevé cette put*** de barre XD :-P)
Petit bug de début de partie : - J'ai commencer une nouvelle partie sauf que rien ne s'affiche (le problème est pas là), je décide donc de recommencer une partie, je refais la manip avec le "0" puis entre mon nom (déjà mis évidement). Il me dis que ce nom n'est pas valide mais c'est tout. Je veux donc fermer la fenêtre mais impossible (que je clique sur "Ok", "Cancel" ou la croix) il faut absolument lui rentrer quelque chose . - J'arrive dans un pièce avec un monstre. Dans cette même pièce figure la sortie. A peine je rentre le monstre m'attaque (je ne vois pas de carré noir). Heureusement je gagne (1 victoire sur au moins 6 combat ^^) et là : POUF ! Plus de carré bleu Donc je suis coincé et obliger de mourir - Présence d'une bombe dans une salle, il y a la croix dessus mais la couleur n'est pas présente ce qu'il fait que je passe dessus sans la prendre ou sans qu'elle ne disparaisse. (4 cas) - Présence d'une bombe sur un piège. La croix de la bombe mais couleur du piège et subis des dégâts sans recevoir de bombe. (5 cas) Questions : - Normal que les bombes ne tuent pas les ennemis même si ils sont dans la zone d'explosion ? - Comment est calculé notre chance de victoire ? Ou plutôt comment améliorer ses stats pour battre le plus de monstre ? - Comment sont généré les monstres ? (Car piège c'est transformer en monstre une fois un mouvement fait et non dès lors que je suis rentré dans la pièce) - L'achievement des pièges ne se met pas à jour au fur et à mesure que l'on se les prend, normal ? (On perd de la vie alors pourquoi ne pas inclure une ligne de plus pour incrémenté la valeur d'autant plus que l'incrémentation se fait pour le pognon du jeu (no spoil XD)) Sinon : Un très bon jeu comme ça de pour le fun !! :10: Je n'ai pas regardé le code mais je me doute que ça doit être un sacré truc qu'il y a derrière. J'aurais quelques améliorations "visuelle" à te proposer notamment pour le magasin et aussi expliquer un peu plus à quoi servent les épées (du coup ça répond à ma question d'avant) car j'ai mis un petit moment à comprendre. Petite amélioration : un affichage du score total en fin de partie (sur Excel et non pas dans la fenêtre MsgBox) si possible avec une sauvegarde et pourquoi pas un ranking à la fin si jamais on veux rejouer pour savoir s'il on a été meilleur ou pas
Contribution le : 20/01/2017 01:01
|
|
Signaler |
touffu64 | 0 #6 |
|
---|---|---|
Je m'installe
Inscrit: 17/02/2011 02:21
Post(s): 189
|
Merci @Z3bbra pour ce retour !
Alors on va prendre les choses dans l'ordre. Déjà les bugs : - Pour le début de partie je ne comprends pas trop ce qui a pu planter. Tu es sûr que le jeu ne tournait pas ? Quoi qu'il en soit, ça avait bien été pris en compte au niveau des sauvegardes, d'où le fait que tu n'aies pas pu créer une nouvelle partie en réutilisant ton nom (car la partie existait déjà). Du coup j'ai un peu modifié en donnant la possibilité de quitter le jeu en entrant la lettre 'q', ça évite de se retrouver bloqué avec Excel qui attends absolument quelque chose - Pour le monstre sorti de nulle part qui "bouffe" la sortie ce n'est pas réellement un bug. C'est juste un cas particulier que je n'avais pas pris en compte. J'ai modifié pour que ça ne se reproduise pas, tu as plus de détails sur ça dans la suite. - Pour ce qui se rapporte aux bombes, c'est un souci au niveau de la remise à zéro de la map cette fois. En fait le jeu détecte la bombe à sa couleur (la croix est invisible pour lui), c'est pour ça que dans le premier cas tu n'as rien ramassé, et que dans le deuxième cas tu as pris les dégâts des pièges. J'ai rajouté la croix sur la bombe uniquement pour mieux pouvoir la différencier des pièges. Là aussi j'ai modifié, ça n'arrivera plus. Maintenant, les réponses à tes questions : - C'est normal que les bombes ne tuent pas les monstres oui, pas du premier coup en tout cas. En fait un monstre a un minimum de 51 points de vie, et une bombe inflige 50 points de dégâts. Il faut donc plusieurs bombes pour tuer un ennemi (sauf si le monstre a déjà pris des dégâts en marchant sur un piège). Parce que oui, les monstres peuvent mourir tout seuls s'il marchent sur assez de pièges, mais ils peuvent aussi se soigner s'ils marchent sur une potion. - Les combats se déroulent en plusieurs tours. Le joueur commence par attaquer, puis c'est au tour du monstre, et ainsi de suite jusqu'à la mort de l'un des deux. Au début du combat tu vois la vie et la puissance d'attaque du monstre. On va prendre un monstre avec 100 de vie et 50 d'attaque pour l'exemple. Toi tu as 100 de vie, l'épée de base (2 d'attaque), et pas de Résistance. Tour 1 : Tu infliges 2 au monstre. Il t'inflige 50. ==> Il est à 98, tu es à 50. Tour 2 : Tu infliges 2 au monstre. Il t'inflige 50. ==> Il est à 96, tu es mort. Maintenant si tu as l'épée en fer (75 d'attaque) et 8 de Résistance. Tour 1 : Tu infliges 75 au monstre. Il t'inflige 42 (50-8). ==> Il est à 25, tu es à 58. Tour 2 : Tu infliges 75 au monstre. Il est mort et ne réplique pas. ==> Il est mort, tu es à 58. Donc la Résistance est importante, tout comme l'épée. Augmenter la Vie max est aussi très utile pour les derniers niveaux (un monstre à 50 d'attaque ça fait mal, même avec la Résistance au max ^^) - La génération des monstres c'est un point un peu technique. En gros, quand tu rentres dans une salle, il y différents tirages aléatoires qui permettent d'en déterminer le contenu. La sortie est le plus prioritaire dans le sens où si le jeu veut placer la sortie et une bombe (par exemple) au même endroit, et ben c'est la sortie qui sera posée, pas la bombe. Le principe s'applique de la même façon pour les "duels" sortie-monstre. Sauf que dans le cas des monstres, leur position précise est enregistrée par le jeu, ce qui n'est pas le cas de tous les autres éléments. Tu as donc eu droit à un cas où le jeu a choisi de mettre un monstre au centre de la salle. Il a enregistré les coordonnées, et a ensuite décidé de placer la sortie par-dessus. Le carré noir du monstre est donc devenu un carré bleu MAIS ses coordonnées sont restées enregistrées (d'où le monstre invisible, caché sous la sortie). Et quand tu l'as tué il a disparu, faisant également disparaître la sortie ^^' Je pense que le piège qui se transforme en monstre était un cas similaire si c'était dans une salle avec la sortie. Sinon je vois vraiment pas... - Pour l'achievement des pièges c'est une erreur de ma part, un copier-coller mal modifié (en fait ça comptabilisait les pièges avec le pognon). Voilà, j'ai essayé d'expliquer au mieux sans trop entrer dans les détails techniques, j'espère que tout est bien compréhensible Pour ce qui est de l'affichage du score total je suis pas certain de bien comprendre ce que tu veux dire. Qu'est-ce que tu appelles le score total ? Et le ranking c'est une très bonne idée, du coup je l'ai rajouté Nouvelle version Merci encore à toi, n'hésite pas si tu as d'autres questions/suggestions ! NB : J'ai aussi ajouté une fonction qui permet d'enregistrer le fichier Excel automatiquement à chaque fois que le jeu s'arrête "proprement" (avec la touche 'q' dans les boîtes de dialogue ou avec la touche ALT).
Contribution le : 20/01/2017 15:04
|
|
Signaler |
Z3bbra | 0 #7 |
|
---|---|---|
Je suis accro
Inscrit: 27/03/2015 08:55
Post(s): 1456
Karma: 346 |
@touffu64
Nouveau bug : - Un monstre est passé par une porte non ouverte encore et l'a donc supprimer tout en dévoilant une case Drôle : - Niveau 2 fini en 4 cases J'en dirais plus demain, j'ai fais un test vite fais se soir
Contribution le : 20/01/2017 23:44
|
|
Signaler |
tonyfrost | 0 #8 |
|
---|---|---|
Je masterise !
Inscrit: 12/06/2007 18:44
Post(s): 3194
Karma: 724 |
Contribution le : 21/01/2017 00:32
|
|
Signaler |
touffu64 | 0 #9 |
|
---|---|---|
Je m'installe
Inscrit: 17/02/2011 02:21
Post(s): 189
|
@Z3bbra
Pour les monstres, une porte fermée et un mur c'est la même chose. Le seul cas où le monstre peut passer sur une case non découverte, c'est en passant par une des portes de la salle de spawn (car les portes y sont ouvertes de base). Je modifierai ça dans une prochaine version. Et le niveau de 4 salles c'est normal même si c'est vrai que ça peut être frustrant ^^ Les niveaux sont générés aléatoirement donc tout peut arriver. @tonyfrost Ton problème est peut-être lié au fait que j'utilise la fonction GetAsyncKeyState() pour gérer la détection de l'appui sur les touches. Normalement elle est incluse de base dans la dll User32. Creuse peut-être de ce côté. Sinon je sais vraiment pas, désolé...
Contribution le : 21/01/2017 10:39
|
|
Signaler |