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 » Noon, jeu d'exploration en Basic Casio
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Noon, jeu d'exploration en Basic Casio

Posté le 27/11/2019 08:35

Bonjour ! Noon est un jeu d'exploration/cartographie que j'ai créé pour le CPC#25.
Ce jeu nécessite toute la mémoire de votre calculatrice pour fonctionner (à peu près), lancer d'autres programmes avant de reprendre une partie pourrait corrompre la sauvegarde et les variables utilisées --> faites des backups.
Je continue de développer le jeu, il reste beaucoup de choses à faire avant que je ne le considère complet
Si vous avez testé le jeu, merci de laisser vos suggestions/avis ici (la version host ici ne sera pas la dernière à jour, je publierai sur le Gitea uniquement pour ne pas interférer avec le concours).


Télécharger la dernière version de Noon.

J'essaierai de faire une mise à jour par semaine, pour le moment je compte me concentrer sur le moteur et le peaufinage des cartes déjà existante (les rendre plus jolies), puis je commencerai à ajouter plus de contenu, plus vite.

Remerciement à Lephénixnoir qui m'a fait penser au projet au delà du CPC


1, 2 Suivante
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 27/11/2019 20:41 | #


J'ai pas encore testé la version finale mais... le concept est géant ! Testez-le, vous verrez que ça en vaut la peine.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 28/11/2019 10:35 | #


Lephenixnoir a écrit :
J'ai pas encore testé la version finale mais... le concept est géant ! Testez-le, vous verrez que ça en vaut la peine.

Merci beaucoup

J'ai fini la 0.3
Voici le changelog (en anglais, même que celle publiée sur le Gitea) :
Changelog 0.3
Cliquez pour recouvrir
Changelog (important changes) :

    - Implemented random grass patchs on empty areas (Lephenixnoir idea, using a trick of Alexot)
    - Lowalpha psi is used for grass and some others plants (Lephenixnoir suggestion)
    - Text engine, possibility to interact with some elements of the environnement
    - Retro-compatible with 0.1 and 0.2, but new structures will not be generated
    - Created first riddle in the house using text engine, linked to the first background story element
    - Overall game speed improved and minor code optimization
    - More maps added
    - Some maps were modified to "look better"

La télécharger ici.

Je ferais une traduction française pour la RdP de cette semaine, avec quelques screenshots.
ouais ouais
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 28/11/2019 15:46 | #


Des petites screenshoot ?
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 28/11/2019 17:03 | #


@Kirafi : j'ai fait une courte vidéo, c'est plus rapide

A noter que l'émulateur est plus rapide que la calculatrice pour les fonctions d'affichage.

Ajout : j'ai aussi publié la 0.3.1, la 0.3 n'étant pas complète et plantait au moment où le joueur interagissait avec un objet.
ouais ouais
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 29/11/2019 11:19 | #


J'aime bien le texte pour représenter les gros trucs !

Faudrait une interface pour afficher les coordonnées de la map courante, genre tu presses une touche et t'as x,y qui s'affichent qqpart, pour savoir où on se situe quoi .
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 12:02 | #


Kirafi a écrit :
J'aime bien le texte pour représenter les gros trucs !

Faudrait une interface pour afficher les coordonnées de la map courante, genre tu presses une touche et t'as x,y qui s'affichent qqpart, pour savoir où on se situe quoi .

Merci
C'est déjà le cas, OPTN permet d'activer/désactiver l'affichage des coordonnées (regarde en haut à gauche de la vidéo)
ouais ouais
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 29/11/2019 16:04 | #


Ah oui j'ai zappé le moment ou tu le fais .
C'est quoi la finalité de ce projet ?
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 16:26 | #


Kirafi a écrit :
C'est quoi la finalité de ce projet ?

Créer un bon background scénaristique, avec des lieux à explorer.
Rajouter plus de points d'intérêt uniques, contenant des informations éparses sur l'histoire de l'univers du jeu, pour donner des "récompenses" plus tangible au joueur à qui dessiner des cartes ne suffit pas.
Je n'ai pas vraiment d'horizon en vue pour ce projet.

Créer un bon jeu serait une bonne finalité je pense
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

Citer : Posté le 29/11/2019 17:51 | #


Je viens de voir la vidéo et c'est vrai que le jeu est très vide, même avec des petites pousses d'herbe... Après je le demande pourquoi cela prend toute la mémoire de la casio...
Enfin est-ce que tu as utilisé le C basic ? Car ta génération et extrêmement rapide et m'intéresserais pour mon jeu qui comporte ce très malheureux point faible...
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 17:57 | #


Youstones a écrit :
Je viens de voir la vidéo et c'est vrai que le jeu est très vide, même avec des petites pousses d'herbe...

En jeu la fréquence est correcte, le texte vu au début est une "énigme" très facile qui renvoie vers des coordonnées précises
Mais c'est un point sur lequel je vais travailler

Youstones a écrit :
Après je le demande pourquoi cela prend toute la mémoire de la casio...

La map générée est sauvegardée dans une matrice de 30x90

Youstones a écrit :
Enfin est-ce que tu as utilisé le C basic ? Car ta génération et extrêmement rapide et m'intéresserais pour mon jeu qui comporte ce très malheureux point faible...

Non, je n'utilise pas C.Basic, l'utilisation de matrices et de chaines de caractères permet une génération très rapide (le jeu génère écran par écran et non case par case).
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

Citer : Posté le 29/11/2019 18:00 | #


Mais pourquoi ne pas plutôt utiliser des listes sachant que de grande parties de la map sont couverte de point? Tu pourrais mettre par défaut ceci et les caractères différents dans les listes...
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 18:03 | #


Youstones a écrit :
Mais pourquoi ne pas plutôt utiliser des listes sachant que de grande parties de la map sont couverte de point? Tu pourrais mettre par défaut ceci et les caractères différents dans les listes...

Non, ce ne serait pas du tout bon niveau performances, mais l'idée se comprend
La carte du monde fait au total 630x630 caractères, imagine s'il fallait stocker chaque caractère dans la liste.
Je ne sais pas si tu as vu, mais tout n'est pas vide, il y a une mégastructure située sur la map et plus de 150 (gros environ) structures indépendantes sur la carte
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

Citer : Posté le 29/11/2019 18:05 | #


C'est vrai que les performances peut être plus faibles mais on parle quand même de plus de 75% de la map en point, non ?
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 18:07 | #


Youstones a écrit :
C'est vrai que les performances peut être plus faibles mais on parle quand même de plus de 75% de la map en point, non ?

Les points ne sont pas stockés en tant que tels dans la matrice, du coup la perte d'espace est minime
Regarde, la map fait 396.900 caractères au total (brut), stocker dans des listes serait une bien plus grande perte d'espace.
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

Citer : Posté le 29/11/2019 18:20 | #


Bon, je ne vais pas trop de titiller, mais ton Système de génération rapide m'intéresse, as tu un lien ? (Ps j'ai refait mon topic qu'en pense tu)
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 18:21 | #


Youstones a écrit :
Bon, je ne vais pas trop de titiller, mais ton Système de génération rapide m'intéresse, as tu un lien ? (Ps j'ai refait mon topic qu'en pense tu)

Le topic est bien, je n'ai pas de lien désolé je l'ai codé moi même
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

Citer : Posté le 29/11/2019 18:27 | #


Kikoodx a écrit :

Le topic est bien, je n'ai pas de lien désolé je l'ai codé moi même

Et bien je te conseille d'en faire un, tu auras la garantie d'avoir au moins un lecteur
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 29/11/2019 18:30 | #


Youstones a écrit :
Et bien je te conseille d'en faire un, tu auras la garantie d'avoir au moins un lecteur

J'y penserai, si j'ai le temps je le ferai

Ajouté le 30/11/2019 à 14:21 :
Merci à Lephénixnoir et Shadow pour vos avis critiques et complets !
Je vais répondre à vos deux avis.

