Question:
Pourquoi tous les jeux Valve ont-ils le processus 'hl2.exe'?
angussidney
2015-05-05 12:51:52 UTC
view on stackexchange narkive permalink

Je joue à de nombreux jeux Valve. En particulier Portal 2 et TF2. Cependant, après avoir joué à ces jeux pendant un certain temps, j'ai remarqué que dans le gestionnaire de tâches, ces programmes relevaient d'un processus hl2.exe - Half Life 2. Cela semble être le cas pour tous les jeux Valve .

Après des recherches plus poussées, j'ai trouvé que ce processus est associé à tous les SDK Source et à d'autres jeux assortis.

Ma question est donc: pourquoi tout Valve (et quelques autres) jeux ont le processus hl2.exe ?

Fait intéressant, cette "limitation" est supprimée sur Source Engine 2 (réf. Dota2)
Cette question nécessite beaucoup de spéculations sur l'intention du développeur.
Je pourrais poster une réponse que "Le SDK Source est par défaut hl2.exe et les développeurs étaient trop paresseux pour le renommer."et vous ne savez pas si c'est plus ou moins précis que les autres réponses publiées.
Si vous en remarquez un avec hl3.exe, veuillez en informer tout le monde.
Cinq réponses:
Luaan
2015-05-05 17:46:06 UTC
view on stackexchange narkive permalink

Les jeux Source Engine (tous ceux que vous avez mentionnés) sont vraiment plus proches de ce que vous appelez habituellement un mod ("conversion totale"). Vous ne lancez jamais le jeu - vous exécutez le moteur, en lui disant de sélectionner un mod donné (notez comment les jeux sont exécutés comme hl2.exe -game cstrike , par exemple).

Le fichier exe est juste un bootstrap qui prépare le moteur et charge le mod réel (comme Half-Life 2 ou Counter Strike: Source), qui en soi est un tas de données et de DLL. Il aurait pu tout aussi facilement être appelé par ex. source.exe . Le point principal, cependant, est que vous ne construisez jamais réellement votre jeu en modifiant le fichier hl2.exe ; c'est la même chose pour tous les jeux sur la même version du moteur Source. Vous ne modifiez que les autres DLL et les fichiers de données - et la dll elle-même est généralement appelée quelque chose comme cstrike.dll , pas hl2.dll .

Si vous voulez une analogie erronée, réfléchissez à ceci: pourquoi l'exécutable de Chrome s'appelle chrome.exe , alors que vous naviguez réellement sur Facebook? Vous exécutez l'application Facebook, n'est-ce pas? :)

Et si vous voulez un peu plus d'histoire, c'est la convention reprise de la Half-Life originale. Le moteur Half-Life 1 utilisé était en fait un moteur Quake fortement modifié, et le jeu était un mod au-dessus de ce moteur modifié; lorsque les mods (très populaires) comme Team Fortress et Counter Strike sont arrivés, ils étaient également des mods sur le moteur Half-Life 1; mais pas le jeu de demi-vie, vraiment (à peu près tout à fait vrai pour CS, alors que des mods comme Blue Shift ont réutilisé une grande partie des ressources et du code de HL1). Et tout comme Half-Life 1 est un mod fonctionnant sur le moteur Half-Life 1 (surnommé rétroactivement GoldSrc), Half-Life 2 est juste un mod fonctionnant sur le moteur Half-Life 2 (Source).

Votre analogie imparfaite est incroyablement trompeuse.Chrome agit comme un système d'exploitation.Vous n'exécutez pas une "application facebook" de la même manière que vous exécutez un exécutable de jeux.L'URL dans ce cas est beaucoup plus proche de la divergence "hl2.exe" que le chrome.exe et indique que vous consultez Facebook.
@Reafexus Je pense que vous avez manqué le point.Si vous souhaitez ouvrir Facebook dans Chrome, exécutez `Chrome.exe www.facebook.com`.Si vous souhaitez exécuter Portal 2 dans le moteur Source, vous exécutez `hl2.exe -game Portal2`.
@Luaan Vous pouvez passer une URL en tant que paramètre à l'exécutable Chrome?Edit: Vous pouvez aussi!Les choses aléatoires que vous apprenez en naviguant.
Je peux voir comment vous pouvez établir ce lien maintenant.On a toujours l'impression que sa présence confond le problème plutôt que d'éclaircir quoi que ce soit.surtout avec l'utilisation du mot «application».
Cela signifie-t-il que quelqu'un pourrait mettre tous ses jeux Source dans un dossier central et utiliser le même hl2.exe pour tous les exécuter?
@Reafexus Oui, le sens du mot "application" a beaucoup changé avec l'introduction des smartphones ... Mais une application Web est une application comme les autres.
@EatMyTacoCrumbs Eh bien, tant qu'ils n'apportent aucune modification conflictuelle aux autres fichiers partagés, cela devrait être possible.Cependant, notez que les jeux peuvent utiliser différentes versions du moteur Source (et les différences sont en fait très importantes, pas seulement des corrections de bogues et autres).Cela dit, Steam gère déjà cela pour vous dans une certaine mesure - certains jeux Source utilisent les ressources d'un seul «dossier» partagé.Je ne sais pas lequel, mais je pense que, par exemple, si vous installez CS: S et TF2 sur deux ordinateurs différents, ils sont plus gros au total que si vous le faites sur un seul ordinateur.
@Luaan Cela ne semble plus être le cas, depuis l'introduction du mécanisme "steampipe".Cependant, je suppose autant que vous êtes sur ce sujet.
René Jensen
2015-05-05 13:17:43 UTC
view on stackexchange narkive permalink

Parce que tous / la plupart de leurs jeux sont construits sur le moteur source, le moteur source a été conçu à l'origine pour Half-Life 2. Ce qui a lancé la tendance hl2.exe.

Donc, en bref: Jeux fait dans le moteur Source ont leur exécutable nommé hl2.exe

D'accord, cela a du sens.Cela me semble correct, mais j'attendrai de voir si j'obtiens des réponses expliquant pourquoi ils ont choisi de lui donner le nom de processus hl2 au lieu du nom du jeu.
Si seulement vos deux réponses étaient combinées.Si les deux sont combinés, j'accepterai cette réponse.
@AngusAtkinson pourquoi?Les réponses se contredisent en détail et sont toutes deux des suppositions.Maintenant que vous avez défini un tel ultimatum, les deux affiches seront confrontées au choix de saisir le représentant d'un autre pour littéralement aucune valeur fournie.Rappelez-vous pourquoi le mécanisme "d'acceptation" existe en premier lieu - pour aider d'autres personnes à trouver des réponses, pas pour être un prix que certaines personnes attribuent à d'autres ...
Dota 2 utilise également le moteur Source mais son nom d'exécutable est dota2.exe.
Powerlord
2015-05-05 18:58:47 UTC
view on stackexchange narkive permalink

Comme toutes les autres réponses, ce ne sera qu'une supposition, mais celle-ci est sauvegardée par l'historique réel.

C'est à cause de la façon dont Steam empaquette les fichiers.

Les jeux de Valve réalisés avant Left 4 Dead incluent tous les fichiers partagés de Half-Life 2.

L'une de mes anciennes réponses explique comment les fichiers GCF ont été spécialement conçus pour TF2.

Il y a 2 722,83 Mo occupés par les fichiers partagés, y compris le fichier multiplayer ob binaries.gcf , qui inclurait la version de hl2.exe utilisée par tous les anciens titres multijoueurs de Valve.

Notez qu'il y avait probablement aussi un fichier binaire gcf à un seul joueur utilisé par HL2, ses deux épisodes et Portal 1.

Ces fichiers GCF ont été partagés entre les jeux.

En 2013, Valve est passé au système VPK. Cela rend la plupart de ce qui est listé ici comme inutile car les "Fichiers partagés" HL2 sont maintenant distribués dans le cadre du jeu lui-même. Valve garde probablement l'exécutable avec l'ancien nom par paresse.

Incidemment, dans les jeux de 2008 ou plus tard, vous verrez probablement l'exécutable nommé une variante du nom du jeu car ils n'ont pas utilisé le partage fichiers.

Je dois noter que je n'ai pas encore vérifié SteamDB pour voir si les fichiers partagés HL2 sont encore un dépôt séparé.Bien qu'ils ne soient pas partagés sur le disque dur, ils peuvent toujours être partagés sur Steam.
Pour TF2, les fichiers partagés HL2 sont maintenant directement dans le dépôt `TF2 Client server shared` (appid 441) plutôt que d'être un dépôt séparé.
Barafu Albino
2015-05-05 15:43:05 UTC
view on stackexchange narkive permalink

Tous ces jeux (Portal, TF, CounterStrike, They Hunger, etc.) ont commencé il y a longtemps en tant que mods pour la demi-vie et la demi-vie 2. Je suppose que le nom de l'exécutable a simplement été conservé à cette époque parce que les développeurs se sont habitués à elle.

Si seulement vos deux réponses étaient combinées.Si les deux sont combinés, j'accepterai cette réponse.
TF n'a jamais été un mod pour HL2, donc "garder" le nom de HL2 semble une raison peu probable.Portal n'a jamais été un mod du tout.
Team Fortress a commencé en tant que mod Quake, après quoi il est devenu le mod HL1, après cela, un développement de jeu autonome a commencé.
Zibbobz
2015-05-05 19:08:56 UTC
view on stackexchange narkive permalink

Ils sont tous construits à partir d'un moteur commun: le moteur source

Le moteur source a été utilisé pour la première fois pour développer " Counter Strike: Source ", une version remake du Counter Strike original qui était un mod construit à partir du Half-Life-1 original. Cela a été peu de temps suivi par la propre création de Valve, Half-Life-2.

Maintenant, la raison pour laquelle tous les jeux construits à partir de ce moteur utilisent le même fichier .exe est la nature du moteur lui-même. Il est fait pour être modulaire, chaque jeu construit à partir de celui-ci en développant un «package» général du moteur.

En tant que tel, chaque fois que vous jouez à un jeu hors du moteur source (TF2, Left4Dead, Portal), vous jouez en fait à un mod hautement personnalisé du moteur source d'origine, et au premier mod 'original' pour ce moteur était Half-Life-2.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...