Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Refonte de CalcCity
Shadow15510 Hors ligne Administrateur Points: 5400 Défis: 16 Message

Refonte de CalcCity

Posté le 10/10/2021 10:55

Hey o/

Il y a quelques années, j'étais tombé sur CalcCity, de Menno, un jeu de gestion de ville façon Sim's City. J'avais été très séduit par le jeu, mais il restait quelques problèmes notamment des crash de la calto (plus le programme en Anglais )

J'avais voulu refondre le code pour avoir un truc plus propre, mais j'avais pas le niveau et le code était vraiment horrible. Et puis, ces derniers temps, j'ai eu envie de faire un jeu de gestion façon Sim's City… et je me suis dit que nettoyer CalcCity et le porter pour Gint, pouvait être une bonne idée (le programme final serait posté sur la page du jeu d'origine).

Je promet pas d'avancer vite, mais je pense le faire tranquillement. (Faut déjà que j'arrive à comprendre le code )


Précédente 1, 2, 3, 4
Shadow15510 Hors ligne Administrateur Points: 5400 Défis: 16 Message

Citer : Posté le 05/07/2022 16:48 | # | Fichier joint


C'était effectivement tout con : la taille du curseur est stockée dans un tableau et j'ai du copier-coller la ligne qui code les abscisses sur les ordonnées, et j'ai oublié de modifié un appel à ce tableau x)

C'est réglé dans la version 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

Lephenixnoir Hors ligne Administrateur Points: 22585 Défis: 149 Message

Citer : Posté le 24/07/2022 16:59 | #


J'ai testé pour le week-end de test. J'ai eu plusieurs moments gênants avec la sauvegarde ; spécifiquement ta fonction rtc_key() ne bloque pas l'utilisation de la touche MENU et donc il suffit d'appuyer dessus pour quitter le jeu et perdre toute la sauvegarde. :x Je n'ai trouvé la "bonne" façon de quitter que par hasard après coup.

Niveau graphique et interface, c'est assez agréable. Je pense que les tiles pourraient gagner en lisibilité (un peu moins de bruit dans la texture de la terre vide ?) mais c'est pas énorme. Plus utile à mon avis serait de ne pas attendre que le curseur soit complètement au bord de l'écran avant de commencer à faire défiler la map. Actuellement si je veux aller vers la droite il faut que je mette le curseur tout à droite de l'écran, et ensuite j'avance à l'aveugle, donc souvent je dépasse mon objectif ce qui n'est pas efficace. Ce n'est pas aidé par le fait qu'il faut relâcher la touche à chaque déplacement.

Le gameplay m'a semblé réussi, mais j'admets ne pas être sûr d'avoir tout vu. Typiquement, les jeux de gestion comme ça se présentent progressivement pour qu'on puisse apprendre les mécaniques une par une. Ici, sauf à avoir joué à SimCity avant je ne sais pas trop quels objectifs je dois avoir, si un bonheur de 7 c'est beaucoup ou peu, et quels sont les éléments essentiels de la ville. Les symboles de ressources manquantes sur les bâtiments sont très utiles pour aider à découvrir ces mécaniques, mais pas tout à fait assez je pense. Comme pour Aero Cie finalement, ce qui manque le plus semble être un bon tutoriel (en jeu ou simplement sur le forum).
Shadow15510 Hors ligne Administrateur Points: 5400 Défis: 16 Message

Citer : Posté le 25/07/2022 10:45 | #


Merci pour le retour.


J'ai testé pour le week-end de test. J'ai eu plusieurs moments gênants avec la sauvegarde ; spécifiquement ta fonction rtc_key() ne bloque pas l'utilisation de la touche MENU et donc il suffit d'appuyer dessus pour quitter le jeu et perdre toute la sauvegarde. :x Je n'ai trouvé la "bonne" façon de quitter que par hasard après coup.

J'ai eu le même problème avec Plague, et c'est vrai que ce n'est pas agréable… ^^' Le fait est que je ne sais pas trop comment "bloquer" la touche.

Niveau graphique et interface, c'est assez agréable. Je pense que les tiles pourraient gagner en lisibilité (un peu moins de bruit dans la texture de la terre vide ?) mais c'est pas énorme.

Ce sont les tuiles d'origine, mais je ferais ça à l'occasion.

Plus utile à mon avis serait de ne pas attendre que le curseur soit complètement au bord de l'écran avant de commencer à faire défiler la map.

Oui, ça c'est facilement modifiable, après ça risque de scroll un peu tout le temps, mais ce n'est pas dur à implémenter.

Ce n'est pas aidé par le fait qu'il faut relâcher la touche à chaque déplacement.

Au début j'avais activé la répétition des touches, mais j'ai des trucs bizarres : quand j'enfonce une touche et tant que je l'enfonce le comportement est bon (le déplacement du curseur et le défilement de la carte sont bons), mais quand je relâche la touche, tout se comporte comme si elle était toujours enfoncée. Modulo ça, c'est juste une ligne à changer dans une fonction.

Le gameplay m'a semblé réussi, mais j'admets ne pas être sûr d'avoir tout vu. Typiquement, les jeux de gestion comme ça se présentent progressivement pour qu'on puisse apprendre les mécaniques une par une. Ici, sauf à avoir joué à SimCity avant je ne sais pas trop quels objectifs je dois avoir, si un bonheur de 7 c'est beaucoup ou peu, et quels sont les éléments essentiels de la ville. Les symboles de ressources manquantes sur les bâtiments sont très utiles pour aider à découvrir ces mécaniques, mais pas tout à fait assez je pense

Là tu touches un problème délicat… xD À savoir que Menno n'a rien communiqué sur ces mécaniques, donc je n'en ai aucune idée non plus… ^^'

Comme pour Aero Cie finalement, ce qui manque le plus semble être un bon tutoriel (en jeu ou simplement sur le forum).

Attention placement de produit ! Pour AéroCie ça fait longtemps qu'une documentation complète est disponible au format texte sur la page de téléchargement. Plus d'excuse pour ne pas jouer à ce jeu formidable !
"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 Hors ligne Administrateur Points: 22585 Défis: 149 Message

Citer : Posté le 25/07/2022 17:21 | #


J'ai eu le même problème avec Plague, et c'est vrai que ce n'est pas agréable… ^^' Le fait est que je ne sais pas trop comment "bloquer" la touche.

Au moins ça c'est facile, retire l'option GETKEY_MENU (qui est dans GETKEY_DEFAULT) dans ton appel à getkey_opt(). Si tu veux ouvrir le menu à la main à un autre moment tu peux utiliser la fonction gint_osmenu() de <gint/gint.h>.

Note que tu coup t'auras désactivé toutes les options à part le contrôle du rétroéclairage. Et tu désactives aussi le timeout. C'est une indication extrêmement subtile que tu devrais utiliser les événements directement

Au début j'avais activé la répétition des touches, mais j'ai des trucs bizarres : quand j'enfonce une touche et tant que je l'enfonce le comportement est bon (le déplacement du curseur et le défilement de la carte sont bons), mais quand je relâche la touche, tout se comporte comme si elle était toujours enfoncée. Modulo ça, c'est juste une ligne à changer dans une fonction.

Ça me rappelle un bug où tu pouvais avoir une boucle infinie si tu ne traitais pas les répétitions assez vite. Ce bug a été corrigé dans gint 2.8, donc si tu as une version plus ancienne, essaie de mettre à jour peut-être.

Sinon, si jamais tu transitionnes de getkey() à lire les événements directement tu auras tout le contrôle nécessaire pour faire marcher ça sans problème.

Là tu touches un problème délicat… xD À savoir que Menno n'a rien communiqué sur ces mécaniques, donc je n'en ai aucune idée non plus… ^^'

Je pensais que tu avais joué à SimCity pour comprendre. xD
Mb88 Hors ligne Membre Points: 293 Défis: 0 Message

Citer : Posté le 25/07/2022 17:42 | #


Moi j'arrive à peu près à m’en sortir mais les incendies cassent tout ! Je trouve que Shadow15510 pourrait les rendre moins dévastatrices car même avec trois casernes de pompiers pour une toute petite ville en les payant presque 50% il ne reste plus rien de la ville.
Précédente 1, 2, 3, 4

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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 39 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