Lephenixnoir a écrit :
Alors voilà le concept d'une map immense qu'il faut explorer et
cartographier... très intéressant, très innovant ! Et diantre c'est immense.

Quand j'avais testé la version de développement, j'avais exploré une zone de
14x19, cette fois j'ai opté pour du 20x21, et... c'est grand ! Je ne sais même
pas où ça s'arrête, même si je crois avoir vu qu'il y avait 30x90 écrans.

Merci
Pour le moment la map fait 30x90 oui

Lephenixnoir a écrit :
Contrairement à le version de développement, les structures ne sont pas
uniques, elles sont réparties plus bien densément, et il n'y a plus de murs un
peu artificiels entre les zones. Excellent !

Il y a beaucoup plus de structures dans cette version. Il me semble que c'était 32 par type.
Point amusant : il y en avait 4 de chaque type dans la 0.1, et les murs étaient un oubli

Lephenixnoir a écrit :
Avec l'herbe en plus dans la vidéo postée après le concours, on commence à
avoir une génération de map vraiment intéressante.

L'herbe était vraiment une bonne idée, elle ne rajoute pas un octet au poids de la map et comble un peu de vide.

Lephenixnoir a écrit :
Je vois un peu ça comme le moteur de Minetest, qui gère le monde et offre une
interface de programmation mais ne fournit pas encore de jeu en tant que tel.
Les possibilités sont larges, et je me suis imaginé plusieurs fois un grand jeu
de gestion où il faut maintenir des structures sur toutes la map sans perdre le
rythme sur la cartographie au fur et à mesure qu'on la modifie.

Effectivement la version du concours était plus une démo technique qu'un jeu, c'est un peu ma faute j'ai passé 5 jours à développer le moteur, travailler sur ce genre de choses me passionne
Ton jeu de gestion est parfaitement possible, mais je ne pense pas que ce sera la direction que prendra le jeu pour le moment (j'ajouterai des éléments de ce type par contre )

Lephenixnoir a écrit :
Toute la limite serait dans la génération de la map, mais honnêtement même sans
aller jusqu'à 30x90 il y a largement de quoi faire. La zone de 20x21 que j'ai
explorée pourrait contenir un jeu d'aventure avec plusieurs environnements à
elle toute seule !

La génération de la map est plutôt simple pour le moment, mais je compte faire des modifications pour la rendre encore plus intéressante (structures fixes notamment).

Lephenixnoir a écrit :
Une très belle prouesse technique en Basic pur. Et il reste encore 20k de
mémoire pour placer du code de génération, des interactions, et du jeu de façon
générale. Vraiment... très intéressant.

Encore plus, je pourrais stocker entre 2 et 4 écrans par case de matrice contre du temps de calcul
Ce n'est pas ma priorité pour le moment, mais j'ai prévu l'espace nécessaire dans mon code pour implémenter ça.

Lephenixnoir a écrit :
Ça ne rentre pas totalement dans le cadre du CPC... mais je vais noter ça au
mieux.

Merci

Lephenixnoir a écrit :
La cartographie à elle toute seule est une activité intéressante. Je connais
assez peu de jeux qui capitalisent là-dessus, sur calculatrice ou pas. L'un
d'eux est Etrian Odyssey (j'en ai déjà parlé), et il est génial.

Je vais rajouter des éléments de "méta-gameplay" au jeu, comme tu as peut-être pu le voir la 0.3.1 a ajouté des points d'intérêt au jeu (4), pour le lore. Le premier (dans la maison) contient une énigme simple qui une fois résolue amène au second point d'intérêt
Il faut que j'achète Etrian Odyssey, tu m'as intrigué.
Shadow15510 a écrit :
Le gameplay est à la fois simple et complexe. C’est original par la totale liberté laissée au jouer, et prenant. (2,5/3)

Merci !

Lephenixnoir a écrit :
Je pense que de nombreux jeux peuvent se construire autour de ce moteur, et
j'ai hâte de voir ce que tu vas en faire.

Je vais essayer d'écrire un article expliquant comment créer un système similaire, je pense que vous serez étonnés par sa simplicité

