Bonjour tous le monde,
Titre de jeu : HellFire
Genre : Labyrinthe en deux dimensions
Support : PC bien sur
Langage utilisé : J´utilise le langage C, que j´ai apris pendant 3 mois de dur labeur ^^, j´utilise egalement la bibliothèque "SDL" pour mes graphismes!
Matériel utilisé : Le logiciel paint shop pro 10, l´IDE code::blocks et un pc (config sur ma carte)
L´histoire : (je ne suis pas un tres bon scénariste)
Un jour, Jack, un jeune adolescent, était tranquilemment dans sa chambre, quand il visionnat une video que son pere lui avait interdit formellement de regarder.Soudain, il fut transporté dans un monde parrallele appelé "hellfire".
But du jeu : Le but du jeu est de faire sortir Jack de cet enfer par un labyrinthe avec des mur invisible ou visible dans certaines maps.
Images :
Voici deux images de mon jeu :
Voici un screnn in game
http://img172.imageshack..us/img172/626/hellfire0yd.png
Et voici un screnn de mon menu :
http://img172.imageshack.ack.us/img172/2007/menu3lh.png
A propos de l´avencemment du projet, Je crois que j´ai a peu defii toute mes variables, j´ai fais ma boucle principale et j´ai ma fonction de déplacemment(avec double buff pour ceux que ca interresse)j´avais un petit probleme pour le menu mais c´est résolu
.Voussavez comme moi comme il est difficile d´estimer combien il nous reste pour finir mais au niveau de mon code j´ai bien fait 60%!
Comme vous avez pu le voir sur le premier screnn je suis un piètre infographiste donc eventuellement si quelqu´un pouvait m´aider(je suis tous les jours sur msn ==> kevinsahin@hotmail.fr).
Si vous voulez bien m´aider, yaura pas de recompense mais je mettrai biensur votre nom (si vous voulez ) dans les credits!Mais sachez que je peut tout faire tous seul(avec une moins bonne qualité graphique bien entendu).
J´attend vos commentaire et/ou vos réponse concernant un graphiste.
Bye bye;
Kikoo Kikou (ouais c´etait facile desolé)
Ca a l´air bien sympa dis moi.
Malheureusement je suis pas graphiste.
Dis nous quand tu auras une version jouable telechargeable qu´on puisse essayer.
Bon courage
Je vais y bosser ce week end(et oui pour moi les notes et le brevet blanc c´est fini
) mais bon pour mon premier jeu ne vous attendez pas a des merveilles!
@++
Vraiment interressent ![]()
Je te souhaite bonne chance, moi je trouve que les graphismes sont sympas comme tout
Sinon pour le systeme de collision, tu fait ca a l´arrache des tests de colllisions pour chaque blocage (methode primitive deconseillée !) ou alors tu divises ton ecran en blocs, et tu met les 4 tests (gauche, bas, droite, haut) possible, avec certaines conditions (si pas numero 1 a la case de droite, on peut faire droite...) ?
Non non je code tout a l´arrache lol...
Pour le systeme de collision je met dans ma fonction de deplacemment qu´il ne peut se deplacer que si certaine conditions sont remplies ex : Si jack est en x = 12 y = 33 tu peut te deplacer vers la droite ...Vous comprenez??C´est un systeme primitif je sais mais bon!
Oulla, la tu vas devoir faire, si tu es en 1024 * 768 : 1024 * 768 = 786 432 tests.
Utilise au minimum des inegalités.
Mais le systeme de decouper l´ecran en blocs est une bien meilleure idee, pour parcourir les blocs, deux boucles for suffisent.
Mais la j´ai un big big big probleme : C´est au nivau de mon menu et de mon jeu, en fait j´arive a faire passer du menju au jeu mais je n´arrive pas a faire passer de menu au jeu avec les deplacement vous voyez ce que je veux dire?Ca m´enerve trop j´y suis de puis ce matin je n´y arive pas!Pour les collision, je gere!
tu fait un systeme :
int menu=0;
...
if(menu==0) affichage ecran presentation;
if(menu==1)le jeu en lui meme;
Comme ca, tout ce que tu affiches dans menu=0 n´est plus valable dans menu=1.
A oui d´accord et apres je fais SDL_WaitEvent pour recuperer une touche au clavier genre "h" et puis apres je fais menu++ ^^ je vais tester cela!
J´ai tester ta ùmethode je n´y arrive pas, voici ma methode qui ne marche pas car elle maffiche pas le menu(imageDeFond):
/*
Main.c
--------------
Commencé le 27/05/06
Par kikou81,
HELLFIRE
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *imageDeFond = NULL
, *imageDeFonddeux, *jack;//Declaration des surface
SDL_Event evenement;
int continuer = 1;
SDL_Rect positionDeFond;//Pour la position du
menu
positionDeFond.x = 0;
positionDeFond.y = 0;
SDL_Rect positionJack;//Position de Jack
positionJack.x = 25;
positionJack.y = 33;
SDL_Rect positionBackground;//Position de l´ar
riere plan
positionBackground.x = 0;
positionBackground.y = 0;
SDL_Init(SDL_INIT_VIDEO);//Inisialisation de l
a SDL
ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWS
URFACE | SDL_DOUBLEBUF);//Double buffering pour optimisation du réalisme
SDL_WM_SetCaption("HellFire", NULL);//Titre de
la fenetre
/* Chargement d´une image Bitmap dans une surface( */
imageDeFond = SDL_LoadBMP("menu.bmp");//Menu d
u debut
imageDeFonddeux = SDL_LoadBMP("background.bmp"
);//Background fin
jack = SDL_LoadBMP("jack.bmp");
SDL_SetColorKey(jack, SDL_SRCCOLORKEY, SDL_MapRGB(jack->format, 255, 255, 255));
/* On blitte par-dessus l´écran */
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionDeFond);
SDL_Flip(ecran);
//Pour le deplacemment
SDL_EnableKeyRepeat(10, 10);
//C´est un peu pour mettre en pause le program
me,
while (continuer)
{
SDL_WaitEvent(&evenement); /* Récupèration de l´évènement dans event */
switch(evenement.type) /* Test du type d´évènement */
{
case SDL_QUIT: /* Si c´est un évènement de type "Quitter" */
continuer = 0;
break;
case SDL_KEYDOWN:
switch(evenement.key.keysym.sym)
{
case SDLK_h :
SDL_BlitSurface(jack, NULL, ecran, &positionJack);
SDL_BlitSurface(imageDeFonddeux, NULL, ecran, &positionDeFond);
SDL_Flip(ecran);
break;
case SDLK_RIGHT :
positionJack.x++;
break;
case SDLK_LEFT :
positionJack.x--;
break;
case SDLK_UP :
positionJack.y--;
break;
case SDLK_DOWN:
positionJack.y++;
}
break;
}
SDL_FillRect(ecran, NULL, 0);
SDL_BlitSurface(imageDeFonddeux, NULL, ecran, &positionDeFond);
SDL_BlitSurface(jack, NULL, ecran, &positionJack);
SDL_Flip(ecran);
}
//On libere la memoire de toute les surface cr
éée
SDL_FreeSurface(ecran);
SDL_FreeSurface(imageDeFond);
SDL_FreeSurface(imageDeFonddeux);
SDL_FreeSurface(jack);
SDL_Quit();
return EXIT_SUCCESS;
}
Vous auriez pas une solution ?J e suis vraimment bloquer la et je ne comprend pas pourquoi?
C´est bon je viens de réussir a enlever le probleme c´est super génial je peut continuer a develloper mon jeu, c´est le plus gros bug de toute ma vie!!!Pour la demo, je pense que d´ici 15 jours s´il n´y a pas de bug ce sera bon...;
![]()
Heureux pour toi ![]()
Car ces bugs la sont super lourds...
par exemple, j´ai mit une gestion des scores dans un progs, en le changeant, cette gestion (recopiée) est totalement defoncé et fonctionne a moitié, juste avant ce bug, un auter fermait la fenetre, a cause d´un free surface apres avoir passé une etape d´un menu.
Bref, T´as pas finit d´en voir des bugs de ce genre, m´enfin j´espere pour toi que t´en auras pas des masses !
Merci merci, la je suis entrain de faire la gestion de collision aie aie aie pas de bug mais c´st chaud au niveau algorithmie ![]()
Si tu utilises des carrés pour bloquer ton personnage, ta pas finit d´en faire, surtout si il y en a 10...
Divise ton ecran, trouve la solution, apres tu met 0 pour (on peut aller) et 1 pour (bloquer).
Avec :
enum {VIDE;BLOQUE};
Tu parcours a chaque fois, pour le deplacement, si a droite c´est bloque, tu paux pas te deplacer, sinon, tu bouges, etc...
Ca te sera beaucoup plus facile a gerer.
Je ne comprend pas trop ce que tu es en train de dire...Tu peut expliquer, comment je fais pour diviser mon ecran??Merci beaucoup d´avance!!
Lit ceci :
http://www.siteduzero.com/tuto-3-6062-1-tp-mario-sokoban.html
En passant, je ne sais pas si tu sais, mais il existe déjà un jeu du nom de HellFire. il s´agit d´un shoot them up. Je l´ai connu sur megadrive, mais il existe peut etre d´autre version
Je ne le savais pas du tout, mais c´est pas grave si??Sinon au pire je le changerai
Bon, petites news du projet,
Je ne sais pas si je vais continuer a programmé le jeu, parce que apres presque deux mois a ce crever la tete a trouver des solutions au nombreux bugs et autre resultats inatendu le jeu n´est pas fini.Pour le moment ca ce resume a deplacé un personnage sur un arriere plan.J´ai des problemes au niveau de ma boucle principale, les collisions bref, que des problemes.
Et puis la motivations n´est plus ce qu´elle était...Mais je vais essayer de continuer pendant ces vacances et puis si je n´arrive" pas a finir je laisserais tomber.
Voila a bientôt,
J´ai moi meme laisser tomber bien des projets en cours.
Il ne faut pas perdre espoir. Mais si ce projet t´ennuye, fais en un autre...
En passant, non ce n´est pas grave que ton jeu porte le meme nom qu´un autre déjà existant. (L´autre est vieux et le tiens n´est pas commercial)