Comment fait-on pour créer un jeu vidéo svp? Si il faut un logiciel précisez moi lequel. De préférence je préférerai qu´il soit en Français et gratuit, c´est pour un jeux comme crusader.
Merci à tous
@+
lu!
moi j´utilise RPG Maker 2000 et 2003 !
tu peut le trouver sur internet: cherche sur google! fait " telecharger rpg maker 2000" !
par contre il sera en anglais donc il fodra telecharger 1 patch francais! c tré facil a trouver!
sinon, va ici: http://do-you-miaou.net/manka-dream/rpgmaker/rpgmaker/?page=rm2k
![]()
http://perso.wanadoo.fr/ck/Langages.htm
Alors tu veux faire un vrai jeu?
si oui --- apprend un langage de programmation ( C++ en langage pur - basic en langage simplifiée...) et apprend à utiliser un logiciel de 3d ( 3dsmax - blender...)
si non --- le meilleur logiciel de création de jeux vidéos qu´il existe au monde = RPGMaker ! graphismes très beau programmation très compliquée et résultat = une pure merveille!
Vous faites pas un peu pitié avec ca non?
Essayez de ne pas faire en sorte que les newbies utilise cette merde merci pour eux....
Sur ce...
@+++
Essayez de ne pas faire en sorte que les newbies utilise cette merde merci pour eux....
lool
C est vrai quoi! y a quelqu´un qui demande à faire un jeu tout le monde li dit rpgmaker
alors evidemment le resultat c´est qu´il y a plein de gars qui font des ( jeux) sous rpgmaker et viennent emmerder les autres à poser 100 fois les meme qusetions sur ce forum
Personnellement j´avais dans l´intention de faire un jeu vidéo style gta a mes debuts avec 3d games creator et 3dsmax ( n´y connaissant rien)
Après j´ai vu qu´il y avait plein de gars qui utilisait rpgmaker je me suis dit que ca devai etre bien je l´ai dl et la hallucination : c est quoi de ca???
Je me suis dit je vais faire un vrai jv mais j´ai vite compris que j´y ariverai pas et donc je me suis mit à la 3d avec 3dsmax en esperant pouvoir aider les VRAIS createurs
A tous les rpgmakeristes mettez vous au vrais jeux videos! Moi je trouve que meme un petit jeu style casse brique y a plus de merite qu´un jeu complet avec rpgmaker....
Voila mon avis
ps: JYY y pourrait pas y avoir un forum rpgmaker franchement???
J espere que vous avez compris mon message
Merci à tous et bonne creations pour les VRAIS createurs
@+++
Vous en pensez quoi vous de RPGMaker???
Ben que c´est le meilleur J´insister de bien sur le fait que c´est le meilleur pour debuter, aprés sinon tu as The Game Factory, Game Maker, puis aensuite tu passes à Mugen, puis aprés tu apprends les langages, mais c´est mieux tout de suite.
C++ powaaaaaaa ! !!
. .. ça répond à ta question ? :D
Voilà, le C++ c´est un langage pour programmer, je pense que c´est le plus utilisé, et voilà, lapintade, LGV etc l´utilisent c´est pas de la merde! ![]()
Et vous croyez pas que pour débuter vaut mieux essayer d´apprendre un langage???
apprendre le C c´est amusant m´enfin, si vous voulez plus de rpg makeriste, j´ai de quoi les dégouter pour un long moment de la programmation ![]()
Pour beaucoup d´entre nous on n´en veut pas des rpgmakeristes
Donc si t´a un truc pour dégouter de rpgmaker ca serait mieux
merci
@+++
c dingue mais pourquoi la plupart des newbies veulent faire des rpg.. c gonflant a la fin!! ya d autres styles de jeu, soyez imaginatifs!
void presentation();
void draw(); / *draw all on the screen*/
void init(); / *initialization*/
void computer(); / *the computer´s movements*/
void menu();
struct joueur
{
int x1, y1; / *racket´s coordinates : top left*/
int x2, y2; / *racket´s coordinates : bottom right*/
int hauteur; / *racket´s size*/
int score;
}j1, j2; / *Player 1 and 2 structure*/
int xball = 160, yball = 100;
int sens; / *Ball´s direction*/
int power;
int react; / *sort of timer for the computer´s movements*/
int i=1;
int difficult=7;
int mode = 1; / *1 player or 2 players ? */
char choix = ´o´; / *It´s ´o´ for the french version and ´y´ for the english one*/
int vitesse = 10; / *speed of the ball*/
PALLETE pallete;
BITMAP *noir;
BITMAP *buffer;
MIDI *song;
SAMPLE *pang;
main()
{
allegro_init();
install_timer();
install_keyboard();
song = load_midi( " cid.mid" ) ;
if( ! song )
{
printf("Can´t load ´cid.mid´");
exit( 5 ) ;
}
if ( install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, " pong") ! = 0)
{
printf("Sound problems");
exit(1);
}
pang = load_sample( " Bounce.wav" ) ;
if( ! pang )
{
printf("Can´t load ´Bounce.wav´");
exit(2);
}
set_gfx_mode( GFX_VGA, 320, 200, 0, 0 ) ;
noir = load_bitmap("noir.pcx", pallete);
if ( !noir)
{
printf("Can´t load ´noir.pcx´");
exit(3);
}
play_midi(song, 1);
buffer = create_bitmap(320,200);
clear(buffer);
presentation();
j1.hauteur = j2.hauteur = 40;
start : ;
menu();
init();
draw();
if(mode==2)
{
if(install_joystick(JOY_TYPE_AUTODETECT) ! = 0)
{
printf("\nJoystick error\n%s\n\n", allegro_error);
exit(1);
}
}
j1.score=0;
j2.score=0;
set_pallete(pallete);
while( choix == ´o´ ) / *main loop*/
{
/*player 1*/
if( ( key[KEY_DOWN]) && ( j1.y2 < 190) )
{
j1.y1 = j1.y1 + 5;
j1.y2 = j1.y2 + 5;
}
if( ( key[KEY_UP]) && ( j1.y1 > 10) )
{
j1.y1 = j1.y1 - 5;
j1.y2 = j1.y2 - 5;
}
if( ( key[KEY_LEFT]) && ( j1.x1 ! = 15) )
{
j1.x1 = j1.x1 - 5;
j1.x2 = j1.x2 - 5;
}
if( ( key[KEY_RIGHT]) && ( j1.x2 ! = 155) )
{
j1.x1 = j1.x1 + 5;
j1.x2 = j1.x2 + 5;
}
if(key[KEY_ESC])
exit(0);
/*computer*/
if(mode == 1)
{
if( react%difficult )
computer();
}
else
{
/ *player 2*/
poll_joystick();
if( ( joy[0].stick[0].axis[1].d2) && ( j2.y2 < 190) ) / *down*/
{
j2.y1 = j2.y1 + 5;
j2.y2 = j2.y2 + 5;
}
if( ( joy[0].stick[0].axis[1].d1) && ( j2.y1 > 10) ) / *up*/
{
j2.y1 = j2.y1 - 5;
j2.y2 = j2.y2 - 5;
}
if( ( joy[0].stick[0].axis[0].d1) && ( j2.x1 ! = 165) ) / *left*/
{
j2.x1 = j2.x1 - 5;
j2.x2 = j2.x2 - 5;
}
if( ( joy[0].stick[0].axis[0].d2) && ( j2.x2 ! = 305) ) / *right*/
{
j2.x1 = j2.x1 + 5;
j2.x2 = j2.x2 + 5;
}
}
react++;
/*Ball movement*/
switch(sens)
{
case 1 : xball = xball - vitesse;
if(power == 1)
yball = yball - 4;
else
yball = yball - 1;
break;
case 2 : xball = xball - vitesse;
if(power == 1)
yball = yball + 4;
else
yball = yball + 1;
break;
case 3 : xball = xball + vitesse;
if(power == 1)
yball = yball - 4;
else
yball = yball - 1;
break;
case 4 : xball = xball + vitesse;
if(power == 1)
yball = yball + 4;
else
yball = yball + 1;
break;
}
/*Display all on the screen*/
draw();
/*Is the ball touching the top edge ? */
if( yball < 12 )
{
play_sample(pang, 255, 128, 1000, 0);
switch(sens)
{
case 1 : sens = 2;
break;
case 3 : sens = 4;
break;
}
}
/ *Is the ball touching the bottom edge ? */
else if( yball > 188 )
{
play_sample(pang, 255, 128, 1000, 0);
switch(sens)
{
case 2 : sens = 1;
break;
case 4 : sens = 3;
break;
}
}
/*Is the ball touching a racket ? */
if( ( (xball > j1.x1) && ( xball < = ( j1.x2+5))) && ( (yball > ( j1.y1-5))&&(yball < ( j1.y2+5))) )
{
play_sample(pang, 255, 128, 1000, 0);
if(sens == 1)
sens = 3;
else
sens = 4;
if( ( yball > = ( j1.y1+((j1.y2-j1.y1)/3))) && ( yball < = ( j1.y2-((j1.y2-j1.y1)/3))) )
power=2;
else
power=1;
}
else if( ( (xball < j2.x2) && ( xball > = ( j2.x1-5))) && ( (yball > ( j2.y1-5))&&(yball < ( j2.y2+5))) )
{
play_sample(pang, 255, 128, 1000, 0);
if(sens == 3)
sens = 1;
else
sens = 2;
if( ( yball > = ( j2.y1+((j2.y2-j2.y1)/3))) && ( yball < = ( j2.y2-((j2.y2-j2.y1)/3))) )
power=2;
else
power=1;
}
/*Is there a point scored ? */
if( ( xball < 25) || ( xball > 295 ) )
{
if(xball < 25)
j2.score++;
else
j1.score++;
if( ( j1.score == 5) || ( j2.score == 5) )
{
if(mode==1)
{
if(j1.score == 5)
textout_centre(screen, font, " Bien joué ! ", 160, 100, 255);
else
textout_centre(screen, font, " Dommage ! ", 160, 100, 255);
}
else
{
if( j1.score == 5 )
textout_centre(screen, font, " Joueur 1 gagne ! ! ", 160, 100, 255);
else
textout_centre(screen, font, " Joueur 2 gagne ! ! ", 160, 100, 255);
}
clear_keybuf();
rest(1000);
while(!keypressed());
clear_keybuf();
clear(screen);
textout(screen, font, " Encore une partie ? ( y/n)", 60, 100, 255);
rest(500);
if((readkey() & 0xff) == ´o´)
{
play_midi(song, 1);
init();
goto start;
}
else
exit(0);
}
init();
rest(2000);
}
rest(20);
}
}
void presentation()
{
BITMAP *pong;
pong = load_bitmap("pong.pcx", pallete);
if ( !pong)
{
printf("Impossible d´ouvrir ´Pong.pcx´");
exit(3);
}
set_pallete(pallete);
blit(pong, screen, 0, 0, 0, 0, pong->w, pong->h);
readkey();
clear_keybuf();
destroy_bitmap(pong);
}
void draw()
{
blit(noir, buffer, 0, 0, 0, 0, noir->w, noir->h);
circlefill( buffer, xball, yball, 5, 255 ) ;
rectfill( buffer, j1.x1, j1.y1, j1.x2, j1.y2, 2);
rectfill( buffer, j2.x1, j2.y1, j2.x2, j2.y2, 2);
textprintf(buffer, font, ( j1.x1+2), ( (j1.y1+j1.y2)/2), 255, " %d", j1.score);
textprintf(buffer, font, ( j2.x1+2), ( (j2.y1+j2.y2)/2), 255, " %d", j2.score);
vsync();
blit(buffer, screen, 0, 0, 0, 0, buffer->w, buffer->h);
}
/ *Initialization*/
void init()
{
j1.x1 = 15;
j1.y1 = ( 200 - j1.hauteur ) /2;
j1.x2 = 25;
j1.y2 = j1.y1 + j1.hauteur;
j2.x1 = 295;
j2.y1 = ( 200 - j2.hauteur ) /2;;
j2.x2 = 305;
j2.y2 = j2.y1 + j2.hauteur;
xball = 160;
yball = 100;
react=0;
srand((unsigned) time(NULL));
sens = 1 + ( rand() % 4);
power= 2;
i=1;
}
void computer()
{
if( ( j2.y2 < yball) && ( j2.y2 < 190) )
{
j2.y2 = j2.y2 + 5;
j2.y1 = j2.y1 + 5;
}
else if( ( j2.y1 > yball) && ( j2.y1 > 10) )
{
j2.y2 = j2.y2 - 5;
j2.y1 = j2.y1 - 5;
}
else if( ( j2.x1 ! = 165) && ( i==1))
{
j2.x2 = j2.x2 - 1;
j2.x1 = j2.x1 - 1;
i=1;
}
else if( j2.x2 ! = 305 )
{
j2.x2 = j2.x2 + 1;
j2.x1 = j2.x1 + 1;
i=2;
}
}
void menu()
{
int pos = 0, f = 1;
char k;
int color[6] = { 2, 255, 255, 255, 255, 255 };
int color2[9] = { 2, 255, 255, 255, 2, 255, 255, 2, 255 };
set_pallete( desktop_pallete ) ;
mode=1;
j1.hauteur = j2.hauteur = 40;
while( f )
{
clear( buffer ) ;
textprintf(buffer, font, 10, 10, color[0], " Mode jeu : " );
textprintf(buffer, font, 130, 10, color2[0], " 1. 1 joueur");
textprintf(buffer, font, 130, 20, color2[1], " 2. 2 joueurs");
textprintf(buffer, font, 10, 50, color[1], " Speed of the ball : " );
textprintf(buffer, font, 190, 50, color2[2], " 1");
textprintf(buffer, font, 210, 50, color2[3], " 2");
textprintf(buffer, font, 230, 50, color2[4], " 3");
textprintf(buffer, font, 250, 50, color2[5], " 4");
textprintf(buffer, font, 10, 80, color[2], " Size of the racket 1 ( +/-): " );
textprintf(buffer, font, 250, 80, 255, " %d", j1.hauteur);
textprintf(buffer, font, 10, 110, color[3], " Choisissez la 2 ( +/-): " );
textprintf(buffer, font, 250, 110, 255, " %d", j2.hauteur);
textprintf(buffer, font, 10, 140, color[4], " Niveaux : " );
textprintf(buffer, font, 120, 140, color2[6], " 1. Facile");
textprintf(buffer, font, 120, 150, color2[7], " 2. Moyen");
textprintf(buffer, font, 120, 160, color2[8], " 3. Difficile");
textprintf(buffer, font, 10, 190, color[5], " GO Go Go ! !");
textprintf(buffer, font, 150, 190, 4, " <ESC> Quitter le jeu");
vsync();
blit(buffer, screen, 0, 0, 0, 0, buffer->w, buffer->h);
clear_keybuf();
while(!keypressed());
if(key[KEY_ESC])
exit(0);
if(key[KEY_DOWN])
{
switch(pos)
{
case 0 : pos = 1;
color[0] = 255;
color[1] = 2;
continue;
case 1 : pos = 2;
color[1] = 255;
color[2] = 2;
break;
case 2 : pos = 3;
color[2] = 255;
color[3] = 2;
break;
case 3 : pos = 4;
color[3] = 255;
color[4] = 2;
break;
case 4 : pos = 5;
f=0;
color[4] = 255;
color[5] = 2;
break;
}
}
else if(key[KEY_UP])
{
switch(pos)
{
case 1 : pos = 0;
color[1] = 255;
color[0] = 2;
break;
case 2 : pos = 1;
color[2] = 255;
color[1] = 2;
break;
case 3 : pos = 2;
color[3] = 255;
color[2] = 2;
break;
case 4 : pos = 3;
color[4] = 255;
color[3] = 2;
break;
case 5 : pos = 4;
color[5] = 255;
color[4] = 2;
break;
}
}
else if(key[KEY_1])
{
switch(pos)
{
case 0 : mode = 1;
color2[0] = 2;
color2[1] = 255;
break;
case 1 : color2[2] = 2;
color2[3]=color2[4]=color2[5]=255;
vitesse = 5;
break;
case 4 : difficult = 4;
color2[6] = 2;
color2[7] = color2[8] = 255;
break;
}
}
else if(key[KEY_2])
{
switch(pos)
{
case 0 : mode = 2;
color2[1] = 2;
color2[0] = 255;
break;
case 1 : color2[3] = 2;
color2[2]=color2[4]=color2[5]=255;
vitesse = 7;
break;
case 4 : difficult = 7;
color2[7] = 2;
color2[6] = color2[8] = 255;
break;
}
}
else if(key[KEY_3])
{
switch(pos)
{
case 1 : color2[4] = 2;
color2[2]=color2[3]=color2[5]=255;
vitesse = 10;
break;
case 4 : difficult = 10;
color2[8] = 2;
color2[6] = color2[7] = 255;
break;
}
}
else if(key[KEY_4] && ( pos==1))
{
color2[5] = 2;
color2[2]=color2[3]=color2[4]=255;
vitesse = 12;;
}
else if(key[KEY_MINUS_PAD])
{
if(pos == 2)
{
if( j1.hauteur ! = 10 )
j1.hauteur = j1.hauteur - 10;
}
else if(pos == 3)
{
if( j2.hauteur ! = 10 )
j2.hauteur = j2.hauteur - 10;
}
}
else if(key[KEY_PLUS_PAD])
{
if(pos == 2)
{
if( j1.hauteur ! = 180 )
j1.hauteur = j1.hauteur + 10;
}
else if(pos == 3)
{
if( j2.hauteur ! = 180 )
j2.hauteur = j2.hauteur + 10;
}
}
rest(20);
}
stop_midi();
}
Voilà, ça c´est un simple pong en C ![]()
problemous : c´est la foire aux magic numbers ? . .. ; )
faut voir ça avec les autres ![]()
anonymagun, tu veux aider les vrais créateurs, tu utilises Max, alors, rejoins-nous, on es 10, et on bosse tous ensemble sur un gros jeu 3D temps réel... Si ça te dis, tu peux m´envoyer un mail à moi ( tu clique sur mon pseudo) ou pc-toinou@hotmail.com et tu te présentes... bien sur, c´est une simple proposition, rien n´est obligatoire mais tout est possible ^;^
Au fait, si il y a des autres interressés, ils sont le bienvenu à bord des cités d´Imagia...
Salut à tous ceux que je connais, pst néo, le siiiitteee, faut vraiment le modifier ! !!
Artisti ( doc technique = Flaps : LandscapeDesigner http://home.tiscali.be/flaps/Index1.html