Salut à tous, (pitié lisez mon pavé...)
Je pose une question qui a sans doute été posé 100 fois mais je voudrais quelques précisions.
En effet je ne cherche pas l'outil de développement ultime (car je sais qu'il n'existe pas ) mais bel et bien celui qui me correspondrait le mieux.
Je m'explique :
Je trouve beaucoup d'avantages à développer en c++ avec des bibliothèques telles que sdl ou autres : j'ai déjà pas mal de bases en programmation ; une bonne maîtrise de la programmation pourrait me servir ailleurs que dans le jv ; j'aime l'idée de contrôle totale sur le soft ; ça pourrait m'amener à des compétences utiles professionnellement
Mais je doute:
Les softs tels que construct, game maker, etc... sont de plus en plus performants ; On peu gagner pas mal de temps sur les tâches de programmation "basiques" ; je veux réaliser quelque chose de fini mais je ne peux pas y consacrer tout mon temps (faut manger aussi !) ; j'ai des ambitions d'amateur pour l'instant
Après ce pavé, ma question est simple :
Est-ce que faire un JV sans logiciel c'est du passé ? Ou réservé à des gens dont c'est le métier ?
Merci d'avance pour vos conseils ! =)
Non, il n'y a pas de raison que programmer son propre moteur de jeu ne soit plus possible comme ça l'était "avant" ; d'ailleurs certains gros hits indés actuels ont à ma connaissance leur propre moteur de jeu "fait maison" (Rogue Legacy, Legend of Grimrock, ou encore le très impressionnant projet No Man's Sky ...qui d'ailleurs en l'état actuel n'est bien que et uniquement un moteur de jeu ^^).
Pour autant, c'est sûr que développer sont propre moteur de A à Z c'est du boulot, et ce d'autant plus que tes projets seront ambitieux ; et il faut reconnaitre que les projets d'aujourd'hui sont souvent plus ambitieux que ceux d'hier ;). Et un moteur de jeu "tout fait" peut d'une part te décharger d'une grosse partie du travail pour te permettre de te concentrer sur l'essentiel (le gameplay et sa mise en œuvre), mais en plus t'offre des possibilités que peut-être tu serais bien incapable d'implémenter toi-même (donc là on ne parle plus de "simple" gain de temps, mais de possibilités supplémentaires!).
Et si tu as des connaissances robustes en programmation, je pense qu'un des outils les plus puissants actuel est Unity, puisque par la programmation de script tu garderas beaucoup de liberté sur ton projet, et tu pourras largement tirer parti et faire fructifier tes compétences en matière de code. Surtout qu'il semble proposer maintenant (en plus de la 3D qui est sa vocation initiale) des outils spécifiques pour le développement de jeux 2D.
Mais au final si, par rapport à la complexité des projets que tu comptes réaliser, tu te sens les compétences suffisantes pour tout programmer de A à Z, ce n'est bien sûr pas interdit (et pas moins faisable aujourd'hui qu'hier). Pragmatiquement d'aucun pourra dire que c'est du temps de perdu ("réinventer la roue"), mais cela peut aussi être un défi, une façon de renforcer ses compétences, ou simplement un passe-temps ;).
L'avantage de développer son moteur soit même, c'est aussi d'acquérir des connaissances en programmation graphique. Si ton ambition c'est de bosser dans une grosse boite de jeu, sur le cv, c'est toujours mieux d'avoir "Développe un moteur de rendu" que "Maitrise de GameMaker". Après si tu veux juste faire un jeu sans trop de soucier de programmation pure et dur, tu peux te lancer dans Unity, GameMaker, etc.
Après si tu veux ton propre moteur pour être plus libre je te conseil d'utiliser SDL avec parcimonie. Car autant c'est pratique pour quelques opérations comme la création de fenêtre ou le chargement de texture, pour le reste c'est quand même assez restreint. Je te conseille plutôt de te servir directement de OpenGL. Voilou
Il est tard et je n'ai pas trop le temps d’étoffer ma réponse mais je tenais à vous remercier dès ce soir pour vos conseils qui me sont très précieux !
Cette communauté est décidément exceptionnelle !
Hello
Je souhaites apporter mon grain de sel
Pour ma part, je constate qu'un moteur de jeu pour tester une idee est indispensable.
Dans la journée il faut déja pouvoir "tester" son idee
Il faut vraiment faire une maquette avec des carrés, pour voir si le gameplay est viable.
Ensuite il faut penser loin et choisir un moyen de déployer son jeu sur plusieurs supports...facilement ( relatif
Perso, j'ai choisi fusion2.5 ( sans faire de pub ), il permet de réaliser en peu de temps un proto et le déployer sur divers support.
Faire un jeu c'est un GROS boulot!!! la simplicité est l'ami de la réussite Meme sur un tout petit projet, la finition prend beaucoup de temps et pour ne pas flancher il faut du courage!!!
Choisir un "logiciel" pour aider à la création est un énorme gain de temps. Faire du C c'est bien, mais peux tu faire un proto dans la journée? en tant qu'indépendant le temps n'ai pas favorable au succès...
Afin de prouver ce que je dis, combien de temps vous faut il pour faire un tic tac toe? puis ajouter des graphismes, puis des sons? puis le publier, faire toutes les finitions etc...
Merci de votre attention et bonne réflexion
A+ Pit
Mon projet actuel : izidiy kawaii volley > http://izidiy.fr
Si tu veux faire un jeu tout seul (ou même à 2 ou 3 personnes), sans soutien financier, et que tu dois gérer tous les graphismes, la musique, ton équipe et ton projet, le scénario, le gameplay, et qu'à côté de ça tu dois développer ton moteur intégralement, tu risques de ne jamais t'en sortir. A moins bien sûr que tu sois un vrai génie du c++ et que pour toi le plus amusant soit de créer le moteur pendant que les autres bossent comme des fous sur le reste C'est une possibilité, mais c'est risqué (dans le cadre d'un projet sérieux j'entends).
Ce que je veux dire, c'est que tous les indés ou presque ont recours à des moteurs qui existent déjà, parce que c'est une très lourde tâche que de faire un jeu. Tout dépend évidemment de l'ambition : un moteur de jeu en 2D sera beaucoup plus facile à programmer qu'un moteur 3D.
Mais utiliser un moteur existant ne veut pas dire que tu ne coderas rien ! Si tu prends l'exemple d'Unity, il y a de nombreuses façons d'utiliser tes connaissances en programmation, que ce soit en développant des plugins ou en scriptant des phases du jeu. Beaucoup de développeurs de génie passent du temps à développer des plugins pour Unity, qu'ils vendent sur le store officiel, et ces outils sont parfois très utiles.
De base, Unity est assez vide, et ce sont tous ces plugins et ces scripts pré-conçus qui font la force du logiciel : le plugin pour faire des jeux d'aventure, le plugin pour faire des rpg, etc...
Libre à toi de tester des moteurs sans avoir recours à ce genre de plugin, et de tout développer toi-même ! Récemment j'ai découvert Godot, c'est un Unity-like et il y a beaucoup de choses à coder. Honnêtement, même en prenant un soft existant, il y a déjà bien de quoi s'éclater (Evidemment il y a aussi des moteurs qui ne nécessitent pas de programmation du tout, mais ils seront beaucoup moins flexibles à tes yeux - moi en tant que graphiste, je les préfère !).
http://www.theicehouse.fr
Pour avoir justement développer mon propre moteur de jeu 2D, sache que c'est un ENORME boulot si tu veux qu'il soit "générique" (pour pouvoir l'utiliser pour développer différents types de jeu, pour qu'il puisse être porter sur différentes plateformes, ...).
Pour te donner une idée, j'ai travaillé sur mon moteur 2D en C++/Lua pendant ~2 ans sur mon temps libre, et il reste encore beaucoup de petites choses que je peux encore faire, même si la base est là. Non je ne regrette pas de l'avoir fait, mais il faut bien garder à l'esprit que tu ne développeras pas ton premier jeu tout de suite si tu procèdes comme ça. Je commence à peine à développer mon premier jeu après 2 ans de développement pour le moteur, et 6 mois de réflexion sur le jeu (toujours sur mon temps libre, donc à relativiser ^^). Ce que je remarque, c'est qu'avoir son propre moteur offre beaucoup d'avantages, car on peut ajouter des fonctionnalités spécifiques au moteur en fonction de nos besoins (au lieu de devoir éplucher les pages de doc et les forums pour trouver un moyen de faire telle ou telle chose, on la programme directement).
Mais je pense que les Unity/GameMaker & cie sont un tremplin extraordinaire pour le développement de jeux vidéo quand on a une petite équipe (voir lorsqu'on est tout seul), et qu'il y aura aussi de la programmation dans le tas (je n'ai pas d'expérience avec ces logiciels, mais je doute qu'on puisse "tout" faire avec des menus, aussi poussés soit-ils).
Maintenant, programmer son propre moteur est extrêmement intéressant en soi, on essaie de reproduire différents effets que l'on a vu dans tel ou tel jeu, on apprend à bien structurer le programme (car il faut prévoir les fonctionnalités futures, il faut que tout reste clair même avec plus de 10.000 de code). Je l'ai fait 1 fois pour la 2D, et j'en suis très content, mais je ne pense pas que je retenterais le coup avec la 3D (ou alors j'adapterais le moteur actuel, mais je ne repartirais pas de 0).