Langage de programmation
Fermé
Wumbaloo
-
Modifié par Wumbaloo le 16/08/2015 à 19:07
Sugel Messages postés 4076 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 19 juin 2017 - 16 août 2015 à 23:18
Sugel Messages postés 4076 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 19 juin 2017 - 16 août 2015 à 23:18
A voir également:
- Langage de programmation
- Langage ascii - Guide
- Application de programmation - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
6 réponses
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 482
Modifié par dsy73 le 16/08/2015 à 22:03
Modifié par dsy73 le 16/08/2015 à 22:03
Salut
GTA Online a été créé par Rockstar, ils ont créé le jeu original donc ils peuvent ce qu'ils veulent.
Concernant GTA V MP, je suppose qu'ils utilisent un SDK pour intéragir avec le jeu original et implémenter un multijoueur.
Après avoir parcouru leur forum, il semble que du reverse engineering soit utilisé...
Effectivement la plupart des SDK des mods pour les "gros" jeux sont en C++ comme le jeu d'ailleurs.
Pour la dernière question as-tu le lien vers l'annonce ?
GTA Online a été créé par Rockstar, ils ont créé le jeu original donc ils peuvent ce qu'ils veulent.
Concernant GTA V MP, je suppose qu'ils utilisent un SDK pour intéragir avec le jeu original et implémenter un multijoueur.
Après avoir parcouru leur forum, il semble que du reverse engineering soit utilisé...
Effectivement la plupart des SDK des mods pour les "gros" jeux sont en C++ comme le jeu d'ailleurs.
Pour la dernière question as-tu le lien vers l'annonce ?
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 482
16 août 2015 à 21:53
16 août 2015 à 21:53
Si j'ai bien compris, Javascript serait utilisé pour contrôler le serveur. Par exemple : kicker un joueur.
Le reste (partie client) n'est pas encore documenté et le message sur le forum n'est pas bien clair pour moi.
Le reste (partie client) n'est pas encore documenté et le message sur le forum n'est pas bien clair pour moi.
https://forum.gta-mp.net/index.php?/topic/238-explications-sur-gta-mp/?p=2512
Le troisième paragraphe
Le troisième paragraphe
D'accord, ça m'étonnais de voir qu'on peut modifier un jeu via du HTML/CSS etc, parce que ce sont des langages web, alors certes, je me dis qu'ils peuvent servir sur le téléphone (sur internet en jeu) mais c'est intriguant.
Sugel
Messages postés
4076
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
725
16 août 2015 à 22:08
16 août 2015 à 22:08
Non, javascript n'est pas que un languge web. c'est un langage comme les autres, et il peut être utilisé un peu pour n'importe quoi à condition qu'il soit executé dans un environnement approprié, avec des bibliothèques appropriées. Prends l'exemple de nodeJs, basé sur la syntaxe JS.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sugel
Messages postés
4076
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
725
Modifié par Sugel le 16/08/2015 à 22:30
Modifié par Sugel le 16/08/2015 à 22:30
à mon avis, il y aura une part de personnalisation des serveurs, avec des bannières et éléments du jeu contrôlables via une API javascript.
Le javascript et le reste des langages web ne sont pas restreints à ton navigateur; ils ne sont là que parce que ils ont été conçus pour.
Rien ne t'empêche d'utiliser le code d'un navigateur existant (moteur de rendu / moteur JS) et de l'interfacer avec un jeu.
Je n'ai pas de copie du jeu sous la main, mais il est très probablement codé en C++, ce qui ne signifie pas que tu peux le modifier comme ça:
ce programme est compilé, c'est à dire que le code source C++ à été converti dans un langage que ta machine comprends (le langage machine justement).
Modifier ce jeu en profondeur comme tu le décris, c'est à dire au delà des possibilités laissées par les développeurs, implique de comprendre et modifier ce fameux langage machine, afin de pouvoir l'interfacer avec ton propre code.
Tiens, regarde un peu ça:
https://fr.wikipedia.org/wiki/OllyDbg#/media/File:OllyDbg_capture.png
L'assembleur, c'est à dire le langage machine transcrit dans une écriture lisible, ça ressemble à ça.
C'est très peu lisible, et encore moins quand tu a des centaines de milliers d'écrans comme celui-ci et que tu n'a aucune indication sur leur usage, à part des symboles de développement oubliés à gauche à droite, et des liens avec d'autres endroits du programme, eux-aussi difficilement compréhensibles.
tu devrais donc modifier en profondeur le fonctionnement interne du jeu, les centaines de fonction qui chargent les éléments du décors pour qu'elle les chargent à partir d'un autre endroit, et en plus depuis le réseau.
Il te faudra donc construire un protocole pour communiquer toutes ces informations de manière fiable et asynchrone, en plus du serveur qui va avec.
Il serait déjà un exploit de parvenir à trouver dans ce foulli les éléments que tu cherches (position des joueurs, ...), alors les modifier ?
Désolé de refroidir tes ardeurs, mais un tel projet n'es pas impossible, simplement irréalisable tel quel. Par contre, il est possible d'exploiter ce qui est fourni par rockstar: le jeu charge de lui-même les mods, et leur fourni de quoi travailler.
Et si ce miracle est possible, c'est par des modifications de surface implémentées dans le mode solo:
on fait apparaître une nouvelle entité via l'api de mod, et on la contrôle via le réseau.
--
------------------------------------------------------------------------------------
"La peur mène à la colère. La colère mène à la haine. Et la haine ... mène à la souffrance." - Yoda
Le javascript et le reste des langages web ne sont pas restreints à ton navigateur; ils ne sont là que parce que ils ont été conçus pour.
Rien ne t'empêche d'utiliser le code d'un navigateur existant (moteur de rendu / moteur JS) et de l'interfacer avec un jeu.
Je n'ai pas de copie du jeu sous la main, mais il est très probablement codé en C++, ce qui ne signifie pas que tu peux le modifier comme ça:
ce programme est compilé, c'est à dire que le code source C++ à été converti dans un langage que ta machine comprends (le langage machine justement).
Modifier ce jeu en profondeur comme tu le décris, c'est à dire au delà des possibilités laissées par les développeurs, implique de comprendre et modifier ce fameux langage machine, afin de pouvoir l'interfacer avec ton propre code.
Tiens, regarde un peu ça:
https://fr.wikipedia.org/wiki/OllyDbg#/media/File:OllyDbg_capture.png
L'assembleur, c'est à dire le langage machine transcrit dans une écriture lisible, ça ressemble à ça.
C'est très peu lisible, et encore moins quand tu a des centaines de milliers d'écrans comme celui-ci et que tu n'a aucune indication sur leur usage, à part des symboles de développement oubliés à gauche à droite, et des liens avec d'autres endroits du programme, eux-aussi difficilement compréhensibles.
tu devrais donc modifier en profondeur le fonctionnement interne du jeu, les centaines de fonction qui chargent les éléments du décors pour qu'elle les chargent à partir d'un autre endroit, et en plus depuis le réseau.
Il te faudra donc construire un protocole pour communiquer toutes ces informations de manière fiable et asynchrone, en plus du serveur qui va avec.
Il serait déjà un exploit de parvenir à trouver dans ce foulli les éléments que tu cherches (position des joueurs, ...), alors les modifier ?
Désolé de refroidir tes ardeurs, mais un tel projet n'es pas impossible, simplement irréalisable tel quel. Par contre, il est possible d'exploiter ce qui est fourni par rockstar: le jeu charge de lui-même les mods, et leur fourni de quoi travailler.
Et si ce miracle est possible, c'est par des modifications de surface implémentées dans le mode solo:
on fait apparaître une nouvelle entité via l'api de mod, et on la contrôle via le réseau.
--
------------------------------------------------------------------------------------
"La peur mène à la colère. La colère mène à la haine. Et la haine ... mène à la souffrance." - Yoda
Merci pour cette réponse détaillée!
Donc, si je résume: c'est impossible de créer ce genre de multijoueur sur certains jeux solo car les développeurs n'ont pas mis assez d'accès, ici, GTA V, les développeurs ont laissé la chance aux gens de pouvoir créer leur mods solo, c'est de la que partent d'autres développeurs qui vont développer un multi-joueur à leur façon, et encore, donner d'autres possibilités pour les scripteurs qui vont pouvoir créer leur serveur.
C'est ça? Merci en tout cas, pour mon premier sujet, j'en suis satisfait.
Donc, si je résume: c'est impossible de créer ce genre de multijoueur sur certains jeux solo car les développeurs n'ont pas mis assez d'accès, ici, GTA V, les développeurs ont laissé la chance aux gens de pouvoir créer leur mods solo, c'est de la que partent d'autres développeurs qui vont développer un multi-joueur à leur façon, et encore, donner d'autres possibilités pour les scripteurs qui vont pouvoir créer leur serveur.
C'est ça? Merci en tout cas, pour mon premier sujet, j'en suis satisfait.
Sugel
Messages postés
4076
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
725
Modifié par Sugel le 16/08/2015 à 23:18
Modifié par Sugel le 16/08/2015 à 23:18
C'est exactement ça :D
Même si à une armée de développeurs insomniaque rien n'est impossible, l'idée est là.
Ça fait plaisir de voir que les gens s'intéressent au fond des choses :)
Même si à une armée de développeurs insomniaque rien n'est impossible, l'idée est là.
Ça fait plaisir de voir que les gens s'intéressent au fond des choses :)