levelkro

Membres
  • Compteur de contenus

    484
  • Inscription

  • Dernière visite

  • Jours gagnés

    18

levelkro a gagné pour la dernière fois le 13 septembre 2021

levelkro a eu le contenu le plus aimé !

1 abonné

À propos de levelkro

  • Date de naissance 17/12/1982

Contact Methods

  • Votre site perso
    https://levelkro.com

Informations

  • Genre
    Masculin
  • Localisation
    Montréal
  • Intérêts
    Valve, Steam, Half-Life, Portal, Lego, SteamMachine, SteamOS, Raspberry PI, Android, Programmation Web, gestion de serveurs et VPS, streaming audio et vidéo.

Visiteurs récents du profil

4 696 visualisations du profil
  1. levelkro

    Wolfenstein 3D: source

    Je fais revivre ce poste car el projet est toujours d'actualité. J'ai passé beaucoup de temps, et je désire vraiment sortir ce mod. J'ai pris du retard à cause de problème perso (récurrent chez les moddeurs, lol), mais la je suis dans une passe avec plus de temps libre, je vais tenter d'avancer le plus. Je fais revivre ce poste car j'ai "enfin" fini l'installation des $!%&! de portes. Sauf pour le niveau 10, qui est un vrai anarchie de portes. Je suis a 60% complété selon mon cahier des charges. Je passe les maps pour être exécutables (éclairages, start point, etc...) et ainsi commencer la passe d'intégrations des éléments de décors et les tests. ¨ca devrais commencer à aller plus vite. Sur ModDB j'ai mis dans les derniers mois des images et vidéos sur des nouveautés et avancement. Par exemple j'ai déja avancé sur le niveau du combat final et sur le niveau correspondant. Dans les nouveautés, ont retrouve un nouveau design des portes. Voici des aperçus du niveau final (1-9). Je vais devoir me remettre au .Net car je dois recompiler mon DLL pour régler le recul de mes armes et trouver comment régler un bug que j'ai avec mon HUD. Si quelqu'un peut me renseigner, m'aider avec ça, j'aurais déjà un problème en moins :P
  2. Rebonjour, je tenais a actualiser le sujet sur l'avancement du Mod. La communauté étant plus "active" sur ModDB, je tiens les actualités plus à jour via ce canal. Mais je vous résume ici l'avancement. Voila a peu près 1 an, j'ai recu le commentaire au sujet de mes portes; problème d'ombrage entre-autres. C'est qu'en même l'un des éléments "clé" du jeu, j'ai laisser trainer un peu ce bug, car je n'avais aucune idée de comment le fixer. Mais ce mois si je m'y suis plus attardé et trouvé une solution. La porte d'origine (visible dans les images depuis le début) est le prop "blastdoor", qui est relié à un "func_door". Ceci me donnais comme avantage davoir un design de porte similaire et rapide, mais quand ont y pense, il y avait un peu plus que l'ombrage en défaut. La texture n'est pas de très bonne résolution et l'effet "3D" quand même limité (pas de poigné modelé par exemple). Dans cette nouvelle version, j'ai choisi une texture sur le "func_door" et modelé une poigné et des cavités sur la porte, résultat: l'effet est meilleur et pas de problème d'ombrage. Voir la porte d'origine et la nouvelle version de base : https://www.moddb.com/mods/wolfenstein-3d-source/videos/door-test-1-prop-vs-texture#imagebox La version final corrigé : https://www.moddb.com/mods/wolfenstein-3d-source/videos/door-design-final#imagebox J'ai aussi repensé ma méthode de travail, avant je concevais les map 1 à 1; map, portes, lumières, objets, tests, travail sur la map suivant, map, portes, etc.... mais la je dessine les map de toutes les cartes après je passe aux portes, lumière. Bref je travail plus globalement au lieu que d'une seul à la fois. Car j'ai vite remarqué qu'un jour, je pense au design d'une manière et le jour suivant d'une autre. Alors pour garder au maximum une suite dans les niveaux, il faut voir globalement, alors si j'install une texture d'une manière, je l'applique aux autres niveaux. Mais la, enfin, j'ai le design des frames complété (90~95%), ce qui reste à ce niveau c'est les ajustement, par exemple des murs en angle non droit (90). Avant de poser des portes dans mes niveaux, j'aurais du attendre de trouver un fix du bug d'origine. Car j'avais a peu près la moitié des niveaux avec les portes et la je dois tout refaire (effacer et mettre la nouvelle version). Non mais l'air de rien, c'est long, des niveaux ont plus de 40 portes. (Quand je disais que c'est un élément critique...) Le DLL marche très bien, j'ai juste un problème qui sera mis en dernier temps, mon image sur le HUD. J'ai mis l'icone dans le HUD, question de faire un clin d'oeil de plus à la version du jeu d'origine, et aux plus récentes. Comme vous pouvez voir, ça donne un bel effet, de plus il est animé, alors plus vivant. Mais une fois l'habit HEV revêtu (qui permet d'activer le HUD), il n'est pas possible de supprimer l'image. L'ajout n'est pas fait dans les DLL mais dans le fichier de script du HUD. Quand ont active un "env_fade" par exemple avec un "strip suit" au player, l'image reste (mais les infos disparaissent). Je dois dont trouver moyen de "killer" cette image. Le niveau 9, celui du "Boss" que je nomme justement "Boss Arena", est différente des autres, mis à part le personnage de Hitler comme Boss, il sera la seul map avec des éléments extérieur et une mesure de pièce supérieur. Le jeu ce passant dans un style "Bunker + Chateau", toutes les maps sont conçu avec une hauteur de 128 (unité source), la pièce du niveau 9 où a lieu le combat a été augmenté à 256, avec de grosse colonnes, et des fenêtre extérieur, pour rendre le tout plus "grandiose". Je dois encore travailler les éclairages et autres, c'est vraiment la première fois que je travail avec un décors extérieur, avec des effets de vision lointaine etc... Voici la porte de fin, qui mène à l'extérieur, c'est pas encore totalement au point mais l'idée est là. Alors le jeu avance bien, il sortira pas en 2021, mais j'ai près de 50% du travail de fait (selon mon suivi). Je vais devoir trouver des objects, ou mieux, un modeleur, pour agrémenter le jeu, sinon c'est vachement vide. Après des recherches, je sais que je suis le seul mod sur Wolfenstein 3D, à pousser l'idée aussi loin, la plupart ce limitant à un portage des textures et des maps sous sources avec des changement très mineur. Mon idée n'est pas de simplement créer Wolf3D sous source, mais d'en augmenter le gameplay et le rendu graphique, de le sortir du côté "primitif" pour l'amener dans un rendu plus "Mature". Ce ne sera pas aussi beau que Black Mesa ou les nouveaux Wolfenstein, mais ce sera mieux que la version DOS remasterisé.
  3. levelkro

    Wolfenstein 3D: source

    Le projet avance bien, je vous invite à consulter le site Web et la page ModDB pour les détails.
  4. Vien de testé et il est vraiment plus beau, plus rapide, mais plus buggé. Beaucoup de freeze, surtout dans les scripts du jeux; quand vous "débloquer" l'avancement (par exemple cube sur un bouton), il y a un Freeze, j'ai même eu un plantage dur du jeu (Pas de réponse) après un saut qui a activé un "trigger" audio et une ouverture de porte. Mais putain, l'éclairage et le niveau de texture est meilleur. Pour le test: Ryzen 7 1700+Geforce 1050 Ti 4GB+32GB sur SSD M.2 (4Go/s).
  5. Voilà bientôt un an que je travail sur ce projet. Faute de motivation je prend un peu de retard, mais rien n'est perdu et j'ai quand même un grand bout de fait, malgré que le plus gros est encore devant moi. Pour ceux qu'ils ne savent pas qu'elle est ce mode, et bien en simple c'est un remake de Wolfenstein 3D sortie en 1991 sur PC/Dos et qui fût l'un des premiers FPS 3D du genre. Créé par id Software, il n'est pas le premier jeu de la série, mais il est celui qu'y la fait connaître. Chaque épisode contient 10 maps (niveaux) qui consiste à trouver le chemin vers le prochain ascenseur, tout en trouvant la/les clé(s) requis pour accéder à la fin du niveau. Il y aura bien sur la garde du régime Nazi qui voudrons vous tuer à tout prix. Plus d'Info https://fr.wikipedia.org/wiki/Wolfenstein_3D . Détails du projet Je suis à refaire les maps de la première série "Escape from Wolfenstein". J'ai 4 maps jouables et 3 peuvent être complété en jeu. Au début de ma création je complétait une map et passait à l'autre par la suite, cette méthode de travail me cause un gros problème; perte de temps avec les props, et un manque d'uniformisation du design. Je suis dont à créer la base des maps (murs, sol, plafond, portes, textures de base) et à la fin m'occuper du design, lumières etc... qui risque d'être plus uniforme. Je traite ce projet comme un jeu à part entière, ce qui implique de lui donner ça propre identité. Vidéo d'introduction, changement du HUD du joueurs, modifications des armes et sons, rien ne laisse vraiment présager qu'ont est sur le Source Engine (à part les habitués). Avant de me lancer dans les maps, j'ai fait un essai technique, soit de créer le monde 1-1, avec tout les éléments essentiels, une map Tech Demo a aussi été créé pour tester le boss Hitler et mettre de l'avant tout les éléments modifiés. Le moteur source de base ne permet pas de faire un pointage, alors les trésor sont devenus des aides protectives (bouclier). Les chiens ont été remplacé par des gardes. Participer! Je suis un touche-à-tous, mais je ne suis pas nécessairement le meilleur dans bien des domaines, alors une aide serait apprécié. Je peux compléter le jeu avec mes connaissances actuels, mais si je veux lui donner encore un meilleur rendu, une aide extérieur pour certaines choses pourrais rendre le projet encore plus beau. Programmeur .Net : J'ai modifié et compilé un DLL fonctionnel pour le jeu, mais j'ai un bug avec le générique de fin, d'après mon analyse, ce serait avec env_fade, mais je n'ai pas modifié cette partie du code, et je ne sait pas pourquoi j'ai cette erreur. Alors une analyse est requise. Et j'aimerais pouvoir inclure le HUD_Face dans le code pour pouvoir le contrôler (apparaitre, disparaitre) Textures : J'ai trouvé des textures sur le net, je fais avec ce que j'ai, mais j'aimerais uniformisé le style. J'aurais un besoin aussi avec des textures de sol et de plafond. Si cette personne est en plus en mesure de faire les ajustements In-Game, je serais plus que ravis. Modeleur : J'utilise des objets provenant de source extérieurs, il me manque aussi d'autres objets et certain que j'ai doivent être fixé, alors si vous s'y connaissez, vous pouvez aussi me refiler vos créations déjà fait si elle concorde avec le style 1940-1950 et avant. Et si vous pouvez en plus les placer In-Game, ce serait un bonheur. Mappeur : J'aime bien concevoir mes maps, mais j'aimerais avoir le regard d'un autre mappeur pour voir mes fautes et améliorer le rendu (éclairage, utilisations des fonctions etc...). Sound Designer : Êtes-vous en mesure de créer des pistes musicale, soit recréé ou par votre inspiration ? Et bien je suis preneur, j'essai d'inclure des pistes style remasterisé, ou remixé, mais certaines sont mieux pour écouter que pour jouer. Testeur : Éventuellement il me faudra des joueurs pour tester le gameplay et rapporter tout problèmes, les testeurs doivent connaître, ou non, le jeu d'origine, ceux qui le connaissent pourront apporter leur avis comparatif. Bien sur, toute aide qui soit sera crédité sur la liste officiel sur ModDB, dans le document du jeu et dans le générique du jeu. Liens sur le projet Site officiel : https://levelkro.com/wolfenstein3dsource MoDB (updates) : https://www.moddb.com/mods/wolfenstein-3d-source itch.io : https://levelkro.itch.io/wolfenstein-3d-source Facebook : https://www.facebook.com/wolf3dsource/ Steam Group : https://steamcommunity.com/groups/wolfenstein3dsource Wallpaper Engine : Steam Workshop : Menu background Wolfenstein 3D: source Crédits : https://www.moddb.com/mods/wolfenstein-3d-source/features/credits-of-the-mod-wolfenstein-3d-source Gameplay : https://www.youtube.com/watch?v=u-hsovfxPqI (18+) Et merci de laisser vos commentaires, encouragement et suggestions.
  6. levelkro

    Development Source

    Salut, As tu des talents pour la création d'objet ou de programmation en .Net ? Peut-être tu serais intéressé par mon projet; https://www.moddb.com/mods/wolfenstein-3d-source . J'ai besoin un peu de tout, le plus long est le design avec les props des maps. Ont pourrai en parler.
  7. Extrêmement court, que 2 maps, avec quelques bugs. Rien d'exceptionnel (solo)
  8. Pour info, je vais mettre "au propre" sur mon Wiki également; https://levelkro.xyz/wiki/Source_SDK_2013
  9. Bah en fait, Steam a essayer les points lors des derniers Soldes, Mais les points de ces soldes sont perdus. Alors les achat de 2020 sont comptabilisé pour des points. Je trouve que Steam n'as pas vraiment voulu remettre trop de points, car ont as un historique des achats, alors il aurait été possible de convertir en points. Mais d'un autre côté, trop de points disponible et un début d'inventaire d'éléments à échanger, il fallait trouver un équilibre, je crois. Pour d'autres infos, la FAQ des soldes d'Été est toujours disponible.
  10. Moi ce n'est que les Need For Speed qui m'intéressent, ils offres des versions "Remastered", pour Burnout c'est bien plus beau, mais Most Wanted (2012), pas mieux. Mais leurs prix en soldes est raisonnable. Et non, les jeux sur Origin ne sont pas activable sur Steam :(. Payback, Heat, Rivals sont encore trop élevé comme prix.
  11. Les points ne sont pas remis depuis la création de votre compte, mais depuis les achats entre le 27 janvier et le 28 mai 2020.
  12. Bon, le mapping est pas mal sur pause parce que je travail sur le code source. En effet, pour rendre mon Mod plus fidèle, je dois maintenant éditer le source (et ainsi créer mes propres DLL). Dans les faits, rien de très compliqué, pour quelqu'un qui à déjà programmé (peut importe le language). Saviez-vous qui a plein de code en double, triple etc.. et même des codes de HL1 dans le source ? Il existe des codes commentés qui permet d'utiliser des model de HL1 avec Source sans importation, les NPC etc.... Je crois que l'un de leur projet, peut-être abandonné, était de pouvoir faire un hybride GoldSRC/Source. Tk, si vous modder et vous désirez changer le "FireRate" et certaines action, c'est dans le Source! ET pas une arme n'a le même code (ridicule).
  13. https://gist.github.com/levelKro/28d745ddd47d99b5f685fa87ee01985d
  14. Si j'dis une connerie dans ce guide, merci de me le souligner
  15. Le Modding sous Source est un désire de plusieurs, tout comme moi, d'autres ont renoncé voilà quelques temps car il fallait avoir par exemple Visual Studio et des connaissances en .Net pour y parvenir convenablement. Mais avec le temps, Valve à rendu les choses plus simple, et maintenant pour 90% des modifications, des connaissances spécifique ne sont plus requise. Je prend en compte que vous avez comme réflexe de consulter le fichier d'origine et d'en modifier/ copier le contenue pour le reproduire, remplacer. Par exemple créer un fichier en français quand toute la base est en anglais, et bien ont copie l'anglais, renomme correctement et modifie au besoin. Si un fichier ne se trouve pas dans votre dossier de mod, il ce trouvera alors dans celui du Source SDK 2013, copier le dans votre mod pour "overwrite" sur l'original, sans altérer le source SDK lui-même. (Les fichiers du mod sont chargés par dessus ceux du moteur de base, bref, si il n'existe pas dans le dossier du mod, c'est celui par défaut qui est chargé) Pré-Requis Un jeu source, tel que Half-Life 2, l'un des épisodes, Lost Coast, Portal 1 ou 2, Left 4 Die, etc... Installer le Source SDK et le Source SDK Base 2013 Notepad++ VTF Edit (images/textures) Skin Editor (textures pour models) Crowbar Programme d'image prenant en charge le format TGA (Photoshop, Paint Shop Pro, Gimp) (images/textures) Goldwave (édition audio) ModMaker Préparation des fichiers de base Avec ModMaker, vous pouvez facilement créer la structure requise de vos fichiers de Mod; Ajouter un nouveau Mod à ModMaker, il va vous demander 2 dossiers, celui ou le jeu est installé, habituellement c'est "C:/Program files/Steam/commun/sourcemods/<votremod>", le deuxième dossier est pour vos fichiers de travail, vos sources, choisissez un dossier à votre choix. Même que vous risquer de ne pas trop l'utiliser. Avec ModMaker, c'est tout. Dans le dossier créé dans "sourcemods", vous avec un fichier nommé "GameInfo.txt", c'est les détails de votre Mod est où se trouve vos fichiers. Voici un exemple; "GameInfo" { "game" "Mon Mod Source" "title" "Mon Mod Source" "title2" "un sous titre ? optionnel" "supportsvr" 0 // support le VR ? "type" "singleplayer_only" // Si vous utilisez le multiplayer, penser à installer le Source SDK base 2013 Multiplayer "icon" "resource/icon" // Mon Mod à une icon! "NoDifficulty" 1 // Choisir la difficulté ? Obselet, mais forcé, au cas ou "Developer" "levelKro" // C'est qui le génie "Developer_URL" "https://levelkro.com" // Ou je peux en savoir plus sur le génie "Manual" "https://levelkro.xyz/wiki/" // Si tu as un manual ou Wiki "gamelogo" 1 // J'ai pas qu'une icon, j'ai aussi un logo :) "FileSystem" { "SteamAppId" 243730 // Même si le Mod est conçu sous HL2, ont désire le SOurce SDK Base 2013 comme jeu de base "SearchPaths" { //"gamebin" "|gameinfo_path|bin" // Si tu veux fournir le DLL avec ton Mod (déconseillé de copier un DLL d'un jeu source existant, votre propre DLL compilé seulement.) "gamebin" "|all_source_engine_paths|sourcetest/bin" // Utiliser le DLL du Source SDK 2013 "game+mod" "|gameinfo_path|monmodname.vpk" "game+mod+mod_write+default_write_path" "|gameinfo_path|." "game_lv" "hl2/hl2_lv.vpk" "game" "|all_source_engine_paths|hl2/hl2_english.vpk" "game" "|all_source_engine_paths|hl2/hl2_pak.vpk" "game" "|all_source_engine_paths|hl2/hl2_textures.vpk" "game" "|all_source_engine_paths|hl2/hl2_sound_vo_english.vpk" "game" "|all_source_engine_paths|hl2/hl2_sound_misc.vpk" "game" "|all_source_engine_paths|hl2/hl2_misc.vpk" "game" "|all_source_engine_paths|hl2" "platform" "|all_source_engine_paths|platform/platform_misc.vpk" "platform" "|all_source_engine_paths|platform" } } } Dans cet exemple, j'ai commenté certaines des lignes, selon les situation. Le dossier des DLL (gamebin), c'est la vérification de l'autorisation d'utiliser le moteur Source. Il est requis pour démarrer, sinon le jeu ouvre et ce ferme rapidement (également ce problème si les DLL ne marche pas avec le AppID, par exemple utiliser les DLL de Source SDK sur une exécution avec Half-Life 2 (AppId 220)). Les dossiers cfg/ : contient vos chapitres (chapterX.cfg) et les valeurs des éléments de base (skill.cfg) maps/ : vos maps compilé (en BSP) materials/ : Textures, Decals, Sprites etc.... models/ : Les modèles, items, weapons resource/ : Des fichiers de compilation spécifique (remplacement de Visual Studio) scripts/ : Scripts de chargements et des éléments sounds/ : Vos sons, musiques, etc.... Les Resources Dans le dossier "cfg/", vous avez un fichier nommé "skill.cfg", il regroupe l'ensemble des paramètres de base du moteur pour les NPC, les items, les réactions (armes). Vous pouvez par exemple ajuster la valeur de santé par défaut des Combines, des citoyens, des ennemis, c'est ce fichier qui sert à "balancer" la difficulté. Dans le dossier "resource/", vous trouverez plusieurs fichiers, vous y en ajouterez certainement quelques uns. Vous trouverez des fichiers avec l'extension .TTF, ce sont des polices de caractère, Half-Life 2 se sert de L'une d'entre elle pour afficher par exemple les icônes d'arme. Mais il est possible de contourner ce remplacement par la mise en pace d'une image à la place. Un fichier nommé "votremod_english.txt" représente les variable de traduction, pour créer une version français, créer le fichier, en UTF-8; "votremod_french.txt" en suivant le même principe de structure. Les fichiers avec l'extension .RES sont des fichiers dit Resource, tel que utilisé pour compiler en .Net par exemple. Mais vous pouvez les éditer facilement. ClientScheme.res et SourceScheme.res Ce sont l'organisation des éléments du moteur Source, vous y trouverez les dimensions et couleurs pour les fenêtres de dialogue, le menu, les élément visuel de base du HUD etc... le tout doit être sauvegardé en UTF-16 LE. Les couleurs sont en RGB avec transparence (Red Green Blue Opacity <-> 0-255 0-255 0-255 0-255 0-255), il est possible de créer des alias couleur pour faciliter l’implantation. Vos trouverez également dans ces documents les polices de caractère utilisé et remplaçable. Le chargement des polices ce trouve à la fin du fichier. Avec mes tests, je peux vous dire que ce n'est pas toutes les polices qui sont pris en chargent. Alors faites beaucoup de test et trouvez vous une valeur facilement (comme celle de MenuLarge{}) pour faire vos essais avant de commencer vos remplacement. De plus, il faudra surement ajuster vos dimensions du texte en conséquence de votre police choisi. Astuce; utilisez des polices avec un nom court et simple et pas besoin de L,installer sur votre ordinateur, comme indiqué dans les documents, les fichiers de police sont chargé par le moteur si il n'existe pas dans le système. GameMenu.res Lui représente les liens du menu, tel que "Nouvelle partie, options, quitter....", vous pouvez retirer par exemple la section "Succès" vu que votre Mod n'en as aucun. GameLogo.res Lui il défini vos images de base, dans celui ci vous trouvez ; Resource/GameLogo.res { GameLogo { ControlName EditablePanel fieldName GameLogo xpos 0 ypos 0 zpos 0 wide 128 //largeur tall 128 //hauteur autoResize 1 pinCorner 1 visible 1 enabled 1 offsetX -70 //offset depuis l'élément positionné Menu offsetY -100 //offset depuis l'élément positionné Menu } Logo { ControlName ImagePanel fieldName Logo xpos 0 ypos 0 zpos 0 wide 128 // largeur tall 128 // hauteur visible 1 enabled 1 image logo // image en VMT link a un VTF scaleImage 1 } } Ici il y a une attrape, le fichier "logo", qui représente votre image/icon/titre, il ce trouve au format VMT (appel) VTF (image); "materials/vgui/logo". Les scripts Le dossier "scripts/" peut contenir beaucoup d'éléments, il peux y avoir les fichiers des sons, des armes, des éléments à charger etc.... les fichiers finissant par "_manifest.txt" sont ceux qui sont les "maîtres" de ces semblables, et appel les autres, par exemple, "game_sounds_manifest.txt", est celui qui appel les autres "game_sounds_" et même d'autres fichiers de sons (level_music.txt, par exemple). La présence d'un script dans le dossier annule l'effet de celui par défaut, alors vous pouvez contrôler ce qui sera chargé, ou non. Commençons avec le plus simple, le fichier "credits", il serait traduisible, mais à ce moment si d'écrire, je n'ai pas arrivé à le faire correctement. Vous avez trois utilité à ce document; 1) afficher les crédit de début, 2) afficher les crédits de fin, et 3) afficher le Logo si besoin. Le Logo est le "[Valve]" qu'ont voit dans le jeu, il est le résultat de la police de caractère HalfLife2.ttf, vous devrez changer la valeur de la police pour l'utiliser en version texte. Le crédit d'intro est celui vu dans le train (HL2), et le crédit de fin... bah .... c'est celui qu'ont vois à la fin.... sur fond noir. Vous pouvez définir dans chacune des sections le texte et suivi d'un alias, malgré le nom utilisé, il ne sert pas à savoir ou va le texte, (Intro ou Outro), mais c'est un alias de Style (police, grosseur). Alors dans vos fichiers SourceScheme.res et ColorScheme.res dans le dossier "resource/", vous pouvez ajouter et éditer les alias pour ajouter du style à vos crédits. Petite suggestion, vu qu'il y a un crédit de fin, servez-vous de L,intro pour écrire la mise en situation de votre jeu, un peu comme avec HL1 et le train, qui donnais le nom du joueur, son niveau scolaire.... Les textes sont sensibles à la case (double espace donne un double espace) et prend en charge les expressions standard (comme \n pour une Nouvelle ligne). La section "CreditsParams" du document sert de style d'effet; "CreditsParams" { "logo" "Wolfenstein 3D: Source" // Quand ont appel "logo" via la map "fadeintime" "1.5" //apparition de la ligne intro "fadeouttime" "1.5" //disparition de la ligne intro "fadeholdtime" "1" //durée de transition entre chaque ligne "nextfadetime" "1" //durée de transition entre block de 3 lignes "pausebetweenwaves" "3"//attente avant de passer au block suivant de 3 lignes "logotime" "2" // temps affiché du logo "posx" "96" // position en horizontal (max 640) "posy" "340" // position en vertical (max 480) "color" "255 255 255 128" // couleur du text avec transparence (blanc 50% ici) //Outro Parameters "scrolltime" "90" //temps total pour le générique, + de ligne avec ue petite valeur fait qu'il affichera plus vite, l'inverse ralenti... "separation" "10" // entre chaque ligne } Game_Sounds* et NPC_Sounds* Ce sont les fichiers des sons associés aux objets, lieux, ou NPC. C'est dans ces documents que vous pouvez retrouver les infos sur le son d'une action, et sois la changer, ou sois savoir quel fichier qu'il faut remplacer. Vous pouvez aussi ajuster d'autres paramètres, tel que; le volume, le pitch, le channel, et proposer plus d'un sons avec un appel "random". Vous pouvez rendre un son "nulle" avec ce paramètre pour le "wave"; "commun/null.wav". Le pas simple sentences.txt Ce fichier est unique en son genre, dans "npc_sounds_metropolice.txt", un bloc interpelle; // ********************************************************** // OBSOLETE: // metropolice should always use sentences.txt entries, // the following should NOT be referenced. Sans qu'il soit mentionné dans le fichier "npc_sounds_soldier.txt", il est aussi affecté par ce commentaire, car il n'y a vraiment pas grand chose dans ce fichier. Alors "sentences.txt" est une version "amélioré" du système de traduction et de language, en fait les réponses avec des valeurs ou la construction d'une phrase est requise utilise ce fichier, par exemple "Freeman repéré dans le Canal" peut référer à 4 waves différents. Vu que Half-Life 2 est utilisable avec des sous-titres, il ce devais de rendre les textes audio en version sous-titre le plus exacte possible. Mais dans mon guide, je vais me limiter à remplacer les sons, par le plus simple possible. Dans le document "sentences.txt", descendez pour trouver la première ligne éditable (ceux avant son des alias pour des sons générique); //PAIN COMBINE_PAIN0 npc/npcPain1(v100) {Len 0.47} Ceci est un exemple déjà modifié, tout les sons seront cherchés dans "sounds/", alors vous considérez de partir de ce point. Dans l'exemple, ont va dont dans le dossier "npc/" pour le wav "npcPain1", le (v100) est facultatif, mais représente le volume, il existe aussi le pitch. Dans les "{ }", vous trouvez la durée précise (milliseconde) du son (ou ensemble). Le nom du son est "COMBINE_PAIN", le "0" est le premier élément, pour tout les sons, vous pouvez ajouter ou retirer des répliques en contrôlant la valeur numérique, comme ici il existe 1 seul son de douleur (pain), mais en créant "COMBINE_PAIN1" ont as une deuxième choix, le système passera automatiquement en "random". Pour annuler un son, vous définissez comme ceci; // I am moving in COMBINE_FLANK0 common/null {Len 0.0} À la fin du document, vous retrouverez tout les sons pour l'habit HEV, comme par exemple "Santé 20%" ou "Mort imminente". Tous à vos Weapons! Les fichiers "weapons_*" sont les configuration de vos armes, ici réside le secret pour remplacer vos armes et choisir certaines valeur, comme le type de munition, combien dans le chargeur, le modèle à utiliser, etc... Dans la section du bas, c'est ce qui sera affiché dans le menu de sélection, le caractère "`" est vide dans la police HalfLife2.ttf, si vous désirez masquer des informations. Si vous désirez le remplacer et ce, avec une image, utilisez cet exemple; "weapon" { "file" "sprites/icon_crowbar" // l'image depuis "materials/", "x" "0" "y" "135" "width" "64" "height" "64" } Cette image doit avoir un fond noir, qui sera la transparence, et le blanc votre icone, éviter les couleur (blanc/noir seulement est idéal). Pour un meilleur rendu, laisser environ 5 à 10 px de libre dans votre image pour éviter de mauvais affichage (bug du HUD). Pour la modification d'une arme plus poussé, vous devez éditer les sources (voir plus bas au sujet du C++). Les autres documents sont similaires ou servent à charger d'autres fichiers. Les sons Les sons sous Source sont majoritairement en .WAV, les musiques peuvent être en MP3. Le moteur ne prend pas en charge le 48Khz (et plus), alors faites vos sons en 44Khz, Stereo (ou mono). Goldwave est le seul programme permettant d'ajouter des "cue" dans le fichier Wav (pas possible avec les autres programmes, pas possible non plus avec un MP3), c'est "cue" servent à définir la position ou il est possible de "loop" dans le son (quand c'est requis, par exemple, les portes). Le premier "cue" doit ce nommer "start_cue" et le dernier "end_cue". (Possible bug, le loop peut être indéfini, ceci arrive quand le moteur ignore la valeur "end_cue", pas de solution possible, mais bug connu de Valve (documenté dans le WIki)). Les sons ce place tous dans "sounds/", la place n'a pas vraiment d'importance, sauf si vous désirez remplacer un fichier de base. Penser a effacer le fichier "sound.cache" pour vous assurez d'actualiser la liste des sons. Si vous incluez de la musique, vous voudrez surement la mettre en "loop", Source n'est pas en mesure de "looper" les mp3, et une piste en Wav est trop gros pour rien (3Mo pour MP3 tandis que 30Mo en Wav habituellement). La petite astuce est de connaitre le nombre de seconde de votre MP3, par exemple 210 (3m 30s), ajouter un "logic_timer" à votre carte avec ce délais pour "refire" le "ambient_generic" pour rejouer le fichier, il n'y a pas d'autres solution, le fichier "level_music.txt" vous n'aideras pas. Les matériels (textures/decals) Ce qui semble parfois le plus simple est le plus compliqué. Les images sous source n'implique pas qu'une simple importation dans leur format, celui si doit être associé à des paramètres. Une image, qu'ont nomme material sous Source, ce trouve être un Sprite, Decal, Texture, Overlay ou un Helper pour un effet.... Ce guide est pour débutant alors je ne vais que effleurer le sujet. Noter que chaque image pris en charge sont en format .VMT, mais dans les faits, les sources sons aux format .VTF. Le VTF (Valve Texture Format(?)) est l'image, la source. Avec VTF Edit, vous pouvez importer des images, la transparence est pris en charge mais de manière limité. Il est préférable d'enregistrer vos images à importer en format .TGA, qui reflète bien les limitations du format, étant également le format facultatif dans certains cas. Le VMT (pour Valve Material File(?)), contient d'autres paramètres et l'appel des fichiers sources requis. Oui, des, car dans le cas d'un mur par exemple, vous aurez la texture, et également le "bumpmap", qui consiste à une représentation 2D des dénivellations 3D de votre images, pour justement lui donner le rendu de texture, et non plat. VTF Edit peut générer votre fichier "bump" au besoin. Sujets non couvert dans ce guide, mais associé aux materials; Texture de model Texture de NPC (skin) Texture d'arme Skybox Effets Animations Texture de base (plafond, mur, plancher) Celle-ci est généralement Opaque, ce qui simplifie l'intégration. Il vient (ou non) avec un fichier Bump, sont format est habituellement sous LighmappedGeneric, associé à une réponse de la surface (bois, métal, brique,...). Importation normal : Importer votre fichier en type 'Environmental Map', assurez-vous d'être dans un format de multiple de 4, sinon, voir conseillez à chaque fois, de faire une re-dimension en important. Le Midmap consiste à la création d'une version légerte de l'image compressé pour les apparence longue-distance. Garder les paramètres par défaut. Importation en "Bump" : Faites la même chose que l'importation de la texture, cependant, sélectionner le "Normal Map", ajuster les paramètres de cette section avec le principe; essai/erreur, car selon la texture à importer, l'effet peut être très différent. Création du VMT : Une fois l'image importé et sauvegardé, garder la (ouvrez la) pour créer le VMT, VTF Edit offre plusieurs options, mais ce qui est important est le chemin vers la texture, dans cette section la Base Texture est importante, mais la Bump Map est requis seulement si vous désirez un effet texturé selon l'image importé. Dans les Options, le LightmappedGeneric est tout indiqué, vous pouvez définir le type de surface qu'il représente (sinon Default si vide), pour donner un effet de reflet, utilisé avec Cubemap, l'option "Environment Map Contrast" est requis. Texture d'ajout (overlay, decal, sprite,...) Un peu plus complexe avec la transparence, même moi je ne maîtrise pas tout à fait, alors je vous explique ce que je sais... Le format de traitement est UnlitGeneric, pour une transparence global de 50%, utiliser "Translucent", Vertex Color / Vertex Alpha affecte la transparence, qui s'applique au Blanc ou au Noir le DX1 bit Alpha dans l'importation pourrait prendre en charge le canal Alpha pour la transparence (non testé) L'importation ce fait avec "Animated Map" Il est possible d'importer des frames pour créer une animation, ceci est relativement simple. Vous devez extraire chaque frame de l'image, et d'importer l'ensemble dans l'ordre. Le vGUI et le HUD La partie la plus visuel est sans doute le HUD, ou la santé, les munitions et autres informations sont affichés. Pour gérer leur positions et dimensions, c'est le fichier "scripts/HudLayout.res" qui s'en charge. Sachez que le moteur Source calcul toujours les menu et le Hud sur une dimension de 640x480, et par la suite l'ajuste à la résolution du client. Les premières valeur place le rectangle, le "text_" pour la position du titre de l'élément, comme "santé" ou "combi", et le "digit_" est pour la valeur affiché. Dans le dossier "resource/", le fichier "ClientScheme.res" possède quelques valeurs, soit; HudNumbers, HudNumbersGlow, HudNumbersSmall, HudSelectionNumbers, HudHintTextLarge, HudHintTextSmall, HudSelectionText. Dans le document "SourceScheme.res", c'est les valeurs de "HUDNumber" que vous retrouverez. Si vous utilisez le "title" et "title2" dans le "GameInfo.txt", "title2" utilise les même paramètres que "title", la valeur "TitleFont2" disponible dans le document "resource/SourceScheme.res" ne l'affecte pas. Pour gérer le reste des menus et visuel, tel que les dialogues de chapitres, les options et l'ensemble de couleurs, c'est le document "resource/SourceScheme.res" qui possède les valeurs global de base. Si vous fouillez dans le dossier "hl2/resource" du Source SDK 2013, vous trouverez d'autres fichiers qui serve à ajuster chacune des interfaces possibles. Par exemple, pour changer l'image et les valeur de l'écran de chargement d'une map le fichier "loadingDialogBackground.res" possède les paramètres, copier le dans votre mod avant de les modifiers. Les backgrounds Il est possible d'ajouter sont "background" pour le menu, comme dans Half-Life, vous pouvez définir plus d'un arrière plan et selon le chapitre débloqué. Dans le dossier "scripts/" vous trouverez le fichier "ChapterBackgrounds.txt", c'est lui que vous devez éditer pour définir les map pour le menu. "chapters" { 1 "ma_map_menu" } Le numéro est celui associé au chapitre, 0 et 1 étant débloqué par défaut. La map ne dois pas contenir d'emplacement pour le joueur "player_start", mais une caméra pointé sur une "target". Plus exactement, dans votre map, ajouter un "point_viewcontrol" qui sera la vue de l'arrière-plan, ajouter devant la direction avec un "info_target", donner s'y un nom à fin de configurer dans la camera qu'elle entité regarder. N'oublier pas non plus de définir la valeur "Hold infinite time" dans la valeur de la camera "point_viewcontrol". Faites la compilation de la map et le Cubemap comme habituel, et vous aurez votre arrière-plan animé/3D. Dans le moteur source, certaines transition utilise une image fix, par exemple entre les vidéo d'intro et le menu, ou dans le chargement de la première map. Créer une image de 1024x1024, elle sera cette image fix, ceci est valable pour l'image "par défaut" et "par chapitre". Le flou utilisé dans Half-Life 2 est de 30%. Cette image aura deux versions, par exemple pour celle "par défaut" l'une sera "default.vtf" et une autre "default_widescreen.vtf" (vos images TGA convertis en VTF avec leur VMT). La version "widescreen" possède la même valeur, vu que seul des multiples de 4 sont possibles, mais vous pouvez optimiser pour quand elle sera étiré. Dans le dossier "materials/vgui/loading/" vous allez y placer vos fichiers, soit les images pour "default" et vos chapitres comme "chapter0", avec leur variante "widescreen", les fichier VMT doivent être conçu avec ces paramètres; "UnlitGeneric" { "$basetexture" "vgui/loading/default" // vers le fichier VMT default.vtf ou chapter0.vtf etc... selon son nom "$vertexcolor" 1 "$vertexalpha" 1 "$ignorez" 1 "$no_fullbright" "1" "$nolod" "1" } Le "default" est essentiel pour au moins personnaliser sans voir une map de Half-Life 2. Pour personnaliser l'arrière du menu sans une map 3D ou si la console développeur est ouverte, il faut pour cela créer les mêmes fichiers que précédemment, mais avec le nom de la map, par exemple, si votre map d'arrière plan ce nomme "monmod_menu", vous aurez à créer "monmod_menu" .vmt et .vtf et "monmod_menu_widescreen" aussi avec le .vmt et .vtf dans le dossier "materials/console/". Les chapitres Pour définir les chapitres, rendez-vous dans le dossier "cfg/" de votre mod, et créer un fichier selon le numéro du chapitre, habituellement "1", mais vous pouvez définir un chapitre "0", qui peut servir par exemple pour un "Hzard Course" ou un "Tech Demo". Alors votre nom sera "chapter1.cfg" par exemple, à l'intérieur vous inscrivez la map à charger comme suit; "map nom_de_map". Maintenant que vos chapitres sont créé, aller dans "resource/" et éditer vos fichiers de langues comme "votremod_english" avec ce code comme exemple; "monmod_Chapter0_Title" "Tech Demo" Maintenant, vous devez choisir l'image pour votre chapitre. Noter que le moteur source ne peut charger que des images dans des multiples de 4 (soit 4,16,32,64,128,256,512,1024,2048,4096) mais que le chapitre ne ce conforme pas à cette demande. Vous devrez créer une image de 256x128 au format TGA sur fond noir, et placer votre image de chapitre dans le coin supérieur gauche de l'image sur 152x86 (autrement dit,inclure votre image de chapitre au dimension de 152x86, dans une image sur fond noir au format 256x128). Convertiser la au format VTF et nommer la "chapter0.vtf", si "0" est le numéro de votre chapitre. Créer aussi un fichier VMT au même nom, avec ceci; "UnlitGeneric" { "$baseTexture" "VGUI/chapters/chapter0" "$vertexalpha" 1 } Vous aurez devinez que les fichiers ce place dans le dossier "materials/vgui/chapters/" de votre mod. Les icônes Comme vu dans le "GameInfo.txt", vous pouvez définir une icône pour votre Mod. Steam et source prend 2 images; "resource/game.ico" est une icône standard, vous pouvez inclure les dimensions habituel et plus; 16x16, 32x32, 48x48, et les plus hautes "resource/logo.tga" est une image au format TGA, sur fond noir idéalement, si vous ne pouvez pas définir la couleur Alpha à votre TGA, la dimension est de 16x16 "resource/logo_big.tga" est une image au format TGA, sur fond noir idéalement, si vous ne pouvez pas définir la couleur Alpha à votre TGA, la dimension est de 32x32 "resource/logo_huge.tga" est une image au format TGA, sur fond noir idéalement, si vous ne pouvez pas définir la couleur Alpha à votre TGA, la dimension est de 256x256 Codes sources en C++ (Visual Studio) La source donne accès à vraiment tout. Si vous êtes habitué au language C++, vous pourrez surement faire beaucoup, voir brider votre DLL pour éviter de charger inutilement des ressources. Vous pourrez ajouter aussi des armes, mais ne vous fiez pas à ceux présent, suivez plutôt le guide disponible sur le Wiki de Valve avec le MP5, qui à marché à merveille avec moi pour ajouter 2 armes au lieu de remplacer. Vous pouvez avoir un DLL en version debug pour voir ou il peut y avoir problème avec l'ajout d'un nouvel élément (action ou son non référencé, utilisation problématique avec un NPC d'une arme ou item,...). Les sources sont fournis sur le GitHub et avec ModMaker, il vous le télécharge également par défaut.