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 :

Technologies existantes, je suis perdu !


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Technologies existantes, je suis perdu !
    Bonsoir, la question doit avoir déjà été posée de nombreuses fois et pourtant je n'ai rien trouvé qui correspondait clairement à ce que je me demandais.

    Je voudrais me mettre à coder un jeu vidéo, je suis avant tout intéressé par la programmation et je voudrais donc m'attarder le plus exclusivement possible sur le code.

    J'ai déjà fait un petit jeu d'esquive d'obstacles en Python avec Pygame.

    Je voudrais maintenant me mettre à un projet plus conséquent, qui puisse m'apporter beaucoup de connaissances dans le milieu, et dans l'idéal des connaissances qui seraient utiles en milieu professionnel.

    Seulement voilà j'ai cherché toute la soirée et mon cerveau est bombardé de noms d'outils, je ne comprends pas ce qu'il me faut réellement, qu'est-ce que DirectX, qu'est-ce que l'Unreal Engine ou Unity 3D, qu'est-ce qui est le plus utilisé aujourd'hui en milieu professionnel ? Quelle différence entre API, framework, bibliothèque et moteur ?

    Bref, je n'ai pas peur de me casser les dents, je fais des études en informatique et je connais pas mal de langages, donc je ne cherche pas quelque chose de facile pour faire un jeu, mais plutôt quelque chose de réellement puissant et utilisé, dont l'apprentissage sera enrichissant, et qui me permettra tout de même de bien m'éclater une fois que je l'aurais appréhendé.

    Je sais que plus la question est claire, plus la réponse est pertinente, donc j'ai essayé de bien exprimer mon problème.
    Je répète qu'en gros je cherche à apprendre à coder un jeu vidéo et que toutes les technologies existantes dans le domaine m'embrouillent, je voudrais si possible être éclairé là-dessus et savoir ce qui me serait vraiment utile.

    Merci d'avance !

  2. #2
    Membre chevronné Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Points : 2 160
    Points
    2 160
    Par défaut
    Bonjour (rapide réponse en passant)

    En C++, tu peux regarder (pour avoir une idée) :
    - SFML pour les jeux 2D.
    - OGRE pour les jeux 3D (juste le moteur 3D, on peut utiliser la SFML pour le reste)
    - Bullet ou ODE pour le moteur physique.

  3. #3
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 612
    Points
    2 612
    Par défaut
    Citation Envoyé par Alahakan Voir le message
    Je répète qu'en gros je cherche à apprendre à coder un jeu vidéo !
    Si c'est la programmation de jeux vidéos qui t'intéresse, je te conseille de commencer par la base: la programmation (tout court).
    Dans le milieu professionnel - puisque tu y fais référence - il me semble que le C++ est très utilisé dans les jeux PC (tout OS), pour la programmation des tablettes et smart phones, je ne sais pas (Java pour Android ? Objective C pour Apple ?)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    @Ehonn : D'accord, mais peut être que quelqu'un d'autre me conseillera autre chose, donc je préférerais qu'on me dise comment je dois raisonner pour choisir mes outils plutôt que "X est parfait pour ce que tu veux faire".

    @Cirrus Minor : C'est sûr seulement la programmation j'en fais déjà au quotidien dans mes études, et ça ne m'apprend pas vraiment à avancer des le jeu vidéo. Je sais que c'est un secteur difficile d'accès, c'est pourquoi je voudrais avoir au moins un bon jeu à mon actif, ça serait toujours cool sur mon CV et même pour mes compétences personnelles, parce que j'ai beau connaître dans les grandes lignes tous les éléments du C/C++, du JAVA ou même du PHP, aucun de ces enseignements ne m'a semblé m'aider de près ou de loin à savoir comment coder un jeu. Enfin bref, je voudrais vraiment coder du jeu vidéo maintenant, la question reste comment et pourquoi.

  5. #5
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 612
    Points
    2 612
    Par défaut
    Ah ! Donc tu sais programmer en C++ ?
    Alors tu vas commencer "petit".

    Tu peux programmer des jeux vidéos "console" (pas console de jeu - la console dans laquelle tu tapes des commandes).
    Du style: faire deviner un nombre, master mind, voire puissance 4 ou bataille navale. De bons exercices !

    Ensuite, tu pourras attaquer le graphisme !
    Tu peux débuter avec des bibliothèque pas très bas niveau, mais pas des moteurs de jeu non plus. SFML, conseillé par Ehonn est un très bon choix, il y a aussi SDL qui est très utilisé.
    Tu apprendras ainsi la gestion des ressources, la boucle de jeu, la gestion d'entrées en temps réel, etc...
    Dans les projets sympas, il y a le démineur (souris, récursivité), Tetris (règles de jeu, temps réel), et quand tu seras à l'aise, tu pourras t'essayer à des choses plus compliquées (Bomberman, Pacman...).

    Tu peux aussi te balader ici dans la section des projets, pour voir quels types de jeu sont créés par les membres, et avec quelles technologies, c'est très intéressant !

  6. #6
    Membre chevronné Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Points : 2 160
    Points
    2 160
    Par défaut
    Citation Envoyé par Alahakan Voir le message
    @Ehonn : D'accord, mais peut être que quelqu'un d'autre me conseillera autre chose, donc je préférerais qu'on me dise comment je dois raisonner pour choisir mes outils plutôt que "X est parfait pour ce que tu veux faire".
    Regarde plutôt les tutos et/ou Wikipédia pour faire tes propres idées.

    La SFML est une bibliothèque C++ relativement bas niveau et simple. Elle permet de gérer un affichage 2D (et 3D en ouvrant un contexte OpenGL) performant en utilisant l’accélération matérielle de la carte graphique. Elle a aussi d'autres modules (pour le son, le réseau par exemple).
    Elle est libre, gratuite et multi-plateforme.
    Je ne connais pas d'équivalent en C++ qui a tous ses avantages. On dit souvent que c'est un équivalent de la SDL en C++.

    OGRE est lui aussi libre, gratuit et multi-plateforme. C'est un moteur 3D performant et pas mal utilisé y compris pour des projets professionnels commerciaux.
    OGRE n'est pas un framework de jeu contrairement à Crystal Space (avec qui il était souvent comparé).

    Citation Envoyé par Alahakan Voir le message
    C/C++
    C != C++

  7. #7
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Si tu souhaites en faire ton métier, c'est clairement au C++ que tu dois te mettre.
    Même si il y a de moins en moins de chances que tu bosses avec ce langage au niveau pro http://emploi.developpez.com c'est un langage qui t'apprendra à être rigoureux.
    Pour le choix DirectX/OpenGL ça dépend en majeure partie de tes affinités religieuses ( pro/anti Microsoft-libre etc...)

    Par contre il va falloir apprendre à te renseigner par toi même, on se retrouve souvent à bosser sous NDA avec des technos non documentés et pas grand monde pour nous sauver.
    Concrètement au lieu de demander ce que sont l'Unreal Engine/Unity 3D/etc tu devrais déjà avoir complètement visité leur sites internet voire essayé ces outils.

    D'ailleurs même si tu comptes tu mettre au code pur, il faut que tu saches qu'un jeu se conçoit en équipe et qu'il y a toute une tonne d'outils pour que les non-programmeurs puissent travailler ; c'est dans ce cadre qu'il est très intéressant de tester des outils comme GameMaker afin de cerner toute la logique outil à mettre en place afin de bosser correctement.
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Merci pour vos réponses, mais concrètement c'est quoi la différence entre SDL/SFML, OpenGL/DirectX et Unreal/Unity ? Je suppose qu'ils n'interviennent pas au même niveau, donc pourquoi choisir l'un ou l'autre ? Qu'est-ce qui devrait me faire choisir, quels devraient être mes critères ?

    C'est un peu ça le vrai sujet, je sais bien que tout permet de faire un jeu, je sais que le C++ reste de loin le langage le plus utilisé sur les projets AAA, mais je sais aussi qu'il y a plein d'outils et malgré les renseignements que j'ai pu trouver, je n'ai vu que des débats SDL vs. SFML, OpenGL vs. DirectX, Unreal vs. Unity... mais jamais de SDL vs. Unity, et comme je le disais je me doute que c'est parce qu'il ne s'agit pas du même niveau, mais dans ce cas comment sait on à quel niveau il est plus intéressant de se placer pour nous ?

    Merci.

  9. #9
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Pour répondre un peu plus haut , pour le dev mobile le C++ est tres utilisé aussi (multiplateforme comme langage qui marche sur ios et android avec le NDK).
    Je confirme ce que dit MoDDiB le C++ reste incontournable dans ce milieu.

    Je rajouterai que si tu attend que tes études t'apprenne a faire du jeu vidéo tu peux attendre tres longtemps... , bref tu veux faire du jeu vidéo et apprendre ben il faut s' mettre.
    Par contre je conseillerai si tu veux apprendre de faire de OpenGL (ou Directx) savoir comment fonctionne en dessous du capot me semble indispensable.

    Pour répondre rapidement :
    "différence entre SDL/SFML"
    En terme de fonctionnalité c'est la même chose , la SDL 1.2 et une lib software donc plus "lente" que la SDL 2.0 ou SFML qui utilise la carte graphique (enfin je met lente dans le sens ou dans certain cas ça peut être relatif).
    La SDL est une lib C alors que la SFML est une lib C++.

    "OpenGL/DirectX"
    Bon je ne pense pas que ça soit par préférence mais disons que la pareil toute les deux font la même chose , sauf que directX est en C++ , opengl en C , certain apprécie , d'autre pas , Opengl a la chance d'etre multiplateforme , DirectX ne vise que certaine plateforme.

    "Unreal/Unity"
    Je ne les connais pas suffisamment pour en dire les grosse différence , même si Unity me semble plus facile a prendre en main.

    "SDL vs. Unity"
    ça serait soit du troll, soit un truc sans intérêt , un du programme en C généralement et autre est un moteur de jeu ou toutes les routines bas niveau sont codé (et plein d'autre truc qui sont différent).
    En gros c'est comme si tu disais opengl vs unity , dans un tu as le rendu deja fait , l'animation , editeur , collision ect , et autre (OpenGL) ou tu dois tout faire.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Bon j'ai pris un peu d'avance et je commence à mieux cerner tout ça, en gros on a des bibliothèques ou APIs, à savoir SDL/SFML pour la 2D et OpenGL/DirectX pour la 3D (en gros), qui nous offrent des fonctions concernant le rendu.
    Des moteurs peuvent utiliser entre autres des APIs pour faciliter le travail dans un domaine donné (souvent le graphisme, avec Ogre par exemple, mais aussi la physique, le son, le réseau, etc..), ou bien peuvent carrément regrouper tout ce dont on pourrait avoir besoin pour créer un jeu, on les appelle alors moteurs de jeu, comme Unity 3D ou l'Unreal Engine.

    C'est ce qui ressort de mes recherches, s'il vous plaît dîtes moi que c'est juste et que j'ai bien compris ^^

    Dans ce cas, vu que ce qui m'intéresse est la programmation d'un jeu vidéo, il serait judicieux de partir d'une API, comme OpenGL, sans utiliser de moteur n'est-ce pas ? Mais dans ce cas là, le travail à fournir pour une seule personne ne sera-t-il pas gigantesque pour arriver à un jeu potable (par exemple counter strike) ? Certaines personnes codent leur propre moteur, est-ce une bonne idée et pourquoi ?

    Merci.

  11. #11
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Counter Strike !

    T'es parti fort là.

    Tu ne coderas pas Counter Strike. Ces jeux sont codés par des professionnels du domaine et ont mobilisés beaucoup de personnes de différents métiers.

    Prends les exemples de jeux qu'ils t'ont cités : Tetris, Puissance 4, Mastermind.

    Cela paraît bateau mais c'est plus compliqué qu'il n'y paraît.
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Bah disons que comme je le disais au début j'ai fait un jeu déjà bien plus poussé qu'un Tetris en utilisant la bibliothèque Pygame en Python.

    Alors ok j'ai conscience que la bibliothèque me mâchait énormément le travail, mais je voudrais un truc pas très beau tu vois mais quand même si c'est pour faire un tetris je prends la SFML et je fais ça dans la semaine, sans vouloir sous entendre que je sois bon hein, juste que de nos jours ces jeux sont faciles à produire.

    Alors oui Counter Strike j'y vais un peu fort, mais bon on est en 2014 et je compte y passer beaucoup de temps, donc je pensais que ça ne serait pas si hors de portée que ça, mais je me trompe certainement.

    Mais je ne vois pas l'intérêt d'aller taper dans l'OpenGL si c'est pour faire un Tetris, bien que je me sois beaucoup amusé à faire mon petit jeu 2D.

    Là je voudrais un truc plus avancé, genre avec Pathfinding, IA, Gameplay, Aléatoire poussé, Multi-threading, jouer avec tout ça quoi, donc je m'en fous des graphismes et tout, mais je veux juste me lancer dans un projet utilisant une technologie qui me fera découvrir tout ça.

  13. #13
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par Alahakan Voir le message
    Là je voudrais un truc plus avancé, genre avec Pathfinding, IA, Gameplay, Aléatoire poussé, Multi-threading, jouer avec tout ça quoi, donc je m'en fous des graphismes et tout, mais je veux juste me lancer dans un projet utilisant une technologie qui me fera découvrir tout ça.
    Il n'y pas de secret dans le jeux vidéo , toute les techno que tu voudras utilisé quasiment te permettra de découvrir cela( Pathfinding, IA, Gameplay, Aléatoire poussé) , après a toi de voir combien de temps tu veux y consacrer et ce que tu veux apprendre.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Donc selon toi dans ma situation je devrais partir sur de l'OpenGL sans moteur ?

  15. #15
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Citation Envoyé par Alahakan Voir le message
    Merci pour vos réponses, mais concrètement c'est quoi la différence entre SDL/SFML, OpenGL/DirectX et Unreal/Unity ?
    OpenGL-fmod/DirectX c'est les librairies multimédia de base pour gérer la vidéo et le son, sdl-sfml-unreal-unity sont construits par dessus.
    Si tu veux travailler dans les jeux vidéo c'est par là que tu vas devoir commencer parce que dans ce métier on fait surtout des tâches ingrates de type portage et débuggage donc il faut mettre les mains dans le bas niveau.

    SDL/SFML c'est des librairies multimédia construites à partir de directx/opengl et qui servent à faciliter certaines tâches comme afficher de la 2d, jouer de la musique, ou faire une intégration robuste sur divers os.

    Unreal/Cry/id/... ce sont des moteurs de jeux, également faits à partir de directx/opengl. Ils sont chers, énormément de code en dessous qui représente des années de travail, et on s'en sert surtout pour les jeux à gros budget type fps. Contrairement à ce qu'affirme une fausse rumeur ces moteurs sont loin de faciliter le travail car en général il faut mettre les mains dans leur code source c++ pour les débuger, les améliorer, les mettre à jour, etc, ça peut devenir un vrai gouffre à fric et ça a par exemple causé la faillite de 3d realms. Les jeux à petit budget pour smartphone on fait plutôt directement du c++/opengl afin de réduire le code au minimum et d'en avoir le contrôle.

    Cas particulier: le moteur Unity a la particularité d'être accessible aux débutants c'est même son principal argument de vente on peut s'en servir un peu comme game maker sans rien connaître à la programmation, mais on peut aussi s'en servir pour des jeux pros. Cependant si tu cherches à te faire recruter par un studio qui bosse avec unity ils attendent d'abord que tu maîtrises c++/directx/opengl pour vérifier que tu as les bases et que tu comprends un minimum les mécanismes de la programmation multimédia/jeux, que tu sais ce que c'est qu'un vertexbuffer, une texture, un buffer audio, etc. N'avoir que unity sur le cv c'est connoté débutant donc pas super vendeur.
    nous devons inventer la langue de feu pour crâmer la langue de bois

  16. #16
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Ce que je conseille maintenant à un débutant, c'est de ne pas commencer tout de suite par du c++/opengl car c'est le meilleur moyen de se décourager à coup sûr tu vas en avoir pour un an avant d'arriver à faire un tetris.

    Dans les jeux pro en fait on attaque rarement directement par du c++ on fait beaucoup de prototypages préalables dans des langages facile.

    Dans le temps le langage idéal pour débuter c'était le basic, aujourd'hui je dirais que c'est plutôt le javascript. Sinon je ne sais pas ce que permet pygame. Tu commences par prototyper des mécanismes de jeux dans un langage facile donc afin de comprendre déjà les principes logiques.

    Ensuite portage en c++, en commençant de préférence par une solution qui facilite le travail, par exemple la bibliothèque SDL 2.0 . Evidemment il faut commencer par des jeux 2d simple type pong, morpion, etc. Ensuite quand tu passeras à la 3d tu mettras les mains dans gl/dx.

    Un autre "trick" qui peut aussi aider les débutants à démarrer, c'est la "méthode rétro", très utilisée dans les jeux indé. Beaucoup de jeux 2d font un usage très limité du hardware, ils passent par ce qu'on appelle un "rendu software", c'est à dire que c'est le cpu qui calcule le rendu pixel par pixel, comme on faisait à l'époque du vga. La librairie SDL 2.0 est très bien faite pour ça tu dessines directement les pixels dans une unique texture stretechée qui fait office d'écran. Ca se fait aussi très facilement avec le javascript et la balise canvas html5, il me semble que c'est la méthode employée pour porter ce vieux jeu ms-dos: http://wolf3d.atw.hu/
    nous devons inventer la langue de feu pour crâmer la langue de bois

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    D'accord, bah écoute je pense que je vais faire un jeu en 2D avec la SDL/SFML pour commencer, je pense que j'aurais de quoi m'occuper si je le pousse bien.

    Lorsque je sentirai que j'aurais terminé mon projet j'irais tester un jeu 3D avec OpenGL/DirectX.

    Merci.

  18. #18
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Citation Envoyé par Alahakan Voir le message
    (...) j'ai fait un jeu déjà bien plus poussé qu'un Tetris en utilisant la bibliothèque Pygame en Python.
    Serait-il possible de voir à quoi ce jeu ressemble ?

    Citation Envoyé par Alahakan Voir le message
    (...) c'est pour faire un tetris je prends la SFML et je fais ça dans la semaine (...)
    Chiche !

    Citation Envoyé par Alahakan Voir le message
    Alors oui Counter Strike j'y vais un peu fort, mais bon on est en 2014 et je compte y passer beaucoup de temps, donc je pensais que ça ne serait pas si hors de portée que ça, mais je me trompe certainement.
    Certainement.

    Citation Envoyé par Alahakan Voir le message
    Là je voudrais un truc plus avancé, genre avec Pathfinding, IA, Gameplay, Aléatoire poussé, Multi-threading, jouer avec tout ça quoi, donc je m'en fous des graphismes et tout, mais je veux juste me lancer dans un projet utilisant une technologie qui me fera découvrir tout ça.
    Tu sembles quand même largement sous-estimer les difficultés qui t'attendent. Un petit Tetris avec SDL ou SFML pour commencer, même s'il te faut finalement plus d'une semaine, ce sera déjà quelque chose. Puis après, augmente la difficulté progressivement : un jeu de plateforme 2d par exemple, même tout simple, c'est déjà beaucoup de boulot pour un seul programmeur.

    Citation Envoyé par Alahakan Voir le message
    @Cirrus Minor : C'est sûr seulement la programmation j'en fais déjà au quotidien dans mes études, et ça ne m'apprend pas vraiment à avancer des le jeu vidéo.
    Je trouve cette phrase hyper bizarre. La programmation que tu fais pendant tes études, c'est rien du tout. En fait si : ce sont des bases nécessaires qui peuvent servir pour développer n'importe quel type de logiciel, notamment de jeu, mais rien de plus. Pour devenir bon en programmation, il faut programmer énormément, ne pas se limiter à ce qui est exigé par les études, que l'on souhaite ou non se spécialiser dans la programmation de jeux. Pour apprendre à programmer des jeux, il faut programmer des jeux, mais il n'y a pas de "méthode" pour apprendre à programmer des jeux car c'est un domaine trop complexe. C'est énormément de boulot. Cirrus Minor t'a donné un bon conseil quand il t'a dit qu'il fallait avant tout programmer et ta façon de lui répondre "ça ne m'apprend pas vraiment à avancer dans le jeu vidéo" me laisse penser que, effectivement, tu sous-estimes la difficulté de la chose et que tu risques d'abandonner bien prématurément si tu prends les choses comme cela. Programme donc de bonnes applications, des jeux si tu veux mais tu ne devrais pas faire que des jeux. Des applications pas énormes (si tu travailles seul) mais déjà plus ambitieuse que le travail universtaire. Sinon tu vas te planter. Le jeu vidéo est un domaine très technique que personne ne maîtrise entièrement.

    N'oublie pas non plus que pour programmer un jeu un minimum conséquent, il y a une longue phase de conception / création qui précède la programmation, et que la programmation elle-même ne commence pas par la programmation du jeu, mais par la programmation d'outils qui aideront à sa réalisation (un éditeur de map par exemple).

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Regarde sur Internet ECS, Entity Component System

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Bonsoir, je vous remercie pour vos pistes et vos conseils, je répète que mon idée de ce qu'est la réalisation d'un jeu vidéo a certainement été biaisée par le fait que mon premier ait été réalisé en Python avec Pygame, j'ai pu faire ça en 5 jours seul :

    Nom : partie.png
Affichages : 153
Taille : 60,5 Ko

    J'ai pu aborder les problèmes de temps réel, d'animations, de gestions d'input, de collisions, de génération aléatoire, de performance,... tout ceci en 5 jours, le résultat semble bien plus poussé qu'un tetris il faut avouer, c'est pourquoi je ne pensais pas que ça serait aussi difficile d'en faire un avec la SDL/SFML, mais dans tous les cas, j'ai conscience que ça ne se fera pas en un claquement de doigt, et j'abandonnerais plus rapidement si c'était facile que difficile d'ailleurs ^^

    Au niveau de la programmation, ce que je voulais dire c'est que des applications lambda j'en fait à répétition dans ma formation, et rien ne tend à me rapprocher du jeu vidéo. Sans même parler de l'envie que j'ai de faire mon propre jeu, je suppose que certaines problématiques sont uniques à la programmation de jeux et j'aimerais bien les étudier.

    De toute façon, je compte bien commencer avec un platformer 2D avec la SFML, j'en ai les idées, les compétences (je pense) et plus que tout l'envie, donc ça ne me semble pas être un projet hors normes du moment que je l'aborde de manière incrémentale et dans tous les cas j'y prendrais beaucoup de plaisir.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [ODBC] Je suis perdu avec ODBC
    Par Nowhere dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 19/05/2006, 08h50
  2. [Tableaux] aide je suis perdu
    Par covin85 dans le forum Langage
    Réponses: 12
    Dernier message: 14/04/2006, 17h56
  3. [Architecture] EJB ou pas EJB ? Je suis perdu ...
    Par n!co dans le forum Java EE
    Réponses: 18
    Dernier message: 26/01/2006, 18h21
  4. RAM DDR, PC3200, 333Mhz , 400Mhz je suis perdu
    Par ahage4x4 dans le forum Composants
    Réponses: 2
    Dernier message: 08/12/2005, 17h52
  5. DLL et MainForm je suis perdu !
    Par rudy2 dans le forum C++Builder
    Réponses: 28
    Dernier message: 02/01/2005, 18h08

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