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

Création de jeux vidéo Discussion :

Quel niveau en programmation pour un "vrai" projet?


Sujet :

Création de jeux vidéo

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Points : 34
    Points
    34
    Par défaut Quel niveau en programmation pour un "vrai" projet?
    Bonjour,

    Actuellement en Terminale S je suis réellement passionné par la programmation.
    Etant "à la base" un joueur, mes projets s'axe plutôt autour du JV.
    J'ai déjà réalisé plusieurs jeux, deux un minimum conséquent:
    Le premier est une adaptation numérique d'un jeu de cartes pour apprendre les maths en s'amusant (demande d'un prof de maths, niveau 6eme/5eme). (50h < T < 80h de travail, ce temps de travail est du au fait que je n'avais que des bases en Python, j'ai du m'y faire)
    Le deuxième est un jeu de stratégie à deux joueurs (sur le même PC) un peu similaire au système de combat de Dofus (PV/PM/Attaques/Portée..), fait avec un camarade dans le cadre d'une option pour les cours (il c'est occupé des graphismes et des menus, j'ai pris en charge tout le code du jeu en lui même). (30h < T < 50h)

    Les deux projets ont été codé en Python, en 2D grâce à la bibliothèque pygame, sans programmation orienté objet (dont j'ai appris les bases en parallèle au développement du deuxième jeu).
    Au cours des vacances d'été, j'aimerai réalisé un vrai projet. J'entend par vrai projet, un projet dans lequel j'ai incrémenté toutes les fonctionnalités que je voudrais. Par exemple : un mode en ligne était prévu pour le jeu de stratégie mais le temps manqué).
    De plus, python contraint par certains problèmes (pas de compilation, pas de possibilité de le distribué "facilement", problème de performance etc).
    J'aimerai donc le faire en C++ et en POO. Cependant, je ne sais pas quoi utilisé comme bibliothèque (équivalent en C++ de pygame).
    De plus, si un graphiste (débutant de préférence) passe par la ou si vous connaissez des sites pour en rencontré, je suis preneur
    Je sais jugé mon niveau je pense, je sais me fixe un objectif pas trop élevé.

    Voila, en espérant avoir des réponses
    Jules.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    Bonjour,

    Niveau 4 je dirais. Ou 3, ça me parait un minimum.

    2 en orthographe.


  3. #3
    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
    mmh , faire un vrai projet de jeu vidéo en C++ ça demande quelque année expérience a toi de voir si tu veux passé par la.
    Pour faire de la 2D tu as la SDL ou SFML.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    Ahaha j'étais sur de me faire troll sur mon orthographe, promis j'edit dès que j'ai la foi
    Qu'est ce que tu entends par niveau 4/3, c'est un troll aussi?



    Les bibliothèques SDL et l'autre, sont des moteurs de jeu ou je confonds? J'arrive pas à cerner ce qu'est la différence entre des bibliothèques telles que pygame et un moteur de jeu.
    Il y a vraiment une si grosse différence entre le C++ et Python? Dans le sens ou python je me suis un peu lancé comme ça, j'ai appris sur le tas et ça a donné quelque chose de fonctionnel. Maintenant que j'ai quand même plus d'expérience dans la programmation, le C++ reste difficilement accessible ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    Sans être un expert en python, je dirais que oui, il y a d'énormes différences entre python et le C++ ...
    Python est un langage de script, et beaucoup de choses sont "préfaites" ; il a la vocation d'être relativement simple pour le développeur.
    C++ par contre ... n'est pas du tout conçu pour les même choses ; il est plus orienté performance, bas-niveau dans certains cas (ce qui explique pourquoi beaucoup de jeux gourmands en ressources sont développés dans ce langage).

    Sans vouloir te faire peur, je pense qu'il te faudra au moins cet été pour apprendre le C++, et probablement plus pour réellement le maîtriser.

    Comme dit Kannagi, il faut généralement plusieurs années d'expériences pour se lancer dans un projet comme ça.

  6. #6
    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
    la SDL et SFML sont des bibliothèque pas de jeux mais de multimédia (fenêtrage / son / rendu), cela veut dire que elle n'ont aucune fonctionnalité propre pour le jeux vidéo en soit mais des bases pour que tu puisse en faire un.
    Un moteur de jeu serait un ensemble assez haut niveau qui te permettrait de te concentrer sur le codage du gameplay principalement , alors que c'est bibliothèque la tu devra codé des fonction/méthodes qui te permettront d’être utilisé pour ton gameplay (et donc (re)codé un moteur de jeu).

    Il y a vraiment une si grosse différence entre le C++ et Python? Dans le sens ou python je me suis un peu lancé comme ça, j'ai appris sur le tas et ça a donné quelque chose de fonctionnel. Maintenant que j'ai quand même plus d'expérience dans la programmation, le C++ reste difficilement accessible ?
    Justement sur un gros projet de jeu fait en C++ il faut un peu plus que se lançait sur le tas , mais il faut avoir un minimum de maitrise du langage et des techno utilisé pour faire quelque chose d'un minimum potable.
    Le C++ met quelque année avant d’être assez bien acquis , pour cela que je prévient si tu veux t'y consacré quelque année la dessus ou resté en python ou allée sur des moteur de jeux vidéo (Unity par exemple).

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    J'ai lu et bien enregistré tous vos messages, par "vrai" projet j'entendant pas un projet conséquent, mais un projet abouti.
    Je vais déjà bien assimiler le C++ avant de faire un gros projet, bien évidement

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Un vrai projet dans votre sens, cela correspond à un projet totalement fini. Pong est un vrai projet, totalement fini. Pour arriver à un projet "vrai", il suffit de passer assez de temps pour le polish, permettant que les joueurs accrochent. Après, il suffit de trouver un projet qui vous intéresse, un projet à votre niveau (ou un peu au dessus pour progresser (sauf si vous changez de langage )) et c'est tout.

    @Kannagi : Entièrement d'accord avec votre message, mais n'oubliez pas que pygame est un binding de la SDL (avec quelques petites fonctionnalités en plus), donc je pense que RasJah sait à quoi s'attendre.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    Je rejoins les autres : si tes 2 plus gros projets en Python t'ont demandés ~50 et ~80 heures de boulot ça fait peu d'expérience (le dev de jeux ça se compte souvent plus en mois qu'en heures).

    Le C++ est un langage vraiment agréable quand on le connait (malgré sa syntaxe dégueulasse), mais c'est aussi un langage qui en fait voir de toutes les couleurs aux débutants.

    Apprendre le C++ ne peut pas faire de mal (attention à la façon de l'apprendre par contre), mais si ton objectif est le dev de jeux alors tu devrais peut être rester du coté de Python le temps de mieux voir comment les choses se passent (ça te permettra de coder sans te préoccuper de tous les "problèmes" qu'apporte le C++).

    Si tu veux te lancer en C++, lance toi, mais faire un jeu (même simple: genre Pong / Tetris) - codé proprement - sans connaitre le langage en 3 mois ça me semble tendu.

  10. #10
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2007
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 677
    Points : 2 137
    Points
    2 137
    Par défaut
    Le C++ est très certainement mon langage préféré, mais si je devais me lancer dans le développement d’un jeu vidéo "conséquent" je l’écarterais de mes options. Pourquoi ? Parce que mon désir c’est de créer un jeu vidéo, pas de créer un moteur de jeu vidéo. Il existe des outils infiniment plus efficaces (Unity, UE4, etc...) et qui offrent un niveau d’abstraction obligatoire pour mener à terme un tel projet (développer un jeu vidéo c’est déjà une tache hasardeuse sans avoir besoin de développer tout le tooling à côté).

    Donc demande-toi vraiment ce que tu souhaites faire ; acquérir des compétences en C++ (choix des plus valables) ou bien développer un jeu vidéo un tant soit peu crédible. Allier les deux me parait très difficile, à fortiori lorsqu’on débute (je n’ai pas dit impossible, mais c’est déjà se mettre 3 ou 4 bâtons dans les roues).
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    Si mon but c'est de créer un jeu, quel langage vous me conseillez par conséquent? En excluant le Python, j'ai envie de voir d'autres manière de faire

  12. #12
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2007
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 677
    Points : 2 137
    Points
    2 137
    Par défaut
    Si ton but c’est de créer un jeu vidéo, je te conseillerais de partir sur un moteur de jeu vidéo. Les standards de l’industrie sont actuellement Unreal Engine 4 (cible desktop principalement) et Unity (Mobile et accessoirement desktop). Suivant le moteur que tu choisiras tu auras le choix entre plusieurs langages de programmation ; avec Unity tu peux développer en C# ou JS (principalement), avec UE4 on tu auras affaire à du C++ ou un modèle de programmation visuel (bluprint).
    Le choix de ce langage n’appartient qu’à toi (on a tous nos préférences).

    Pour un débutant complet il est de notoriété publique que Unity est plus simple d’accès (et moins exigent en terme de ressources), mais dans tous les cas tu auras une phase d’apprentissage conséquente (au même titre que si tu devais apprendre les rouages d’un langage de développement).

    A noter que je te propose ces deux moteurs car ils ont l’avantage d’être gratuits (en plus d’avoir fait leurs preuves).
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    Je suis pas fan de c'est logiciels la, ce qui m’intéresse c'est vraiment la programmation pur, un peu a l'instar des game jam (je crois?). Je suis peut être un peu sado mais c'est ce que je préfère, même si c'est plus dur, je créé des jeux pour mon plaisir, et non pour sortir un produit qui va concurrencé les grands jeux indé

  14. #14
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Quelles compétences ? Tout dépend le jeu vidéo que tu souhaites développer.
    Il serait plus facile de répondre à cette question si tu précisais le type de jeu que tu souhaiterais implémenter.

    Parce qu'entre un Point and Click, un FPS ou un MMORPG, les techniques demandées peuvent être considérablement différentes.

    Il te faudra de toute façon apprendre les fondamentaux de la programmation :
    - L'algorithmique indispensable pour développer tout ce qui est gameplay un peu sophistiqué
    - Connaître le fonctionnement du low-level (sans forcément maîtriser) pour bien appréhender les library graphiques et les notions d'optimisation (si le jeu a des besoins de performance évidemment)
    - Les différents paradigmes : POO, programmation événementielle
    - Maîtriser les outils : Editeur/IDE, linkeur, débuggeur, etc.

    Après un jeu vidéo ne se limite pas qu'à du code. Toute la partie multimédia/assets est un gros morceau dans le développement d'un jeu. Il suffit de voir les budgets des jeux AAA pour s'en convaincre.

    Pour progresser, le mieux reste encore de fonctionner par projet plutôt que de vouloir tout connaître avant de se lancer dans un soit-disant vrai projet. C'est en fonction du projet que tu découvriras par toi-même les compétences qu'il te sera nécessaire de maîtriser. Le plus dur n'étant pas de commencer mais de terminer
    Tutoriels et FAQ TypeScript

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    Pour la partie Graphisme/Musique j'ai un pote qui s'en charge

    L'idée c'est de faire un jeu similaire a mon deuxième projet, mais en allant plus loin.
    Je vous mets un lien de téléchargement du projet (il est gros mais c'est parce que y a python avec) : http://ovh.to/HsnmM41 (~85Mo)
    Notez que pour le lancer il faut que votre ordi soit capable d'afficher une résolution de 1280*1024 et que je n'assume pas le menu qui précède la partie en elle même (le menu a été fait par un camarade).

    Très rapidement j'explique le principe :
    - Le but c'est de tuer son adversaire(qui joue sur le même ordi) en combat tour/tour
    - Vous pouvez vous déplacez en cliquant sur la pastille a coté des pieds (1 fois /tour)
    - Vous avez 4 attaques, qui ont des portées et des dégats différents. (1fois/tour même si celle que vous avez faites ne marche pas a cause de la portée ou d'un obstacle)
    C'est en soi une version (très) simplifié de Dofus

    Du coup mon projet pour cet été c'est de faire le même système de combat en plus fluide, plus complet, voir même enlevé la notion de tour par tour, revoir les maths qu'on utilise (j'ai fait ca très très rapidement les maths, et je veux plus poussé la dedans mais c'est pas un problème) et surtout faire qu'on puisse jouer en réseau et utilisé un autre langage.

    Je peux facilement y passé 200-300h cet été, sachant que je connais déjà le projet, je sais ou je vais

  16. #16
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Je pense que tu peux utiliser n'importe quelle techno pour réaliser ce type de projet.

    Le plus simple à mon avis est sans doute de poursuivre en Python sur les bases de ton projet précédent pour avoir une version fonctionnelle et que tu pourras plus facilement peaufiner qu'en repartant de zéro avec un nouveau langage et de nouveaux frameworks/libraries.

    Pour ce qui est du moteur de combat au tour par tour, si cela t'intéresse, je t'invite à consulter mon projet en cours sur ce post : http://www.developpez.net/forums/d15...bat-tour-tour/
    Tutoriels et FAQ TypeScript

  17. #17
    Inactif  
    Homme Profil pro
    feignant
    Inscrit en
    Mars 2015
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : feignant

    Informations forums :
    Inscription : Mars 2015
    Messages : 300
    Points : 0
    Points
    0
    Par défaut
    Mon conseil personnel:

    - continuer à faire des jeux avec python, la lenteur du langage t'obligera à découvrir les innombrables algorithmes d'optimisation
    - apprendre en parallèle le c++, déjà faire des petites démos son/image te demandera beaucoup de boulot

    Je déconseille les moteurs, c'est super compliqué à utiliser ces trucs là et leurs versions se démodent avant que t'aies eu le temps de les maîtriser.

Discussions similaires

  1. Votre avis : Quel langage de programmation pour développer ce programme ?
    Par julien.nasser dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 28/11/2008, 09h43
  2. Quel langage de programmation pour ce projet?
    Par yongblood dans le forum Windows
    Réponses: 6
    Dernier message: 11/01/2007, 01h41
  3. Quel langage de programmation pour des programmes simples ?
    Par Pierre.g dans le forum Langages de programmation
    Réponses: 18
    Dernier message: 22/11/2006, 14h22

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