"Jeu Développe", apprenez à programmer en C !
+23
Mastergurt
tfdi
Top l'âne
Kristof
tetsuro
Fabf
dub
vingazole
ichigobankai
tinyint
Ricco59_59
chrilith
Ataré
pckid
nemokantio
neimad
jo80
majikeyric
drfloyd
Philoupe
bfg
grostonton
iwillbeback
27 participants
Page 4 sur 7
Page 4 sur 7 • 1, 2, 3, 4, 5, 6, 7
Re: "Jeu Développe", apprenez à programmer en C !
Salut,
Je galère un peu avec le code comme je te l'ai expliqué. J'ai pas bien compris ce que tu demandes dans l'épisode 11. Je dois créer un objet avec une durée de vie. La fonction est créée mais je capte pas ce que tu veux dire par durée de vie. Un timer (j'ai pas trouvé comment faire ça en C) ?
Le bout de code qui va bien (ou pas) :
void anim_obj(int eno)
{
if (enn_GetType(eno) != ENN_INACTIF)
{
if (enn_GetType(eno) != -1)
{
spr_setSpriteAnimation2(enn_GetSprno(eno),0,12,enn_destroy_animation,ANIM_NOLOOP);
spr_animateSprite(enn_GetSprno(eno),0);
spr_moveSprite(enn_GetSprno(eno),spr_getSpriteX(enn_GetSprno(eno)),spr_getSpriteY(enn_GetSprno(eno)));
}
}
}
Après avoir tester les points de vie de mon ennemie, j'appelle ma fonction puis je détruit l'ennemie :
anim_obj(ano);
enn_destroy(ano);
L'ennemie est bien détruit mais l'explosion ne s'affiche pas. Je sèche...
Merci.
PS : bfg, c'est en rapport avec Quake ?
Je galère un peu avec le code comme je te l'ai expliqué. J'ai pas bien compris ce que tu demandes dans l'épisode 11. Je dois créer un objet avec une durée de vie. La fonction est créée mais je capte pas ce que tu veux dire par durée de vie. Un timer (j'ai pas trouvé comment faire ça en C) ?
Le bout de code qui va bien (ou pas) :
void anim_obj(int eno)
{
if (enn_GetType(eno) != ENN_INACTIF)
{
if (enn_GetType(eno) != -1)
{
spr_setSpriteAnimation2(enn_GetSprno(eno),0,12,enn_destroy_animation,ANIM_NOLOOP);
spr_animateSprite(enn_GetSprno(eno),0);
spr_moveSprite(enn_GetSprno(eno),spr_getSpriteX(enn_GetSprno(eno)),spr_getSpriteY(enn_GetSprno(eno)));
}
}
}
Après avoir tester les points de vie de mon ennemie, j'appelle ma fonction puis je détruit l'ennemie :
anim_obj(ano);
enn_destroy(ano);
L'ennemie est bien détruit mais l'explosion ne s'affiche pas. Je sèche...
Merci.
PS : bfg, c'est en rapport avec Quake ?
tinyint- Patient en incubation
- Nombre de messages : 17
Age : 45
Localisation :
Date d'inscription : 23/10/2014
Re: "Jeu Développe", apprenez à programmer en C !
un timer c'est ni plus ni moins qu'une variable (qu'on va incrémenter ou décrémenter à chaque passage)
PS. le BFG je crois que c'est issu de Doom à l'origine
Après aucune idée si le pseudo de bfg y est lié !
PS. le BFG je crois que c'est issu de Doom à l'origine
Après aucune idée si le pseudo de bfg y est lié !
Re: "Jeu Développe", apprenez à programmer en C !
Non, le pseudo bfg n'est pas lié à Doom :) Mais c'est une autre histoire.
De ce que je comprends, tu remplaces tu changes l'animation de ton ennemy par une explosion et tu détruis ton ennemy, c'est donc normal que rien ne s'affiche. Il faut en fait créer un nouvel objet que j'appelle animateObject personnellement.
Il faut réfléchier en "objet", ou en "entité" qui ont
- Une naissance
- Une vie
- Une mort
Ton entité ça sera un animateObject (ao)
ao_create : va donner naissance à ton animateObject
ao_updateAll : va donner vie à TOUS tes animateObject
ao_destroy : va faire mourir un de tes animateObject
La ao_create, c'est un "objet" une structure qui à un sprite et en plus un timer que tu initialises à
nb_frame de ton animation * vitesse. (Et encore, c'est pas obligatoire ...)
Donc tu crée ton objet, avec un sprite, tu lui affectes l'animation d'explosion et le timer et tu commences à jouer l'animation.
Dans le ao_updateAll, c'est lui qui va faire vivre et mourir tes objets. Le code pour un objet est le suivant :
Décrémente timer si celui ci > 0
Si <=0 ao_destroy(soit même)
ao_destroy
Se "détruit" et libère le sprite.
dans ton main n'oublie pas d'apeller le ao_updateAll pour faire vivre tes objets.
Sinon le ao_updateAll tu peux faire aussi :
Si l'animation du sprite de l'ao est terminé alors destroy(soit même)
Tu peux faire ça avec la fonction "spr_getFinAnimation" dans la gfx engine.
Mais il y à un bug dans cette version
de la GfxEngine (de tête) :si tu dis à un sprite de joueur 2 fois la même animation, il ne va pas redémarrer au début de l'animation.
C'est plus pratique pour les jeux quand l'animation boucle. Mais hélas ça fait pareil pour une animation qui ne boucle pas ...
Donc si tu recycles un sprite pour ton ao, il ne verra pas que c'est un nouveau cycle d'animation. Il faut que tu crée un tableau :
int ani_bidon[]={-1};
et dans le destroy avant de libérer le sprite spr_animatiSprite2(ani_bidon). Comme cela quand l'animation sera recyclée
tu lui dira de s'animer avec l'explosion, il verra qu'on change d'animation et ça va aller tout seul !
J’expliquerais tout ça en vidéo dans le prochain épisode. Un épisode sera aussi consacré à l’installation d’une nouvelle GfxEngine qui gère le son d’ailleurs :!
De ce que je comprends, tu remplaces tu changes l'animation de ton ennemy par une explosion et tu détruis ton ennemy, c'est donc normal que rien ne s'affiche. Il faut en fait créer un nouvel objet que j'appelle animateObject personnellement.
Il faut réfléchier en "objet", ou en "entité" qui ont
- Une naissance
- Une vie
- Une mort
Ton entité ça sera un animateObject (ao)
ao_create : va donner naissance à ton animateObject
ao_updateAll : va donner vie à TOUS tes animateObject
ao_destroy : va faire mourir un de tes animateObject
La ao_create, c'est un "objet" une structure qui à un sprite et en plus un timer que tu initialises à
nb_frame de ton animation * vitesse. (Et encore, c'est pas obligatoire ...)
Donc tu crée ton objet, avec un sprite, tu lui affectes l'animation d'explosion et le timer et tu commences à jouer l'animation.
Dans le ao_updateAll, c'est lui qui va faire vivre et mourir tes objets. Le code pour un objet est le suivant :
Décrémente timer si celui ci > 0
Si <=0 ao_destroy(soit même)
ao_destroy
Se "détruit" et libère le sprite.
dans ton main n'oublie pas d'apeller le ao_updateAll pour faire vivre tes objets.
Sinon le ao_updateAll tu peux faire aussi :
Si l'animation du sprite de l'ao est terminé alors destroy(soit même)
Tu peux faire ça avec la fonction "spr_getFinAnimation" dans la gfx engine.
Mais il y à un bug dans cette version
de la GfxEngine (de tête) :si tu dis à un sprite de joueur 2 fois la même animation, il ne va pas redémarrer au début de l'animation.
C'est plus pratique pour les jeux quand l'animation boucle. Mais hélas ça fait pareil pour une animation qui ne boucle pas ...
Donc si tu recycles un sprite pour ton ao, il ne verra pas que c'est un nouveau cycle d'animation. Il faut que tu crée un tableau :
int ani_bidon[]={-1};
et dans le destroy avant de libérer le sprite spr_animatiSprite2(ani_bidon). Comme cela quand l'animation sera recyclée
tu lui dira de s'animer avec l'explosion, il verra qu'on change d'animation et ça va aller tout seul !
J’expliquerais tout ça en vidéo dans le prochain épisode. Un épisode sera aussi consacré à l’installation d’une nouvelle GfxEngine qui gère le son d’ailleurs :!
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
ichigobankai a écrit:un timer c'est ni plus ni moins qu'une variable (qu'on va incrémenter ou décrémenter à chaque passage)
Ok, je voyais plus un truc lié à l'horloge avec millisecondes et tout le bazar :)
tinyint- Patient en incubation
- Nombre de messages : 17
Age : 45
Localisation :
Date d'inscription : 23/10/2014
Re: "Jeu Développe", apprenez à programmer en C !
Ouh pitain.bfg a écrit:Non, le pseudo bfg n'est pas lié à Doom :) Mais c'est une autre histoire.
De ce que je comprends, tu remplaces tu changes l'animation de ton ennemy par une explosion et tu détruis ton ennemy, c'est donc normal que rien ne s'affiche. Il faut en fait créer un nouvel objet que j'appelle animateObject personnellement.
Il faut réfléchier en "objet", ou en "entité" qui ont
...
Merci, je vais essayer de me coller dessus ce week end
tinyint- Patient en incubation
- Nombre de messages : 17
Age : 45
Localisation :
Date d'inscription : 23/10/2014
Re: "Jeu Développe", apprenez à programmer en C !
tinyint a écrit:ichigobankai a écrit:un timer c'est ni plus ni moins qu'une variable (qu'on va incrémenter ou décrémenter à chaque passage)
Ok, je voyais plus un truc lié à l'horloge avec millisecondes et tout le bazar :)
Tu as raison, dans l'absolu un timer c'est ce que tu dis.
Techniquement, ici on a affaire à des compteurs, mais comme la boucle principale est cadencée selon une fréquence constante (j'imagine^^), nos compteurs sont analogues à des timers (si la fréquence de la boucle principale est f et qu'on incrémente/décrémente le compteur à chaque tour de boucle, on a une sorte de timer de période 1/f : pour f=60 Hz ça donne une période T=16,67 ms, par exemple).
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Re: "Jeu Développe", apprenez à programmer en C !
Yep, je me base sur une fréquence de 60Hz sur console ... Donc je n'introduit pas pour l'instant ce genre de timer :)
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
Ouh pitain !!! j'ai réussi :)
Enfin ça semble fonctionner correctement en tout cas...
Merci ^^
Enfin ça semble fonctionner correctement en tout cas...
Merci ^^
tinyint- Patient en incubation
- Nombre de messages : 17
Age : 45
Localisation :
Date d'inscription : 23/10/2014
Re: "Jeu Développe", apprenez à programmer en C !
La solution sera "tournée" demain normalement
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
Chose promise :
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
Merci pour tes videos, c'est un régal à chaque fois !
nemokantio- Patient contaminé
- Nombre de messages : 345
Age : 48
Localisation : Delgastan
Date d'inscription : 23/01/2013
Re: "Jeu Développe", apprenez à programmer en C !
Merci, je regarde ça
tinyint- Patient en incubation
- Nombre de messages : 17
Age : 45
Localisation :
Date d'inscription : 23/10/2014
Re: "Jeu Développe", apprenez à programmer en C !
12eme épisode publié !
http://gamopat.com/gamopat-cours-de-programmation.html
http://gamopat.com/gamopat-cours-de-programmation.html
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
Mais où est la suite !!! :)
chrilith- Patient contaminé
- Nombre de messages : 205
Age : 48
Date d'inscription : 21/02/2011
Re: "Jeu Développe", apprenez à programmer en C !
Et bien elle est là ! :)
Au programme, des nombres pseudo aléatoire :
Au programme, des nombres pseudo aléatoire :
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
ah ! le pseudo aléatoire, j'adore ! Je vais regarder ca avec un "what else" en main.
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
Sympa ce nouvel épisode.
Et merci pour nos vieux yeux de vieux gamer
Et merci pour nos vieux yeux de vieux gamer
Re: "Jeu Développe", apprenez à programmer en C !
le pseudo aléatoire, la base pour faire du procédural.
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
14ème épisode en passe d'être en ligne, et on fait des bruitages à la bouche et de la musique !
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
super, publié !
j'ai presque envie de me mettre au C... sur Coleco.
j'ai presque envie de me mettre au C... sur Coleco.
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
Moi c'est décidé également ...
Pour les jeux et aussi pour le professionnel, le C est encore beaucoup utilisé dans ma boite pour le développement Hard/Soft. Je ne suis que technicien, mais sait on jamais !
Je m'étais offert ce bouquin il y a quelques mois exprès ...
Pour les jeux et aussi pour le professionnel, le C est encore beaucoup utilisé dans ma boite pour le développement Hard/Soft. Je ne suis que technicien, mais sait on jamais !
Je m'étais offert ce bouquin il y a quelques mois exprès ...
Invité- Invité
Re: "Jeu Développe", apprenez à programmer en C !
moi je voudrais le guide du C pour développer sur Coleco
Impossible pour moi d'imaginer bosser sur un gros jeu en C, je n'ai pas le temps, mais sur un jeu de 8 à 32ko sur console 8bit pourquoi pas !
Impossible pour moi d'imaginer bosser sur un gros jeu en C, je n'ai pas le temps, mais sur un jeu de 8 à 32ko sur console 8bit pourquoi pas !
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
+1 pour un guide C sur Coleco et MSX
Fabf- Patient incurable
- Nombre de messages : 1894
Age : 51
Localisation : Vienne (38)
Date d'inscription : 11/09/2012
Re: "Jeu Développe", apprenez à programmer en C !
Je crois que Bfg veut d'abord montrer les bases sur pc/dreamcast, avant de s'attaquer à la prog c sur 8 bits (coleco)...
nemokantio- Patient contaminé
- Nombre de messages : 345
Age : 48
Localisation : Delgastan
Date d'inscription : 23/01/2013
Re: "Jeu Développe", apprenez à programmer en C !
dreamcast/msx/coleco ca m'interesse fortement aussi
Questions idiotes...
Le basic a fait des émules avec les 2Ko (voir rubrique programmation)
Pourquoi ne pas envisager de faire un piti concours : création d'un petit jeu sur DC avec la lib de BFG ? thème libre, imposé etc... Qu'en dis-tu Doc ? Bfg ? et les autres ?
@bfg > content que tu aies trouvé une solution pour ta nec duo
Questions idiotes...
Le basic a fait des émules avec les 2Ko (voir rubrique programmation)
Pourquoi ne pas envisager de faire un piti concours : création d'un petit jeu sur DC avec la lib de BFG ? thème libre, imposé etc... Qu'en dis-tu Doc ? Bfg ? et les autres ?
@bfg > content que tu aies trouvé une solution pour ta nec duo
Re: "Jeu Développe", apprenez à programmer en C !
On va en rester aux 2ko en basic pour l'instant, pas trop de choses en meme temps
Bon bah y a de la demande pour un guide la programmation en C sur Coleco (& MSX), on va lancer une pétition
Bon bah y a de la demande pour un guide la programmation en C sur Coleco (& MSX), on va lancer une pétition
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
Coleco ça viendra après la Dreamcast de mon coté.
Reste 2 épisodes avant d'installer le kit de dev Dreamcast et la compilation. Après un ou 2 épisodes sur le scrollMap / TileMap avec la GfxEngine, ptet 1 épisode sur la gestion d'un personnage qui saute et après je ferais des "points" techniques sur les autres machines.
Comme la base du C est là, je n'aurais qu'à me focaliser sur le format des données en mémoire, les zones de mémoire and co ...
Reste 2 épisodes avant d'installer le kit de dev Dreamcast et la compilation. Après un ou 2 épisodes sur le scrollMap / TileMap avec la GfxEngine, ptet 1 épisode sur la gestion d'un personnage qui saute et après je ferais des "points" techniques sur les autres machines.
Comme la base du C est là, je n'aurais qu'à me focaliser sur le format des données en mémoire, les zones de mémoire and co ...
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: "Jeu Développe", apprenez à programmer en C !
Tu vas le faire pour Coleco ? Ca pourrait interesser plus de monde ici à se lancer pour de vrai à developper un jeu, car sur Dreamcast ca demande beaucoup de temps, et du talent artistique pour les graphismes.
Sur Coleco, en 8ko tu peux faire un bon jeu, et question graphismes tu peux te debrouiller tout seul. On le voit avec le succès de notre rubrique 2kilo.
On pourrait alors ouvrir une COLECO ACADEMY ! Un centre international de dév homebrew ! Ca y est je pète un cable !!!!!!!
Sur Coleco, en 8ko tu peux faire un bon jeu, et question graphismes tu peux te debrouiller tout seul. On le voit avec le succès de notre rubrique 2kilo.
On pourrait alors ouvrir une COLECO ACADEMY ! Un centre international de dév homebrew ! Ca y est je pète un cable !!!!!!!
_______________________________________________________
Re: "Jeu Développe", apprenez à programmer en C !
bfg a écrit:Coleco ça viendra après la Dreamcast de mon coté.
Comme la base du C est là, je n'aurais qu'à me focaliser sur le format des données en mémoire, les zones de mémoire and co ...
Cool, ce qui me manque toujours c'est où écrire où lire et quelles sont les bons outils, la partie hardware quoi.
Page 4 sur 7 • 1, 2, 3, 4, 5, 6, 7
Sujets similaires
» Jeu développe sur Amstrad Cpc
» Programmer en Visual Basic ?
» Programmer "SUR" Amstrad CPC
» Programmer sur Gameboy
» Programmer sur Atari ST aujourd'hui
» Programmer en Visual Basic ?
» Programmer "SUR" Amstrad CPC
» Programmer sur Gameboy
» Programmer sur Atari ST aujourd'hui
Page 4 sur 7
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum