Bonjour !
je cherche un livre tres complet sur la
creation des jeux 2D et 3D !
j'en ai vu sur amazon mais je ne sais pas quel
livre acheter car j'ai peur d'en prendre un trop nul
ou compliqué!
pouvez vous me conseiller?
Bonjour !
je cherche un livre tres complet sur la
creation des jeux 2D et 3D !
j'en ai vu sur amazon mais je ne sais pas quel
livre acheter car j'ai peur d'en prendre un trop nul
ou compliqué!
pouvez vous me conseiller?
Tout dépend de ce que tu veux faire, la plateforme, ...
Tu trouveras déjà sur http://jeux.developpez.com/livres une sélection de livres sur les jeux vidéo effectuée par la rédaction.
je veux faire un jeu type plateforme avec SDL
pour commencer puis un jeu 3D aussi
je ne sais pas quel livre je dois choisir!!
j'ai vu ton lien mais la plupart des bouquins sont
en anglais et leseul en francais , je l'ai vu
sur mazon, peux tu m'indiquer un livre?
Malheureusement, je ne peux pas trop t'aider, je ne lis que des livres en anglais ou presque
Ca limite beaucoup... Honêtement tu auras bien du mal à progresser en programmation 3D / Jeux si tu ne comptes que sur des ressources françaises. C'est quasiment inexistant dans ce domaine.
Evidemment tu ne vas pas te mettre à connaître l'anglais du jour au lendemain, mais si tu as un niveau à peu près potable ça vaut le coup de faire un effort
Sinon, puisque tu n'as l'air d'avoir aucune base, tu peux peut-être déjà commencer par les différents tutoriels qu'on propose sur developpez.com, notamment ceux concernant SDL ?
yop ! i speeeeesk English but i want to learn programming in French :p
mais je dois payer cher pour un livre importe !
Je sais pas si ça peut t'aider mais j'ai acheté le livre Programmation des jeux de Michael Morrison (c'est une traduction du livre anglais Beginning Game Programming, la version française est la première édition, mais visiblement d'après l'auteur lui-même, la seconde édition ne fait qu'ajouter deux exemples de jeux.
Donc j'ai le livre, le niveau de C++ recommandé n'a pas besoin d'être trop élevé (même moi j'y arrive alors bon ^^). Du moment que tu connaisses le principe des classes, membres protected, fonctions virtuelles, utiliser un minimum les vector, les pointeurs,... Pas besoin donc d'être un gourou du C++ ^^
Concernant le contenu du livre, j'en suis à 5-6 chapitres de la fin. Tu apprends durant les deux-trois premiers chapitres la programmation Windows (même si je te recommande de voir en complément quelques tutoriaux - ceux du site sont très bien -, histoire d'y voir un peu plus clair sur tous ces nouveaux termes qui apparaissent. Puis tu commenceras à créer un moteur de jeu basique, puis une classe Bitmap, et enfin une classe Sprite, puis tout au long du livre tu ajouteras de nouvelles fonctions à toutes ces classes (gestion de la transparence, gestion du "double tamponnage" (ya un terme anglais mais je m'en souviens plus, c'est le double buffering je crois), et tout un tas d'autres petites choses).
Tu auras à la fin un moteur 2D simple et fonctionnel et tu pourras créer rapidement tes jeux (j'ai d'ailleurs été surpris, le moteur est plutôt bien construit et après construire les jeux prend bien moins de temps que ce que je pensais - pour des petits jeux simples toutefois ! -).
Par contre n'espère pas devenir un chef de la programmation 2D avec ce livre. Disons que c'est une bonne approche, personellement je prends beaucoup de plaisir à le lire, c'est quand même plus intéressant que de coder la suite de Fibonnacci :nerd:. Le livre est petit (400 pages, un peu plus si tu comptes les trois chapitres bonus du CD), ce qui fait que les explications sont très superficielles, et j'ai du à maintes reprises chercher sur MSDN des explications un peu plus complètes sur chaque fonction.
De même, je n'ai pas trop compris la classe Bitmap de l'auteur ^^. Il se complique la vie inutillement. Juge plutôt. Je te mets le constructeur de la classe Bitmap, lors de l'ouverture d'un bitmap avec un fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 BOOL Bitmap::Create(HDC hDC, LPTSTR szFileName) { // Free any previous bitmap info Free(); // Open the bitmap file HANDLE hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) return FALSE; // Read the bitmap file header BITMAPFILEHEADER bmfHeader; DWORD dwBytesRead; BOOL bOK = ReadFile(hFile, &bmfHeader, sizeof(BITMAPFILEHEADER), &dwBytesRead, NULL); if ((!bOK) || (dwBytesRead != sizeof(BITMAPFILEHEADER)) || (bmfHeader.bfType != 0x4D42)) { CloseHandle(hFile); return FALSE; } BITMAPINFO* pBitmapInfo = (BITMAPINFO*)(new BITMAPINFO_256); if (pBitmapInfo != NULL) { // Read the bitmap info header bOK = ReadFile(hFile, pBitmapInfo, sizeof(BITMAPINFOHEADER), &dwBytesRead, NULL); if ((!bOK) || (dwBytesRead != sizeof(BITMAPINFOHEADER))) { CloseHandle(hFile); Free(); return FALSE; } // Store the width and height of the bitmap m_iWidth = (int)pBitmapInfo->bmiHeader.biWidth; m_iHeight = (int)pBitmapInfo->bmiHeader.biHeight; // Skip (forward or backward) to the color info, if necessary if (pBitmapInfo->bmiHeader.biSize != sizeof(BITMAPINFOHEADER)) SetFilePointer(hFile, pBitmapInfo->bmiHeader.biSize - sizeof (BITMAPINFOHEADER), NULL, FILE_CURRENT); // Read the color info bOK = ReadFile(hFile, pBitmapInfo->bmiColors, pBitmapInfo->bmiHeader.biClrUsed * sizeof(RGBQUAD), &dwBytesRead, NULL); // Get a handle to the bitmap and copy the image bits PBYTE pBitmapBits; m_hBitmap = CreateDIBSection(hDC, pBitmapInfo, DIB_RGB_COLORS, (PVOID*)&pBitmapBits, NULL, 0); if ((m_hBitmap != NULL) && (pBitmapBits != NULL)) { SetFilePointer(hFile, bmfHeader.bfOffBits, NULL, FILE_BEGIN); bOK = ReadFile(hFile, pBitmapBits, pBitmapInfo->bmiHeader.biSizeImage, &dwBytesRead, NULL); if (bOK) return TRUE; } } // Something went wrong, so cleanup everything Free(); return FALSE; }
Alors que j'ai découvert il y a deux jours une méthode bien plus simple, et qui marche aussi bien, et nécessite très peu de changement que l'on ouvre les bitmap à partir de ressource ou de fichier :
J'avoue que j'ai du mal à comprendre pourquoi dans un livre d'initiation certaines parties de codes sont aussi compliquées alors qu'il existe des techniques plus faciles ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 void AfficherBitmap(HDC hDC) { // Handle de bitmap HBITMAP hBitmap; hBitmap = (HBITMAP)LoadImage (_hInstance, "IDB_HIGHWAY", IMAGE_BITMAP, 0, 0, 0); // Création d'un contexte de périphérique hors écran HDC hOffscreenDC = CreateCompatibleDC (hDC); // Sélection de l'object SelectObject (hOffscreenDC, hBitmap); // Structure de type bitmap, et récupération des informations BITMAP infosBitmap; GetObject (hBitmap, sizeof (infosBitmap), &infosBitmap); int largeur = infosBitmap.bmWidth; int hauteur = infosBitmap.bmHeight; // Affichage du bitmap StretchBlt (hDC, 0, 0, largeur / 2, hauteur / 2, hOffscreenDC, 0, 0, largeur / 2, hauteur / 2, SRCCOPY); DeleteObject (hBitmap); DeleteDC (hOffscreenDC); }
D'autres infos sur ce livre ici :
http://jeux.developpez.com/livres/#L2744018309
Je te conseil "progammation des jeux".
Tu y abordera la 2D avec win32 et le c++.
Les concepts comme les etats, les tiles, les gestionnaires, ..., te seront présenté de facon simple.
Ainsi tu pourras très rapidement faire des petits jeux sympas et te lancer ensuite dans la 3D ou la 2D avancé avec de bonnes notions.
un autre +, il coute a peine 15€
Oui mais quel est l'éditeur ?Envoyé par ash.ice.loky
C'est le problème de win32 et l'auteur n'y est pour rien il ne faut pas le blamer.Envoyé par TicTac
La programmation des jeux sous Windows repose en partie sur la progr windows win32 qui est sacrément dense et complexe, contrairement à la progr. ms Dos de jadis ou il suffisait de déclarer main()
C'est édité chez CampusPress comme pour quasi tous les bouquins d'informatiques ^^.
mat.m > Oui mais là par exemple c'était pour la classe Bitmap il créé un truc super compliqué. On m'a dit qu'il avait créé son propre loader de Bitmap mais après cherché sur le site l'auteur a dit que c'était parceque a l'époque de l'écriture du livre la fonction LoadImage n'étais pas terrible...
Enfin bon, depuis que je connais MSDN, tout est plus clair
Un chargeur bmp n'est pas quelque chose de très compliqué et nécessaire sous linux si on ne veut pas utiliser une bibliothéque extérieure (genre SDL)Envoyé par TicTac
Jc
J'avais copié le code plus haut (le premier quote). C'est quand même bien plus difficile qu'en utilisant la simplissime fonction LoadImage ^^.Envoyé par fearyourself
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager