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 » Metro Siberia 2
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Metro Siberia 2

Posté le 27/04/2012 23:06

Vous deviez peut-être le savoir, mais j'apporte ici des détails sur mon premier add-in, l'adaptation de Metro Siberia 2 sur graph 75/85/95.

Il m'a fallut pas mal de persévérance, mais je me suis entrainé avec le C sur calto.

Le projet est presque fini, mais il reste les fonctions d'enregistrement de score, les pages des crédits et instructions et l'affichage de la map à faire.
De plus, j'ai un problème en quittant la partie, une fois mort: voir ici pour plus d'infos

J'attends vos commentaires, critiques, proposition et autres remarques avec impatience



Mise à jour le 18/05 à 18h40


1, 2 Suivante
Binary_man Hors ligne Ancien rédacteur Points: 1344 Défis: 19 Message

Citer : Posté le 27/04/2012 23:21 | #


Ca a l'air bien comme jeu, vivement le voir sur mal calto.
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 27/04/2012 23:46 | #


Je vois plusieurs solutions.

Déjà, il y a plusieurs manière de stocker les obstacles. Soit une liste à taille variable stockant les coordonnées des obstacles, tu en ajoute avant qu'ils n'entrent dans l'écran, et tu les supprimes une fois qu'ils en sortent. Soit un tableau 2D classique, où les cases à 0 sont vides et les cases à 1 contiennent un obstacle.

Quelque soit ton choix, il y a plusieurs manières de générer la map :
Tu peux stocker un très long tableau en dur. C'est simple à gérer, mais ça va prendre de la place, et ça pose un problème si tu veux faire un jeu infini.
Tu peux faire une génération totalement aléatoire des obstacles, avec une difficulté croissante.
Tu peux définir certains patterns pour la génération d'obstacles, et les enchaîner de manière aléatoire.
Tu peux définir certains morceaux de map, et stocker leur identifiant dans un grand tableau 1D qui indiquera comment ils s’enchaînent.

Sinon tu gère comment le dessin du vaisseau ? Tu calcules une rotation ou t'as plusieurs images ?
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 27/04/2012 23:54 | #


je calcule la rotation (et j'en ai galéré )

Ajouté le 28/04/2012 à 00:10 :
je sens que je faire faire comme tu m\'a proposé: faire des bout de map de 128 de long, puis les enchainer du coup, je n\'aurais qu\'un tableau de 128 * 63 qui prendra de la place, soit + 8 192 octets
j\'essayerai tout de meme avec 128 long...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Vdragon.b Hors ligne Membre Points: 1401 Défis: 0 Message

Citer : Posté le 28/04/2012 10:04 | #


c'est bien la rotation sur l'axe Z de la rasterisation que tu utilise pour ton vaisseau?
there are many incredible things in the world...So,believe in yours dreams!
I own a graph 3575+.

Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 28/04/2012 10:30 | #


Quand tu parles d'un tableau 128*64, tu veux dire que tu veux faire un tableau pixel par pixel ?? Ce serait beaucoup trop gros.
De plus avec cette technique, on peut-être à cheval sur 2 morceaux de map,


.Dark Storm Invité

Citer : Posté le 28/04/2012 13:02 | #


Vdragon.b a écrit :

c'est bien la rotation sur l'axe Z de la rasterisation que tu utilise pour ton vaisseau?


Je sait pas du tout J'utilise la formule suivante:

x' = cos(theta)*(x-xc) - sin(theta)*(y-yc) + xc
y' = sin(theta)*(x-xc) + cos(theta)*(y-yc) + yc
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 01/05/2012 12:44 | #


C'est juste un jeu du niaiseux en fait ?
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 02/05/2012 16:56 | #


J'ai posté une version d'essai
(avec les sources)

Ajouté le 16/05/2012 à 18:48 :
Une petite vidéo pour montrer de l\'avancement du projet.
Voir les commentaires sur YT pour les infos

lien direct


Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 16/05/2012 21:14 | #


La classe !
Je trouve ton jeu très soigné malgré le bug à chaque fin de partie....
Les graphismes sont assez simples mais rendent bien.
Bref, vivement qu'il sorte en version finale !
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 18/05/2012 15:56 | #


les niveaux avancent bien, et il ne me reste plus qu'à régler le problème du bug de fin de partie, et gérer les scores.

Comme vous pouvez le voir, il est possible de mettre le jeu en pause avec [OPTN], d’éteindre la calto, modifier le contraste, de revenir rapidement au menu, et ce sans quitter la partie (grâce au GetKey entre autres)

Pour les scores, je vais sans doute m'inspirer du code de Doodle Jump si Kevkevvtt n'y voit pas d’inconvénients

Quoi d'autre à ajouter ? Si vous avez des remarques ou des préférences concernant le gameplay, la gestion des touches, le menu, etc, faites m'en part.

Je pense poster mes sources une fois qu'elles seront un peu plus lisibles

Et pour la route, un aperçu des graphismes pour vous mettre l'eau à la bouche

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Binary_man Hors ligne Ancien rédacteur Points: 1344 Défis: 19 Message

Citer : Posté le 18/05/2012 16:30 | #


C'est beau, dommage que tu sois mort, j'aurai bien regardé la suite.
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Smashmaster Hors ligne Membre d'honneur Points: 4561 Défis: 253 Message

Citer : Posté le 18/05/2012 16:44 | #


Bien joué au niveau des graphismes. Je ne sais pas si c'est voulu, mais moi personnellement je trouve que l'avion descend et monte un peu trop "brutalement".
Bon courage pour le finir, ça à l'air d'être un très bon jeu :).
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 18/05/2012 17:01 | #


@ Binary_man: tu n'auras qu'a aller plus loin quand le jeu sera finit

@ Smashmaster: déjà, la vidéo est très grosse, du coup c'est moins visible lorsque l'on joue. Ensuite, "brutalement" désigne la rotation du vaisseau (dans ce cas, c'est normal, puisque je ne peut pas être plus précis qu'un pixel) ou la vitesse du vaisseau ?

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Smashmaster Hors ligne Membre d'honneur Points: 4561 Défis: 253 Message

Citer : Posté le 18/05/2012 17:18 | #


La vitesse (le vaisseau monte et descend assez rapidement), mais ce n'est qu'un avis personnel ;).
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 18/05/2012 17:24 | #


j'ai modifié les valeurs, et tu as raison, c'est bien mieux plus lentement
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 18/05/2012 17:25 | #


J'ai une suggestion.
La vitesse du vaisseau pourrait augmenter au fur et à mesure pour accentuer la difficulté.
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 18/05/2012 17:32 | #


Oulà ! tu n'as pas vu les maps qui arrivent
Je pense que ce sera suffisamment difficile comme ça
Mais oui, je pourrais faire plusieurs mode de jeu: facile, moyen et difficile, mais je n'en suis pas encore là...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 18/05/2012 17:59 | #


Franchement, gg pour les graphisme.
Par contre, mets pt la vidéo du topic à jour
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 18/05/2012 18:42 | #


fait

Ajouté le 19/05/2012 à 13:51 :
c\'est bon, le bug venait d\'une liste pour la fumée (enfin, c\'est ce que je pense puisque j\'ai refait cette partie du code, et maintenant ça marche très bien)

plus que les scores.

Pour cela, j\'ai une question: lorsque l\'on utilise les fonctions Bfile-***, la taille, la position de la \"tête\" de lecture, etc. sont en octet ? Si oui, je peut enregistrer 10 scores variant entre 0 et 10000 dans un fichier de 20 octets, puisqu\'un int fait 2 octets ?
Ou alors c\'est plus compliqué que ça ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 19/05/2012 13:57 | #


C'est pas plus compliqué non. Mais un int ne prend pas 2 octets sur un système 32 bits
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 v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 53 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