IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

cherche bon livre


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Points : 58
    Points
    58
    Par défaut cherche bon livre
    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?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    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.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Points : 58
    Points
    58
    Par défaut
    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?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Malheureusement, je ne peux pas trop t'aider, je ne lis que des livres en anglais ou presque

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    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 ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Points : 58
    Points
    58
    Par défaut my English is Rich :)
    yop ! i speeeeesk English but i want to learn programming in French :p
    mais je dois payer cher pour un livre importe !

  7. #7
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    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 :

    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);
    }
    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 ?

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    D'autres infos sur ce livre ici :
    http://jeux.developpez.com/livres/#L2744018309

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    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€

  10. #10
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par ash.ice.loky
    Je te conseil "progammation des jeux".
    Oui mais quel est l'éditeur ?

  11. #11
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par TicTac
    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.


    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 ?
    C'est le problème de win32 et l'auteur n'y est pour rien il ne faut pas le blamer.
    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()

  12. #12
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    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

  13. #13
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par TicTac
    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)

    Jc

  14. #14
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Citation Envoyé par fearyourself
    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)

    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 ^^.

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Bakura Voir le message
    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 ^^.

    Oui mais avec LoadImage, tu ne peux que ouvrir des bitmaps ressource... Alors qu'avec l'autre code, tu peux ouvrir n'importe quel fichier bitmap.

    D'ailleurs, merci pour le code, je vais en avoir besoin....
    *soupir*

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/08/2010, 18h30
  2. Réponses: 5
    Dernier message: 05/08/2010, 18h30
  3. Cherche un bon livre sur Visual basic 2005
    Par Invité dans le forum Livres
    Réponses: 14
    Dernier message: 18/01/2010, 23h38
  4. [XML-XSLT] Cherche bon livre pour apprendre
    Par PlaTyPuSs dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 16/06/2005, 11h51
  5. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo