Half-Life 2 : Survivor 2 - Création d'une borne d'arcade


Messages recommandés

Posté(e) (modifié)

 

Salut, je ne sais pas si vous vous souvenez de la version arcade de Half-Life 2, j'avais déjà mis à disposition les fichiers du jeu, qui marche très bien sous PC, et qui permet de revisiter cet univers d'une autre manière.

Citation

Le jeu a été repris et modifié plusieurs fois par divers projets, il serait disponible comme mod sur le le Workshop par exemple, la version que j'utilise est basé sur le leak d'origine.

 

Mais ici, ce n'est pas pour débattre du gameplay de cette version mais plutôt essayer de reconstruire le contexte de l'arcade (physique). Car c'est bien de pouvoir jouer à cette version, mais l'expérience est remis sur les outils d'un PC. La version arcade était légèrement différente, vous allez voir.

For those that missed the Monday Mystery Game, its Half Life 2 Survivor  (2.0)! Released from Taito in 2006 and originally created by Valve! This  SUPER RARE game was quite the project.    For those that missed the Monday Mystery Game, its Half Life 2 Survivor  (2.0)! Released from Taito in 2006 and originally created by Valve! This  SUPER RARE game was quite the project.

La version arcade est sans clavier et souris, mais sur un ensemble de contrôle par joystick et pieds. Alors vous devinez que l'usage du jeu est totalement différent, plus compliqué qu'une manette style Xbox/Playstation, qui est déjà un beau défit en soit. Alors je me suis lancé dans l'idée de recréer cette configuration pour retrouver la base la plus similaire pour une arcade, c'est sur qu'avec un budget, il serait possible de pousser la chose encore plus loin, mais je voulais limiter au maximum l'investissement.

Half-Life 2 date, ce qui est un avantage, le matériel de l'époque et plus récent sont facile à trouver, le OS de l'époque, Windows XP, est facilement maniable pour recréer un environnement idéal pour lancer Half-Life 2 en arcade, car le jeu devra démarrer automatiquement au démarrage. Pour le matériel, en utilisant Windows XP, je peut utiliser du plus vieux matériel qui est soit économique, soit récupéré, bref une solution de recyclage.

Choix matériel/logiciel;

  • Intel Core2Duo E4500 2.2GHz (Lenovo ThinkCentre)
  • 2 Go de mémoire Ram DDR2
  • ATI Radeon X300 SE 128MB
  • Mini SSD 64Go (sans boitier) en SATA
  • Windows XP Famille 2 SP3 FR
  • Écran 1366x768 (limite du jeu), provenant d'un laptop recyclé, avec Haut-parleur 2x5W en sortie VGA + Headphone
  • Volant avec pédales Logitech Wingman
  • 2 Joystick Logitech Attack 3
  • Joy2Key sous licence

Lien vers la vidéo ici ; https://www.youtube.com/watch?v=5etu_CZoJwY

Le OS;

Windows XP Famille a été grandement modifié, déjà, avec NTLite, pour retirer la plupart des features inutiles au projets;

  • support de matériel total (retrait des pilotes générique)
  • support réseau et Internet explorer
  • support Windows update et Windows defender
  • service d'aide
  • interface avec thème, curseurs et profil audio
  • support d'accessibilités
  • sécurité système
  • jeux, et applications de base

 

Ce qui a été ajoutés;

  • Direct X 9 (Juin 2010)
  • Pilotes du matériel (Chipset, GPU, Audio)
  • Pre-Activé WGA
  • Profil audio modifié pour type "arcade"
  • Half-Life 2 : Survivor v2.0
  • Joy2Key sous licence

 

Joy2Key me sert à mapper les joysticks sur les touches du jeu, vu que cette version ne prend pas en charge les contrôleurs de manière native, et qui serait plus compliquer de le faire via le fichier de configuration du jeu à la main. Je peux donc ajouter et ajuster les contrôles de la souris et du clavier sur les contrôleurs volant et joysticks pour reproduire le contrôle de l'arcade. Je peux facilement faire évoluer ce projet en arcade multiple avec l'ajout de d'autres jeux de type arcade, comme les Sega Rally, Daytona USA, House of Death, Virtua Cop, Mortal Kombat etc.... j'en ai déjà testé quelques un, et Joy2Key me permet d'ajuster les contrôles selon le jeu détecté. Mais le but premier c'est HL2S.

