Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » [Asci] Island of the Dead Kings (IDK)
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

[Asci] Island of the Dead Kings (IDK)

Posté le 01/11/2021 19:54

Bonjour à tous !

Déjà merci à KikooDX pour le titre xD

>> le dépôt Gitea <<

>> télécharger le jeu <<


Présentation générale
IDK est un jeu de rôle en Python (conçu avec Asci). L'univers est la mythologie nordique. Pour l'instant, seul un premier épisode est disponible mais la structure du projet a été pensée pour permettre de rajouter d'autres scénarios avec beaucoup de facilités.

Le jeu peut être un peu dur au début, notamment à cause de la grande taille des cartes et des points de passages entre les mondes qui ne sont pas évident à trouver.

Cartes
C'est un gros point fort du jeu : la map est particulièrement énorme.
Dans la mythologie Nordique, le "monde" est divisée en 9 parties distinctes. Ces neufs mondes sont dans le jeu. Ajoutez à cela les quelques 30 maisons qui parsèment le tout.

Scénario et histoire
Vous incarnez un guerrier scandinave, une attaque nocture vient d'être lancée, mais ce qui au début ressemblait à une victoire facile se transforme rapidement en un piège mortel. Beaucoup de vos soldats tombent. Vous-même êtes largement blessé. Vous tentiez de vous réfugier dans l'obscurité protectrice de la nuit lorsqu'une valkyrie décida de vous achever pour vous porter au Valhalla. Mais Odin, peu satisfait de vos "exploits", vous redonne la vie et le pouvoir de voyager entre les neufs mondes d'Yggdrasil. Votre but ? Tenter de ne pas mourir deux fois semble un bon début…

Mécaniques
Au niveau des mécaniques, c'est un peu chiadé. Il y a notamment :
  • une gestion du temps (avec une heure in-game)
  • dans la droite ligne de ce qui précède un système pour dormir, avec la possibilité de dormir dans une auberge pour récupérer des points de vie. Vous pouvez également dormir chez vous avec le même effet.
  • la possibilité d'acheter armes et armures (dans la limite d'une seule arme et d'une seule armure)
  • un système de consommation type taverne où l'on peut acheter des trucs à boire et à manger
  • un système de quêtes annexes et indépendantes pour gagner de l'argent et des skills
  • un moteur de combat en tour par tour avec une gestion de classes et un système de statistiques inspiré des premiers Final Fantasy
  • quelques sorts avec un système de niveau


Contrôles et aide sommaire
Pour les contrôles :
1, 2, 3 et 5 : gauche, bas, droite et haut
4 : statistiques
6 : inventaire
7 : sorts connus
8 : informations générales
9 : dormir
q : quitter
s : sauvegarde rapide (affiche le code de sauvegarde)

Pour les symboles à l'écran
@ : joueur
* : PnJ
? : points d'intérêt (description de l'environnement)
^ : portes des maisons

Pour tous les contrôles, il faut entrer le chiffre (ou la lettre) correspondant à l'action voulue puis valider avec [EXE]. Si vous voulez répéter votre dernière action, pressez simplement [EXE]. Lors des dialogues, il faut entrer le numéro de la réplique et valider avec [EXE].


1, 2 Suivante
Inikiwi Hors ligne Membre Points: 594 Défis: 8 Message

Citer : Posté le 01/11/2021 21:33 | #


on peut avoir des Screenshots? ou du "texte"
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 01/11/2021 21:43 | # | Fichier joint


Je ne met que la carte de Midgard (le monde des Hommes, là où le joueur commence) pour pas trop dévoiler les cartes non plus. Pour ceux qui veulent vraiment les voir, le dépôt gitea contient les .tmx.

Midgard, c'est la première map du jeu, j'avais pas trop l'habitude des grandes cartes donc y a beaucoup de blanc. D'autres cartes sont beaucoup plus chargées.


"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Massena Hors ligne Ancien rédacteur Points: 2244 Défis: 11 Message

Citer : Posté le 01/11/2021 22:09 | #


Wow c'est... Grand...
Je sais pas si ASCI le permet, mais éventuellement ajoute des caractères discrets pour faire de la végétation/des chemins et ainsi donner de la consistance au décor ?

Bonne chance en tout cas, c'est ambitieux
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 01/11/2021 22:15 | #


Merci !
J'ai les 7 premiers mondes de fait, à peu près tous de cet ordre de grandeur

C'est bien vu, Asci le gère en plus Je sais pas trop ce que ça peut donner, mais je pense essayer avec des points, virgules, apostrophes… Merci pour l'idée !

