C.Basic : Memen'casio
Posté le 21/05/2023 18:58
Salut à tous ! Pendant cette longue période où la v4.3 a été remplacé par une immonde erreur 403 (drôle d'ironie
), j'ai continué un projet dont je voulais parler depuis longtemps
!
Ce projet était supposé être en Basic mais quand j'ai découvert que C.Basic me permettait de diviser par 10 le temps de chargement de mes niveaux
je n'ai pas hésité à faire la migration.
Donc je vais vous pitcher le jeu :hem hem:
Devant vous apparaît une
magnifique map faites de
magnifique tiles. Vous devez réussir à atteindre l'arrivée mais le chemin est barré par des monstres tel qu'une araignée, une chauve souris et... rien d'autre pour l'instant
. Vous vous élancez donc... mais ! Horreur : la map a disparu ! Pour atteindre l'arrivée vous allez devoir vous rappeller du chemin qui sera de plus en plus long et de plus en plus compliqué !
:muahahaha:
Donc voilà mon projet : un jeu où la map disparaît au moment où vous commencez à vous déplacez.
Pour l'instant voilà ce qui est fait :
Avancement
Cliquer pour enrouler
Dessin (tiles / maps / grille)
Moteur de jeu (collision / victoire / mort)
Editeur (qui ne verra donc pas le jour dans la v1 (pas stable))
Voilà je crois que c'est tout.
Ah non, juste si vous avez des idées de mécaniques qui pourraient apparaître dans mon jeu proposez les svp
(pas trop dures à programmer )
Liste des mécaniques déjà programmées
Cliquer pour enrouler
- Turbo : il vous pousse dans une direction sans votre avis
- Trampoline : vous fait sauter une case dans la direction de laquelle vous arrivez
- Téléporteurs : vous téléporte à l'autre teleporteur du meme numéro
- Pioche, Hache : permet de casser respectivement un rocher et un arbre
- Épée : permet de tuer un ennemi
Merci d'avoir lu ce post juqu'au bout ça me fait plaisir
!
Les RDPs qui parle du projet :
Citer : Posté le 15/08/2023 17:18 | #
J'ai jamais codé en C.Basic, mais je vois dans la documentation une commande BmpLoad(
-------------------------------------------------------------------------------
Fonctions supplémentaires pour MonochromeLib
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
BmpLoad( [SHIFT]-[F4](SKTCH)-[F4](BMP)-[F6]-[F1](BmpLoad)
BmpSave [SHIFT]-[F4](SKTCH)-[F4](BMP)-[F6]-[F2](BmpSave)
-------------------------------------------------------------------------------
Affiche directement des fichiers .bmp depuis la mémoire (seul le format noir et blanc 1-bit est supporté).
(Exemple) BmpLoad("TEST"),20,10
Affiche "TEST.bmp" à la position (20,10).
(Exemple) BmpSave "TEST",10,20,100,50
Sauvegarde le rectangle (10,20) -- (100,50) de la VRAM dans "TEST.bmp".
(Exemple) BmpSave "TEST",Mat A
Sauvegarde la matrice A dans "TEST.bmp" dans le dossier courant.
(Exemple) BmpLoad("TEST")->Mat A
Charge le bitmap "Test.bmp" dans la matrice A.
A mon avis avec ça tu dois pas être loin de ce que tu cherches
Citer : Posté le 15/08/2023 17:21 | #
Pour info, y'a pas mal de truc ici : https://www.planet-casio.com/Fr/forums/topic14738-27-cbasic-projets.html
C'est là notamment que j'ai trouvé la doc donc je parle, dans les archives à la fin du post.
Citer : Posté le 15/08/2023 18:32 | #
J'ai testé ça, j'étais aussi allé farfouiller dans la doc, mais quand je teste le programme m'affiche juste Done. Mon image fait 127x63 pixel je ne sais pas si ça joue...
Citer : Posté le 15/08/2023 18:52 | #
Je crois que j'ai trouvé le probleme : quand j'ouvre un .bmp dessinée sur ma casio avec MicroGimp de CaptainLuigi la fonction marche.
Dans la documentation il est marqué : "seul le format noir et blanc 1-bit est supporté" or dans pixelorama je ne crois pas que mon image soit sauvegardé comme ça... Si quelqu'un a une idée ou un logiciel a me conseiller...
Citer : Posté le 15/08/2023 19:26 | #
Dans gimp tu vas dans Image>Mode>Indexed and tu actives "Use black and white (1-bit) palette".
Ensuite tu exportes en BMP.
Citer : Posté le 15/08/2023 19:34 | #
C'est ce que j'ai fait (merci google ) mais le programme ne fonctionne toujours pas... Mon image faisait avant 32 000 octets elle n'en fais plus que 1154 pourtant quand j'essaie de la stocker dans la matrice A, j'ai une erreur : "Not enough Memory"
Merci pour ton aide
EDIT : j'ai essayé de la stocker dans la matrice pour le test sinon j'utiliserai BmpLoad
Citer : Posté le 15/08/2023 20:01 | #
Il faut que tu fasses de la place dans ta mémoire principale. Le problème du basic c'est que le stockage des variables occupe le même espace que le code, tu dois donc être trop juste dans la place libre dans ta mémoire principale.
Citer : Posté le 15/08/2023 20:21 | #
J'ai tout vidé, j'ai 60 000 octet libre je ne comprends pas
En C.basic les matrices sont stockés au meme endroit qu'en basic ?
Citer : Posté le 15/08/2023 20:25 | #
Ca je saurais pas te dire. Désolé.
Citer : Posté le 15/08/2023 20:32 | #
Pas les matrices BMP/1-bit non
Citer : Posté le 19/08/2023 11:29 | #
Salut j'aurais besoin d'aide pour trouver des noms pour les différents mondes du jeu !
Il y en a 4, et sont représenté par des planetes sur l'écran de sélection des niveaux
Citer : Posté le 19/08/2023 11:42 | #
C'est pas les idées qui manquent:
Option 1 : Tu peux partir d'un truc simple et que tout le monde connait, le système solaire, nom dans la liste suivante : français / anglais / latin
Monde 1 : Mercure / Mercury / Mercurius
Monde 2 : Venus / Venus / Venus
Monde 3 : Terre / Earth / Terra
tu trouveras une liste des traductions des noms dans une foultitude de langues ici Planetary Linguistics
Option 2 : Un truc qui est sympa avec les exoplanètes, c'est leur classification, qui est assez cool et qui se prêterait bien à des noms de niveaux
Quand on découvre un planète autours de l'étoile X, elle prend le nom de l'étoile suivi d'un rang correspondant à une lettre. La première planète est "b" (oui car a est en fait pris par l'étoile), puis la seconde "c", etc ...
ainsi tu peux avoir des trucs du genre:
Alpha Centaury b
Kepler-438 b
etc...
Si tu veux une liste des exoplanètes potentiellement habitable : Tu peux regarder ici et piocher dans la liste, il y a quelques noms sympa ...
Citer : Posté le 19/08/2023 11:50 | #
Merci Slyvtt, j'ai les quatres noms maintenant
Sinon le projet avance bien ! Je ferai bientôt un post avec toutes les avancées
Citer : Posté le 19/08/2023 12:14 | #
Cool.
Hésite pas à nous mettre un tag @ RDP (en virant l'espace pour qu'on le traque automatiquement) quand tu veux qu'on en parle dans la Revue de Projets.
Citer : Posté le 02/09/2023 15:57 | #
Salut à tous !
Comme prévu voici toutes les avancées de Memen'Casio ! Désolé pour le retard j'attendais d'avoir des choses concrètes à vous présenter !
Donc pour commencer, j'ai mis au point le dernier (je pense ) élément de gameplay du jeu : La Pièce
Dans certains niveaux il y aura une pièce (non obligatoire) à récolter. Il y aura donc deux chemins : un plus simple, et un autre plus compliqué avec la pièce à la clé !
A quoi servent ces pièces ? Eh bien elles permettront de débloquer un monde bonus plus compliqué. Il faudra avoir récolté l'entièreté des pièces du jeu
Ensuite je me suis occupé des graphismes, en particulier des menus :
Comme vous pouvez le voir, certains mondes sont bloqués par un cadenas. Cela veut dire qu'ils ne sont pas encore accesibles. Ce bloquage se fait en fonction d'une sauvegarde ! Elle n'est pas encore tout a fait au point, mais elle avance !
Et enfin le plus gros morceau !
J'ai ajouté au jeu... un éditeur de niveau ! Un peu comme dans Mario Maker, ça vous permettra de créer des niveaux, de les tester et enfin de les partager via un code
Voici une petite vidéo hébergé sur mon google drive !
https://drive.google.com/drive/folders/1ThQFtt0J3VDhEG9jJ_PwwsUwRZvz9Js_?usp=sharing
Cet éditeur m'aidera aussi énormément pour le level design
Avant je devais designer le niveau sur une feuille puis le coder à la main ce qui me prenait (pour les gros niveaux) environ 20 minutes.
Maintenant tout est fait on-calc et j'estime le temps gagné à environ 10 minutes par niveaux !
Il me reste à faire :
- Fignoler l'éditeur de niveaux
- L'écran de sélection des niveaux
- Améliorer + Crypter la sauvegarde
- Level design (j'espere une cinquantaine de niveaux = 10 niveaux par mondes)
- Sûrement plein d'autres trucs que j'ai oublié de dire
J'aimerais sortir le jeu avant octobre, mais je n'ai encore aucune idée de la charge de travail au lycée et tout ça donc... on verra !
Merci d'avoir lu ce post jusqu'au bout !
@RDP
Citer : Posté le 02/09/2023 18:08 | #
Ah pas mal, ça avance bien.
Bravo pour l'éditeur de niveaux.
Je vois aussi que tu as trouvé des noms pour tes niveaux
Citer : Posté le 03/09/2023 16:59 | #
Wow, la sélection des mondes est jolie ! J'ai pas tout à fait compris le gameplay sur la vidéo par contre, je croyais qu'il faudrait se souvenir d'un chemin et le reproduire "dans le noir", mais entre les icônes qui se dupliquent et les cases qui disparaissent je suis plus sûr en fait. ^^"
Citer : Posté le 03/09/2023 17:48 | #
oui je crois que la vidéo correspond à la partie éditeur de niveaux (si j'ai bien tout compris).
Citer : Posté le 04/09/2023 19:02 | #
oui je crois que la vidéo correspond à la partie éditeur de niveaux (si j'ai bien tout compris).
Oui c’est ça
Wow, la sélection des mondes est jolie !"
Merci
"J'ai pas tout à fait compris le gameplay sur la vidéo par contre, je croyais qu'il faudrait se souvenir d'un chemin et le reproduire "dans le noir", mais entre les icônes qui se dupliquent et les cases qui disparaissent je suis plus sûr en fait. ^^"
Les icônes se dupliquent quand j’appuie sur shift ce qui correspond a poser un tile dans l’éditeur !
Les cases qui disparaissent c’est un moyen que j’avais pour faire des niveaux plus variés graphiquement Donc le voilà dans l’éditeur !
Désolé si la vidéo n’était pas claire
Citer : Posté le 05/09/2023 21:48 | #
Aaah non mais je suis juste à côté de la plaque j'ai cru que la vidéo était du jeu en général, alors qu'en fait c'était assez clair dans ton message que c'était l'éditeur. x)
Si tu as une vidéo du gameplay du coup ce serait cool à mettre dans le post principal
Citer : Posté le 06/09/2023 15:49 | #
Ok je mettrai une vidéo du gameplay dans le post principal