CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Avis sur JavaScript

ericvoubz
ericvoubz
Niveau 4
10 janvier 2020 à 18:54:12

Salut tout le monde, alors je me suis pas mal renseigné afin de trouver un langage de programmation le plus complet possible et le plus récurent fut JavaScript qui permet à peu près tout.
Et donc ma question, validez-vous cet avis ? Et JavaScript est-il utilisable dans le domaine du jeux vidéo étant donné que cela semble être son seul point faible ?
Merci d’avance pour vos réponses :)

tsez93
tsez93
Niveau 10
10 janvier 2020 à 19:49:12

Et JavaScript est-il utilisable dans le domaine du jeux vidéo étant donné que cela semble être son seul point faible ?

Pour des jeux sur le web.

trouver un langage de programmation le plus complet possible

Pourquoi ?

Shiba_the_Inu
Shiba_the_Inu
Niveau 84
11 janvier 2020 à 11:23:00

Je débute avec C++ et Javascript. Le javascript est un bon compromis pour débuter je trouve, il est plus simple que le premier, en revanche un minimum plus exigeant et clair (en terme de lecture directe pour rapidement savoir qui vaut quoi) que des langages comme python. Et beaucoup de choses que j'ai appris de Javascript m'ont servi à mieux comprendre le C++ mais l'inverse est aussi vrai, et sans forcément connaitre du C# ou Java, tu peux à peu près reconnaitre le fonctionnement de code simple de ces langages aussi, car pas mal de syntaxe sont partagées.

Tu peux faire des jeux en Javascript, d'ailleurs perso je bidouille RPG Maker MV qui a déjà pas mal d'outils de base mis en place pour faire un jeu, et tu n'ai pas obligé de te limiter à du RPG. Le truc c'est qu'avec le javascript tu peux facilement injecter du code pendant que ça tourne, pour voir comment réagissent tes fonctions, tes variables etc, ou voir ce que contient tel ou tel élément. C'est super pratique quand tu apprends ton langage car ça te permet d'avoir une vision directe des choses, et c'est ça ce que je trouve super avec le Javascript, c'est très dynamique, en plus t'a juste besoin d'ouvrir un onglet vide sur ton navigateur internet pour tester rapidement des fonctions.

J'utilise aussi PIXI.js à côté (qui est utilisé pour faire RPG Maker MV à la base), mais tu as aussi Cocos Creator, Godot, Super Power HTML5 etc... En revanche ce sera toujours des application web. Alors attention, ça ne veut pas dire que tu dois jouer sur internet, mais tu devras lancer un fichier HTML à la place d'un fichier exe,et sur certains points c'est moins pratique que d'autres langage. Mais globalement tu peux faire des jeux, oui, en revanche ce sera plus lourd, le code est moins optimisé et moins optimisable dans un langage comme Javascript.

Cela dit, le C++ c’est plus optimisable, mais faut savoir le faire ^^. D'ailleurs on dit souvent que c’est un laguage compliqué, mais honnêtement, je ne trouve pas. Du moins je dirais "Facile à Apprendre, Difficile à Maitriser", certaines bibliothèques permettent par exemple de manipuler des "tableaux" de données beaucoup plus facilement (et de la même manière qu'en Javascript par exemple), ou de faire des actions en quelques termes plutôt qu'avoir à inscrire soit même le code complet.
Après petit à petit on peut apprendre à re-coder ces fonctionnalités comme à l'ancienne.
Y'a bien quelques petites notions comme les pointeurs qui sont pas évidents, mais ce n'est pas insurmontable (même moi j'ai pu le comprendre et je suis loin d'avoir une logique.. 'logique')., et surtout ça peut t'apprendre comment marcher certaines choses dans d'autres langage justement.

Si tu veux apprendre le javascript y'a openclassroom, ou ces deux sites :
https://www.w3schools.com/js/default.asp (anglais)
https://www.pierre-giraud.com/javascript-apprendre-coder-cours/introduction/ (fr)
Ces deux précédents sont facile à comprendre avec des exemples simples.

