Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Lun 4 Déc 2017 - 8:59 par persalteas

» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++

» flappy bird
Jeu 15 Déc 2016 - 10:23 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois
Ti64CLi++
 
persalteas
 


[PROJET MARIO] le moteur du jeu

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

[PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 19:49

Coucou tout le monde!

Alors voilà dans ce topic on présente le moteur du jeu pour notre projet du forum: un mario.

On avait proposé comme idée d'utiliser les statplot pour obtenir un scrolling, et avoir la position des objets plus facilement.

J'ai commencé à coder et voici le résultat (Un X se balade sur le terrain, avec scroll vers la gauche lorsqu'il est à droite. Il y a maintenant une gestion des objets qui bloquent (plate formes...), et des ennemis (qui peuvent nous bloquer, nous tuer, ou bien être vulnérable dans une des 4 directions). Mario peut également faire un double saut (appuyer 2 fois rapidement sur flèche du haut)).




Voici le prgmMARIO:
Code:
Goto M // On va au menu
Lbl J

getKey->K

If Ans=45 // Si on veut quitter
Goto M

// Déplacement vertical
1=int(.001[A](max(1,B-1),13-A->ø // On teste si on touche le sol

0 // Déplacement nul par défaut

If (ø or F)(K=25 // Si on veut sauter et qu'on peut (on touche le sol ou on peut faire un double saut)
1!=int(10fPart(.01[A](B+1,13-A->F // Alors on teste si il n'y a pas d'obstacle à notre saut

B+Ans-not(ø+E->B // On saute si on veut sauter et on tombe si on doit tomber et qu'on a pas sauté

F->E // On sauvegarde si on vient de sauter
øAns->F // on sauvegarde si on vient de sauter et qu'il y avait le sol sous nos pieds (double saut possible donc)


// Déplacement horizontal
(K=26)-(A!=1)(K=24 // Si on veut se déplacer (sans sortir des limites de l'écran)

If Ans
A+Ans(1!=int(10fPart(.1^(Ans+2)[A](B,13-A-Ans->A // On se déplace s'il n'y a pas d'obstacles

If C=A and D=B // Si on ne s'est pas déplacé inutile de continuer
Goto J

If A=10 and Xmin+12-dim(L1 // Si on doit scoller (à droite de l'écran et pas au bout du circuit)
Then

prgmMSCROLL // On scroll

Else

Text(min(56,72-8D),max(2,8C-5),"    // Sinon on doit effacer mario (3 espaces)

End

Text(min(56,72-8B),8A-5,"X // On affiche mario

If D-B
Then
D-B+3
Else
C-A+2
End
int(10fPart(.1^Ans[A](B,13-A // On récupère le nombre correspondant au déplacement effectué sur la case où on se trouve (en privilégiant le déplacement vertical s'il y en a eut un).

If Ans=3 // Si ce nombre vaut 3 c'est qu'on vient de tuer un ennemi
Then

B+10(A+Xmin-1->ø // On calcule la valeur qu'on doit trouver dans la liste (sans prendre en compte le numéro de sprite)
0->[A](B,13-A // Il n'y a plus d'objet sur cette case donc on efface dans la matrice

Repeat ø=int(10L4(Ans // on cherche l'indice de l'objet dans L4
Ans+1
End

0->L4(Ans // On efface l'objet de la liste (il sera supprimé réellement au prochain scroll)

Else

Ans-2->I // Si la valeur vaut 2 c'est qu'on a été attaqué, donc on est mort

End

B->D // On sauvegarde les positions actuelles
A->C

If I and B-1 and A+Xmin+1-dim(L2 // On teste si le jeu est fini
Goto J

If B-1 and I
Then
"GAGNE
Else
"PERDU
End
Text(20,37,Ans

Pause

// Le menu (à changer bien sûr)
Lbl M
Menu("MARIO","JOUER",I,"QUITTER",0

// Initialisation des variables du jeu
Lbl I

// Pour un écran "propre"
AxesOff
PlotsOff
FnOff

// pour qu'une unité vaille 8 pxl
0->Xmin
1->Ymin
11.8->Xmax
8.8->Ymax

seq(A,A,0,43->L1 // Les absices du sol
{1,1,1,1,1,1,2,3,4,5,4,1,2,3,0,1,2,2,2,2,2,3,4,5,6,0,0,1,1,2,3,3,1,1,2,3,4,3,3,4,4,4,4,4->L2 // Les ordonnées du sol.
ClrList L4 // Liste contenant les objets immobiles (vide au départ)
{14.501,1111,15.501,1111,16.501,1111,17.302,3222,18.303,1222->L3 // Les objets
DelVar H1->G // Il n'y a pas d'objets immobiles à afficher pour l'instant, et on en est au premier objet de la liste

// On affiche le terrain
Plot1(Histogram,L1,L2
DispGraph

// Les matrices
{10,12->dim([A] // Pour la collision
Fill(0,[A]
{10,4->dim([B] // Pour un scroll facile de la matrice [A]
Fill(0,[B]

// On la rempli avec les données du sol, mais à l'envers (la 12e colonne (à droite dans la matrice) correspond en fait à la plus ancienne, celle de gauche sur l'écran)
For(ø,1,12
For(A,1,L2(ø
1111->[A](A,13-ø // 1111 car le sol est infranchissable dans toutes les directions
End
End

// Position et déplacement de mario
DelVar C1->A
DelVar EDelVar D2->B

Goto J // On va au Lbl de jeu

// on quitte
Lbl 0
PlotsOff
DelVar [A]DelVar [B]ClrList L1,L2,L3,L4
Et le prgmMSCROLL (gère le scroll comme son nom l'indique):
Code:
// Nouvelle fenêtre, avec un scoll de 4
Xmin+4->Xmin
Ans+11.8->Xmax

6->A // on change la position de mario en conséquence
5->C

{10,8->dim([A] // on tronque la matrice (les 4 dernières colonnes qui correspondent en réalité à celles de gauceh sur l'écran disparaissent)
augment([B],[A]->[A] // on en rajoute 4 vierges au début (donc qui correspondent à celles à droite de l'écran)

For(ø,8,12 // On les remplis avec les données du sol
For(W,1,L2(ø+Xmin
1111->[A](W,13-ø
End
End

If H // S'il y a des objets immobiles
Then


sum(L4>=Xmin // On compte le nombre d'objets qui sont encore sur l'écran

If Rép or Rép-dim(L4
SortD(L4 // On trie dans l'ordre décroissant, ainsi l'objet se situant le plus à gauche de l'écran est en dernière position, mais que s'il y a des objets à supprimer ou qu'il ne faut pas tout supprimer

Ans->dim(L4 // On tronque la liste (donc on supprime les termes qui sont les moins grands, se sont ceux qui ne sont plus à l'écran)
Ans->H

End

While G<=dim(L3) and Xmin+12>L3(min(G,dim(L3 // Tant qu'il y a des objets à rajouter et qu'ils sont sur l'écran

H+1->H
L3(G->L4(Ans // On rajoute à la liste d'objets à traiter

L3(G+1->[A](int(10fPart(Ans)),12+Xmin-int(Ans // On charge les propriétés de collision dans la matrice [A]

G+2->G // Le prochain objet est 2 termes plus loin

End

For(ø,1,H // On affiche tous les objets
L4(ø
Text(71-8int(10fPart(Ans)),8(int(Ans)-Xmin)+3,sub("OAT",100fPart(10Ans),1
End

// On affiche le drapeau (à changer en objet)
Line(42.9,7,42.9,4
Line(42.9,7,41.8,6.5
Line(41.8,6.5,42.9,6
Voilà pour l'instant Wink.



Variables utilisées:
L1 (absices du terrain)
L2 (ordonnées du terrain)
L3 (liste avec les objets).
L4 (objets immobiles présents dans l'écran, à afficher à chaque scroll donc)
[A] (tile map pour gérer les collisions dans la zone affichée)
[B] (matrice vide de dimension {8,4} pour réactualiser la matrice [A])
K (touche pressée)
plot1 (terrain)
A (absice de mario)
B (ordonnée de mario)
C (ancienne absice de mario)
D (ancienne ordonnée de mario)
E (flag à 1 si mario vient de sauter, à 0 sinon)
F (flag à 1 si on vient de sauter et qu'on a la possibilité de faire un double saut maintenant, à 0 sinon)
G (pointeur sur le terme du prochain objet dans L3)
H (nombre d'objets immobiles à afficher)
I (flag à 1 si on est vivant, à 0 si on est mort à cause d'un ennemi)
Théta et W sont des variables temporaires à chaque fois.

Je pense utiliser:
L5 (les objets mobiles, à afficher à chaque tour).
I (état de mario, lorsque les objets auront été rajoutés. Pour l'instant il indique juste si mario est vivant ou mort)


Dans L3, les informations sur les objets sont codées comme suit, sur 2 termes de la liste:
premier terme: AA.ONN
deuxième terme: XXXX
A, O, N et X représentent des chiffres décimaux.

AA correspond à l'absice de l'objet
O à son ordonnée
NN à son numéro de sprite (pour l'affichage)

Le premier X (à gauche) correspond à la direction "bas", c'est a dire quand un autre objet va dessus en se déplaçant vers le bas.
Le second c'est la direction "droite".
Le troisième c'est la direction "haut".
Le dernier c'est la direction "gauche".
X vaut:
0 si l'objet est inexistant (dans la direction considérée (c'est le cas par exemple pour une plateforme qu'on peut traverser en sautant))
1 Si l'objet nous bloque (plate forme...)
2 si l'objet est mortel (un ennemi)
3 si on peut tuer l'objet (direction bas avec un ennemi par exemple)
4 si on active l'objet (un champignon ou autre)  (je n'ai pas encore codé cette partie là)

Je ne voit pas ce qu'il pourrait y avoir d'autre comme cas, mais si vous avez une idée dites toujours.

Lorsque l'objet arrive dans l'écran, le premier terme est stocké dans la liste L4, puisque celle ci gère l'affichage des objets, tandis que le second est stocké dans la matrice [A], qui gère les collisions.



Historique de réalisation:
01/11: Les objets sont gérés grâce aux listes L3/L4 et à la matrice [A]. Ils peuvent: être traversés par mario, bloquer mario, tuer mario, ou être détruits par mario. Rajout du double saut en appuyant 2 fois rapidement sur la flèche du haut.
28/10: La gestion des collisions (sol compris) se fait maintenant via la matrice [A].
26/10: L'idée de gestion des pentes est abandonnées, j'ai rajouté le déplacement d'un "X", en fonction du terrain, et le sol est géré via un statplot diagramme plutôt qu'un polygone.


Dernière édition par m@thieu41 le Ven 1 Nov 2013 - 13:21, édité 8 fois

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par Wistaro le Ven 25 Oct 2013 - 19:53

Bravo!
Mais comment tu compte gèrer les pentes?

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 19:58

Si mario (ou un autre mob) touche le sol:
S'il veut se déplacer à droite où à gauche et qu'il y a une pente:
Je le sais parce que l'ordonnée où il veut aller est différente de celle où il se trouve. Donc j'adapte son déplacement (et sa position donc), c'est tout aussi simple Razz.

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par Wistaro le Ven 25 Oct 2013 - 20:03

Tu adaptes son déplacement? C'est à dire?
Tu "réduits" sa vitesse ?

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 20:07

Non je le fais aller vers le bas/le haut en fonction de la pente.
Mais pas d'une case entière, ça dépend de l'angle de la pente:
Si une pente va de la 4e ordonnée à la 5e sur la case n°X, bah je lui rajoute une demi case (0.5) à son ordonnée. Comme ça il se retrouve au milieu de la case. il faudra voir aussi parce que j'ai peur qu'il soit à moitié dans le décor et à moitié dans le vide en faisant comme ça...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par Wistaro le Ven 25 Oct 2013 - 20:19

Ha oui Smile
Mais tu peut pas rajouter 0.5 à une ordonnées, si?

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 20:25

Pourquoi je pourrait pas? Shocked 
je travaille par rapport au zoom, pas à l'écran, donc je peux rajouter 1E-99 si ça me chante Razz (même si là ça serait inutile)
Avec le zoom que j'ai pris, 0.5 unités correspond en fait à 4 pixels.

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par pito2901 le Ven 25 Oct 2013 - 20:31

Beau travail !

__________________________________________________________________________
Programmes de Jeux TI 82 Stats.fr à recopier
"Parfois les personnes capables de rien sont celles capables de faire ce que personne n'aurait imaginé" A.Turing
avatar
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 20:56

Merci Smile

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par pito2901 le Ven 25 Oct 2013 - 21:46

çaaaa vaaaa êtreeeee leeeennnnttttt ! ! ! ! !

Déjà là, rien que pour le "terrain", ça va être long, alors avec notre figurine dessus... Pfiou ! Mais on peut pas faire mieux en ti-basic, tentons quand même...

__________________________________________________________________________
Programmes de Jeux TI 82 Stats.fr à recopier
"Parfois les personnes capables de rien sont celles capables de faire ce que personne n'aurait imaginé" A.Turing
avatar
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 22:36

J'ai fait un prototype (juste un mario qui se déplace et peut "sauter" (mais sans redescendre et sans prendre en compte le terrain)) et j'ai une très mauvaise nouvelle.
C'est bien pire que lent... Crying or Very sad 

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par matrefeytontias le Ven 25 Oct 2013 - 22:47

Et là entre en scène la magie de WLib Cool je suis en train de bosser sur le nécessaire pour afficher un sprite. Espérons que ça soit pas trop lent à interfacer avec le Basic quoi x)

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 23:01

Ce serait bien ça Wink .
(Il faudrait aussi pouvoir l'effacer si possible Smile ).

Par contre je crois que je vais abandonner l'idée de la pente (ça va vraiment ralentir le prgm, et en plus on pourra pas bien afficher le mario sur une pente.)
Du coup je ne vais pas utiliser le même type de statplot, je vais me servir de diagramme, ça sera plus simple à coder.
C'est dommage j'aimais bien le principe avec les pentes, mais c'est vraiment irréaliste en ti basic...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par matrefeytontias le Ven 25 Oct 2013 - 23:12

Essaye tout simplement la méthode qui va le plus vite possible. Y'aura bien assez de trucs par-dessus pour le faire ramer, t'inquiète pas.

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 23:24

Ouais je vais faire avec les diagrammes alors.
Et aussi quand je décale l'écran je décale de plusieurs cases à la fois sinon faut tout le temps le mettre à jour c'est horrible...

Par contre quand tu affiches le sprite faut que ce soit en fonction du zoom Wink .

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par matrefeytontias le Ven 25 Oct 2013 - 23:32

Ah non. Ça sera en fonction de pixels, sinon c'est bien trop lent.

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Ven 25 Oct 2013 - 23:42

Ah mais si j'utilise les statplot je dois l'afficher en fonction du zoom, et si je recalcule les coordonnées en fonction des pixels pour l'afficher ça risque d'être compliqué... Mais bon je me débrouillerai ça sera toujours plus rapide que comme ça de toute façon.

J'édite demain pour vous montrer où j'en suis Smile .

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par persalteas le Sam 26 Oct 2013 - 9:32

Euh c'est surtout que ton scrolling là tu le fais d'abscisse 1 par 1...

Evidemment que c'est lent...

Faut le faire de 2 par 2, si c'est pas plus...
Ensuite, utiliser les diagrammes est une bonne idée, quoique je suis pas sur que ça aille plus vite, mais ça fait plus "plateforme"...

Et +1 pour Wlib, bien sur Smile

__________________________________________________________________________
Bienvenue sur le nouveau Tout-82, Invité ! Viens discuter sur le chat... What a Face
Depuis que je me suis tatoué une calculatrice sur le bras, vous pouvez compter sur moi ! :P (Best joke ever x) )
avatar
persalteas
----------------------
----------------------

Messages : 483
Points Concours : 152
Productivité : 39
Date d'inscription : 06/12/2012
Localisation : Savoie, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://tout82.forumactif.org

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Sam 26 Oct 2013 - 10:14

Oui c'est ce que j'ai dis je fais faire du 3 par 3 (voire même du 4 par 4), pour que ça soit plus fluide.

Les diagrammes ça ira plus vite (plus facile de savoir où est le sol, et 2 fois moins de coordonnées à afficher).

Je vous montre dès que possible où j'en suis (un "X" qui se balade en prenant compte des murs/sols/limites pour l'instant.

@Matref: Quand on affiche hors de l'écran ça serait bien que tu n'affiches juste rien, et que tu ne renvoi pas d'erreur (à la rigueur tu mets une certaine valeur dans une variable en cas d'erreur et tu nous dis laquelle pour si on veut faire quelque chose en cas de sortie d'écran)...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par matrefeytontias le Sam 26 Oct 2013 - 10:40

Je peux faire ça oui. Un bon vieux clipped sprite avec en plus détections de sortie, ça risque d'être compliqué, mais je vais essayer.

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Sam 26 Oct 2013 - 11:07

Ok super Smile .

J'ai édité le premier post.
Qu'en pensez vous?

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par Wistaro le Sam 26 Oct 2013 - 11:15

matrefeytontias a écrit:Je peux faire ça oui. Un bon vieux clipped sprite avec en plus détections de sortie, ça risque d'être compliqué, mais je vais essayer.
Oula!


__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par persalteas le Sam 26 Oct 2013 - 11:24

+1 pour les diagrammes Very Happy

c'est awesome ! Bien Joué

__________________________________________________________________________
Bienvenue sur le nouveau Tout-82, Invité ! Viens discuter sur le chat... What a Face
Depuis que je me suis tatoué une calculatrice sur le bras, vous pouvez compter sur moi ! :P (Best joke ever x) )
avatar
persalteas
----------------------
----------------------

Messages : 483
Points Concours : 152
Productivité : 39
Date d'inscription : 06/12/2012
Localisation : Savoie, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://tout82.forumactif.org

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Sam 26 Oct 2013 - 14:59

Merci Smile.


Bon alors voilà je pense changer complètement la façon de gérer le jeu, sinon je ne sais pas trop comment introduire les objets.

Je garde bien sûr le principe des statplot afin de réaliser un scrolling comme ici.
Par contre: je récupère tous les éléments du jeu (sol objets etc) dans une matrice (au début je pensais à une liste mais c'est moins pratique même si plus rapide d'accès).
Il faut donc réactualiser la matrice à chaque scroll, et il faudra donc décaler une partie de la matrice pour recueillir les nouvelles données.
Et du coup je n'ai qu'à faire réagir le personnage et les objets de la matrice s'il y en a (je pense conserver la position de ceux qui doivent agir à chaque tour dans une liste afin d'aller plus vite dans le traitement).

Dans la liste d'objet L3 (qui servira de banque de données pour rajouter à la matrice quand on arrive à la bonne absice), je pense utiliser 2 termes pour chaque objet: le premier indiquera sa position (valeur entière = absice; 10 * valeur décimale = ordonnée), et le second donnera des informations sur l'objet comme suit:
XXXX.AA
avec X et A des chiffres décimaux.

Le premier X (à gauche) correspond à la direction "bas", c'est a dire quand un autre objet va dessus en se déplaçant vers le bas.
Le second c'est la direction "droite".
Le troisième c'est la direction "haut".
Le dernier c'est la direction "gauche".
X vaut:
0 si l'objet est inexistant (dans la direction considérée (c'est le cas par exemple pour une plateforme qu'on peut traverser en sautant))
1 Si l'objet nous bloque (plate forme...)
2 si l'objet est mortel (un ennemi)
3 si on peut tuer l'objet (direction bas avec un ennemi par exemple)
4 si on active l'objet (un champignon ou autre)

Je ne voit pas ce qu'il pourrait y avoir d'autre comme cas, mais si vous avez une idée dites toujours.

AA correspond au numéro de l'objet (pour afficher le bon sprite).

L'inconvénient de ce système c'est qu'on  ne peut avoir que des objets de 8*8 pixels (ou sinon il faut les séparer en plusieurs objets qui réagissent pareil)

Ensuite, dans la matrice:
On a pas besoin des coordonnées, vous devinez pourquoi. (sauf pour les objets qui se déplacent ou agissent à chaque tour, auquel cas leurs coordonnées sont stockées dans L4).
Les objets seront codés comme dans la liste L3, avec le sol en plus (-1 si c'est le sol).

Que pensez vous de ce système?
Comment est ce qu'on pourrait faire sinon?

Edit: Mmh beaucoup plus facile à dire qu'à faire Razz
Je ne suis pas sûr que ce soit vraiment comme ça la meilleure solution...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par ashtrail le Dim 27 Oct 2013 - 23:19

Whâââââ! Super!
(je pars un week-end et tout est déjà fait snif... Sad )

__________________________________________________________________________
Mes programmes :
-JEUX : Le TAPTAUPE, Le MINSTEP, Un Plus-Moins
-MATHS : Regroupement n°1, Regroupement n°2, tout sur les pourcentages
-AUTRE : Le programme qui jauge les prénoms
avatar
ashtrail
Connaisseur
Connaisseur

Messages : 248
Points Concours : 21
Productivité : 21
Date d'inscription : 18/06/2013
Localisation : Paris
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://ti-freeworld.fr1.co/

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Lun 28 Oct 2013 - 10:45

ash a écrit:tout est déjà fait snif
Houlà loin de là Razz
Il faut encore rajouter tous les objets, l’interaction avec le personnage, et modifier quelques trucs pour que ça ailles plus vite (je pense faire un système de pointeur pour savoir quelle ligne de la matrice est la première plutôt que de tout décaler à chaque fois (c'est trop lent à chaque scroll sinon).
Enfin bref pour l'instant ce qui a été fait c'est le plus facile, il y a encore de quoi s'amuser Wink .

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par Wistaro le Lun 28 Oct 2013 - 13:51

Beau travail +1 continuez comme sa :p

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Lun 28 Oct 2013 - 18:08

Je viens de faire en sorte que le sol soit géré par la matrice. Comme ça on peut déjà rajouter des plates formes et autres objets qui bloquent.

Ce qu'il reste à faire dans l'immédiat:
_gérer les éléments qui bloquent lorsqu'on saute (pour l'instant je ne me suis occupé que des directions gauche droite et bas puisque mario ne pouvait pas être bloqué en allant vers le haut (puisqu'il n'y a que le sol)).
_Créer la liste L3 d'objets et la rajouter à la réactualisation de la matrice à chaque scroll, ainsi qu'aux listes L4 et L5 (L4 servira aux objets inertes qui se trouvent dans l'écran et L5 aux objets mobiles, qui demandent de s'occuper d'eux à chaque tour).
_Ensuite il faudra rajouter la gestion des autres actions (pour l'instant je ne gère que on laisse passer mario (0), ou on ne le laisse pas passer (1)).

Un petit screen:

Comme vous le voyez, le scroll est très lent, c'est à cause de la réactualisation de la matrice (et ça risque d'être pire lorsqu'on rajoutera des objets).

J'édite le premier post pour vous montrer le code.

Si quelqu'un a des remarques/optimisations surtout à ce niveau là je suis preneur Wink.

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par matrefeytontias le Lun 28 Oct 2013 - 18:41

En voyant la manière dont tu gères tu scrolling, j'ai eu une idée qui je pense serait vachement bien ...

Je vois qu'à chaque fois que tu veux scroller tu effaces et redessines tout l'écran. Moi je te propose d'utiliser la fonction de scroll de WLib (j'ai déjà donné une version utilisable il me semble) pour décaler tout l'écran et redessiner une seule colonne, celle qui entre dans l'écran.

EDIT : WLib.83p v0.1b

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par m@thieu41 le Lun 28 Oct 2013 - 18:51

Sauf que se serait plus lent de redessiner les 4 colonnes, puisqu'elles sont dessinées grâce aux satsplot... Du coup, je n'ai qu'à choisir mon nouveau zoom, et c'est la calto qui redessine entièrement toutes les colonnes qui sont dans l'écran (ce n'est pas le prgm qui s'en occuper lui même). Du coup effacer et redessiner l'écran n'est pas très lent, ce qui est lent c'est le chargement des données dans la matrice en fait.

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [PROJET MARIO] le moteur du jeu

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum