Se connecter

Informatique

Création de Jeux

Sujet : C++ ou C# pour faire des jeux vidéos a long terme ?
1
airv_
Niveau 9
15 octobre 2017 à 18:24:35

(J'ai posté le même sujet sur le forum Programmation je sais pas lequel pourras me répondre au mieux)

Quand je dit faire des jeux vidéos, je veut dire que l'objectif principal c'est ça, mais je pense pas que je ferait que ça.

Je sais que les 2 langages ont chacun de bons moteurs de jeu (unity et unreal).

Sachant que je ne suis pas novice en programmation (connaissances assez poussées en python, et moyenne en javascript).

J'ai aucune idée de ce qui pourrait me faire trancher entre C++ et C# :(

[-Shana-]
Niveau 10
15 octobre 2017 à 21:03:35

Les deux ont des avantages et inconvénients. De toute façon, à court terme tu peux apprendre l'un ou l'autre, il n'y aura que le sucre syntaxique qui changera énormément. Sur le long terme, sur des projets en indé, le C# suffit amplement. Pour le C++ tu as une plus grande maîtrise de ce que tu fais, mais tu peux également faire plus de bêtises. De toute manière, une fois l'un acquis, c'est assez rapide d'apprendre les subtilités de l'autre (peut être plus long C# => C++ car le C++ peut mixer deux paradigmes, il y a toute la partie mémoire etc alors qu'en C# c'est géré auto par un garbage collector) :ok:

Prends celui qui t'inspire le plus, de toute manière avant même d'apprendre un langage tu dois apprendre l'algorithmie, c'est la base de tout :oui:

Lapintade
Niveau 18
15 octobre 2017 à 22:33:27

J'ai aucune idée de ce qui pourrait me faire trancher entre C++ et C#

Simplement l'application que tu veux en faire et/ou les metiers/domaines spécifiques que tu vise.

airv_
Niveau 9
15 octobre 2017 à 23:47:19

Le 15 octobre 2017 à 22:33:27 Lapintade a écrit :

J'ai aucune idée de ce qui pourrait me faire trancher entre C++ et C#

Simplement l'application que tu veux en faire et/ou les metiers/domaines spécifiques que tu vise.

Est ce que un des deux langages peut servir en sécurité informatique ?

tsez93
Niveau 10
16 octobre 2017 à 06:41:05

Est ce que un des deux langages peut servir en sécurité informatique ?

Je dirais plutôt C++ que C# pour la sécurité informatique mais je suis surpris de la question vu que tu as des "connaissances assez poussées" en Python.
Beaucoup de PoC sont fait en Python, c'est vraiment le langage pour l'étude de la sécurité réseau. Tu en as a déjà fait le tour ? Cela m'étonnerait.

airv_
Niveau 9
16 octobre 2017 à 19:38:47

Le 16 octobre 2017 à 06:41:05 tsez93 a écrit :

Est ce que un des deux langages peut servir en sécurité informatique ?

Je dirais plutôt C++ que C# pour la sécurité informatique mais je suis surpris de la question vu que tu as des "connaissances assez poussées" en Python.
Beaucoup de PoC sont fait en Python, c'est vraiment le langage pour l'étude de la sécurité réseau. Tu en as a déjà fait le tour ? Cela m'étonnerait.

Je posais la question car si le langage que je vais apprendre peut aussi me servir a autre chose, je prend :oui:

Lapintade
Niveau 18
17 octobre 2017 à 09:41:34

Le C++ reste le plus polyvalent.

airv_
Niveau 9
17 octobre 2017 à 19:47:25

Le 17 octobre 2017 à 09:41:34 Lapintade a écrit :
Le C++ reste le plus polyvalent.

Enfin une réponse tranchée :bave: Jvais partir sur c++ du coup :ok:

ixr_exentro
Niveau 5
21 octobre 2017 à 19:41:51

C#
Unity ne gère pas le C++ directement.De ce que j'ai compris, le code C++ est wrappé dans une dll qui sera exécutée par du code C# (ou javascript).
Certains code pro sont fait en C++ plutôt qu'en C# car plus performant (si bien fais évidemment). Pourquoi ne pas tout faire en C++ alors? Parce que le C++ est plus compliqué et fastidieux à coder, parfois parce que le C# ne permet pas de faire les choses directement (car protections internes qu'il n'y a pas en C++).
Je dirais qu'utiliser du C++ dans unity, c'est déjà une utilisation avancée du moteur, si tu débutes tu auras forcément plus simple de commencer par le C#. Historiquement C# est orienté objet et est arrivé après C++ qui lui n'est pas objet. Ce qui fait du C# un langage de plus haut niveau.

Maintenant ce n'est peut-être pas la bonne question, si tu as des "connaissances avancée" en python, tu peux aussi faire des jeux en python. Si PyGame ne suffit pas, regarde du coté du moteur Godot (qui utilise le GDScript, une variante du python, et qui d'ailleurs permet également d'écrire du code C++). https://fr.wikipedia.org/org/wiki/Godot_(moteur_de_jeu)

airv_
Niveau 9
22 octobre 2017 à 00:41:27

Le 21 octobre 2017 à 19:41:51 ixr_exentro a écrit :
C#
Unity ne gère pas le C++ directement.De ce que j'ai compris, le code C++ est wrappé dans une dll qui sera exécutée par du code C# (ou javascript).
Certains code pro sont fait en C++ plutôt qu'en C# car plus performant (si bien fais évidemment). Pourquoi ne pas tout faire en C++ alors? Parce que le C++ est plus compliqué et fastidieux à coder, parfois parce que le C# ne permet pas de faire les choses directement (car protections internes qu'il n'y a pas en C++).
Je dirais qu'utiliser du C++ dans unity, c'est déjà une utilisation avancée du moteur, si tu débutes tu auras forcément plus simple de commencer par le C#. Historiquement C# est orienté objet et est arrivé après C++ qui lui n'est pas objet. Ce qui fait du C# un langage de plus haut niveau.

Maintenant ce n'est peut-être pas la bonne question, si tu as des "connaissances avancée" en python, tu peux aussi faire des jeux en python. Si PyGame ne suffit pas, regarde du coté du moteur Godot (qui utilise le GDScript, une variante du python, et qui d'ailleurs permet également d'écrire du code C++). https://fr.wikipedia.org/org/wiki/Godot_(moteur_de_jeu)

Pygame on est très vite limité, limite il fallait que j'optimise un jeu de plateforme 2d pour qu'il tourne convenablement.

Je sais qu'il existe des moteurs sous puython (godot pour 2d, blender3d pour de la 3d) mais j'ai pas trop envie de m'investir dans des technologies "peu utilisées"

ixr_exentro
Niveau 5
22 octobre 2017 à 12:27:03

Godot ne se limite pas à la 2D, il fait des jeux 3D aussi (1ière ligne de wikipédia :D ).
Blender n'est pas un moteur de jeu, c'est un outil de création d'objet 3D (modélisation, animation & rendu).
Qu'est ce qui te fait dire que Godot est "peu utilisé" ? C'est sûr que Unity est loin devant, au point qu'a coté je pourrais mêm dire que l'unreal engine est "peu utilisé" :)
Fun fact, il ont annoncé hier la beta pour le support du C# sur Godot (https://godotengine.org/article/introducing-csharp-godot).
Dernière chose, Godot est gratuit, Unity ne l'est pas (complètement).

1
Sujet : C++ ou C# pour faire des jeux vidéos a long terme ?
   Retour haut de page
Consulter la version web de cette page