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 - Vie communautaire


Index du Forum » Vie communautaire » Press Shift #5 - Mipjabok (Louloux)
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Press Shift #5 - Mipjabok (Louloux)

Posté le 15/01/2021 19:13

À tour de rôle, les rédacteurs de Planète Casio présentent un jeu innovant, drôle, beau ou bien conçu. Blockbuster ou trésor oublié, venez (re)découvrir des jeux d'une qualité remarquable ! Aujourd'hui, nous allons voir... Mipjabok de Louloux !

Ceci est mon 1er Press Shift !

Le projet

Bonjour et bienvenue dans ce 5ème Press Shift ! Aujourd'hui nous allons parler de Mipjabok, un très bon jeu de Louloux !

Il s'agit d'un jeu de plateforme, on l'on incarne un spectre, ou plutôt des spectres, puisque l'on peut incarner plusieurs personnages.
De façon générale, c'est le spectre Mipjabok que l'on incarne, mais lui même peut incarner plusieurs personnages, comme Banshy, Bobby, Quadry ou Bluggy.


Mais on peut aussi créer nos personnages, ce qui va nous permettre de mieux passer les obstacles. Mais commençons tout de suite avec...

Un jeu de plateforme très complet

Mipjabok est un jeu très complet, avec ses 22 niveaux, ce qui en fait selon son créateur, Louloux, " le plus grand jeu de plateforme de l'histoire de la programmation sur calculatrices".
Pour ma part, je n'ai pas vérifié !

Ces 22 niveaux sont longs, ce qui en fait un jeu très complet !

Le but du jeu : trouver les 22 clés des 22 niveaux, et ce ne sera pas une mince affaire !

Les personnages

Dans Mipjabok, nous avons le choix entre différents personnages.
Le dernier est un peu particulier puisque c'est un personnage entièrement personnalisable, il coûte 2000 pièces.

Dans ce menu (Menu principal → Magasin), descendez jusqu'en bas puis [SHIFT] (pas besoin d'acheter le personnage modifiable pour le modifier, par contre il faut l'avoir acheté pour l'utiliser), vous allez voir...
Vous arrivez devant cela :


Là, rien de plus simple, [EXE] pour changer l'état d'un "pixel", les flèches pour se diriger et [EXIT] pour sortir.

Si vous avez assez d'argent, vous pouvez acheter ce personnage, c'est [EXE].
Mais justement, comment gagner l'argent ?
A chaque partie, vous amassez de l'argent présent dans les niveaux, et lorsque vous avez assez, vous pouvez acheter un personnage.

Sans plus tarder passons à la suite...

Le système de jeu

Niveau gameplay, rien de plus simple : [SHIFT] pour sauter, et les flèches pour se diriger, comme dans beaucoup de jeux sur calculettes d'ailleurs !

Les blocs sont variés : il y a les blocs "basiques", mais d'autres plus complexes, comme les ascenseurs.
Ces derniers permettent de monter, ou de descendre (selon le sens de l'ascenseur, pour la montée le personnage est attiré vers le haut, l'inverse pour la descente).

Nous pouvons aussi trouver les pics, sur lesquels il ne faut pas tomber sous peine d'un Game Over, écran de Game Over d'ailleurs très stylé (des pixels noirs remplissent peu à peu l'écran), les pièces, dont nous avons vu l'utilité précédemment, les portes (activées par une commande que je ne révèlerais pas, je crois que c'est une sorte d' "easter egg" ), les trampolines, permettant de sauter plus haut, et les clés, qui signent la fin du niveau.
J'ai aussi trouvé les champignons, et autres blocs "décoratifs".

Je ne sais pas si je dois dire ce qu'il se passe à la fin, donc je le mets en spoiler :

! SPOIL !
Enrouler
A la fin des 21 niveaux, votre personnage arrive devant Dracofeu, qui vous pose une énigme, dont je ne donnerais pas la réponse .
Vous êtes alors redirigé vers un niveau "bonus", qui vous permettra de finir le jeu.

A la fin du jeu, un texte de fin défile expliquant une histoire, pas super claire j'avoue , entre le bien et le mal.

Le jeu est à présent terminé, mais vous pouvez toujours jouer aux autres niveaux, pour débloquer les personnages qui ne le seraient éventuellement pas encore


Ce Press Shift est à présent terminé, Mipjabok est en tout cas un très bon jeu, et après l'avoir fini 2 fois je ne m'en lasse pas !

Un grand bravo à Louloux, à bientôt pour un nouveau Press Shift, et...

Enjoy !

... et à bientôt sur planet-casio !

Le Press Shift précedent : Press Shift #4 - Aventura, le Royaume Poudingue (Drak)


Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 17:46 | #


Ah oui j'avoue en vrai !
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 17:47 | #


Non, (W) signifie Warning. Ça ne bloque pas la compilation, donc normalement le jeu doit être fonctionnel. Tente de lancer l'émulateur du SDK

Ajouté le 18/01/2021 à 17:52 :
J'en profite pour partager ce topic sur les erreurs du SDK : https://www.planet-casio.com/Fr/forums/topic9775-20-aide-sdk-les-erreurs-de-compilation.html
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 18:12 | #


Nan bah j'ai :
* L2310 (E) Undefined external symbol "_ML_rectangle" referenced in "D:\Mipjabok\Mipjabok\Debug\MIPJABOK.obj"


Ajouté le 18/01/2021 à 18:15 :
Ha non.
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 18:15 | #


Ah oui, faut ajouter MonochromeLib.c à la liste des fichiers dans les options du projet.

Edit : c'était dans le topic que j'ai cité dans mon message précédent. La prochaine fois que tu tombe sur une erreur qui est décrite dedans, je ne répondrais pas.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 18:17 | #


Apparement ca marche, j'avais pas fait "Build all" mais "Build"...

Ajouté le 18/01/2021 à 18:17 :
Après il prend un temps anormal à compiler, là ca fait 10 minutes...
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 18:18 | #


T'as un joli screenshot à nous partager du coup ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 18:18 | #


Comme je l'ai dit : Après il prend un temps anormal à compiler, là ca fait 10 minutes...
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 18:19 | #


Comment veux tu que ça fasse 10 minutes si tu avais une erreur il y a moins de 5 minutes ? >_<
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 18:21 | #


Oui, je me suis mal exprimé : j'ai du éteindre mon pc il y a 30 minutes environ, ca faisait 10 minutes que ca compilait, et en relancant j'ai eu cette erreur, et là la compilation rame depuis 2 minutes
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 18:24 | #


Est-ce que tu peux prendre une capture d'écran de :
– la console de compilation du SDK
– la liste des fichiers du projets dans la fenêtre du SDK
– la liste des fichiers dans le dossier du projet

J'ai pas compilé avec le SDK depuis un bail, mais normalement ça devrait pas prendre plus d'une minute.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 18:31 | # | Fichier joint


En pièce jointe voici le ZIP avec les 3 screens
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 18:33 | #


Enlève MonochromeLib.h des fichiers du projet, c'est un bug connu.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 18:58 | # | Fichier joint


Comme demandé sur la shout, voici un zip du projet ! (En pièce jointe)
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 19:09 | #


Extrait du fichier MonochromeLib.c. Comme dirait un commentateur de football, y'a de l'idée mais la réalisation laisse à désirer.

#ifdef ML_DISPLAY_VRAM
void ML_display_vram()
{
    char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000, *vram;
    int i, j;
    vram = ML_vram_adress();
    for(i=0 ; i<64 ; i++)
    {
        *LCD_register_selector = 4;
        *LCD_data_register = i|192;
        *LCD_register_selector = 4;
        *LCD_data_register = 0;
        *LCD_register_selector = 7;
        for(j=0 ; j<16 ; j++) *LCD_data_register = *vram++;
    }
Bdisp_PutDisp_DD(
}
#endif

Je te laisse deviner ce qui ne va pas là dedans, et relire les messages de Lephe.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 19:41 | #


Bdisp_PutDisp_DD() à mettre dans le for ?
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 19:43 | #


Je suis sympa

Lephenixnoir a écrit :
Ah c'est sans doute parce que ML_display_vram() ne gère pas le projecteur. Tu peux tenter de recompiler Mipjabok avec un Bdisp_PutDisp_DD() dans le corps de ML_display_vram(), ça devrait faire marcher ScreenReceiver (et p7screen).

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 18/01/2021 19:52 | #


J'avais bien vu ce message, mais c'est quoi le corps d'une fonction ?

Ajouté le 18/01/2021 à 20:04 :
Attend... c'est une erreur de ton copier coller ou Bdisp_Putdisp_DD() n'a pas sa parenthèse refermée ?(je ne peux pas verifier)

Ajouté le 18/01/2021 à 20:07 :
Nanan, je viens de vérifier, j'ai oublié une parenthèse la hooonte

Sincèrement, désolééé
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/01/2021 22:12 | #


D'une part il manque autre chose que la parenthèse, et d'autre part le message de Lephe consiste à dire :

Pour que le ScreenReceiver fonctionne, il faut que la fonction qui affiche à l'écran (ici ML_display_vram) soit remplacée par Bdisp_PutDisp_DD.
Pour cela, tu as deux solutions :
– soit tu parcours tout le code de Mipjabok et tu remplaces tous les ML_display_vram par des Bdisp_PutDisp_DD
– soit tu remplace le code de ML_display_vram par un appel à Bdisp_PutDisp_DD. Dans ce cas chaque appel de ML_display_vram ne fera que appeler "en cascade" Bdisp_PutDisp_DD, ce qui est plus commode que la solution 1.

Muni de ces informations, je te laisse faire la modification nécessaire.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 19/01/2021 06:59 | #


Ah d'accord ! Merci beaucoup, je vais essayer la seconde solution !

Ajouté le 19/01/2021 à 18:38 :
Malheureusement, le build en ayant changé tout ça n'a pas l'air plus concluant (même problème, ca build pas...)...
Globalement, coder. Mal, mais coder.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 19/01/2021 18:50 | #


Comme d'hab, un bout de code que tu pense être fautif serait le bienvenu.
Au pif le code de ML_display_vram
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 19/01/2021 18:51 | #


Le voici :
#ifdef ML_DISPLAY_VRAM
void ML_display_vram()
{
          Bdisp_PutDisp_DD();
}
#endif

Globalement, coder. Mal, mais coder.

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