Description en français :N'hésitez pas à laisser un commentaire en dessous de mon jeu, ça me ferait vraiment plaisir !
Présentation :
Il s'agit d'un simulateur d'attaque aérienne se basant sur Kancolle.
Mon programme simule un élément de gameplay de ce jeu : les frappes aériennes.
Ce programme n'est pas un jeu à proprement parler, car vous ne pouvez ni gagner ni perdre, mais je pensais que c'était suffisamment divertissant pour être dans la catégorie jeux.
C'est mon premier grand projet comme celui-ci, et ça m'a pris plus d'un an (pour la version 1.0), car je n'avais pas beaucoup d'expérience avec ce langage de programmation au début (j'ai seulement commencé à apprendre des algorithmes en 2nde, et j'ai fini le programme en 1ère). Ça a été une très bonne expérience et j'ai vraiment beaucoup amélioré mes compétences en programmation.
Kancolle est un jeu sur navigateur populaire au Japon avec des navires de la seconde guerre mondiale. Les frappes aériennes sont déclenchées par les porte-avions au début de chaque bataille dans le jeu. Pour que mon programme puisse être digne d'un simulateur, j'ai utilisé les formules disponibles sur la page "Combat" de Kancolle Wikia.
Accéder au jeu peut être un peu plus dur qu'un jeu navigateur lambda, donc voici un lien vers un guide pour débuter (en anglais), cela peut permettre de mieux comprendre le programme, si vous êtes intéressés par le concept.
Exemple d'airstrikes en action dans le jeu en lui même, un exemple où les ennemis se font bien défoncer (deux vagues de support aérodrome (LBAS) suivies de l'airstrike des porte-avions, de 9:00 à 9:24) : Summer 2017 event E-5 Hard
Autre exemple plus récent (quatre vagues de LBAS suivies de la phase aérienne des portes avions (sans bombardier), de 7:35 à 8:09) : Spring 2019 event E-3 Hard
IMPORTANT :
3 emplacements de fichiers sont présents : le 1er est la dernière version, le 2e est un ZIP contenant les précédentes versions (la 1.0, la 1.1 et la 1.1.1), le 3e est la version Beta, beaucoup plus légère (mais réalisée il y a longtemps avec du spaghetti code), si vous n'avez pas assez de place.
Spécificités de mon programme :
→ Les ennemis n'attaquent pas, ils subissent juste des dégâts en fonction de la configuration de votre équipement et de la flotte ennemie
→ Vous ne pouvez pas gagner ou perdre, une fois que vous commencez la simulation, le programme refait des simulations jusqu'à la fermeture du programme (en cours de simulation, vous pouvez quitter en appuyant sur "EXIT")
→ Testé uniquement sur Graph 35+E USB et l'émulateur de Graph 85 en version 1.1.1 ou + (pourrait éventuellement fonctionner sur d'autres)
Astuces :
→ Avant de commencer, allez voir le tutoriel ! Il explique l'affichage des résultats de simulation, qui peut être très confus sans savoir ! (version 1.0 ou +)
→ Vous pouvez prendre jusqu'à 7 porte-avions, chacun pouvant tenir de 1 à 5 escadrilles ! (4 en version 1.1.1 ou -) Vous pouvez même, si vous voulez, n'amener aucun porte avion, pour n'utiliser que le support aérodrome ! (la version 1.0 ne gère pas les différents porte-avions, uniquement les escadrilles)
→ Le support aérodrome (LBAS) vient en aide au porte-avions pour infliger des dégâts aux ennemis avant leur attaque ! (version 1.0 ou +)
→ Plus une escadrille comporte d'avions, plus elle sera efficace ! Cependant, la différence entre une escadrille de 1 avion et de 4 avions par exemple est la même qu'entre une escadrille de 36 et de 49 avions...
→ La puissance (Pwr) d'un avion influe directement sur les dommages portés.
→ Les avions de reconnaissance et les "bateaux volants" (de très gros avions) ne peuvent pas attaquer, mais s'ils sont couplés avec au moins un bombardier torpilleur, ils permettent de déclencher un bonus de dommage pour tous les avions attaquants ! Plus la précision (Pr) d'un avion activant le contact est grande, plus l'efficacité du bonus sera grande ! (version 1.1 ou +)
→ La capacité de reconnaissance (Rc) d'un avion va influer sur ses chances d'activer le contact ! La taille de l'escadrille influe également. (version 1.1 ou +)
→ Les bombardiers en piqué, malgré la présence de statistiques de précision et de reconnaissance pour eux, ne peuvent pas activer le contact. (version 1.1 ou +)
→ La taille d'escadrille des aérodromes ne peut pas être modifiée ! (version 1.1 ou +)
→ Les ennemis sont des bateaux, et sont affichés par "cases" lors d'une simulation (utilisez le tutoriel pour mieux comprendre)
→ Vous pouvez revenir en arrière dans le menu de sélection d'ennemis avec "EXIT" !
→ Les portes avions ennemis n'ont pas d'avions sur eux, du moins dans la version actuelle... (version 1.1.2 ou -)
→ Les "+1", "+2" ou "+3" à côté du texte "Contact!" pendant la simulation indiquent l'efficacité du contact enclenché !
→ Vous pouvez quitter une simulation pour revenir dans le menu de sélection de programmes avec "EXIT" (version 1.0 ou +)
→ Certains ennemis ont une armure plus coriace ou une esquive plus élevée ! Ne soyez pas étonnés si toutes vos escadrilles ratent leur cible...
→ Les dommages causés par les bombardiers torpilleurs peuvent surprendre... ils ont un très grand potentiel mais peuvent aussi ne faire que très peu de dommages. Cette remarque n'est cependant valable que s'ils sont placés sur des porte-avions.
Progression de la prochaine mise à jour :
J'ai mis trop de temps à essayer de faire cette version, et le nombre de problèmes que je rencontre ne cesse d'augmenter, les bugs se multiplient, et le code n'est plus gérable. La prochaine version risque donc d'être repoussée à dans très longtemps (afin que je puisse réécrire entièrement le programme), ou tout simplement annulée.
Patch notes :
- Optimisations
- Corrigé le bonus de dommage des LB recons
- Corrigé un bug qui causait l'augmentation de la précision du LBAS à chaque base
- Corrigé un bug dans le calcul d'esquive des ennemis
- Ajouté les chasseurs
- Ajouté les statistiques d'anti-air à tous les autres avions
- Ajout de la flotte alliée ainsi que des avions ennemis, vos bateaux pourront désormais prendre des dommages ! (en cours d'ajout)
Notes de mise à jour :
Version 1.1.2 (23/09/19) :
→ Taille : 39080 octets
→ Lancer " KCASSIM" pour démarrer le programme
→ La compatibilité avec l'émulateur a été légèrement réduite à cause d'un bug de l'ancien interpréteur. Il sera corrigé dans la prochaine version
→ Bouton "Restore setup" remplacé par "Save/Load setup". Les données peuvent désormais être sauvegardées dans des Listes (Ne fonctionne pas sur la Graph 85 OS1.0)
→ Bouton "Quit" ajouté au menu principal
→ Jusqu'à 64 fichiers de sauvegarde ! (Dans la limite de la mémoire principale. Environ 1850 octets par fichier)
→ Ajout des nouveaux navires ennemis et des nouveaux avions
→ Possibilité de mettre jusqu'à 5 escadrons sur les porte-avions au lieu de 4
→ Le programme n'a désormais besoin que des Matrices A, B, C, D, S et T
→ Amélioration d'interfaces
→ Quelques optimisations
→ Amélioration de la fidélité du programme :
⇒ Système de visée d'ennemi des avions en flotte combinée (avant traité comme une flotte simple, maintenant choisit d'abord la flotte puis la cible)
⇒ Ajustement de l'évasion des ennemis pour correspondre à leur évasion calculée, et non leur évasion de base
⇒ Ajout des caps d'évasion : un cap à 40 évasion qui réduit légèrement la valeur d'évasion au-dessus du cap, et un autre à 65 qui la réduit fortement
(légèrement buguée, corrigé pour la prochaine version)
→ Correction de bugs :
⇒ Menu d'édition de flotte ennemie corrigé
⇒ 5e ennemi moins attaqué en formation "Vanguard" corrigé
⇒ Certainement d'autres bugs
→ Hotfix (27/09/19) :
⇒ En cas de réduction du nombre de porte-avions dans le menu "Edit", supprimait les données des aérodromes (corrigé)
→ Hotfix (30/09/19) :
⇒ Charger un trop grand setup fait planter le programme à cause d'une barre de chargement trop longue (corrigé)
Version 1.1.1 (29/09/18) :
→ Taille : 40800 octets
→ Lancer " KCASSIM" pour démarrer le programme
→ Le programme est désormais entièrement compatible avec l'émulateur gratuit de Graph 85 fourni par Casio lui-même !
→ Ajout d'un menu navigable pour la sélection d'ennemis (la fonction "Edit setup" ne fonctionne pas encore correctement pour les ennemis, ce sera corrigé dans la prochaine mise à jour)
→ Légères améliorations graphiques
→ Réorganisation des sous-programmes et optimisation du code
→ La formation "Vanguard" fonctionne presque correctement.
Bug présent : Le 5e ennemi dans le cas d'une flotte de 5 navires se fait attaquer deux fois moins que la normale.
→ Il n'est plus possible de mettre son curseur sur les compteurs de nombre d'avions dans le menu de sélection des avions basés sur aérodromes, car ce nombre est prédéfini de toute façon
→ Si vous avez la version 1.1 installée, il est fortement recommandé de la supprimer avant d'installer la 1.1.1
→ Correction de bugs :
⇒ Si vous sélectionniez des avions de reconnaissance, puis que vous changiez de nouveau vers un avion classique dans un aérodrome, le nombre d'avions restait à 4 au lieu de revenir à 18.
⇒ Si vous composiez une flotte combinée d'ennemis avec moins de 6 bateaux dans la flotte principale, des bugs d'affichage des indicateurs de coups critiques et de dommages égaux à 0 pouvaient se produire.
Version 1.1 (16/07/18) :
→ Taille : 39460 octets
→ Lancer " KCASSIM" pour démarrer le programme
→ Ajout d'un menu navigable pour sélectionner les escadrilles, les séries de questions sont réduites au minimum
→ Ajout d'un menu pour modifier son setup, il n'est désormais plus nécessaire de réentrer toutes les données pour modifier quelque chose
→ Ajout de deux statistiques supplémentaires aux avions, la précision (Pr) et la capacité de reconnaissance (Rc)
→ La statistique de puissance est abrégée en "Pwr"
→ Ajout d'une base de donnée pour les statistiques des avions (3 statistiques différentes)
→ Ajout de la mécanique de contact, grâce aux deux nouvelles statistiques
→ La taille des escadrons et la puissance des avions est désormais stockée dans les matrices au lieu d'être directement utilisée pour calculer la puissance des escadrilles pour faciliter le développement de mises à jour futures
→ Après avoir choisi un ennemi, la flèche reste désormais dans le même menu. Vous pouvez toujours utiliser "EXIT" pour revenir en arrière
→ Modifications dans le menu principal, et ajout de 2 nouveaux menus : Nouveau setup, Lancer la simulation, Modifier le setup, Tutoriel, Restaurer un setup
→ Le programme utilise désormais les matrices A, B, C, D, E, ainsi que Q, R, S et T pour la restauration de setup
→ Suppression des Strings pour augmenter la compatibilité
→ Changement du nom des sous-programmes pour qu'ils soient reconnaissables : ils commencent désormais tous par "KCAS"
→ Changement du nom du programme principal pour correspondre avec le nom présent sur ce site, et ajout d'un espace au début du nom pour qu'il soit en haut de la liste
→ Si vous avez la version 1.0 installée, il est fortement recommandé de la supprimer avant d'installer la 1.1
→ Correction de quelques bugs mineurs (d'autres bugs pourraient éventuellement être apparus cependant !)
Version 1.0 (05/06/18) :
→ Taille : 19400 octets
→ Lancer "KCDMGAS2" pour démarrer le programme
→ Réécriture complète du programme indépendamment de la Version Beta pour éradiquer le spaghetti code
→ Ajout d'un menu principal, avec 3 options : Nouvelle simulation, Continuer, et un Tutoriel
→ N'utilise plus aucune Liste, uniquement la Matrice A, B, C et D
→ Ajout d'une base de données pour les ennemis normaux (les statistiques des ennemis peuvent toujours être changés directement dans les Matrices)
→ Ajout d'un menu navigable pour sélectionner les ennemis
→ Ajout du LBAS, pour infliger plus de dégâts et sur plusieurs vagues (la vague finale étant l'"Airstrike" des porte-avions)
→ Suppression des indicateurs "=", "+" et "-", à cause de la place qu'ils prennent et de la lenteur qu'ils causent au programme
→ Améliorations graphiques
Version Beta :
→ Taille : 3144 octets
→ Écrire "0" sur la 1ère valeur de la Liste 6 avant de lancer (obligatoire)
→ Lancer "KCDMG AS" pour démarrer le programme
→ Toutes les valeurs doivent être entrées manuellement
→ Aucun menu, uniquement une série de question suivie de la simulation
→ Utilise des Listes au lieu de Matrices
→ Uniquement les attaques de porte-avions (pas de LBAS)
→ Pour les ennemis, leurs PVs, leur armure et leur valeur d'esquive sont pris en compte
→ Pour les avions, la taille de leur escadrille et leur puissance de base sont prises en compte
→ Lors d'une simulation avec 6 bateaux ou moins, des "=", des "+" et des "-" s'affichent : = indique qu'un bombardier en piqué a attaqué le navire, + indique qu'un bombardier torpilleur a porté un joli coup sur ce navire, - indique qu'un bombardier torpilleur a porté un coup médiocre sur ce navire
Sources :
Voici un lien pour mieux comprendre ce que fait le programme (le Stage 1 Contact, ainsi que le Stage 3 Opening Air Strike sont simulés dans mon programme (en version 1.1) :
Combat aérien
Liste des stats des bombers et fighters du jeu. La puissance de base, la précision et la capacité de reconnaissance sont pris en compte dans mon programme (en version 1.1) :
Liste des bombardiers torpilleurs
Liste des bombardiers en piqué
Liste des bombardiers lourds
Liste des avions de reconnaissance
Liste des chasseurs
Liste des stats des ennemis du jeu. La valeur en rose indique les PVs, la valeur en jaune indique l'armure et la valeur d'esquive n'est visible qu'en cliquant sur un ennemi pour voir sa page détaillée :
Liste des ennemis
Liste des équipements ennemis