J'ai peu de documentation sur les contrôleurs d'origine, j'ai un manuel ou feuillet publicitaire de l'arcade avec les contrôle, sur lequel je me suis basé, mais il était en japonais, alors c'est plus de la devinette. J'ai ajusté un peu les contrôles pour moins dépendre du volant et des pédales. Surtout que sur le meuble ou je monte le projet, j'ai de la difficulté à tenir le volant en place correctement, et ne travail pas avec une chaise pratique devant.

Vu que la manipulation des fonctions du jeu est basé sur des touches de clavier sur cette version, ont peu facilement reproduire un cabinet d'arcade, voir même imposer l'insertion de vrai jeton. Un module du type arduino/raspberry pourrait simuler les touches USB lors de détection d'un jeton dans un système conçu à cet effet. Actuellement il sont défini sur les Joysticks pour permettre le démarrage du jeu.

Problèmes rencontrés

Pour ceux qui ce demande quel genre de défi j'ai du rencontrer, voici de court exemples.

  • La présence de deux manettes de même modèle : J'ai du les identifier et leur assigner un port physique pour faciliter la reconnaissance des manettes et de leur configuration en cas de déconnection et de transport. 
  • La précision des manettes : Les joysticks sont vieux et ne sont pas conçu pour de la précision comme peut donner une souris, déjà la navigation avec un joystick pour le tir n'est pas naturel dans ce type de jeu, il faut ajuster la vitesse de mouvement entre vitesse et précision. Joy2Key offre des paramètres qui peut aider à ajuster correctement le mouvement.
  • Le démarrage du jeu (1) : L'idée de base est de n'avoir aucun bureau/menu démarrer ou d'utiliser ShellOn pour lancer le jeu comme un Shell(Bureau), mais DirectX semble démarrer en partie avec le Bureau de Windows, alors le jeu fais parti des programme qui s'exécute au démarrage.
  • Le démarrage du jeu (2) : Le jeu démarre avec une console, cette console devient actif par défaut et reste visible après le lancement du jeu, il a falut éditer les paramètre de cette fenêtre en "tweak" pour la forcer a ce cacher et ne pas être active pour éviter d'utiliser une souris pour rendre le jeu actif.

 

 

Bref, je voulais vous partager ce projet, je n'ai pas la capacité de construire le cabinet pour avoir une version final (je suis en appartement, peu pas travailler le bois), mais je garde le tout au cas où .... et entre temps je peux toujours améliorer les logiciels.

 

Modifié par levelkro
Posté(e)

Salut levelrko,

Merci pour ton post et ce partage. 


La vidéo est très explicite quant à la dextérité nécessaire au moins au démarrage je pense (sans parler du japonais !)
Les mods coops/mission et sauvegardes fonctionnent ?

Côté hardware, bon pas la bonne période en ce moment car la RAM est chère mais un raspberry pourrait faire l'affaire non pour limiter l’encombrement également ?
les joysticks restent clairement un élément majeur de la jouabilité.

Je suis allé rechercher des illustrations / exemples de la borne originale japonaise, il semblait y avoir une version L4D également et même un CS.

Posté(e)

Le projet, je l'ai ressorti, il faut dire que le "setup" du post est celui que j'ai depuis 1 an, et je l'avais mis sur pause. La j'ai remis l'intérêt dessus et c'est la raison de la vidéo, car reste que cette config n'est pas commune.

En effet, el gameplay avec deux joysticks n'est pas naturel, mais c'est réalisable. Ce weekend, j'ai retravaillé certains aspect, comme le retrait du volant/pédales, qui était en fait présent que pour les pédales, pour simuler la course et le jump, mais c'est disponible que sur un modèle de l'arcade, et était vraiment trop encombrant. 

Pour donner une idée, à gauche il y a le contrôle avant/arrière, et marche sur les côtés. Possibilité de courir avec la gachette et ce pencher avec un autre bouton. Le contrôle dans la vidéo du menu (gauche/droite) est disponible sur le joystick gauche également. Celle de droit permet de contrôler la tête (souris) pour le tir, la gachette permet de tirer et il est possible de sauter, le tir permet également de faire office de "ok". Bien sur aussi le changement d'arme et la recharge. 

Sur les deux joystick, le "add coin" et le "start" sont disponibles. Les autres boutons à la base permette d'afficher la lampe torche et les autres vides (disponible). J'ai un menu graphique imprimé pour repérer les touches configuré. 

Alors quand tu jou, t'arrive relativement bien a bouger, c'est vraiment le tir qui cause problème, les joystick sont vieux, alors la précision peut ne pas être là, et le fait qu'il passe en émulation de souris, demande des ajustement. Je songe a changer pour un mode "Spring", dans mes futurs tests pour voir si le fait de lâcher et que le pointage revient au centre peut aider, au lieu d'être un mouvement relatif, qui consiste a bouger dans une direction, et de devoir refaire le mouvement inverse pour revenir a l'orientation de départ, un peu comme un avion. La vitesse de jeu actuel n'est pas rapide (beau défi pour un Speedrun), mais le jeu a déjà un calibrage d'handicape qui avantage assez le joueur pour le permettre d'avancer sans trop de stress et lui permettre d'apprendre à bouger dans ce style de gameplay.

-


Petite modification qui rend le projet en réel mode kiosk, sur la vidéo ont voir le boot logo de XP et rapidement le bureau. Pour ajouter du réalisme, le logo de XP au démarrage est caché, et j'ai remplacé le shell par une version de mon cru. Cette version remplace celui de Windows et est stable et performant car il charge aucune gestion de bureau (aucun GUI), ce qui fait qu'il n'y a pas de barre des tâches, icônes sur le bureau et même de clic de droit. Le shell que j'ai créé est simple et flexible, il permet en plus de charger la session pour que les pilotes soit chargés et peut aussi démarrer une liste de programme si ont ajoute des raccourcis dans un dossier spécifique. Ce Shell a été conçu pour être utiliser sur d'autres projet sans problème, sous 32bit, je le sais fonctionnel sous 2000/XP, mais rien n'empêcherais de marcher sous Windows 7 ou 8 en 32bit,. moins sur pour le 64bit. Il garde une combinaison de touche pour permettre le "Kill" du shell et le démarrage de l'explorateur Windows, pour donner un accès au système en cas de débogage. 

Reste que c'est simple modification font que j'ai un démarrage très rapide.

  1. Press du Power au démarrage du chargement OS : ~12 secondes
  2. Chargement de Windows à l'affichage du GUI de base : ~16 secondes
  3. Chargement du GUI au démarrage du jeu : ~3 secondes

Le disque dur SSD aide beaucoup, mais le matériel date de plus ou moins de l'époque pour le reste, alors l'optimisation de Windows aide grandement à avoir les vitesses, le 3 seconde pour le chargement du Shell, Système et Jeu, après le chargement graphique montre la vitesse que je gagne.

Durant cette phase de 3 secondes, c'est tout le processus du WinLogon (l'écran bleu stylé "Welcome", avec le login et chargement du bureau, pour après lancer le jeu), que j'arrive a condenser. En aucun temps, il serait possible de déterminer que c'est Windows qui tourne et encore moins quel version. 

Et pour ceux qui pense à la sécurité, et bien aucun accès réseau est possible, le projet est vraiment prêt pour être mis dans un cabinet, alors je peu "démolir" le OS tant que je veux sans me soucier à le protéger. Mais la config que j'ai actuellement peut même servir de base pour d'autres type d'émulation d'arcade qui demande l'usage ou compatible avec Windows XP, j'ai justement un second ThinkCentre à recycler, et je vais l'axé sur des jeux de course. Si j'évolue la borde de HL2S, se sera donc avec des jeux de tir, ou de bataille. J'aimerais bien Virtua Cop et House of Death, même si je n'ai pas de fusil comme l'arcade.

Citation

Je sais qu'il existe un kit (Kick Starter) pour émuler des pistolet sur écran LCD, mais vu le prix et l'usage que je vais en faire, c'est pas intéressant, du plus au dernière nouvelle ils sont "back order". ET semble axé plus sur l'émulation de jeux comme le super scope du SNES. Sinon j'opterais pour le hack de la manette de la Wii en Bluetooth, car je sais déjà comment le faire marcher sous XP et j'ai les fichiers requis.


-

L'idée à la fin est de connaitre le "Feeling" de jouer de cette façons, et du coup, tenter de rendre l'expérience plaisante en jouant avec Windows et un peu de programmation, et en recyclant un vieux PC, joysticks et écran au passage. Pendant que j'écris cette réponse, il tourne comme uen arcade le fait en attente d'un joueur, et juste ça ,c'est étrangement plaisant :P

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement