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
Bonjour,

Après plusieurs mois d'apprentissages sur différents langage, je me pose une question depuis ce temps, et j'ai besoin d'une réponse, je me tourne donc vers vous.


Prenons l'exemple de GTA V, comment des gens peuvent modifier le jeu et faire en sorte d'avoir un multijoueur? Comment cela est possible? Avec quel langage? C'est possible avec du C++?

Toutes ces questions me trottent dans la tête.
J'en ai une dernière aussi: Sur le forum de ce GTA V MP, ils annoncent que nous pourrons coder nos serveurs en ligne, via JavaScript, HTML et CSS, mais.. Ce sont des langages WEB, c'est donc possible de les convertir pour en créer des jeux?

Je vous en remercie si vous répondez à ce poste! A plus! :D
A voir également:

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
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 ?
1
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
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.
1
https://forum.gta-mp.net/index.php?/topic/238-explications-sur-gta-mp/?p=2512

Le troisième paragraphe
0
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.
0
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
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.
0

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
à 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
0
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.
0
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
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 :)
0