Le gros point faible pour le moment, c'est surtout le scénario quoi xD
Je pense voir une fois que les décors seront bien en place, peut-être que j'aurais un déclic à ce moment…
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 02/11/2021 13:59 | # | Fichier joint


Une image d'un intérieur :

"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 11/11/2021 17:13 | # | Fichier joint


Quelques nouvelles !
J'ai bien avancé les cartes des maisons (34 / 50) ainsi que les mécaniques. Ayant avancé les cartes, j'ai pu tester les premières mécaniques, la gestion du temps in game est confirmée ! Les premiers essais sont tout à fait satisfaisants. Pour l'instant les achats dans les auberges sont plutôt limités, on peut "manger" ou "dormir".

Le joueur peut également dormir dehors ce qui permet de remettre le temps à 6h du matin. Ça peut paraître futile, mais certains PnJ refusent de répondre si vous les dérangez de nuit et le temps passant relativement lentement, c'est finalement plutôt pratique. xD

À noter que le joueur possède une maison. Si vous dormez dans votre maison ou une auberge (moyennant espèces sonnantes et trébuchantes évidemment ) vous récupérez des points de vie. De même les auberges sont fermées la nuit.

En termes d’affichage, je confirme que les maps sont plutôt grandes, j'ai réussi à me perdre dans les différents mondes. Petit teaser, Midgard possède quatre points de passage vers d'autres monde et ils sont sur la carte depuis le début (donc sur l'image de la carte que vous connaissez).

Pour vous aider un peu, l'écran de statistiques affiche le monde dans lequel vous êtes ainsi que le moment de la journée (aube, matin, après-midi, crépuscule, nuit) et l'heure (plus la vie et l'argent).

Dans les prochaines avancées, j'aimerai notamment :
  • Poursuivre les cartes
  • Proposer différents items selon l'auberge dans laquelle le joueur se trouve
  • Implémenter les armureries
  • Regarder de plus près pour un système de combat potable
  • Implémenter quelques quêtes


Je reste sur l'idée que j'avais eue, à savoir donner une version sandbox sans les quêtes, mais avec les mécaniques pour découvrir un peu le monde

Pour vous teaser un peu plus, Helheim, le monde des morts :


Quelques grandes nouveautés sur les mécaniques. Pour ceux qui connaissent, j'ai piqué pas mal d'idées aux premiers Final Fantasy. Le joueur possède ainsi 4 capacités : vitesse, agilité, attaque et défense. Ces capacités sont influencées par les armes / armures (pour attaque et défense), par des sorts et par la classe du joueur (guerrier, voleur, moine, mage, assassin).

Le joueur possède en plus des points de Magie. Ceux-ci agissent comme un réservoir : à chaque fois que vous lancez un sort, un certain nombre de points de magie sont consommés. Ils sont régénérés petit à petit par la suite (à raison d'un ou deux points par heure dans le jeu).

Sorts
Autre nouveauté importante : les sorts, il y en a assez peu (je vous donne pas la liste volontairement ) chaque sort peut avoir 5 niveaux (ce qui change le prix lors de l'achat s'il y a eu achat, mais aussi le coût en points de magie et l'efficacité). Les sorts peuvent être obtenus de deux manière différentes : soit en les achetant (pas encore implémenté), soit par certaines quêtes.

Combats
Le système de combat est terminé (il me reste quelques ajustements à faire, mais globalement, c'est fonctionnel). Il s'agit d'un système au tour par tour. Vous pouvez attaquer, lancer un sort, fuir ou consulter les statistiques. Regarder les statistiques met en pause le combat. Pour les autres choix, une comparaison des lancers de vitesse détermine qui commence (je reviens sur les lancers juste après), ensuite pour l'attaque, le score des points d'attaque (attaque naturelle + attaque de l'arme) est multiplié par deux, on soustrait à cela la défense de l'autre (défense naturelle + défense de l'armure). Si le total est supérieur (strict) à 0, le défenseur fait un lancer d'agilité, s'il réussit, le défenseur esquive le coup. Sinon il prend des dégâts.

Pour lancer un sort en combat, cela se déroule un peu de la même manière : le programme détermine qui commence, quand c'est à votre tour, vous choisissez le sort à lancer. Si vous n'avez aucun sort ou pas assez de points de magie, vous avez perdu votre tour.

Les lancers
Attention, ça spoile un peu (beaucoup) les mécaniques, ne lisez pas si vous voulez les découvrir vous-même
Cliquer pour enrouler
Les lancers ! C'est cette partie qui est encore un peu faible. Je commence par déterminer la moyenne des capacités (Vitesse, agilité, attaque + arme, défense + armure). Ensuite, on regarde la capacité à tester et on ajoute un nombre aléatoire entre 0 et la moyenne divisée par deux (arrondie au premier entier supérieur). Si ce score est supérieur à la moyenne c'est un succès, sinon un échec. La fonction renvoie le booléen, le score brut et le score pondéré (divisé par la moyenne).

Le score pondéré permet aux joueurs (ou à l'adversaire, c'est géré pareil) de prendre l'avantage, même contre des ennemis plus puissant. Je m'explique, si vous avez des capacités pas terrible et que vous vous battez contre un adversaire un peu pété. Vous réussissez votre lancer de vitesse et votre adversaire aussi, mais comme il a des stats plus élevées que les vôtres, il va toujours commencer le tour. C'est là qu'intervient le score pondéré, si le score brut de l'adversaire est plus élevé que le vôtre, mais que comparé à la moyenne de ses capacités, c'est pas terrible, vous avez une chance de commencer. L'idée c'est de dire que même si le score est très élevé, l'adversaire "peut mieux faire", donc il n'aura pas l'avantage.

Le défaut de ce genre de système est que lorsque l'on teste la capacité la plus élevée, on obtient que des succès (je pense à l'esquive avec l'agilité) c'est assez pénalisant pour le joueur d'avoir un adversaire qui esquive 100% des coups… x) Il faut donc que je trouve un moyen pour valoriser les hautes valeurs pour les capacités sans pour autant que la probabilité d'un succès soit de 1.


@RDP
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Lephenixnoir En ligne Administrateur Points: 24563 Défis: 170 Message

Citer : Posté le 14/11/2021 11:59 | #


Merci pour ces détails ! Pour les lancers, si tu veux qu'on puisse prendre le dessus même quand l'ennemi a une vitesse plus élevée, pourquoi est-ce que tu ne biaises simplement pas le tirage ?

Typiquement la probabilité que tu commences ça pourrait être ta_vitesse / (ta_vitesse + vitesse_ennemi). Comme ça plus la vitesse de l'ennemi est élevée plus il commence souvent, mais tu n'est jamais condamné à passer en second.

Et du coup pour l'esquive tu peux simplement borner la stat d'esquive, eg. à 80% de probabilité d'equive.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 14/11/2021 12:04 | #


En fait j'ai trouvé un trick qui permet de tout fix
Le nombre ajouté à la capacité testée peut-être négatif, centré sur 0, et pour déterminer si c'est un succès, je me base sur la moyenne entre la capacité en question et la moyenne des stats, ça peut paraître tordu, mais c'est plutôt bien équilibré
Là c'est du spoil à donf, mais c'est intéressant xD

Table des pourcentages de réussite
Cliquer pour enrouler
Ci-dessous, la probabilité de réussir son lancer (la valeur de la capacité est à gauche, à droite le pourcentage, la moyenne des capacités était à 5 et les pourcentages ont été calculés sur 200 000 simulations de lancers)
0 - 0.0 %
1 - 16.784 %
2 - 16.635 %
3 - 33.4225 %
4 - 33.5345 %
5 - 49.8885 %
6 - 50.0365 %
7 - 66.571 %
8 - 66.6895 %
9 - 83.3865 %
10 - 83.25 %


Ajouté le 14/11/2021 à 13:46 :
Petite mise à jour, le système mis en place ce matin "groupait" les valeurs par deux, ce qui est dérangeant (il y avait très peu de différence entre 9 et 10, et même pire, avoir 9 était plus avantageux que d'avoir 10). J'ai un peu "linéarisé" en remplaçant le calcul par une stupide… règle de trois

Les valeurs sont réparties de manière plus homogène sur l'ensemble des capacités. Le tout étant borné par un nombre aléatoire entre 70 et 90% de réussite pour la capacité la plus haute

0 - 0.0 %
1 - 7.607 %
2 - 15.673 %
3 - 23.6985 %
4 - 31.4645 %
5 - 39.817 %
6 - 47.632 %
7 - 55.599 %
8 - 63.5165 %
9 - 71.5475 %
10 - 80.01 %


Ajouté le 21/11/2021 à 14:16 :
Bonne nouvelle : les cartes sont désormais toutes finies !
Je suis en train d'implémenter les lieux d'achat / ventes (auberge, armureries / forges, librairies). Une version de démo (sans scénario) devrait voir le jour sous peu

Pour le scénario, je commence à avoir quelques pistes… Mais pour l'instant, pas de quoi vous occuper super longtemps…
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 21/11/2021 16:15 | # | Fichier joint


Version démo 1.0.0

Une première version de démonstration est disponible !

Pour l'instant rien de formidable, vous pouvez vous balader dans les neufs mondes et interagir avec certains personnages. Les achats d'armes, armures, sorts et les auberges sont toutes disponibles. Il y aura certainement plus de lieu d'achat dans la version finale (typiquement, certaines armes ne peuvent tout simplement pas être achetées.

Au niveau du scénario, il n'y a tout simplement rien, j'ai épuré la version démo des débuts de scénario que j'ai commencé à faire. Le but étant de vraiment découvrir le monde. Dans cette optique vous commencez avec un capital de 1000 pièces d'or alors que dans la partie finale, vous n'en aurez que 10.

En termes de contrôles :
  • 1, 2, 3, 5 pour se déplacer
  • 4 pour accéder aux statistiques (Vit = vitesse, Agi = agilité, Att = attaque, Def = défense)
  • 7 pour accéder aux sorts que vous connaissez
  • 6 pour accéder à votre inventaire (arme / armure)
  • 9 pour dormir
  • q pour quitter


En termes d’installation, il suffit de télécharger le dossier en pièce jointe (idk_demo.zip) et de le décompresser à la racine de la Graph 90. Le moteur est fourni avec, pas besoin de le télécharger ailleurs. L'ensemble fait environ 170 ko.

Pour jouer, il faut exécuter (je dis bien exécuter et non ouvrir) le fichier idk.py le shell va s'ouvrir automatiquement. Le chargement peut prendre quelques instants, mais une fois dans le jeu, c'est quand même relativement fluide. Une fois que vous avez récupéré la main sur le shell lancez la fonction idk() pour commencer à jouer. Lorsque vous quittez le jeu, IDK vous affiche la ligne que vous devrez entrer pour poursuivre la partie là où vous avez quitté. J'en suis désolé, la ligne est un peu longue. À noter qu'il existe deux astuces pour ne pas la recopier :
  • Vous pouvez éteindre le jeu sans le quitter (quand vous rallumez la calto, tout reprend comme si de rien n'était)
  • Vous pouvez quitter le jeu et éteindre la calculatrice sans quitter le menu Python, pour copier la ligne, il vous suffira de mettre la ligne en surbrillance et d'appuyer sur [EXE] pour la copier automatiquement.


Pour les symboles à l'écran :
  • les * sont les PnJ
  • les ? sont les points d'intérêts, ils permettent d'avoir une description écrite de l'environnement.
  • les ^ sont les portes

@RDP

Ajouté le 22/11/2021 à 15:45 :
Pour le scénario, je commence à avoir quelques idées. Je n'en dis pas plus sur le contenu pour l'instant, c'est sur la forme que je voulais communiquer.

Pour faire large, au début, le joueur se balade pas mal entre Asgard (le monde des Ases) et Vanaheim (monde des Vanes). La quête principale se suspend à plusieurs endroits. Le joueur peut alors faire une quête annexe (plus ou moins de son choix, j'essaye de faire au moins deux quêtes annexes à chaque fois). Ces quêtes correspondent à des petites actions, souvent assez courtes : rendre un service à quelqu'un, porter un message etc.

Pour la quête principale, j'envisage une scission du scénario, le joueur devra à un moment choisir son camp en quelque sorte. Les missions de la quête principale en seront évidemment affectés ainsi que les relations avec les différents PnJ. (les quêtes annexes seront les mêmes quelque soit le choix du joueur). Certaines quêtes seront en commun aux deux parties et le joueur pourra voir les deux côtés de la même histoire.

Pour les quêtes annexes, pour l'instant, elles sont indispensable, i.e. le joueur est à certains moment obligé de faire une quête annexe pour avancer. Je pense lever cette obligation sous peu, deux possibilités s'offrent à moi.

- Soit le PnJ auquel le joueur parle aura alors un dialogue qui permettra au joueur de choisir entre partir pour chercher une quête ou continuer la quête principale.
- Soit le joueur pourra à tout moment commencer une quête annexe ce qui mettra en pause la quête principale. (j'ai un faible pour cette solution, mais ça pose des problèmes d'implémentation )

Ajouté le 12/12/2021 à 12:05 :
Hey o/

Quelques nouvelles, j'ai pas beaucoup avancé depuis la dernière fois ^^' le scénario avance bien, je confirme le fait que le joueur pourra choisir son camp entre les Vanes et les Ases à un moment (ce qui influera évidemment sur tout le reste de l'histoire ). Pour l'instant, je développe le scénario côté Vanes, et je ferais ensuite le côté Ases. Pour donner une idée, j'ai fait 2 ou 3 quêtes au début dans lesquelles le joueur se fait balader entre Ases et Vanes. Le joueur choisit son camp, et là j'ai une quête Vanes qui est complète (et un peu longue). Rajoutez à cela deux pauses où le joueur peut chercher une quête annexe. J'aimerais un minimum de 5 ou 6 quêtes pour les deux camps plus des quêtes annexes de temps en temps. Cela devrait pousser le nombre total de quête à 20 - 25.

Pour les quêtes annexes, je n'ai pas trouvé comment faire en sorte que le joueur puisse commencer une quête annexe à tout moment sans qu'il puisse faire deux fois la même quête… Donc j'ai opté pour des pauses dans le scénario. Autrement dit, en gros, toutes les deux - trois quêtes de l'histoire principale, le joueur est "libéré" et peut partir un peu où il veut.

La map étant très grande, j'ai également mis en place un système de charrette comme dans Skyrim. Pour IDK, ce sont des PnJ situés dans les mondes et qui permettent de voyager d'un monde à l'autre en échange d'argent (assez peu en fait).

En termes de scénario à proprement parler, l'histoire commence par la mort du joueur et retrace (en gros) la guerre entre les Ases et les Vanes. J'ai essayé d'inclure des évènements un peu typiques et les personnages principaux de la mythologie sont présents. Régulièrement, les dieux expliquent la situation entre les Vanes, les Ases, les liens entre Vanes et Géant etc.

Plus "j'avance", plus je me rends compte que j'ai un code très modulaire, donc il est très possible d'isoler les dialogues dans un coin et de reprendre le cœur pour faire un jeu en plusieurs épisodes. Je confesse que l'idée me plaît assez de reprendre des évènements de la mythologie nordique et de faire un jeu de rôle pour chaque. Si l'idée se confirme, je ne pense pas introduire de suite dans les épisodes, le joueur pourra jouer aux différents épisodes dans l'ordre de son choix.

Ajouté le 13/12/2021 à 17:33 :
Un tout petit message pour confirmer les premiers tests avec le système de charrette qui se passent très bien et pour dire que la partie "Vanes" du scénario est terminée (il faut encore que je la teste, mais je pense pas avoir de mauvaise surprise).

En d'autres termes, j'ai dépassé la moitié du scénario.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 31/12/2021 14:05 | # | Fichier joint


Un petit message pour vous annoncer deux choses :
- la version démo 1.0.1 est sortie, au programme un fix des maisons de Svartalfheim (elles étaient toutes faussée)
- la fin des tests du scénario des Vanes la moitié du scénario est donc implémentée et tout à fait fonctionnelle

Il me reste la partie Ases du scénario à faire, je n'aurais pas d'ici la fin des vacances (je compte même pas trop y toucher je pense xD) donc pour l'instant, je peux pas trop dire quand le jeu sera fini… J'espère pouvoir donner une première version complète d'ici les vacances d'été, sans certitude.

Le dossier de la démo est téléchargeable ici et sur le dépôt gitea
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 01/01/2022 14:10 | # | Fichier joint


Version démo 1.1.1

Une mise à jour de la version de démonstration avec des corrections de bugs et une nouvelle mécanique.

Jusqu'alors, lorsque vous parliez avec un PnJ qui n'avait rien à dire, il vous sortait une phrase aléatoire parmi une petite liste (un peu façon Skyrim). Maintenant vous pouvez choisir votre attitude vis à vis du PnJ en question. Au choix, vous pouvez tenter de le voler, l'attaquer, lui parler (auquel cas il vous sortira une phrase random) ou ne rien faire.

Si vous entrez un choix invalide, le PnJ vous parlera.

L'intérêt plus profond c'est qu'à l'issue de mon test de la première partie du scénario, je me suis rendu compte qu'à plusieurs endroits, le joueur peut-être bloqué par le manque d'argent (bloqué de manière à ce que le jeu soit véritablement impossible à finir). Introduire la possibilité de voler des PnJ permet donc de palier à cela.

Le dossier à mettre dans la calculatrice est en fichier joint, ou sur le dépôt gitea (où une branche est dédiée à la version démo).


Ce qui suit n'a pas de lien avec la version démo. J'ai isolé tous les dialogues des maps du jeu dans un seul fichier, ce qui permet de garder les maps intacts pour un éventuel autre scénario. Comme j'en avais évoqué l'idée plus haut dans le topic, faire une petite série de jeux de rôle autour de la mythologie nordique m'amuse pas mal xD et même si cela ne se fait jamais, c'est agréable d'avoir le scénario complètement séparé des cartes.

Ajouté le 07/01/2022 à 18:16 :
J'anticipe un peu sur une future release d'Asci mais j'ai terminé de modifier le code pour avoir des quêtes parallèles. Toutes les quêtes annexes sont dont jouables à n'importe quel moment dans le jeu.

Et pris d'un coup de stress soudain, j'ai testé le jeu sur calculatrice, malgré ces 200 ko bien pesé, le Python de la Graph 90 parvient à charger tout ça au bout de quelques secondes. (Gros soulagement pour moi, j'ai cru que la calto aller me jeter avec une Overflow x) )

Prochaine étape : fin du scénario côté Ases, rajouter plus de quêtes (en plus maintenant, c'est vraiment facile).

Ajouté le 10/01/2022 à 22:36 :
J'ai terminé le scénario côté Ases. Plus qu'à tester pour vérifier que tout va bien et le jeu sera presque terminé. J'aimerais rajouter quelques quêtes secondaires un peu partout dans le monde, ce qui rallongera encore un peu la durée de développement, mais j'espère pouvoir sortir le jeu d'ici quelques semaines.

En terme de jouabilité, le côté Ases détaille moins les rapports entre Vanes et Ases que le côté Vanes et plusieurs éléments du côté Vanes se retrouvent dans le scénario côté Ases. C'est surtout lié au fait que j'ai fait la partie Vanes sans réfléchir à la partie Ases et que j'ai ensuite "imbriqué" la partie Ases dans ce qui était déjà fait. Autrement dit, je pense que c'est plus agréable de jouer une première partie le côté Vanes et de jouer les Ases dans une seconde partie.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 11/01/2022 20:49 | # | Fichier joint


Version 1.0.1

La première version du jeu complet est disponible !

Mes tests du scénario côté Ases sont terminés ! Au final, il y a 18 quêtes (2 au début, 5 ou 6 selon votre camp et 5 quêtes annexes qui n'ont rien à voir avec le reste de l'intrigue).

En termes de temps de jeu, ça dépend de votre connaissance des mondes et les manières de passer d'un monde à l'autre. Je vous cache pas qu'il est possible que j'y sois allé un peu un peu fort. Si vraiment vous n'arrivez pas à avancer (si vous ne réussissez pas à faire la première quête btw ), je mettrais des tips en spoiler.
Que dire de plus ? Si vous avez des retours, je suis preneur et sinon… enjoy

Pour l'installation, il suffit de placer le dossier idk à la racine du stockage de la calculatrice. Puis de lancer le script idk.py pour commencer à jouer. Le dossier est disponible sur le dépôt git, en fichier joint, et sur la page de téléchargement.
@RDP

Ajouté le 12/01/2022 à 20:41 :
Je pense laisser ça de côté quelques temps, mais l'idée d'une suite de jeux de rôle estampillés "IDK" me plaît bien, il y a notamment quelques passages de la mythologie nordique qui m'inspirent :
- l'hydromel poétique
- le Ragnarök

Si vous avez d'autres idées, je suis preneur. Si cela se concrétise, je vais sans doute revoir un peu la structure du code pour permettre d'avoir plusieurs scénario… Ou alors je publierais les sources comme des jeux complètement séparés, je sais pas trop encore.

Ajouté le 15/01/2022 à 23:44 :
Un petit up pour préciser la nouvelle structure du jeu. Le fichier qui permettait avant de lancer le jeu et qui contenait les principales fonctions du jeu (idk.py) a été renommé en idk_lib.py, la fonction qui servait à lancer le jeu a été isolée et placée dans le fichier scenario.py qui ne contenait alors que les dialogues. Le fichier scenario.py a été renommé en idk.py.

En clair, Island of the Dead Kings devient le titre du premier opus ainsi que le nom de la série. Chaque opus aura un fichier à lui qui fera appel aux mêmes fichiers. Il suffira de lancer le fichier correspondant à l'opus auquel on veut jouer. D'un point de vue purement pratique, ça ne change strictement rien pour jouer : il faut toujours importer idk.py et lancer la fonction idk.

Les épisodes suivants seront donc dans d'autres fichiers (eg. ragnarok.py où il faudra lancer la fonction ragnarok() pour jouer.) J'en profite pour annoncer la fin du support de la version démo (le code n'est plus maintenu et la branche correspondante a été supprimée.)

Je ne compte pas commencer le prochain opus maintenant, mais comme ça tout est prêt pour.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 16/01/2022 12:06 | # | Fichier joint


Version 1.0.2

Pour l'utilisateur, aucun changement, il ne s'agit que de remaniements internes pour permettre de faire plusieurs scénario avec les mêmes cartes et les mêmes mécaniques. Pour l'instant, vous pouvez rester avec la version 1.0.1 sans problème et changer uniquement quand les prochains scénario seront publiés. L'interface lors du chargement du jeu est un peu moins austère que pour la version précédente.

S'il y en a qui sont inspirés, j'ai placé un modèle de scenario sur le dépôt.

Le dossier compressé de la version 1.0.2 est disponible en fichier joint, sur gitea et sur la page de téléchargement.

Ajouté le 25/01/2022 à 19:06 :
Sursaut insoupçonné du projet !
J'ai pas mal d'idées pour le prochain scénario (genre j'ai une liste des points importants qui est déjà pas mal longue), mais c'est pas de ça dont je voulais parler. L'idée de faire un système de DLC m'a pris. Ça prendrait la forme d'un fichier py supplémentaire et 100% facultatif qui rajouterait une partie de l'histoire (de préférence assez balèze).

Pour l'exemple, j'ai commencé un fichier de test où on peut devenir un marchand respecté dans tout l'Yggdrasil (en plus c'est pratique pour un marchand de pouvoir voyager partout xD). Dans l'état actuel, je peux charger un fichier "DLC" et jouer la partie normalement avec le contenu additionnel. Après, le DLC en question n'a qu'une seule quête à des pures fins de tests donc aucun intérêt pour l'instant.

Il me reste quelques problèmes à régler :
- Et si on veut ajouter plusieurs DLC ? (j'ai pas trouvé d'idée pour importer plusieurs fichiers de manière optionnelle sans tout hardcoder)
- Potentiellement des problèmes de conflit entre le (les ?) DLC et le jeu (voire entre les DLCs)

Ajouté le 25/01/2022 à 22:28 :
J'ai un peu avancé dans la soirée, notamment sur la souplesse du jeu. Je pense faire un DLC et un seul pour IDK (le premier opus). Chaque opus pourrait ainsi avoir un DLC. Pour les conflits entre les DLCs il n'y en aura pas (puisqu'un seul DLC pourra être activé à chaque fois).

Dans les cas de conflit avec le jeu d'origine, le DLC a le dernier mot, i.e. si un personnage, au moment où le joueur interagit avec lui a deux dialogues différents (celui de base + celui du DLC), le dialogue du DLC se lance en premier.

Autre point, j'ai (légèrement) modifié la structure du moteur notamment au niveau des informations que j'avais hardcodées et éparpillées un peu partout (à savoir les sorts, les niveaux des sorts, les armes et les armures). Maintenant ces données sont stockées à part et sont potentiellement modifiable par les DLCs (on peut changer les effets des sorts lors des combats via un DLC aussi).

De ce fait, je suis en train de revoir mes magasins pour intégrer des systèmes aléatoire dans les items proposés à l'achat. J'ai terminé les sorts ce soir, il y a deux librairies dans tout le jeu, l'une d'elle propose tous les sorts, au niveau maximum, l'autre propose trois sorts au hasard parmi ceux disponible. Il faut aussi que je modifie les forges et armurerie pour implémenter un système similaire et ça sera pas mal je pense.

Ajouté le 30/01/2022 à 14:13 :
Un petit up pour dire que j'ai terminé d'intégrer les changements d'Asci dans IDK (1.7.2). Les magasins ont tous été revus. Je garde ça en dev pour l'instant, de ce que je sais, la version actuelle d'IDK (i.e. 1.0.2) est stable, donc pas besoin de tout changer maintenant. Je sortirais la mise à jour en même temps qu'un premier DLC je pense.

En termes de date pour la sortie du DLC, je l'ai pas du tout commencé, donc c'est pas pour tout de suite, et idem pour le prochain opus.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 14/02/2022 22:42 | # | Fichier joint


Version 1.0.3

Un tout petit changelog :
- IDK utilise maintenant la dernière version d'Asci (j'en avais parlé sans sortir la release)
- lorsque l'on commence la quête principale et que l'on parle à Lithy dans Migard, on revenait au début de la quête, c'est fixé.

À cause de ce dernier point, je vous conseille de mettre à jour. Autant les mises à jour précédente c'était purement de la restructuration, là c'est un patch. Dans tous les cas, le jeu est disponible en pièce jointe, et sur la page officielle de téléchargement !

Je garde le DLC au chaud sur la branche dev pour l'instant, de toute façon, il est vide. J'en avais parlé un peu sur la shout avec FK, les points de passages vers les autres mondes peuvent être dur à trouver, surtout au début. Je vous met quelques tips en spoiler.
Tips pour les points de passages
Cliquer pour enrouler
Les points de passages sont toujours des petites maisons.

 _
/ \
|_|

Dans plusieurs mondes, ces points de passages ont un signe distinctif commun. Parfois il n'y en a pas, mais alors des chemins vous guident jusqu'à la maison (e.g. dans Vanaheim).

Si vous avez besoin d'un coup de pouce pour le début, vous pouvez tenter de trouver Lithy pour connaître les emplacements des points de passages vers Vanaheim et Asgard. (vous la trouverez au sud du Palais de Midgard). De plus certaines quêtes vous font un peu voyager et découvrir de nouveaux points de passages.

@RDP
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 28/02/2022 17:27 | # | Fichier joint


Version 1.0.4

Une toute petite mise à jour pour corriger quelques bugs, et pour mettre à jour Asci avec la dernière version. Toujours pas de DLC pour l'instant ^^'

Quelques nouveautés néanmoins du côté de la manière dont le DLC interagit avec le reste du jeu : j'ai maintenant la possibilité d'ajouter des entités via le DLC. Je pense à un personnage central dans le DLC qui a disparu de la carte avec cette version (sans DLC) pour être ajouté par le DLC au jeu, ce qui va me permettre une gestion intéressante de l'entité, notamment, elle pourra guider le joueur. (j'ai enfin trouvé un moyen de vous faire trouver les points de passages )

Comme d'habitude, le programme est disponible :
sur la page de téléchargement
directement depuis ce lien

@RDP (je t'aime Tituya ♥)
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 15/04/2022 16:00 | # | Fichier joint


Version 1.0.5
Vous avez cru que j'avais abandonné hein ? Allez avouez
Bon deux petites mise à jour mineures mais sympathique
- on peut maintenant lancer certains sort en dehors des combats via le panel des sorts (touche [7]) si le sort ne nécessite pas d'adversaire, et que vous avez assez de points de Magie pour le lancer…
- les dialogues avec les personnages qui n'ont rien à dire étaient… cachés il fallait lui parler puis choisir l'action "parler". Maintenant cette option n'existe plus : le PnJ vous parle, et vous pouvez alors choisir entre les autres actions : l'attaquer, le voler ou ne rien faire (action par défaut).

Le jeu est disponible sur la page de téléchargement et en fichier joint.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 17/04/2022 23:09 | # | Fichier joint


Version 1.0.6

Comme KikooDX m'en a fait la remarque tout le bas de l'écran était gâché par le prompt. C'est maintenant corrigé avec un petit HUD qui permet de voir l'heure in game ainsi que vos points de vie et ceux de magie.

J'en ai profité pour corrigé deux trois petits trucs, comme les sorts en combats qui pouvaient déconner ou encore quelques accents qui traînaient à droite à gauche…

Le jeu est disponible sur la page de téléchargement et en pièce jointe.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Lephenixnoir En ligne Administrateur Points: 24563 Défis: 170 Message

Citer : Posté le 17/04/2022 23:56 | #


Super ! Juste au cas où, aucun changement sur la sauvegarde ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 17/04/2022 23:59 | #


Ah non aucun. C'est juste de l'affichage qui change. Les sauvegardes restent complètement inchangées et compatibles.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 24/06/2022 13:28 | # | Fichier joint


Version 1.0.7

Une petite mise à jour avec surtout des patchs au niveau de certaines maisons qui étaient mal reliées ou des magasins qui ne fonctionnaient pas. Ça m'a aussi permis de voir qu'il y a avait très peu de magasin, pour le premier opus, c'est terminé et j'ai pas trop envie de revenir dessus, mais pour les prochains, je vais tenter de faire un système mieux ficelé pour pouvoir mettre beaucoup plus de magasin.

Les fichiers sont téléchargeables en fichier joint et sur la page de téléchargement.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 80 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd