Izrada igara na izvornom motoru. Povijest tehnologije - Source Engine

Entwickler: Valve Betriebssystem: Microsoft Windows … Deutsch Wikipedia

Entwickler Valve Betriebssystem Microsoft Windows, Apple Mac OS X ... Deutsch Wikipedia

Ovo je pokretač igre kreiran od strane društva Valve Software za elemente igre Half Life 2 (HL²). Na bazi, le Source engine est une refonte du Quake motor. C est un motor complet qui gère graphisme, son et interakcije physiques. Ces ... ... Wikipedia en Francais

Izvorni logotip i snimke zaslona iz Team Fortress 2 i Half Life 2: Episode Two ... Wikipedia

Source engine Source engine est un moteur de jeu créé par la société Valve Software pour les besoins de son jeu Half Life 2 (HL²). Na bazi, le Source engine est une refonte du Quake motor. C est un moteur complet qui gère graphisme, son et… … Wikipédia en Français

Source Engine Source logo i snimke zaslona iz Team Fortress 2 i Half Life 2: Episode Two ... Wikipedia

Ovo je odabrani popis modova (modifikacija) izvornog motora. Ovaj popis je podijeljen na modove za jednog igrača i više igrača. Sadržaj 1 Modovi za jednog igrača 2 Modovi za više igrača 3 Vidi također 4 … Wikipedia

Izvorni motor Wikipedia

Motor ... Wikipedia

knjige

  • Pogon zrakoplova, Saeed Farokhi. Novo izdanje uspješnog udžbenika ažurirano kako bi uključilo novi materijal o bespilotnim letjelicama, smjernicama za dizajn u sustavima komponenata motora zrakoplova i dodatnim problemima na kraju poglavlja Zrakoplovi… Kupite za 7717,99 RUB elektronska knjiga
  • Simbolička matematika za kemičare. Vodič za Maxima korisnike, Fred Senese. Bitan vodič za korištenje Maxime, popularnog open source simboličkog matematičkog mehanizma za rješavanje problema, izradu modela, analizu podataka i istraživanje osnovnih koncepata simboličke matematike za…

logotip ventila

Programer: Valve Corporation

Serije motora: izvorni motor

Datum objave: 2004. godine

Pisano na jeziku: C++

Licenca: Vlasnički softver (Source Engine je vlasništvo Valvea)

Najnovija verzija: Izvorni motor 2

Source engine izašao iz sjene diva kao što je Valve uvelike je nadmašio nade koje su se u njega polagale i utro sebi put do slave. Izvor koji je razvio Valve Software, motor temeljen na Qake Engineu okončao je stare tehnologije i potaknuo zajednicu da stvori novu eru motora. Prva izjava Gabea Newela nakon nabave motora "Kada smo sjeli i vidjeli motor, shvatili smo da za stvaranje sjajne pucačine u prvom licu ne trebate raditi inovativan razvoj u ovom području, u kojem je sve već učinjeno Carmack."

Srećom, motor nije u potpunosti zadovoljio sve potrebe Valvea, programeri su se vodili principom - želimo nešto, učinit ćemo da se to pojavi u igri. Na temelju toga, Valve je jako naribao motor kako igra ne bi izgledala kao Quake, već kako sami programeri žele.

U prvim verzijama motora čak je implementirana podrška za dinamičko osvjetljenje, ali je kasnije, zbog nedovoljne snage tadašnjih računala, odlučeno da se ova tehnologija ukloni. Grafički motor je uvelike redizajniran tako da Half-Life ne izgleda kao njegov izravni konkurent Quake. Half-Life je morao ne samo izgledati bolje od Quakea, nego i biti tehnički bolji od Quakea. Zbog ovog problema, izlazak Half-Lifea je odgođen gotovo godinu dana. Half-Life je bila prva igra u kojoj su NPC likovi podijeljeni na saveznike i neprijatelje. Skeletna animacija i izrazi lica također su dodani u motor - ovo je doista briljantna inovacija, ova tehnologija se sada koristi u svim fizičkim modelima.


Dajući modelima kostur, programeri mogu puno lakše i bolje kreirati animacije likova, što je također omogućilo brže i ljepše kreiranje različitih scena u igrama. Inovacija je također utjecala na izraze lica - ako su ranije likovi, u pravilu, ventrilokvizirali svojim glasom, sada su njihova lica pronašla vlastiti život. Ovaj je motor kasnije redovito prerađivan i usavršavan, kako od strane Valvea tako i od strane trećih strana. Valve su ga sami ažurirali koristeći Steam sustav. Gearbox je izdao nekoliko igara na njemu, od kojih su vrijedne pažnje Half-Life: Blue Shift i Half-Life: Opposing Force. Preinake Gearboxa dodale su teksture više rezolucije, anti-aliasing i poboljšane izraze lica.


Za izdanje Counter Strike: Condition Zero, Valve, Gearbox i TurtleRock zajednički su razvili novu verziju motora, koji je dodao mogućnost korištenja vrlo detaljnih tekstura. Teksture su bile postavljene na druge i stvorile su osjećaj hrapavosti ravnine, poput pukotina, pukotina itd. Alpha teksture su također dodane, takve teksture se mogu postaviti na stupanj transparentnosti, koji se koristi u nizu scena.

Povijest Source Enginea

Malo povijesti razvoja: sve je počelo 1998. godine, kada su programeri, dovršavajući rad na svojoj prvoj igri u Half-Life serijalu, shvatili da se tijekom procesa razvoja pojavilo mnogo razvoja i detalja koje bi željeli uvesti u motor, ali zato igra je već bila gotovo gotova, nisu se usudili uvoditi nova rješenja. U sljedećim odama, programeri su koristili izraze za ime motora izravno kao "GoldSource" i "Source". GoldSource se razvio iz izvornog koda izdane verzije motora, dok je Src ostao eksperimentalna verzija i povezan s budućom verzijom motora.


Tako se naziv Source počeo koristiti za opis novog motora, a GoldSource je postao naziv prethodne generacije tehnologije. Vrijedno je napomenuti da naziv u doslovnom prijevodu znači "izvor", ali se riječ izvor koristi i u frazi izvorni kod - izvorni kod.


Prva igra na Source motoru bila je pucačina za više igrača Counter-Strike: Source, objavljena u listopadu 2004., postala je svojevrsna demonstracija motora, zbog čega je ime tehnologije upisano u njegovo ime, jer je rekreirana verzija klasične Counter-Strike pucačine s najnovijom grafikom za to vrijeme.


Nešto kasnije, objavljen je nastavak Half-Lifea, Half-Life 2, znanstveno-fantastična pucačina vođena pričom koja je osvojila brojne nagrade i poznata je po nekim od najprogresivnijih grafika svog vremena. Half-Life 2 uvelike koristi motor fizike temeljen na Havoku koji je licencirao Valve. Brojne zagonetke temeljene na igranju s fizičkim zakonima izgrađene su pomoću Havok Enginea. U budućnosti, tema zagonetki sa zakonima fizike zanimljivo je razvijena u drugom Valve projektu - Portal objavljen 2007., glavna ideja igre je kretanje pomoću teleporta. Uz napredni model fizike, Half-Life 2 je sadržavao neke od najnaprednijih tehnologija animacije lica svog vremena. Grafički mehanizam koji koristi DirectX verziju 9 također je bio visoko optimiziran i mogao je raditi na starijim grafičkim karticama, smanjujući kvalitetu grafike i prebacujući se na ranije verzije DirectX-a do verzije 6.


U budućnosti, Source, čiju strukturu programeri opisuju kao izuzetno fleksibilnu i modularnu, korišten je u većini igara tvrtke, stalno prolazi kroz poboljšanja i poboljšanja. Dodani su mnogi moderni efekti, kao i razne značajke motora su proširene, uključujući, na primjer, rad s velikim lokacijama, nove platforme dodane su na popis podržanih. U početku je Source bio dostupan na Windowsima, kasnije su dodani Xbox, Xbox 360, PlayStation 3, od 2010. - Mac. Od 2012. dodana je podrška za Linux, prva igra koju je Valve prenio bila je Team Fortress 2.

Tehnički podaci

Source je motor za igre, stoga se sastoji od različitih komponenti, uključujući: fizički motor, grafički motor, audio motor itd.


Jedna od značajki motora je njegov sustav animacije likova, posebno animacija lica, koja sadrži mnoge alate za stvaranje izražajnih izraza lica i preciznu sinkronizaciju govora glumaca s animacijom; motor također ima naprednu umjetnu inteligenciju igre koja može učinkovito kontrolirati igračeve protivnike ili saveznike; bio je jedan od prvih koji je koristio složene efekte sjenčanja; u igrama na motoru aktivno se koristila shader voda, odražavajući svijet oko sebe.


Fizički motor se temelji na Havoku. Omogućuje vam izračunavanje mnogih fizičkih objekata, kao što su kruta tijela, elastična tijela, užad, površine itd. Moguće je izraditi realistična vozila, od automobila do lebdjelica i helikoptera. Za izračunavanje ponašanja vozila na cesti ili u zraku koriste se mnogi parametri, na primjer, prianjanje kotača s cestom, masa automobila. Da bi se tijelu dalo realno kretanje, koristi se fizika Ragdoll; unaprijed stvorena animacija može se pomiješati s fizikom u stvarnom vremenu.


S razvojem Sourcea dodano je: HDR renderiranje, dinamičko osvjetljenje i sjenčanje s mogućnošću samosjenčanja objekata, meke sjene iz (postoji mogućnost korištenja tradicionalnih svjetlosnih mapa), višejezgreno renderiranje za višejezgrene procesore , napredni sustav čestica.


SDK alati

Source SDK je skup uslužnih programa za stvaranje izmjena na Source engineu, besplatno dostupan igračima putem Steama. Set uključuje: uređivač karata - Valve Hammer Editor, uslužni program za izradu animacije lica modela - Faceposer, preglednik modela u .MDL formatu - Model Viewer.


Uz tri glavna uslužna programa, set uključuje uslužni program za raspakiranje osnovnih datoteka prilikom stvaranja novog moda, kao i datoteke izvornog koda za biblioteke nekih Valve igara, što vam omogućuje ručno stvaranje igara s modificiranim karakteristikama bez dekompiliranja motor. Međutim, prevođenje novih datoteka zahtijeva poznavanje jezika C++ i prevoditelja.


Slijede različite interne verzije Source motora, s popisom igara koje su koristile određenu verziju motora:

Rane verzije (2003.) - rana verzija motora korištena je u beta verziji igre Half-Life 2 koja je procurila na web 2003., igra je bila vizualno slična igri Half-Life na GoldSourceu i nije sadržavala mnogo tehnologija. Na drugoj verziji enginea, već bliskoj onoj koja je debitirala s Half-Life 2, stvorena je igra Vampire: The Masquerade - Bloodlines.


VTMB

Source Engine 2004 (Source Engine 6) - prva izdana verzija stroja, prvi put korištena u Half-Life 2. Izvorno podržava skaliranje, mogućnost ažuriranja, renderiranje shadera, animaciju lica i dinamičko osvjetljenje. Do 2005. korišten u: Half-Life 2, Counter-Strike: Source, Half-Life 2: Deathmatch, Half-Life: Source. Ažurirano na Source Engine 7.


Source Engine 2005 (Source Engine 7) - ažurirana verzija. U usporedbi s prethodnikom, podržava High Dynamic Range Rendering, kako bi demonstrirali nove tehnologije osvjetljenja, programeri su objavili Half-Life 2: Lost Coast, u biti, ova igra je razina koja nije ušla u konačnu verziju Half-Lifea 2. Motor se smatra zastarjelim, koristi se u: Half-Life 2: Lost Coast; korišten u: Half-Life 2: Deathmatch, Counter-Strike: Source, Half-Life Deathmatch: Source, Day of Defeat: Source do 2006.; do 2010. u Half-Life 2; do 2014. - u Half-Life: Source.


Source Engine 2006 (Source Engine 7: Base Source Engine 2) s razvojnim paketom: Source SDK Base 2006 je treća verzija motora na kojem je izdano nekoliko igara. Također je pokretao brojne Valveove igre za više igrača do 2010. Ažuriran je da podržava ažuriranu animaciju lica, višejezgreno renderiranje i ažurirani HDR. Velik broj izmjena objavljen je za ovu verziju motora, osim toga, modovi objavljeni za ranije verzije su kompatibilni s ovom verzijom, koji ne rade na kasnijim verzijama, tako da je još uvijek koriste autori modova. Koristi se u Half-Life Deathmatch: Source, SiN Episodes: Emergence, Dark Messiah of Might and Magic; korišteno u Day of Defeat: Izvor do 2009.; do 2010. u Half-Life 2: Episode One, Half-Life 2: Deathmatch, Counter-Strike: Source, Garry's Mod.


Source Engine 2007 (Source Engine 14); s razvojnim kompletom: Source SDK Base 2007 - četvrta verzija motora, uvelike modificirana i ažurirana, korištena po prvi put u Valve igrama kolekcije Orange Box. Shader renderiranje je ažurirano, dinamičko osvjetljenje i sjenčanje su značajno poboljšani, također je uveden sustav mekih čestica i dodana je kinematografska fizika, značajka koja uvelike proširuje korištenje fizikalnog motora. Motor sadrži značajne promjene u odnosu na Source Engine 7, tako da modifikacije igre objavljene za ranije verzije nisu kompatibilne s ovom i kasnijim verzijama. Koristi se u Black Mesi; do 2010. u Half-Life 2: Episode Two, Portal, Team Fortress 2, Day of Defeat: Source.


Source Engine 2008 (Source Engine 14: Base Source 3) - sljedeća verzija motora s poboljšanom kinematografskom fizikom i nekim vizualnim efektima (na primjer, dubina polja); korišten u Left 4 Dead.


Source Engine 2009 (Source Engine 15) - šesta, jako modificirana verzija motora. Ažurirane su sve funkcije, sustav čestica, animacija lica, skaliranje i mogućnost ažuriranja značajno su poboljšani. Izdane s Left 4 Dead 2, ranije Valve igre ažurirane su na ovu verziju. Koristi ih: Left 4 Dead 2, Zeno Clash, Postal III, od rujna 2010. igre su prešle na ovu seriju: Counter-Strike: Source, Half-Life 2, Half-Life 2: Deathmatch, Half-Life 2: Episode One, Half -Life 2: Episode Two, Portal, Team Fortress 2.


Source Engine 2010 (Source Engine 17) je sedma verzija motora. Koristi se u: Day of Defeat: Source, Bloody Good Time.


Source Engine 2011 - korišten u Portal 2, Dota 2, Counter-Strike: Global Offensive, The Stanley Parable.


Source Engine Multiplayer (Source Engine 19) - varijanta enginea prilagođena za potrebe multiplayer igara; do 2010. koristio: Counter-Strike: Source, Team Fortress 2, Day of Defeat: Source, Half-Life 2: Deathmatch, Garry's Mod.


Source Engine Multiplayer (Source Engine 21) - do 2012. korišteno: Counter-Strike: Source, Team Fortress 2, Day of Defeat: Source, Half-Life 2: Deathmatch, Garry's Mod.


Source Engine Multiplayer (Source Engine 23) - poboljšan rad s Big Picture Modeom u Steamu; do 2013. korišten u: Counter-Strike: Source, Team Fortress 2, Day of Defeat: Source, Half-Life 2: Deathmatch, Garry's Mod.


Source Engine 2013 (Source Engine 24); sa Source SDK Base 2013 jedna je od najnovijih verzija motora na koji je Valve migrirao većinu svojih igara. Među promjenama: kako bi se optimiziralo korištenje prostora na disku, odlučeno je napustiti korištenje glomaznih .GCF datoteka (arhiva s resursima igre), u korist datotečnog sustava kodnog naziva SteamPipe. Igre na novom pogonu sada su instalirane u direktoriju Steam\SteamApps\Common, a datoteke igara pohranjene su u .VPK datotekama. Izrađen je prikladan sustav za dodavanje prilagođenog sadržaja (modova) za Counter-Strike: Source, Team Fortress 2 i Half-Life 2: Deathmatch: postoji prilagođena mapa u kojoj se stvara mapa s proizvoljnim nazivom i klasična mape s materijalima za modifikaciju već su mu dodane (materijali, modeli itd.). Dodana kompatibilnost s Linuxom. Od 2013. koristi se u: Half-Life 2, Half-Life 2: Deathmatch, Half-Life 2: Lost Coast, Half-Life 2: Episode One, Half-Life 2: Episode Two, Counter-Strike: Source, Day of Defeat : Izvor, Portal, Team Fortress 2, Dota 2, Garry's Mod, Tactical Intervention, Alien Swarm.


Izvor 2 Motor

Valve je službeno najavio Source 2 na GDC 2015 Game Developers Conference u San Franciscu 3. ožujka. Prema Valveu, Source 2 će biti "besplatno dostupan svim programerima sadržaja". Sličnu izjavu nedavno je dao i Epic Games, čiji Unreal Engine 4 engine više ne zahtijeva mjesečnu pretplatu za korištenje.


"Sa Source 2, želimo povećati produktivnost kreativnih ljudi", rekao je glavni programer Valvea Jay Stelly u priopćenju za javnost. - Uz sve veću važnost sadržaja koji stvaraju korisnici, Source 2 nije samo za profesionalne programere. Omogućuje samim igračima da sudjeluju u stvaranju i razvoju svojih omiljenih projekata.


Valveov model distribucije izgleda mnogo zanimljivije od konkurencije, motor je besplatan za sve, ali ako želite napraviti igru ​​na Source 2, prodajte je putem naše Steam platforme. Source 2 je moćan alat koji može zadovoljiti potrebe svakog programera, detaljne specifikacije motora još nisu objavljene, kao ni datum objave, ali se spominju verzije s podrškom za Vulkan API - novi razvoj iz grupa Khronos koja će kreatorima igara omogućiti da izvuku maksimum iz najsuvremenijeg računalnog hardvera. Još nisu najavljeni nikakvi projekti na Source 2, ali netom kruži video u kojem je na zatvorenoj prezentaciji programerima prikazana igra Dota 2 pokrenuta pomoću Source 2. Sada svaki korisnik sa Steam računom ima priliku pokrenuti Dotu 2 na Source engine 2.


Valve se jako trudio biti drugačiji od svih, a rezultat je bio jedinstvena tehnologija koja je bila ispred svog vremena. Unatoč prilično dugom razdoblju postojanja Source motora, igre ne izgledaju prilično loše i nisu ometale programere u implementaciji njihovih ideja. Sve zahvaljujući stalnim ažuriranjima ne samo igara, već i samog motora, o čemu svjedoče mnoge Build verzije Sourcea. Igre stvorene na Sourceu nisu samo legendarni serijali za koje je čuo svaki Half Life, Portal, Left 4 dead gamer, već i igre koje su se pretvorile u esport discipline Counter Strike: Global offensive, Dota 2. Trenutno su Valve organizatori prvenstva s najvećim nagradnim fondom (13 000 000 $) i on još uvijek raste. Sada, s najavom Sourcea 2, pitanje je hoće li to biti iskorak i nova era za igrice ili drugu tehnologiju, kojih trenutno ima jako puno. U najmanju ruku, monetizacija enginea je vrlo impresivna, a Steam Machines konzola, kontroler, Steam Link, Steam Lighthouse (uređaj za kacigu za virtualnu stvarnost) govori o namjeri Valvea da prodre u sva područja vezana uz računalne igre. Pa, možemo samo čekati dok ne budemo mogli uživati ​​u rezultatima Valveovog rada i u potpunosti iskusiti sljedeći gen industrije računalne zabave.

Stvaranje vlastitog RPG-a na Source motoru

Ako želite naučiti kako razvijati igre, modificiranje postojećih igara odlično je mjesto za početak učenja dizajna i izrade prototipa bez potrebe za izmišljanjem kotača. U ovom ćemo članku koristiti Valveov Source Engine (koji je motor na kojem se temelje Portal, Left 4 Dead, Half-Life i Team Fortress 2) za stvaranje misija sličnih RPG-u u Half-Life 2: Episode 2 .

Imajte na umu da ovaj članak pretpostavlja da imate osnovno znanje o Source SDK Hammer Editoru i Face Poseru, tako da ovo nije projekt za početnike, već za srednje programere.

Ako nemate ove vještine, možete naučiti o razvoju igara na našoj stranici: na primjer, kreiranje igara ili .

Da biste svladali ovaj materijal, trebali biste znati kako stvoriti i kompajlirati mape, postaviti entitete i postaviti okidače prije ponavljanja ovdje opisanih koraka. Ako želite dodati vlastite dijaloge, također morate znati kako stvoriti i spremiti scene u Face Poser. U redu je ako nikada prije niste radili sa Source SDK-om - internet je pun članaka koji opisuju kako ga koristiti. Započnite s Valve Developer Wikijem, koji ima puno korisnih članaka o toj temi, zatim pogledajte design3 (usput, jedan sam od suradnika) za video zapise Source Enginea korak po korak. Minimalni sistemski zahtjevi za korištenje gore opisanih alata isti su kao i za pokretanje igre Half Life 2: Episode 2: procesor od 1,7 GHz, 512 MB RAM-a, DirectX 8.1 i Windows XP ili noviji. Trebat će vam i mikrofon.

Trening

Prije nego što počnemo, provjerite imate li sve što vam je potrebno. Prvo, trebate instaliranu kopiju igre Half-Life 2: Episode 2. Koristit ćemo ovu igru ​​jer je to najnovija igra za jednog igrača na Source engine-u koja se može modificirati. Ako nemate drugu epizodu, preuzmite je s tada bi trebao raditi i jednostavni Half-Life 2.

Ako ovom RPG-u želite dodati vlastiti dijalog, trebat će vam aplikacija za obradu zvuka. Koristit ćemo ga - besplatan je, otvorenog koda i izvrstan za naše potrebe.

Slika 1 - naša razina u Hammer Editoru

Trenutačno je naša razina samo grubi prototip koji nije u potpunosti teksturiran ili detaljan. Najbolje je započeti s ovim, a detaljima se baviti na samom kraju. Dakle, počnimo već s izradom našeg RPG-a. Ne zaboravite uštedjeti na vrijeme! Neke značajke Hammera nisu u potpunosti podržane u Epizodi 2 i mogu uzrokovati rušenje uređivača.

Stvaranje strukture zadataka

U ovom ćemo se članku usredotočiti na dobivanje i ispunjavanje zadataka, izgradnja sustava razvoja karaktera s bodovima iskustva je tema za poseban članak. Na našoj razini bit će tri neigračka lika (NPC), a svaki će nam dati dva zadatka. Također ih možemo koristiti za pružanje informacija igraču, za napad na njega ili samo za dodavanje malo života razini.

Kako bi razine bile organizirane, upotrijebimo sljedeću konvenciju imenovanja:

Slika 2 - konvencija imenovanja koju ćemo koristiti

To će nam znatno olakšati pronalaženje entiteta, posebno dok radimo na zadacima. Na primjer, dodavanje prefiksa entitetima koji utječu samo na određenu razinu s prefiksom Razina automatski će ih smjestiti na isto mjesto na popisu i neće se zamijeniti s entitetima bilo kojeg posla.

Prije nego počnemo praviti zadatke, moramo ih rastaviti na manje komponente, naime:

  • Okidač Start: započinje posao;
  • Sprite: pokazuje gdje se može započeti potraga;
  • davatelj: NPC koji daje ovaj zadatak;
  • početak scene: dijalog koji opisuje zadatak;
  • zvučni početak: zvuk koji obavještava igrača da je zadatak primljen;
  • Početak teksta: tekst koji opisuje zadatak;
  • relejni sadržaj: sloj koji pokreće procese potrebne za zadatak (na primjer, NPC spawner);
  • : <основное содержимое квеста - после выполнения оно должно запустить Relay Complete>;
  • relej završen: sloj koji prilagođava razinu za sljedeći zadatak;
  • Kraj teksta: tekst koji opisuje kako izvršiti zadatak;
  • Sprite: ponovno se pojavljuje kako bi označio s kojim NPC-om razgovarati;
  • Kraj okidača: okidač koji inicira kraj zadatka;
  • kraj scene: završni dijalog;
  • zvučni kraj: zvuk koji označava kraj zadatka;
  • : <если есть следующее задание, оно активируется здесь>.

Ako ništa od ovoga ne razumijete, ne brinite - za sada samo izrađujemo popis svega što vam treba. Ovo je popis za samo jedan posao, tako da ćemo morati kreirati zaista mnogo entiteta. Kako ne bismo zakrčili mozak nepotrebnim stvarima, koristit ćemo VisGroups za odvajanje zadataka i skrivanje onoga što sada nije potrebno. VisGroups vam omogućuje da odredite grupe kistova i entiteta i brzo ih sakrijete ili prikažete. Ako je grupa skrivena tijekom kompajliranja, sve što je sadržano u toj grupi bit će preskočeno i neće se pojaviti u igri. Ovo je vrlo zgodno, jer možete selektivno pregledavati pojedinačne skupine objekata, fokusirajući se na njih, i ništa drugo vas neće ometati.

Napravite predložak posla

Koristit ćemo predloške (instanciranje) - odličan alat Hammer Editora. Ovo će omogućiti drugima da referenciraju našu glavnu kartu. Napravit ćemo instancu zadatka koju ćemo kasnije koristiti kao predložak. Nakon što ga završimo, možemo ga samo izdvojiti i malo urediti postavke kopiranja tako da svaki zadatak bude jedinstven. Na ovaj način ne moramo uvijek iznova raditi isti zamoran posao. Nažalost, Epizoda 2 ne podržava u potpunosti ovu tehnologiju, tako da ćemo morati pretvoriti instance u razine prije kompajliranja (dotaknut ćemo se toga kasnije).

Kako bismo prilagodili predložak posla, potrebna nam je nova datoteka karte. U Hammeru odaberite File, zatim New, spremite kartu kao "quest_instance" u mapu "instances" na istom mjestu gdje je vaša glavna karta.

Najbolje je postaviti entitete što bliže koordinatama (0,0,0). Također ih je vrijedno postaviti iznad ravnine XY kako ih ne biste izgubili tijekom prijenosa. Za pravilno postavljanje možete koristiti alat za odabir. Naš će predložak automatski dodati prefiks koji odaberemo svim entitetima unutar njega. Okidači i postavljanje nekih vrijednosti bit će opisani kasnije, stoga ne brinite ako mislite da smo nešto propustili.

Trebat će nam svi entiteti navedeni na gornjem popisu. Počnimo s dodavanjem NPC-ova. Odaberite Entity Tool, pronađite npc_citizen na padajućem popisu i postavite ga na ishodište. Ovaj tip će nam dati zadatak. Pritisnite Alt+Enter da otvorite njegove postavke i nazovite ga "davatelj". Postavite opciju Spriječiti uzimanje oružja? do da. Primijenite postavke klikom na Primijeni i idite na ploču Zastavice. Postavite zastavu Not Commandable, inače će naš poslodavac pratiti igrača svugdje po karti. Postavite više Ne ispuštajte oružje i Ignorirajte guranje igrača (tako da ne ustupi mjesto igraču).

Sada nam treba okidač koji će pratiti je li igrač prišao... Nazovimo ga Grisha, jer "this guy" ili "quest giver" ne zvuči baš dobro. Dakle, da biste pratili je li se igrač približio Grishi, napravite kist sljedećih dimenzija: 64 jedinice visine, 32 jedinice širine, 4 jedinice dužine - i postavite objekt točno ispred Grishe. Dajte ovom objektu nodraw teksturu kako se ne bi renderirao. Da biste promijenili teksturu, odaberite objekt, prebacite se na Toggle texture, pritisnite gumb Browse, upotrijebite filtar nodraw, dvaput kliknite da ga odaberete i primijenite postavke (gumb Primijeni). Zatim dodijelite okidač ovom entitetu pritiskom na Ctrl+T i odabirom func_button s popisa. Nazovite ga "trigger_start" i promijenite brzinu na nulu. Ponovno spremite promjene.

Sada dodajmo sprite koji će obavijestiti igrača da ovaj NPC ima zadatak. Postavite env_sprite entitet na Grishinu glavu i otvorite prozor Svojstva objekta pritiskom na Alt+Enter. Nazovite ga Sprite. Sada moramo promijeniti način iscrtavanja tako da se sprite ispravno prikazuje u igri. U istom prozoru pronađite opciju Render Mode i odaberite World Space Glow iz padajućeg izbornika. Ako želite, možete promijeniti teksturu ovog lika pomoću ovog izbornika. Provjerite je li kartica Start on označena na kartici Oznake.

Hajde da vodimo dijalog. Pronađite logic_choreographed_scene na popisu entiteta i postavite je iza Grishe. Trebat će nam najmanje dva takva po zadatku - jedan za početni dijalog, jedan za završni dijalog - pa ga kopirajte i zalijepite drugi na prvi. Nazovite ih "scene_start" i "scene_end". Razmotrit ćemo dodavanje stvarnog dijaloga nešto kasnije.

Uz sve to trebamo i zvučne obavijesti da je igrač dobio zadatak i da ga je izvršio. Napravite dva ambient_generic entiteta, postavite ih pored NPC-a i nazovite ih "sound_start" i "sound_end". Ako nemate vlastite odgovarajuće zvukove, koristite plats\elevbell1.wav (morate unijeti u polje Naziv zvuka). Na kartici zastavica treba označiti sve tri opcije.

Nakon toga trebamo dodati tekst koji će opisati zadatak. Stvorite dva entiteta game_text i nazovite ih "text_start" i "text_end". Postavite oba na dovoljno visoko vrijeme zadržavanja (oko 99999) tako da tekst ne nestane dok ga sami ne uništimo. Želimo da tekst bude sa strane ekrana i da ne smeta igraču, stoga postavite X i Y margine oba entiteta na 0,1.

Trebat će nam nekoliko slojeva za organiziranje okidača. Relej je entitet koji, kada se aktivira, pokreće druge entitete. Jedan sloj obično pokreće radnje koje bi se trebale izvoditi u isto vrijeme i na istom mjestu kako bi bile praktičnije za upravljanje. Stvorite dva entiteta logic_relay i postavite ih pokraj Grishe. Imenujte ih "relay_content" i "relay_complete". Ova dva sloja će pokretati sve entitete u poslu. Sami razmislite o specifičnostima određenog zadatka - morate igraču postaviti cilj poput "sakupiti toliko takvih i tih predmeta" ili "doći do tog i tog mjesta". Za testiranje ovih uvjeta možete koristiti entitete kao što je math_counter ili entitete područja kao što je trigger_once. Kada ti entiteti utvrde da je zadatak prošao, morat će pokrenuti "relay_complete", koji će zauzvrat pokrenuti sve što je potrebno da označi kraj zadatka.

Dodajmo još jedan okidač ispred Grishe. Bit će gotovo identičan početnom okidaču, pa samo kopirajte "trigger_start" i preimenujte ga u "trigger_end". Provjerite je li uključena zastavica Starts locked. Uvjerite se da se ti entiteti ne preklapaju i da je početni okidač ispred NPC-ove kutije za pogodak (inače će se igra zbuniti bilo da odaberete okidač ili "gumb") koristeći pogled odozgo i sa strane. Da biste locirali hitbox, odaberite Grisha - oko njega će se pojaviti žuti okvir.

Postavimo sada okidače kao što je prikazano na slici 5. Još ne morate brinuti o okidačima u zagradama, dodat ćemo ih kasnije. Odaberite navedene entitete, otvorite njihova svojstva objekta, idite na karticu Izlazi i konfigurirajte sve prema donjoj tablici. Provjerite jeste li spremili sve promjene (gumb Primijeni)!

Slika 5 - postavljanje okidača.
Zaglavlja: Odabrani entitet \ Aktiviraj do… \ Aktivirani entitet \ Što aktivirati na entitetu

Postavljamo šablone

Naš predložak je spreman, sada možemo postaviti takve predloške oko karte i detaljnije ih prilagoditi. Postavite "func_instance" gdje god želite, otvorite njegova svojstva objekta i pod VMF Filename pronađite svoju datoteku "quest_instance". Imajte na umu da je pretraživanje ponešto bugovito, pa ćete možda morati ručno unijeti stazu do datoteke. Sada možete kopirati ovaj predložak po karti: izradite onoliko zadataka koliko želite.

Odaberite prvi zadatak i pustite ga da uveze sve potrebne entitete (pritisnite Instanciranje, Sažimanje, Odabir). Hammer će svim entitetima dati prefiks, "AutoInstance-" prema zadanim postavkama. Sve uvezeno bit će odabrano, samo ćemo ih morati dodati u jednu grupu kroz VisGroups. Otvorite Object Properties i tamo odaberite karticu VisGroups. Vidjet ćete nešto poput ovoga:

"Kanalizacija" i "Glavna razina" su grupe koje sam prije kreirao, pa je u redu ako ih nemate. Kliknite na "Uredi grupe" i vidjet ćete sljedeće:

Ovdje možete kreirati nove grupe koje ćete kasnije koristiti. Kliknite "Nova grupa" i vidjet ćete novu stavku na popisu. Preimenujte ga u "Kuest_n", gdje je n broj misije. Kada završite s tim, kliknite "Zatvori", vidjet ćete svoju grupu na glavnom popisu. Označite potvrdne okvire za dodavanje entiteta u grupu, kliknite "Primijeni", zatim ponovno "Zatvori". Sada možete sakriti ili pregledati grupe pomoću upravljačke ploče VisGroup kao što je prikazano u nastavku. Učinite to sa svakim svojim zadatkom.

Dodavanje vlastitih zvučnih datoteka

Naš bi RPG bio iznimno dosadan bez dijaloga s pričama, pa ćemo ga snimiti kroz Audacity. Prvo morate imati mikrofon. Zbog načina na koji Face Poser funkcionira, trebali biste pisati jednu po jednu rečenicu. S Audacityjem je jednostavno - postavite svoj mikrofon, pritisnite crveni gumb, recite nešto, zaustavite snimanje i spremite datoteku kao .wav datoteku. Ako imate bilo kakvih problema, možete sigurno koristiti ugrađenu pomoć, vrlo je dobro napravljena. Kada ste gotovi, napravite mapu "RPG" i stavite sve datoteke u nju. Premjestite ovu mapu u C:/Program Files/Steam/steamapps/half-life epizoda dva/ep2/sounds/ . Spremanje svih datoteka u mapu jednu razinu iznad "zvukova" je neophodno - inače ih motor jednostavno neće vidjeti.

Krenuti dalje. Napravite datoteku "sound_script" tako da motor može povezati naše zvukove u editoru s igrom. Pokrenite GCFScape, idite na Datoteka->Otvori, dođite do mape "steamapps" i otvorite datoteku "episode two content.gcf". Nakon što ga GCFScape učita, morat ćete pronaći datoteku "game_sounds_manifest.txt", koja se nalazi u "/steamapps/ep2/scripts". Kliknite desnom tipkom miša na njega i odaberite "Extract" i smjestite ovaj manifest u "/steamapps/half-life 2 epizoda dva/ep2/scripts". Završili smo s GCFScapeom, možete ga zatvoriti.

Sada idite u svoju mapu sa skriptama i otvorite "game_sounds_manifest.txt" koji smo upravo izdvojili. Ova datoteka sadrži sve zvučne skripte koje će igra koristiti, a tu također moramo dodati svoje unose. Ispod posljednjeg retka koda, u zadnjim zagradama, napišite točno sljedeće:

Datoteka manifesta već se može zatvoriti. Kreirajmo datoteku "rpg_sounds.txt" na koju se pozivamo i u nju napišimo sljedeće:

Prvi red je naziv zvuka koji će biti prikazan u Face Poseru: "rpg_sounds" je prefiks, a drugi dio je sam naziv. Možete ih mijenjati kako god želite. Sljedeća četiri retka govore motoru što treba učiniti s tim zvukovima, samo ih uzmite zdravo za gotovo. Posljednji redak je . wav datoteku koja će se učitati i relativnu putanju iz mape "/steamapps/half-life 2 episode two/ep2/sound/". Sve što trebate učiniti je staviti sve svoje zvučne datoteke u ovu mapu i pobrinuti se da njihovi nazivi i ekstenzije odgovaraju onima navedenima u datoteci skripte.

Ako koristite Windows Vista ili Windows 7, morat ćemo malo pomoći Face Poseru. Kao što je gore navedeno, trebat će vam zakrpa Phoneme Extractor za ovo. Ovdje je vrijedno spomenuti da se Source SDK sam ažurira svaki put kada ga pokrenete, tako da ga trebate zakrpati svaki put kada otvorite Source SDK. Da, zamorno je, ali to je najlakši način, vjerujte mi.

S otvorenim Face Poserom, počet ćemo stvarati novu scenu. Pod izbornikom Koreografija kliknite Novo. Preporučujem da ga odmah spremite. Ime odaberite sami, a mapa za spremanje je "/steamapps/half-life episode two/ep2/Scenes/RPG_MOD/". Kasnije ćete ga lakše pronaći ako mu date neku vrstu prefiksa, na primjer "RPG_". Sada će vas Face Poser tražiti da imenujete glavnog lika (glumca). Nazovite ga "!_targetN", gdje je N broj od 1 do 8, jer imat ćemo do osam NPC-ova u svakoj sceni. Hammer će koristiti NPC kojeg navedete. Zasad imamo samo Grišu, pa glumca nazovimo "!_target1". Kliknite desnim klikom na ime lika koji se pojavio u izborniku "Koreografija", zatim idite na okvir Novo->Kanal->Stvori kanal. Nazovite ovaj kanal "Audio". Sada stvorite drugi kanal i nazovite ga "Anim" (za animaciju).

Sada moramo sortirati audio zapise. Na popisu kartica na dnu zaslona Face Poser dvaput dodirnite "Phoneme Editor". U prozoru koji se otvori kliknite "Učitaj" i odaberite .wav datoteku koju želite dodati. Zatim kliknite na "Re-extract" i Face Poser će vas zatražiti da napišete sadržaj audio datoteke kao tekst. Unesite ga. Sada, ako pritisnete gumb za reprodukciju, prikazat će vam se lice lika čije će se usne pomicati. Možete sve spremiti i zatvoriti ovaj prozor. Ovi se koraci moraju ponoviti za svaku zvučnu datoteku.

Ako želite dodati geste, izraze lica ili druge animacije, učinite to sada. U ovom članku neću govoriti o tome kako to učiniti, o tome možete pročitati drugdje. Zatim spremite svoju scenu (Koreografija->Spremi). Sada ostaje primijeniti ovu scenu na naš NPC.

Dodavanje zvuka treće strane NPC-u

Sada moramo postaviti dijalog. Moramo dodati scene koje smo izradili u "scene_start" i "scene_end" koje smo izradili ranije. Da biste to učinili, pritisnite Alt+Enter da otvorite Svojstva objekta, tamo pronađite opciju "Datoteka scene". Dodijelite mu novostvorenu scenu i spremite promjene. Učinite isto za "scene_end".

Aktivacija događaja

Općenito, već možete sami izraditi okidače koji će učiniti bilo što, ali ja ću dati primjer koji zadatak možete obaviti i kako ga implementirati.

Igrač mora ubiti pet neprijatelja. Svaki put kada neprijatelj umre, math_counter se povećava za jedan. Kada brojač dosegne pet, math_counter poziva logic_relay. Zauzvrat, logic_relay zaustavlja stvaranje mobova, aktivira NPC-ove i "relay_complete".

Postavljanje automatskog spremanja

Nitko ne voli kada jedno slučajno rušenje ubije rezultat mnogih sati igre. Stoga biste trebali dodati entitet logic_autosave i pozvati ga svaki put kada se zadatak završi (već znate kako to učiniti).

Kraj igre

Igra će kad-tad morati završiti, a neće biti sjajno ako se samo sruši na glavni izbornik, tako da vrijedi kreirati naslove. Da biste to učinili, jednostavno postavite sljedeće entitete negdje na kartu:

Zaključak

Rekao sam sve što sam htio. Sada možete stvarati bilo kakve zadatke, znati raditi s okidačima i, općenito, možete početi pisati vlastite jednostavne modove za igre. Sretno!

Source je najpopularniji game engine: u trenutku dok čitate ovaj članak, igre napisane na njemu može igrati više od milijun ljudi:

I to ne čudi: motor je razvio Valve, koji posjeduje najveću trgovinu igrama - Steam, a njegove igre su konstantno na vrhu gaming vrha.

No, naravno, put do vrha slave bio je dug: povijest razvoja Source motora započela je davne 1998. godine, kada su programeri Valvea, dovršavajući rad na Half-Life 1, shvatili da imaju puno razvoja koji Htjela bih negdje upotrijebiti. I tada se pojavila podjela na dva motora: GoldSrc, na kojem je radila trenutna verzija igre, i Source, koji je pripadao budućoj verziji igre i imao je nove, još nedovršene, tehnologije. I tako je na E3, kada je Valve pokazao beta verziju Half-Life 2, rečeno da igra radi na Source engineu. Ovo ime se zadržalo, au budućnosti je GoldSrc potpuno nestao.

Source Engine 2004 (Source Engine 6)

Prva javna verzija motora objavljena je 2004. godine, zajedno s vrlo voljenom pucačinom Counter Strike, koja je u čast motora nazvana Source. Bilo je dosta promjena u odnosu na izvornu verziju: oštrije teksture (512×512 piksela u odnosu na 128×128 u originalu) i detaljni 3D modeli. Značajke motora koje se odnose na zrcalne refleksije naširoko se koriste - za oružje opremljeno optičkim nišanom, možete vidjeti okolinu (ali ne i modele drugih igrača) iza igrača na leći ciljnika kada nije zumirana.

Zvučni efekti sada odgovaraju akustičnim uvjetima, uvedena je podrška za 5.1 i 7.1 zvučnike. Nove značajke motora pomogle su da karte budu detaljnije: na tlu su ležale boce i paketi. Fizički motor, temeljen na Havoku, poboljšao je fiziku leta granata, eksplozija, kao i učinaka njihovog uništenja prema većem realizmu.

Nešto kasnije tijekom godine izašao je Half-Life 2 koji je gore navedenim značajkama dodao: renderiranje shadera (Half-Life 2 je bila jedna od prvih igara koja je koristila vodu shadera) i animaciju lica (s podrškom za preciznu sinkronizaciju glumaca ' govor s animacijom), a uz pomoć Havoka dobiven je efekt "krpene lutke":




Ova verzija motora je korištena do 2005. godine, a trenutno je zastarjela - sve igre napisane na SE 6 su prebačene na novije motore.

Source Engine 2005 (Source Engine 7)

Ažurirana verzija motora, objavljena 2005. Glavni dodatak je podrška za High Dynamic Range Rendering, kako bi pokazali što su programeri objavili Half-Life 2: Lost Coast: u biti, ova igra je razina koja nije ušla u konačnu verziju Half-Life 2. HDR Rendering u Lost Coast uključuje nekoliko komponenti:

  • HDR Skybox je rezultat preklapanja višestrukih ekspozicija neba kako bi se postigao efekt promjene ekspozicije u stvarnom vremenu. Više od 16 različitih HDR Skyboxova stvoreno je za Half-Life 2: Lost Coast.
  • HDR Refraction Effect - HDR svjetlo prolazi kroz refraktivne materijale i preuzima svojstva tih materijala (na primjer, kada svjetlosni snop prolazi kroz prozore obojenog stakla u samostanu u igri Half-Life 2: Lost Coast, obojeni odsjaji se bacaju na pod).
  • HDR svjetlosne karte - svjetlosne karte generirane korištenjem efekta radiosity (svjetlost se ne odbija samo od objekata i ulazi u oko promatrača, već također pogađa druge objekte, odbijajući se od njih). Možete vidjeti, na primjer, unutrašnjost samostana u Half-Life 2: Lost Coast, po sunčevim pjegama na zidovima nasuprot prozora.
Kao i SE 6, verzija 7 je također trenutno zastarjela - 2014. godine posljednja igra na njoj, CS: Source, prebačena je na Source Engine 24.

Source Engine 2006 (Source Engine 7: Base Source Engine 2)

Prva verzija motora koja je imala komplet za razvojne programere dostupan svima - Source SDK Base 2006, koji je mnogima omogućio stvaranje vlastitih izmjena Valve igara. Motor je malo poboljšan - podržava ažuriranu animaciju lica, višejezgreno renderiranje i ažurirani HDR.

Budući da modifikacije stvorene na 2006 SDK-u nisu kompatibilne s novijim verzijama motora, autori nekih modova i dalje koriste ovu verziju motora, te se može smatrati suvremenim.

Source Engine 2007 (Source Engine 14)

Globalno izdanje, prvi put korišteno u Valveovoj kolekciji igara - The Orange Box (uključuje: Half-Life 2, Half-Life 2: Episode One, Half-Life 2: Episode Two, Portal i Team Fortress 2). U ovoj verziji ažurirano je renderiranje shadera, značajno je poboljšano dinamičko osvjetljenje i sjenčanje, pojavio se sustav mekih čestica (koji je uvelike poboljšao kvalitetu efekata poput kiše i vatre), dodana je kinematografska fizika, kao i nova animacija lica (njegova hardversko ubrzanje podržano je na grafičkim karticama) i poboljšana podrška za višejezgrene procesore.

SE 14 je bila prva verzija motora koja je podržavala konzole - The Orange Box je objavljen ne samo za PC, već i za PlayStation 3 i Xbox 360.

Baš kao i kod SE 7, modifikacije napravljene u SDK-u za 14. verziju nisu radile na novijim, tako da se ova verzija motora i dalje koristi.

Source Engine 2008 (Source Engine 14: Osnovni izvor 3)

Verzija motora stvorena za igru ​​Left 4 Dead:

Poboljšao je kinematografsku fiziku dodavanjem:

  • Dinamičko uništavanje geometrije igre - prije toga je kreator karte morao odrediti linije uništavanja.
  • Deformabilni objekti - Do sada se fizički modeli nisu mogli mijenjati ni na koji način osim na temelju unaprijed prikazane animacije.
Dodani su i neki efekti, poput zamućenja kretanja i dubinske oštrine.

Source Engine 2009 (Source Engine 15)

Verzija objavljena s Left 4 Dead 2 kasnije je ažurirana na ovu verziju od strane svih Valve igara tog vremena. U ovoj verziji sve funkcije su ažurirane, sustav čestica, animacija lica, skaliranje i mogućnost ažuriranja značajno su poboljšani.

Source Engine 2010 (Source Engine 17)

Prva verzija motora prenesena na macOS. U početku je paket igre The Orange Box bio portiran na Apple OS, a kasnije su sve nove Valve igre počele izlaziti i za Mac i za Windows.

Source Engine igra za više igrača (Source Engine 19, 21 i 23)

Verzije motora prilagođene igrama za više igrača kao što su Dota 2 i CS:GO. Također se 2012. godine pojavila podrška za Linux: Team Fortress 2 je prenesen pod nju, a kasnije i druge Valve igre.

Source Engine 2013 (Source Engine 24)

Trenutna verzija motora na koji je Valve migrirao većinu svojih igara. Među promjenama: kako bi se optimiziralo korištenje prostora na disku, odlučeno je napustiti korištenje glomaznih .GCF datoteka (arhiva s resursima igre) u korist datotečnog sustava kodnog naziva SteamPipe. Igre na novom pogonu sada su instalirane u direktoriju Steam\SteamApps\Common, a datoteke igara pohranjene su u .VPK datotekama. Izrađen je prikladan sustav za dodavanje prilagođenog sadržaja (modova) za Counter-Strike: Source, Team Fortress 2 i Half-Life 2: Deathmatch: postoji prilagođena mapa u kojoj se stvara mapa s proizvoljnim nazivom i klasična mape s materijalima za modifikaciju već su mu dodane (materijali, modeli itd.).

Kompatibilnost s Linuxom je također poboljšana, au svibnju 2014. Nvidia je prenijela Portal i Half-life 2 na Android za svoju Nvidia Shield konzolu (međutim, majstori su mogli pokrenuti te igre na drugim Android uređajima, ali izvedba je bila loša).

Izvor 2

Fundamentalno nova verzija motora, koju je 2015. objavio Valve zajedno s izdanjem ažurirane igre Dota 2 - Reborn. Nažalost, tehničke prezentacije nije bilo, samo se zna da motor i dalje radi na OpenGL API-ju (možda će se u budućnosti dodati i Vulkan API), a može koristiti i onoliko procesorskih jezgri koliko ima. Valve je također obećao da će motor raditi bolje na starijim računalima (smanjena potrošnja RAM-a), ali pokazalo se da je Dota 2 Reborn teža od Dote 2 na Source Engineu 24. Još jedan važan dodatak bila je VR podrška, a prva The Lab demo igra za HTC Vive:

Budućnost motora

Valve šuti o daljnjem razvoju enginea, a to i nije vijest za igrače (oni još uvijek čekaju glasine o Half-Life 3 i Portalu 3, zar ne?) Zasad je druga verzija enginea prilično sirova i treba poboljšati, i, očito, Valve fix ispravlja greške, a samo Gabe Newell zna o budućim igrama i verzijama motora.

KATEGORIJE

POPULARNI ČLANCI

2022 "gcchili.ru" - O zubima. Implantacija. Zubni kamenac. Grlo