Il faut un début......

Bonjour à tous {#}, (je suis persécuter par les fautes d'ortographes et de frappes alors s'il vous plait soyez indulgent {#})

Tardons pas dans les politesses et entrons dans le vif du sujet (on a du pain sur la planche {#}). Ill faut avant tous savoir que ce blog ne comporte pas de tutos mais juste une liste de liens (et un peu d'expliquation quand même {#}) où trouver des tutos, comprendre les documentations et comment commencé son jeux video, c'est généralement ce qui pose problème au codeur en herbe.

J'espere que je vous aprrend rien mais il faut evidemment savoir coder un minimum avant de s'attaquer sauvagement au développement d'un remake de crysis, pour cela nous devons avant tout choisir un language :

-(très conseillé) le C++ est le language le plus connus, le plus puissant, le plus compliqué, le plus tout quoi.... cependant il possède un default : pour apprendre le C++ il faut connaitre le C

- le C permet d'avoir des bases solides en programmation notament l'apprentissage des algorythmes

- le BLITZ je connais très peu sur ce language étant donnés que j'ai pas trouvé de tutos dessus (je l'avou aussi j'ai pas beaucoup chérché ^^)

- le Java est un bon language mais pas pratique pour le developpement de jeux, donc on s'attardera pas sur ce language, a ne surtout pas confondre avec le JAVASCRIPT.

- Pour le developpement web nous avons l'HTML, le javascript, le Flash et pour les plus téméraire le FLEX et l'AJAX (mais c'est pas le sujet du blog donc on passe très vite {#})

- Et bien d'autre ......

Etant donné que nous sommes des winners (si si je vous assure {#}). On va opté pour le C++ avec un rapide coups d'oeil pour le C (l'un ne va pas sans l'autre).

 

 

mardi 17 novembre 2009 10:53


... on continue....

Aller ! on perd pas le fil, maintenant que nous connaissons le C on va l'appliqué pour faire des ptits jeux (chouette !! {#}), malheureusement lorsqu'on fait du C on se contente de réalisation 2D, on peut faire de la 3D mais ce n'est pas très propres (hoooo !! {#}), le langage objet est là pour ca (NB : le C est un langage élémentaire), et faut pas griller les étapes (nan mais ho ! bande de p'tits impatient {#})

Si vous avez suivi le cours de mateo (ici) vous avez pu constater qu'il y a une partie graphique faite avec la bibliothèque SDL, et bien on va continuer sur notre lancé en gardant la même librairie. Même si la SDL utilise beaucoup de ressource elle est amplement suffisante pour ce qu'on a à faire. Après si ca vous gonfle (si ! ca peut arrivé) vous avez toujours le droit de changer de librairie.

mardi 17 novembre 2009 12:44


une petite reflexion

grace a la SDL (et au C... faut pas l'oublier {#})  on peut maintenant tapper dans le vif du sujet et reflexionner..... reflexer... refl......{#} réfléchir.

Voici un p'tit projet sympa (et tout à fait réalisable) qui est un Wolf 3D. Pour la petite histoire wolfenstein 3d a été créé en 1992 par ID Software, il utilisait la technologie raycasting et fut le premier FPS en "3D" (si j'le met entre guillemets c'est que c'est pas de la 3D mais de la perspective).

Hop ! un petit screenshot parce que vous avez l'air gentils : Screenshot de wolf3d

Bien sur notre wolf sera moins complexe, on va juste se contenté de se déplacé dans un labyrinthe, après vous pouvez en rajouter comme bon vous semble.

PRINCIPE : Le principe du raycasting est simple (si on peut dire {#}). il s'agit de "lancer" un rayon qui va partir de la position de la caméra (le joueur en fait =) ), aller jusqu'au prochain mur et afficher une ligne vertical de 1 px qui correspondra à la hauteur du mur qui va dépendre de la distance entre le joueurs et le murs (plus on est loin plus la ligne s'ra petite. logique !! {#})et afficher cette ligne sur toutes la fenêtre, exemple : pour une fenêtre de 1024 on va afficher 1024 lignes vertical de 1 px de hauteur différente, et par effet de perspective vous aurez un bel effet 3D.

AIDE : vous inquiétez pas j'vais pas vous laissez en plan, j'vais vous mettre sur la voie. Evidemment ce n'est pas la solution ULTIME, il y  a beaucoup d'autre facon de le faire. Tous d'abord vous allez créer votre map, elle sera en fait un double tableau de nombre entier (un int** en fait ), composer de 0 (pour les passages) et de 1 (pour les murs), cette méthode permet tous simplement d'être flexible en effet rien nous empêche de mettre un 2 dans le tableau qui correspondra a la position d'un sprite (déf : élément graphique qui peut se déplacer sur l'écran). Pour remplir ce tableau d'INT vous avez deux solutions (p'tet 3 mais dans ce cas là j'la connais pas {#}) : 

- Première solution : écrire votre tableau dans un ficher .TXT que vous allez charger ensuite dans votre tableau, cette méthode est très bonnes mais elle est relativement longue et nécessite d'avoir de bonnes fondations en C pour faire un bon parseur (c'est un terme compliqué cherchez pas {#}).

- Deuxième solution (plus facile) : cette solution consiste à déclarer (en dur ..) votre tableau d'INT pour ce faire vous créerez un include (que vous nommerez comme vous voulez j'suis pas vot' mère {#}).

maintenant que nous avons notre map, on va position la caméra sur son point de départ (de préférence sur un 0, faut pas vous retrouver dans un mur {#}) et vos pojeté un point. Comment faire  ? vous vous dites. Hé bien c'est pas si compliqué vous allez utilisé l'équation :

X1 = X0 + (k * Vx) (même chose pour l'axe des Y)

X1 : est le point projeté

X0 : est le point initiale (ici notre caméra)

Vx : correspond au vecteur de la direction vers laquelle on regarde

k : est un incrémenteur (qui s'ra egal à 0.01)


On va initialiser Vx et Vy avec 2 et -2 (vous pouvez prendre d'autre valeur c'est juste pour vous aidez =)) et K avec 0.01 et dans une boucle on va incrémenter K jusqu'a ce X1 et Y1 soient positionner sur un mur.

Voilà vous avez, je pense, assez d'indications pour faire un petit jeu bien sympa (j'vais pas vous donner le code source nan plus, à vous de bosser {#}) , pour toute questions n'hésitez pas à me demander (j'suis à votre disposition {#}).

Pour plus de docs ca se passe ici (malheureusement j'ai pas trouvé de docs en francais ) : raycasting tutorial1raycasting tutorial2

 

TP : pour que sa soient plus simple procèdez par étape, essayez dabord daffiché jsute une ligne vertical en fonction d'une distance ensuite vous faite toute la fenêtre puis vous associez vos fonctions (et je dis bien "VOS" me collez pas tous dans le main {#}) à la map, ajouter des événements, les collisions (à moins que vous voulez faire un jeu avec chuck norris ^^), sprite, IA, etc......

 

mardi 17 novembre 2009 13:01



Accueil | PC | PS3 | 360 | Wii | 3DS | DS | PSP | IPHONE | Web |
Jeux du moment : Battlefield 3 PC | Battlefield 3 PS3 | Minecraft 360 | FIFA 12 Wii | FIFA 12 DS
ouvrir la barre
fermer la barre

Vous devez être connecté pour écrire un message à darksmol

Vous devez être connecté pour ajouter darksmol à vos amis

 
Créer un blog