en C++ si jamais tu veux jeter un coup d'œil tu as openclassroom aussi, sinon
https://www.w3schools.com/cpp/default.asp (anglais)
Y'a un utilisateur du fofo qui a aussi fait un moteur 'maison' pour afficher facilement des choses :
http://www.dk-games.com/NGCK.html
Ça permet d'appliquer directement les notions apprises sans te prendre la tête à configurer toi même un moteur de rendu, et ça te permet en revanche de comprendre comment il marche pour par la suite t'attaquer toi même directement au moteur de base (c'est basé sur SFML) pour faire toi même ton propre petit moteur. J'ai d'ailleurs dans un premier temps refais des exercices sur SFML pour apprendre à le maitriser après avoir bien compris le principe de NGCK.

Bref, à toi de voir, pour les jeux tu peux en faire en C#, C++, Javascript, Python.... ils ont des librairies pour ça, le seul truc c'est que certains langage seront moins optimiser pour des gros jeux, mais dans un premier temps ça peut te permettre de comprendre le langage, et par la suite tu peux basculer. Sans dire qu'en en connaissant un tu les connais tous, mais en en maitrisant un, tu comprendras des concepts partagés (le fonctionnement, des variables, des fonctions, l'utilité d'un "tableau", les boucles, la manière logique de résoudre les choses), par la suite tu peux rapidement assimiler les bases d'un autre langage, tu devras apprendre de nouveau terme, peut être de nouvelles notions.
Mais quand on sait ce qu'on veut faire, ça rend la recherche plus facile, et la documentation que tu trouveras derrière sera généralement assez complète pour la plupart des langages.

D'ailleurs, en parlant de 'savoir ce que l'on veut faire', je dirais que c'est le principal, si tu as des petits objectifs à court terme, et pas juste envie d'apprendre pour apprendre, ce sera beaucoup plus simple. Bien évidemment faut commencer par les bases si tu veux faire un jv, affichage d'un carré, changement de couleur, création d'un pong, d'un snake, d'une scène de combat de rpg (juste un petite scène pas le moteur entier :-p), défilement de l'écran, principe de scrooling etc....
Mais je trouve ça plus motivant si tu as vraiment un but derrière, surtout que ça te fera chercher des logiques ou fonctions sur internet qui t'apprendront justement de nouveaux termes et notions, voir des petits raccourcis sur ta manière d'écrire le code.

Donc voilà, après c'est mon avis en tant que débutant, mais pour répondre simplement à ta question, oui, on peut faire des jv en Javascript. Rpg Maker MV en est l'exemple, et tu peux même en faire des shooters, ou jeu de plateforme avec, ils ont fait un autre logiciel aussi en javascript plus orienté jeu d'action de base, mais en réalité tes premières limites seront surtout tes connaissances du langage. Derrière tu as les moteurs que je t'ai cité plus haut (PIXI.js étant un un peu l'équivalent SFML ou Direct X en plus simple, le reste ce sont des moteurs de jeu simplifié à l'image de l'Unreal Engine (c++) ou Unity (C#)).
Perso ça doit faire 2 mois que j'ai commencé c++/javascript, et j'arrive maintenant à utiliser les moteur PIXI et SFML, je ne les maitrise pas, ni les langages, mais globalement j'arrive à faire pas mal de choses, même si c'est plus long que d'autres programmeurs, ça marche quand même. Et la je fais en parallèle un rpg en c++, et je modifie rpg maker mv pour me faire un rpg mélangé entre du dofus et du donjon et dragon. C'est long, mais en faisant les choses petits à petit on y arrive. Quitte à devoir recommencer certains trucs parce que mon code est un peu trop compliqué et lourd., mais c’est en forgeant et en faisant des erreurs qu'on apprends le métier de forgeron ^^.

PS : désolé pour le pavé ^^'

Message édité le 11 janvier 2020 à 11:27:11 par Shiba_the_Inu
ericvoubz
ericvoubz
Niveau 4
11 janvier 2020 à 13:52:37

Pour répondre au premier message « pourquoi » et bien car comme Shiba à un moment j’imagine j’hésite entre le c++ qui est le must pour les jeux vidéos et le Javascript qui est super intéressant dans la plupart des domaines.
En effet le domaine des jeux vidéos m’a toujours intéressé mais par exemple Unreal repose principalement sur du blueprint ce qui m’a vraiment ennuyé étant donné qu’apprendre le c++ était bien plus bénéfique sur le long terme et ce malgré sa difficulté.
D’ailleurs Shiba j’ai l’impression qu’on connaît des situations similaires lol
Merci beaucoup pour vos réponses, ça m’a pas mal éclairé et je pense apprendre les deux finalement.
Auriez-vous un ordre à me conseiller ?
D’ailleurs pour le c++ je suis le cours du zestedusavoir qu’en pensez-vous ?
Pour JavaScript je compte suivre le cours de Pierre Giraud qu’en pensez-vous ?
J’aimerai suivre de bon cours afin d’avoir des bases solides une fois ceux-ci fini. :)

Shiba_the_Inu
Shiba_the_Inu
Niveau 84
11 janvier 2020 à 14:28:28

Je dirais que commencer un peu par le javascript sera plus simple, déjà tu n'as pas besoin de t'emmerder à installer et régler ton projet pour pouvoir le compiler etc, juste le navigateur web suffira, et parce que tu as besoin de connaitre moins de terme pour commencer. Par exemple pour les variables tu as juste les terme var et let qui peuvent prendre n'importe quel forme et changer de genre à la volée (c'est pratique quand tu débutes).
Là où le c++ tu as les int, float, double etc pour désigner un genre de variable (les nombres entier, à virgule, entier négatif ET positif, entier SEULEMENT positif etc). C'est pas forcément compliqué et ça s'assimile vite, mais autant démarrer simplement.
Pour le reste ça t'apprendra déjà à créer des fonctions simples, la portée des variables (les valeurs pourront être ou ne pas être modifiée selon où tu les places dans le code) etc.

Une fois que tu sais utiliser des tableaux, et un peu les "objets" tu peux commencer un peu en parallèle le c++, ce sera pas forcément très déstabilisant, mais la manière d'utiliser les objets et les tableaux vont te faire apprendre de nouvelles notions et ça va un peu te présenter comment est gérer la mémoire pour ton programme.

Pierre Giraud c'est plutôt sympa, un peu trop de blabla peut être, mais les exemples sont clairs et simples à comprendre. Y'a le bouquin https://www.toutjavascript.com/livre/index.php qui est pas mal aussi, je l'ai commandé sur Amazon.

Zeste du savoir je peux pas te dire, mais ça a l'air complet à première vu.
Après je te conseil d'être curieux, de peut être aussi apprendre vite fait comment marche ton ordinateur (à quoi sert exactement la ram, processeur etc dans un programme) et quand tu code, utilises toujours la sortie console. en c++ ce sera via printf ou cout, et sur javascript ce sera console.log(). Ça te permettra d'afficher des informations, ça te permet d'afficher des valeurs de tes variables, leur type etc suivant ce que tu indiques. C'est très pratique pour apprendre et voir les effets que font tes opérations sur ces variables. Si par exemple tu as un programme qui ne fait pas ce que tu veux ou alors il ne trouve pas de variable etc, ça te permet de remonter petit à petit jusqu'à l'endroit où une fonction/variable n'est pas bien traitée pour x raison.
Ils en parlent pas trop forcément dans ce sens là, mais c'est vraiment le truc super utile pour tester des petites opérations et retrouver l'endroit ou ton code est mal écrit.
Surtout qu'encore une fois, dans le cadre du javascript tu peux facilement injecter du code et modifier tes valeurs directement, sans avoir à tout recompiler, donc n'hésite pas à tester des fonction que tu as appris pour modifier tes variables et bien comprendre le fonctionnement, ne fait pas juste qu'apprendre, mais applique toi pour comprendre, ça peut sembler idiot dit comme ça, mais parfois on a tendance à apprendre des trucs par cœur, sans forcément chercher à comprendre le comment du pourquoi. Sauf que programmation le raisonnement doit être rigide, l'ordinateur n'inventera pas et ne corrigera pas ton propre code, donc test des trucs, même si ça parait idiot, parfois ça donne des résultats étranges, et changer les valeurs jusqu'à trouver comment ça réagit exactement ça peut être bien bénéfique.
C'était mon cas d'ailleurs en c++ avec le chapitre sur les pointeurs où j'ai testé les symboles * et & avec absolument tout pour voir ce que ça affichait dans la console.....

Je te conseil encore une fois le site w3schools.com en complément, c'est très concis si tu veux retrouver facilement au début une notion et quelques exemples simples qui lui sont liées.

tsez93
tsez93
Niveau 10
11 janvier 2020 à 16:02:16

Je suis d'accord aussi pour commencer par Javascript. N'importe quel tutoriel t'apprendra les bases.
Mais surtout il faut pratiquer, crée un site ou mieux un programme avec node.js

Le seul conseil que je puisse donner pour C++ : soit motivé, surtout si tu veux apprendre en profondeur.

ericvoubz
ericvoubz
Niveau 4
11 janvier 2020 à 17:42:20

Merci Shiba pour les romans tu m’as bien éclairé sur le sujet (je suis d’ailleurs en ce moment même sur le chapitre des variables en c++ lol)
Merci à toi Tsez tu m’as beaucoup aidé également
À présent il ne me reste plus qu’à appliquer vos conseils :)

boucif
boucif
Niveau 24
11 janvier 2020 à 19:44:37

Après JS faut aimer, un langage assez pauvre, nécessitant l'ajout de nombreuses librairie souvent, pas forcément la meilleure solution pour du desktop/mobile/jeu mais à connaître si tu fais du web.
le mieux c'est de connaître JS et un autre langage, a voir ce que tu cible en faîte

Shiba_the_Inu
Shiba_the_Inu
Niveau 84
12 janvier 2020 à 10:25:00

Après JS faut aimer, un langage assez pauvre, nécessitant l'ajout de nombreuses librairie souvent,

Que veux-tu dire par là ?
À mon sens alors le c++ serait encore plus pauvre, puisque de base même les fonctions de conteneur (vector, list etc) ou de Math ne sont pas incluses de base mais nécessite les librairies associées, là ou en JS elles y sont présentes ?

lokilok
lokilok
Niveau 16
12 janvier 2020 à 10:45:33

C'est la librairie standard ça, c'est inclus de base avec le langage.

boucif
boucif
Niveau 24
12 janvier 2020 à 13:02:45

Bein sur cetain langage t’as un framework de base qui te forurnis pleins d’outils, par exemple en c# t’as le framework.net qui te fournis plein d’outils, je pense en Java c’est la même chose, en JS tu veux bosser avec des lists il y a plein de traitements que tu vas devoir faire à la main, même s’il commence à ajouter des teucs pour ça ou tu dois utiliser des librairies style underscorejs, rxjs ...

ericvoubz
ericvoubz
Niveau 4
12 janvier 2020 à 15:23:48

Le cours de Pierre Giraud est pas mal pour l’instant mais il n’est pas très concis la plupart des chapitres s’allongent beaucoup trop, auriez vous un autre cours à me proposer ? ^^

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment