Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Plague.inc ?
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Plague.inc ?

Posté le 24/05/2018 18:17

Bon, suite à de nombreux faut départs, j'ai décider de tout reprendre de 0, les brouillons sont toujours au points et les simulations aussi… L'ancien projet en C n'existe plus que sous la forme des images que j'ai gardées. Côté graphisme je suis donc pas mal avec tous les dessins de terminés !


Tous les fonds d'écran du jeu


Qui dit projet en C dit Gint ! Et bien, sûr Gitea ! Avec un dépôt propre… Le code tout juste commencé n'a pas encore grand intérêt, mais dès qu'une modification est faites j'essaye de commit une version compilée ce qui vous permet de pouvoir tester le jeu pour l'instant rien d'extraordinaire…

TODO List
Continuer le code (ça c'est pas en option )
Assainir (ou pas )
Virer les erreurs (en cours)

Images du jeu


Écran titre du jeu


Mutations de la maladie


La police 'qui a du caractère' pour citer Lephe




Projet BASIC
Actuellement abandonné, le programme est libre
Avancement du projet :
menu principal
   100%

statistiques
   100%

mutations
   50%

Specificités
   100%

zoom
   100%

fin du jour intégration d'un temps artificiel accéleré par le joueur
   100%

Statistiques sur les pays (sous-menu appelé avec [OPTN] )
   80%

Vaccin
   80%

Points ADN
   80%

et voila


Fichier joint


Pages : Précédente1, 2, 3, 4, 5, 6, 7, 8Suivante
LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 09/02/2019 17:22 | #


Ça touche à de l'analyse numérique. Voici l'idée.

Tu as les valeurs à l'instant t : A(t), B(t), etc. Tu calcules les dérivées A'(t), B'(t)... dont tu connais les formules.

Ensuite tu dis « je simule pour un pas de temps dt » et tu poses A(t + dt) = A(t) + dt * A'(t) en espérant que la dérivée ne change pas trop pendant cette durée. Si dt est assez petit, c'est précis.
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 09/02/2019 17:24 | #


J'ai trouvé une alternative excuse-moi...
J'utilise en fait une suite avec des coefficients c'est plus simple et les résultats sont aussi bien !

J'ai fini les images et j'ai débuté le code
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 09/02/2019 17:26 | #


Tant que ça approxime l'équation différentielle on s'en fout je suppose...
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 09/02/2019 17:35 | #


Oui j'ai trouvé :
S = S_av - S.c
I = I_av + S_av. c - I_av.gu - I_av.m
G = G_av + I_av.gu
M = M_av + I_av.m



S = Nbr de personne saine le jour J
I = Nbr de personnes infectées le jour J
M = Nbr de personnes mortes le jour J
G = Nbr de personnes guéries le jour J

S_av, I_av, M_av et G_av représentent les sains, les infectés, les morts et les guéris au jour J-1
c = taux de contagion
m = taux de mortalité
gu = probabilité de guérir et d'être immunisé de la maladie


"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 09/02/2019 17:44 | #


C'est exactement l'idée, mais tu as peut-être envie de multiplier tes incréments par un dt pour contrôler la vitesse de la simulation et la précision de l'approximation.
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 09/02/2019 17:45 | #


Ben je fait une suite quoi... donc chaque jour, je re-calcul tout ça
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 09/02/2019 17:49 | #


Vois-le comme ça : tu as peut-être envie de le calculer toutes les 12 heures à la place (si tu calcules à des instants trop éloignés ça peut diverger violemment).

D'ailleurs :
S = S_av - S.c

Tu veux dire S = S_av - S_av.c ou S = S_av / (1 + c) ?
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 09/02/2019 17:51 | # | Fichier joint


Je veut dire S = S_av - S-ac.c
Pour le calcul, le jeu intégrera une gestion du temps : toutes les 30 secondes (ou toutes les minutes) le jeu avance d'un jour virtuel et tous les calculs sont refait

Deux choses :

J'aurais besoin de votre avis sur un point purement du gameplay et de l'ergonomie : le temps d'une journée !
En effet mon code comportera une grande boucle while qui tournera tant que la journée n'est pas finie : au programme durant les journées, gestion des touches, et des déplacements des avions, ainsi que le calcul du temps pour savoir où on en est
Dès que la journée est finie : calcul des morts, sains, infectés,... etc
Le problème est que d'un point de vue pratique, une journée ce serait bien qu'elle dure : 30 secondes ou 1 minute ? Dans le cas de 30 secondes un mois durerait environ 15 minutes et un an, 3 heures. Alors qu'avec une minutes on arrivé à des mois d'une demi-heure et des années de 6 heures... Je ne sais pas trop quel est le meilleur choix donc je me tourne vers vous !

La seconde chose est que mon programme démo BASIC comportait jusqu'alors une licence, du fait que je ne travaille plus dessus, je ne vois plus l'interêt de "privatiser" ce programme, j'enlève donc la licence, permettant ainsi à n'importe qui de s'approprier le travail et le code effectués.



Je suis encore coincé mais cette fois-ci il s'agit d'une erreur qui me dit quelque chose... mais je ne sais plus comment la résoudre... Voici : Lorsque je lance l'émulateur du SDK, l'execution s'arrête brusquement, la fenêtre d'édition de MonochomeLib.c passe au premier plan. Lorsque je veux relancer l'excution, un pop up gris et jaune ma graisse... euh non, m'agresse et me dit :
PopUpÀLaCon a écrit :
Execution has stopped due to an error!
Noexisting memory by data read access at FFFFFFE4


Merci d'avance !

Je met les sources en PJ
Le SDK me met direct sur la fonction ML_bmp_or() tous mes sprites sont en const unsigned char et sont appelés soit par ML_bmp_or() soit ML_bmp_xor()
please... heelp...
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 12/02/2019 07:51 | #


Urh, ce code. T'as vérifié la valeur des pointeurs au moment où tu fais le dessin ?

Les flottants pour compter par pas de 0.1 ça ne marche pas ; c'est bien connu.
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 12/02/2019 08:13 | #


Le problème doit effectivement venir des flottants... Existe-t-il un autre type plus précis ? Ou alors stocker des infos dans la partie décimale c'est vraiment dégeulasse ?
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 13/02/2019 07:41 | #


Stocker les infos dans la partie décimale c'est vraiment dégueulasse. Fais deux entiers !

Le jour où tu as des problèmes de place, tu reviens me voir et on pourra parler de solutions élégantes.
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 15/02/2019 20:34 | #


Bon, je re-verrais le système alors
J'ai également refait le logo Plague >_<' ça m'a pris 2 heures mais le résultat est... bluffant

Ajouté le 17/02/2019 à 19:13 :
Comme promis voici les écrans titres :






Si vous avez une préférence merci de m'en faire part : cet écran ouvrira le jeu
Je suis également ouvert aux idées d'amélioration des écrans-titre
"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

Moral
   95%


RedeyesHors ligneMembrePoints: 406 Défis: 4 Message

Citer : Posté le 17/02/2019 19:42 | #


J'aime beaucoup le deuxième écran personnellement.
~ Raisonnance...
LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 17/02/2019 20:05 | #


Wow, excellent ! Je serais plutôt pour le second, même si la suprématie du logo est un peu triste.

Excellent design et très très beau rendu, je suis impressionné.
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 17/02/2019 20:15 | #


Merci beaucoup de vos retours !
J'ai une préférence pour le second aussi
Le problème du logo est que si je le met en plus petit, le logo perd en rendu et devient moins joli... mais le rendu final donne quand même un style sombre...

Plague inc étant un jeu très graphique (le gameplay et les dessins sont magnifiques) je met le paquet la dessus aussi pour pouvoir dire que c'est une adaptation correcte mais ça prend du temps... beaucoup de temps
Je pensais enlever les fioritures sur le "PLAGUE" pour plus de lisibilité faudra que j'essaye
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 17/02/2019 20:21 | #


Est-ce que ça t'intéresse si j'essaie de faire le logo en un peu plus petit, par exemple 48 pixels de haut ?
LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 17/02/2019 20:25 | # | Fichier joint


Finalement j'ai essayé, ça allait plus vite.


Décent, pas décent ?
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 18/02/2019 08:09 | #


Ah ouais la classe je pensais pas que cela serait aussi beau je met le tien dans le second écran titre des que possible

Ajouté le 18/02/2019 à 14:10 :
J'ai refait le second et j'ai eu l'idée (et la patience ) d'en faire un troisième :





Voila si il y en a un que vous préférez...
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 18/02/2019 14:42 | #


Le troisième est sympa je trouve !
Shadow15510Hors ligneAdministrateurPoints: 3737 Défis: 15 Message

Citer : Posté le 18/02/2019 14:45 | #


Moi aussi : il est plus clair et sobre, moins chargé
"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

Moral
   95%


LephenixnoirEn ligneAdministrateurPoints: 15490 Défis: 136 Message

Citer : Posté le 18/02/2019 14:51 | #


Quelques suggestions :

* Un peu moins de background autour de la phrase "Can you infect the world" pour aligner un peu plus ?
* Arrondir un peu les O (par exemple éliminer le pixel en bas à droite) ?
* Ajouter un point d'interrogation à la fin de la phrase ?
* Améliorer la résolution du logo ? Je pense que tu peux garder cet aspect « carré » sans faire du 2x2.
Pages : Précédente1, 2, 3, 4, 5, 6, 7, 8Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 65 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