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: 3011 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


Kikoodx Hors ligne Ancien labélisateur Points: 3011 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
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

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


Non 30
To' code ne m'a pas aidé en soi mais c'est plutôt ceci qui m'a mis sur la voie :
Kikoodx a écrit :
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).

C'était la méthode case par case qui me gênée et tu m'a offert la solution sur un plateau ! Je compte donc te citer dans ma prochaine mise à jour car sans toi je n'y aurais pas pensé.

Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

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


De rien
C'est bien 10Ko à sauver pour faire 30Ko, mon programme une fois la matrice générée fait ~40Ko.
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

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


Ah super
Etudiant en informatique à l'Umons, fan de prog en tout genre
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 02/12/2019 15:53 | #


Je continue d'améliorer le moteur sans me concentrer sur le jeu, il serait peut-être temps d'embrasser l'idée Minetest.
Qu'en pensez-vous ? Je pense que le jeu en lui-même a moins d'intérêt que le moteur, et je me rend compte que je m'amuse plus à développer ce dernier que le jeu...
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 02/12/2019 16:04 | #


Ça peut marcher. Mais tout comme Minetest existe, je pense qu'il faut au moins un jeu démo avec, sinon ton moteur n'aura pas assez d'attrait pour les autres devs'.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

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


Lephenixnoir a écrit :
Ça peut marcher. Mais tout comme Minetest existe, je pense qu'il faut au moins un jeu démo avec, sinon ton moteur n'aura pas assez d'attrait pour les autres devs'.

Je vais continuer de développer ce jeu à côté, mais je compte me concentrer sur des fonctionnalités alors
En parlant de fonctionnalités...
J'ai publié la 0.4, avec un nouveau sous-programme dédié à l'animation.
Une nouvelle structure (16, requiert une nouvelle génération) a été ajoutée pour l'exemple, vidéo ci-dessous.



Changelog 0.4
Cliquez pour recouvrir
Changelog :
- New menu for enabling/disabling grass
- Modified ~NMAP, started minimal space optimization
- Added new subprogram, ~NANI, allow to animate/transform maps
- New random structure (code 16), use the new animation feature
- Minor change : ~NTUT one word changed
- Maybe other minor modifications (map tweak, small changes)




https://gitea.planet-casio.com/KikooDX/Noon/releases
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 02/12/2019 17:37 | #


Oh ça c'est stylé ! Tu peux enlever tout le labyrinthe ! Ooh
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 02/12/2019 17:40 | #


Lephenixnoir a écrit :
Oh ça c'est stylé ! Tu peux enlever tout le labyrinthe ! Ooh

Merci
Quelque chose que je n'ai pas mis en avant dans cette mise à jour (par manque d'idée) est que le point d'intérêt peut-être déplacé et modifié.
Ce simple concept est en fait très puissant, rien qu'avec ça il est possible de créer un puzzle game complexe.
(Je suis très mauvais en conception de puzzle, je me suis abstenu)
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

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


Je pensais que ce serait genre des animations deux frames comme les trucs qui font bouger l'herbe dans Pokémon. Mais ça marche aussi bien comme ça :o

Aussi j'ai bien rigolé quand tu galérais à bouger dans le labyrinthe et du coup tu actives OPTN.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

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


Lephenixnoir a écrit :
Je pensais que ce serait genre des animations deux frames comme les trucs qui font bouger l'herbe dans Pokémon. Mais ça marche aussi bien comme ça :o

Ce n'est pas possible malheureusement, un cycle n'arrive que lorsque une touche est pressée :/ Ç’aurait été sympa sinon.

Lephenixnoir a écrit :
Aussi j'ai bien rigolé quand tu galérais à bouger dans le labyrinthe et du coup tu actives OPTN.

Je ne vois pas de quoi tu parles kof.
ouais ouais
Youstones Hors ligne Membre Points: 333 Défis: 0 Message

Citer : Posté le 02/12/2019 17:58 | #


Wow
Etudiant en informatique à l'Umons, fan de prog en tout genre
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

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


Magnifique le labyrinthe ! Dans le même esprit que les arbres ou les lacs essaye de mettre dedans aussi des petits villages de 3 ou 4 maisons Ça serait super. Et en Cerise sur le gâteau, des pnj en plus !
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

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


Disperseur a écrit :
Magnifique le labyrinthe ! Dans le même esprit que les arbres ou les lacs essaye de mettre dedans aussi des petits villages de 3 ou 4 maisons Ça serait super. Et en Cerise sur le gâteau, des pnj en plus !

Merci
Les villages je veux bien mais pour les PnJ ce ne sera pas possible, tout le monde est mort dans le monde merveilleux de Noon (mais possible bien sûr, je pourrais mettre des fantômes ).
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 02/12/2019 18:38 | #


J'étais sûr qu'il avait inventé un truc genre "tout le monde est mort" pour justifier de ne pas mettre de PNJs, mais finalement non, il peut bien y avoir des fantômes. C'était donc bien juste une excentricité du monde en question
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 02/12/2019 18:44 | #


Bien deviné
Je préfère aussi écrire le dialogue de fantômes, c'est plus drôle (pour moi) et plus facile de justifier le fait qu'ils parlent la même langue (télépathie).
Les PnJ sont faciles à faire, au final ce sont juste des objets avec une apparence différente

Ajouté le 06/12/2019 à 14:38 :
Hello !
Il n'y aura pas d'autre mise à jour cette semaine
Je travaille principalement sur mes programmes calculatrice les lundis et jeudis (les jours de Physique-Chimie ). De plus, j'ai commencé à développer un prototype de jeu de plateforme pour PC ce qui ne me laisse pas beaucoup de temps entre ça et les jeux.

Planning de la semaine prochaine :
- faire le village (jeu)
- optimiser un peu ~NMAP (jeu)
- permettre de "pousser" certains objets (moteur)

Ajouté le 09/12/2019 à 14:00 :
Yo !
Je suis parti dans une direction totalement différente
Je n'ai pas fait le village, mais j'ai rajouté une ruine.
Je pense que le bâtiment sera unique dans le futur, mais pour le moment je le laisse au spawnrate initial.
J'ai également créé un nouveau dépôt Gitea qui sera dédié aux outils de debug que j'ai codé aujourd'hui (notamment un pour se téléporter directement au code structure le plus proche, utile pour mes tests).
J'ai eu une idée de comment optimiser un peu plus la mémoire de ~NMAP, je vous tiens au courant

Télécharger Noon 0.5
Noon Debug

J'ai aussi une grosse fonctionnalité à implémenter, je préfère garder la surprise (je devrais réussir à l'implémenter d'ici la fin de la semaine prochaine), ce sera vraiment très cool si ça fonctionne bien

Ajouté le 13/12/2019 à 16:39 :
0.6
Créé ~NCUT, un sous-programme destiné à réduire drastiquement la taille des écrans c'est à dire ~NMAP ici.
~NCUT est un échange mémoire/performance assez important, mais je pense qu'il vaut le coup

Dans la prochaine màj (0.6.1), je compléterai ~NCUT pour le rendre plus souple et complet, je désactiverais aussi par défaut ~NGRS, j'ai remarqué à quel point cette fonctionnalité rend le jeu lent, le but étant de créer un jeu Basic Casio jouable sans overclock ou C.Basic j'ai décidé qu'il serait plus sage de le désactiver
Faudrait que je me décide à faire une "doc" un de ces jours, mais le programme est devenu tellement complexe (sans l'être) que je ne sais pas vraiment l'expliquer.

Lien Noon releases.

Ajouté le 23/12/2019 à 12:06 :
Commence à être long ce message
J'ai terminé la 0.7, dernière mise à jour de l'année.
Principalement de l'optimisation, notamment le compas qui est maintenant beaucoup mieux codé
Pour la fin d'année, je vais mettre le fichier du programme à jour.
J'ai aussi (beaucoup) amélioré NCUT, super utile pour l'optimisation de maps.
Le programme est aussi livré en pack désormais, plus qu'un .g2m à installer (plus pratique faut l'avouer).

Après les vacances je compte fork Noon et créer un petit Metroidvania, histoire de montrer ce que le moteur peut faire

https://gitea.planet-casio.com/KikooDX/Noon/releases

Ajouté le 09/03/2020 à 14:41 :
Salut ! Petite optimisation de ~NMAP, j'ai ajouté une ligne qui empêche le programme de charger une chaîne (et passe toutes les conditions) si l'écran est le même (exemples : plaines, bordures, reprise de sauvegarde). À noter que cette optimisation n'est pas disponible avec l'herbe activée (sinon les patchs resteraient les mêmes d'écran à écran).

https://gitea.planet-casio.com/KikooDX/Noon/releases

Je recommande fortement de désactiver l'herbe pour profiter du programme à une vitesse agréable.
ouais ouais

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 97 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