Lephenixnoir a écrit :
Le style graphique consistant à écrire le nom des objets au lieu de reproduire
leur apparence est superbe ! Ça ouvre à mon sens de nouvelles possibilités sur
les capacités du mode texte. Et même quand il n'est pas utilisé, on a des
représentations très intéressantes, je pense par exemple aux rochers sur le
chemin. Beau travail !

Shadow15510 a écrit :
Les graphismes en ASCII art sont beaux. Les caractères spéciaux prennent des formes diverses et sont utilisés à bon escient. (2/3)

Merci
Je ne pensais pas que le style graphique serait aussi bien accueilli

Lephenixnoir a écrit :
La variété des structures (j'en a compté au moins 9 différentes) joue aussi en
ta faveur ici. Est-ce qu'on pourrait imaginer des animations pour certaines
d'entre elles ?

Oui, les animations sont parfaitement possibles, mais elles risquent de provoquer un ralentissement notable du jeu. Je ferai des tests

Lephenixnoir a écrit :
Difficile de juger ici, car il n'y a pas grand-chose de présenté... mais
l'attrait d'un environnment semi-infini donne une première idée très originale
des différents univers qu'on peut y décrire. Ça se démarque bien du reste, un
peu comme un open world, et ça c'était pas gagné d'avance.

Shadow15510 a écrit :
Pas de narration mais l’univers entier est à découvrir ! Peut-être une partie narrative plus présente aurait été la bienvenue, contexte… ? (1/2)

La narration avance petit à petit, l'ajout des points d'intérêt me donne beaucoup de possibilités de ce côté là

Lephenixnoir a écrit :
La génération procédurale pourrait progresser, mais on a déjà des structures
réparties de façon relativement uniforme sur (semble-t-il) l'ensemble de la
carte, dont certaines sur plusieurs écrans adjacents.

La suite t'appartient toujours, mais on peut imaginer des zones distinctes
générées par des programmes différent (eg. biomes), pouvoir modifier la map en
utilisant intelligement l'espace de stockage de la matrice, et divers
indicateurs permettant de donner des directions sur la carte, utile pour donner
un sens à un jeu sans tout explorer.

Je compte diviser la map en plusieurs zones à terme, pour donner plus de cohérence à la génération.
La modification de la matrice est prévue, et très facilement faisable point de vue code.
J'ai déjà mis un indicateur comme dit précédemment, mais elles ne pointeront que vers des méga-structures (plus d'un écran).

Shadow15510 a écrit :
Pas de niveaux à proprement parler (0/1)

Mais... OK.

Shadow15510 a écrit :
Pas d’interprétation originale du sujet (0/1)

OOF.

Lephenixnoir a écrit :
=> Bonus : 0.75/1

Pour avoir repoussé les limites ce qui a été fait jusqu'à présent en Basic !

Merci beaucoup

Ajouté le 02/12/2019 à 07:07 :
Bon, je reviens sur le fait que j'ai dit que mon moteur est simple.
J'ai essayé de l'expliquer hier et je me suis rendu compte qu'il est de plus en plus complexe...
Je me demande comment aborder ça.

De plus, j'ai fini de coder la fonctionnalité d'animation/transformation de zones et je commence à comprendre pourquoi tu dis que ça ressemble à Minetest @Lephenixnoir, je travaille plus sur des fonctionnalités du moteur que le jeu en lui même.
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

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


En tout cas grâce à toi ma génération du monde est extrêmement rapide !
Par contre si tu veux que j'essaie ton jeu il va falloir diminuer la taille drastiquement... (il me reste que 30000ooctets)
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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


Youstones a écrit :
En tout cas grâce à toi ma génération du monde est extrêmement rapide !
Par contre si tu veux que j'essaie ton jeu il va falloir diminuer la taille drastiquement... (il me reste que 30000ooctets)

Super
Quelle partie du code t'a aidé ?
Niveau taille du jeu je ne peux pas faire grand chose, tu peux backup tes fichiers avant de tester, il n'y a pas 10Ko à sauver.
ouais ouais
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 242 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