Source (pogon igre)

S Vikipedije, slobodne enciklopedije
Source pogon igre
Logotip Source-a
Logotip Source-a
Programer(i)Valve Corporation
Stabilno izdanje
Stabilna verzija 5595 / 2014
Napisan uC++,
Operativni sistemWindows
OS X
Linux
TipPogon igre
LicencaVlasnički softver
Veb-sajtwww.valvesoftware.com

Source je 3D pogon igre koju je razvila korporacija Valv kao naslednik GoldSrc-a. Debitovao je s igrom Counter-Strike: Source u junu 2004. godine, ubrzo praćen igrom Half-Life 2 i u aktivnom je razvoju od tada.[1] Njegov naslednik Source 2 je zvanično najavljen marta 2015. godine. Prva igra koja je počela da ga koristi je Dota 2, koja je portovana s originalnog pogona igara septembra 2015. godine.[2][3][4]

Razvoj[uredi | uredi izvor]

Source potiče od pogona GoldSrc, koji je modifikovana verzija Quake-a. Džon Karmak je na svom blogu 2004. godine napisao da čak i u igri Half-Life 2% su delovi koda iz originalne igre Quake.[5] Erik Džonson, radnik korporacije Valv, na Valvovoj razvojnoj zajednici je objasnio nomenklaturu pogona igre:[6]

Kako smo se bližili datumu izlaska Half-Life-a (bilo je manje od nedelju dana), ustanovili smo da su već postojali projekti na kojima je već trebalo da počnemo s radom, ali nismo smeli da proveravamo kod verzije koje je trebalo da objavimo. U tom trenutku smo podelili kôd na dva dela: /$Goldsrc i /$Src. U narednih nekoliko godina, ove termine smo koristili interno kao „GoldSource“ i „Source“. U početku, GoldSrc grana koda se odnosila na tek izdatu verziju, dok se Src odnosio na rizičnije tehnologije na kojima smo radili. Kada je došlo vreme da se Half-Life 2 predstavi na sajmu E3, došli smo do dogovora da pogone igara zovemo Source i GoldSource.

Source je razvijan deo po deo iz ove nove grane projekta i polako je počeo da zamenjuje GoldSrc u svim daljim projektima, [7] što delom objašnjava modularnu prirodu ovog pogona. Među drugima, Source koristi Ipion tehnologiju za pokretanje fizike,[8][9] Miles Sound i Bink Video za zvuk i video.[10]

Modularnost i značajne nadogradnje[uredi | uredi izvor]

Za razliku od konkurencije Source je napravljen da se postepeno razvija. Različiti sistemi su napravljeni kao zasebni moduli koji se mogu unaprediti zasebno. Dolaskom Stima (eng. Steam), Valv je u mogućnosti da nadogradnje automatski prosledi svim svojim korisnicima. U praksi ovo nije uvek slučaj, Dolaskom Half-Life 2: Episode 2, Orange Box-a i novijom verzijom pokretača igre, modovi koji su radili na starijoj verziji više nisu mogli da se pokrenu, bez prethodne ispravke u kodu.[11] Valv je postupak popravke znatno olakšao, što je i dokazao kada je 2010. sve svoje igre unapredio na novu verziju.[12]

Od 2004, kada je izdat, Source pokretač igre je pretrpeo sledeće značajne promene:

Source 2006.[uredi | uredi izvor]

Grana Source 2006 je bio termin korišćen za Valvove igre sa novom tehnologijom, koja je došla sa igrom Half-Life 2: Episode One. HDR render i korekcija boja su implementirani 2005 u igri Day of Defeat: Source, koja je zahtevala preradu šejdera pokretača igre. Renderovanje zasnovano na slici (eng. Image-based rendering) je bilo u razvoju za Half-Life 2,[13] ali je bilo izbačeno iz pokretača video igre pre izlaska.[14] Gejb Njul je 2006. godine istakao da bi ovu tehnologiju želeo da implementira u Source i da bi se time dobila podrška za scene koje je nemoguće napraviti striktno poligonskim objektima.[15]

Source 2007.[uredi | uredi izvor]

Grana Source-a iz 2007. godine je predstavljala gotovu nadogradnju na The Orange Box. Efekat čestica, koji je bio prilagođen umetnicima, zamenio je stari sistem efekata koji je bio ugrađen u kod igara.[16] Napravljena je razvojna celina (eng. framework) da ga podržava, koja je tekođe podržavala početne verzije Source Filmmaker-a. Takođe sistem za prepoznavanje lica je postao hardverski ubrzan na modernim grafičkim karticama da bi se postigao efekat kao u igranim filmovima i serijama.[17] The Orange Box nadogradnja na Source pokretač igara mu je omogućilo da korišćenje više procesorskih jezgara.[18] Ali na personalnim računarima podrška je bila loša i eksperimentalna,[19] sve do izlaska igre Left 4 Dead.[20] Multiprocesorska podrška je portovana na Team Fortress 2 i Day of Defeat: Source.[21] Valv je napravio verziju The Orange Box-a za Xbox 360 i podrška za konzole je implementirana u sam pokretač igre. To uključuje igranje na različitim platformama i Xbox Live integraciju.[22] Programski kod se može portovati sa ličnog računara na konzole jednostavnom rekompajliranjem.[23] Za PlayStation 3 The Orange Box verziju je bio zadužen Elektronik arts i ta verzija je bila prepuna grešaka. Gejb Njul je naveo ove probleme kada je kritikovao konzole tokom prezentacije The Orange Box-a.[24]

Left 4 Dead grana[uredi | uredi izvor]

Left 4 Dead grana predstavlja kompletan remont pokretača igre. Podrška za više procesorskih jezgara je proširena, što je omogućilo deđenje ekrana pri igri, dinamično kretanje veštačke inteligencije i efekte posle obrade. Promenjen je dizajn interfejsa koji je postao više prilagođen konzolama. Ova grana pokretača igre potstakla je izlazak igre Portal 2. Takođe, ovom verzijom Valv je rešio prethodne probleme sa PlayStation 3 konzolom.[25]

OS X, Linux i Android podrška[uredi | uredi izvor]

Aprila 2010. godine, Valv je izbacio sve svoje glavne igre koje pokreće Source za OS X, što je uslovilo kreiranje Steam platforme za ovaj operativni sistem. Valv je najavio da će sve buduće igre podržavati i Windows i OS X.[26][27] Prva Valvova igra koja podržava Linuks bila je Team Fortress 2 i ona je izbačena oktrobra 2012 zajedno sa zatvorenom beta verzijom Stima za Linuks. OS iks i Linuks portovi pokretača igre koriste OpenGL.[28] Tokom procedure portovanja, Valv je podelio gotovo sve igre koje su izašle do Orange Box-a u dve odvojene grane, jedna je bila za igranje više igrača druga za igranje jednog. Kod za ove dve grane je postao dostupan programerima 2013. godine, i one služe kao stabilne verzije Source pokretača igre. Ubrzo je usledila podrška za Okulus Rift.[29] Maja 2014. godine, NVIDIA je izbacila port igara Portal 2 i Half-Life 2 za svoju konzolu Tegra 4, zasnovanu na Android operativnom sistemu.[30]

Source 2[uredi | uredi izvor]

Maja 2011. počeo je jedan od najvećih projekata korporacije Valv, a to je pravljenje novih alata za pogon Source koji treba da zamene trenutne zastarele alate, što bi omogućilo da se novi sadržaj pravi brže i lakše. Gejb Njul je opisao dosadašnje pravljenje sadržaja kao veoma bolno i sporo.[31] Dana 3. marta 2015. godine tokom konvencije programera za igre, Valv je najavio svoj novi pogon igre Source 2, i da će biti besplatan za sve programere. Valv je takođe najavio da će novi pogon za renderovanje koristiti Vulkan.[32][33] Potvrđeno je i da će Source 2 koristiti novi pogon fizike nazvan Rubikon koji je napravio Valv.[34] 17. juna 2015. izbačena je beta verzija igre Dota 2, koja je koristila novi pogon igre, da bi septembra 2015. izašla zvanična verzija igre, čime je Dota 2 postala prva igra koja koristi Source 2.[35]

Alati[uredi | uredi izvor]

Source SDK[uredi | uredi izvor]

Oprema za razvoj softvera (engl. SDK-software development kit) sadrži razne alate koje je napravila korporacija Valv. Dolazi sa više programa za pisanje u komandnoj liniji, kao i par programa zasnovanih na grafičkom interfejsu za rad sa kompleksnim funkcijama. Source SDK je izbačen kao besplatan alat na Stimu pod uslovom da korisnik poseduje neku od igara koje rade na Source-u. Valv je tokom godina izbacivao modifikovane verzije Source SDK-a za pojedinačne igre. Kada je Team Fortress 2 postala besplatna igra, Source SDK je postao besplatno dostupan svim korisnicima platforme Stim.

Source SDK u sebi poseduje tri paketa: Hammer Editor, Model Viewer i Face Poser. Hammer Editor je zvanični program za uređivanje nivoa. Alat je prvobitno nosio ime Worldcraft, dok ga je Ben Moris nezavisno razvijao, pre nego što ga je Valv otkupio.[36] Model Viewer je program koji korisnicima omogućava da vide modele iz igre, kao i njihove animacije i kosti. Face Poser je program za animiranje pokreta lica i sinhronizaciju usana s govorom.

Source Dedicated Server[uredi | uredi izvor]

Server za Source igre, poznat kao SRCDS, je program za pokretanje igara za više igrača.[37] Može se pokrenuti na mašinama sa operativnim sistemima Windows ili Linuks. Mnogi serveri su pored SRCDS-a koristili Metamod:Source i SourceMod, koji su omogućavali lakšu implementaciju nivoa i dodataka napravljenih od strane korisnika.[38][39]

Source Filmmaker[uredi | uredi izvor]

Source Filmmaker (SMF) je program za snimanje video-sadržaja i njegovo montiranje koji radi unutar pogona Source.[40] Razvila ga je korporacija Valv, a prvobitno je korišćen za pravljenje filmova u igri Day of Defeat: Source, ali je kasnije proširen i na ostale igre. Može se preuzeti sa platforme Stim.

Zajednica Valvovih razvijača[uredi | uredi izvor]

Dana 28. juna 2005. godine, Valv je otvorio viki zajednicu Valvovih razvijača (engl. Valve Developer Community (VDC)). Zajednica Valvovih razvijača je zamenila dosadašnju statičnu stranicu i u roku od par dana broj korisnik članaka se udvostručio. Članci su obuhvatali do tada nedokumentovane funkcije pogona Source.

Radovi[uredi | uredi izvor]

Zaposleni u Valvu često objaljuju profesionalne i akademske radove koji uključuju SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques), magazin za razvijače video-igara i konvencija razvijača video-igara.[41]

Značajne funkcije i karakteristike[uredi | uredi izvor]

  • Direct3D renderovanje na operativnim sistemima Windows, Xboxu i Xboxu 360. OpenGL renderovanje na Linuksu (uključujući i SteamOS i OS X. OpenGL ES za renderovanje na Android sistemima.
  • Stim integracija
  • HDR renderovanje
  • Kompenzacija kašnjenja na relaciji klijent-server. [42]
  • Efikasan pogon fizike koji radi preko mreže[43]
  • Podrška za više procesorskih jezgara[44]
  • Dinamične senke i osvetljenje
  • Sistem za animaciju lica i sinhronizacija usana s glasom
  • Sistem za animiranje skeleta[45][46]
  • Efekat toka vode[47]
  • 3D mapiranje neravnina[48]
  • 3D dinamične rane[49]

Zaključak[uredi | uredi izvor]

Source SDK alati su kritikovani zbog zastarelosti i teškoća pri korišćenju.[50][51] Na primer, interfejs i način rada Hammer Editor-a se nije značajno promenio još od izlaska GoldSrc-a i originalne igre Half-Life 1998. Razni alati za pravljenje tekstura zahtevaju poznavanje skripti pre nego što se mogu izvršiti u komandnoj liniji, zajedno sa dugačkim konzolnim komandama.[52] Ovu zatupljenost je kritikovao i Londonski univerzitet kada su prestali da koriste Source za istraživanje arhitekturske vizualizacije u video-igrama.[53]

Igre koje koriste Source[uredi | uredi izvor]

Valvove igre[uredi | uredi izvor]

Igre ostalih razvijača[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Crossley, Rob (May 12, 2011). "Valve on Source and studio culture". Arhivirano na sajtu Wayback Machine (6. mart 2016) Develop Magazine. Pristupljeno August 14, 2011. We have as many people working on our tools as we have working on a single project. So, about twenty to thirty core people.
  2. ^ Livingston, Christopher (12. 6. 2015). „Valve announces Dota 2 Reborn, new engine coming”. PC Gamer. Pristupljeno 13. 6. 2015. 
  3. ^ „Coming Soon: The Reborn Update | Dota 2”. blog.dota2.com. Pristupljeno 4. 9. 2015. 
  4. ^ Macy, Seth. „Dota 2 Now Valve's First Ever Source 2 Game”. IGN. Pristupljeno 9. 9. 2015. 
  5. ^ „Welcome source, Graphics”. John Carmack's Blog. 31. 12. 2004. Arhivirano iz originala 17. 5. 2006. g. Pristupljeno 29. 4. 2016. 
  6. ^ Johnson, Erik (1. 9. 2005). „Talk:Erik Johnson”. Valve Developer Community. Arhivirano iz originala 20. 03. 2007. g. Pristupljeno 15. 8. 2007. 
  7. ^ Hodgson 2004.
  8. ^ „HL2 Source code leaked, all goes to hell? - Page 7”. Adventure Forums. Pristupljeno 21. 4. 2015. 
  9. ^ „Havok buy Ipion in consolidation of major physics players”. Havok. 12. 6. 2000. Arhivirano iz originala 01. 09. 2000. g. Pristupljeno 21. 4. 2015. 
  10. ^ O'Donnell, Ryan (19. 7. 2004). „Counter-Strike: Source - Full-Screen E3 2004 Presentation”. GameSpy. Pristupljeno 20. 4. 2015. 
  11. ^ „New Update Breaking New and Old Mods?”. PlanetPhillip. Arhivirano iz originala 21. 10. 2014. g. Pristupljeno 17. 10. 2014. 
  12. ^ „Source 2009”. Valve Developer Community. Pristupljeno 17. 9. 2010. 
  13. ^ „Interview with Gabe Newell”. DriverHeaven.net. Arhivirano iz originala 28. 6. 2009. g. Pristupljeno 21. 11. 2009. 
  14. ^ „Episode One (engine branch)”. Valve Developer Community. Pristupljeno 21. 4. 2015. 
  15. ^ „Valve Week”. Arhivirano iz originala 13. 7. 2006. g. Pristupljeno 14. 7. 2006. 
  16. ^ „Source - Rendering System”. Source Engine Brochure. Valve Corporation. Arhivirano iz originala 23. 3. 2011. g. Pristupljeno 15. 8. 2011. 
  17. ^ „Face-to-Face with TF2's Heavy”. Steam news. 14. 5. 2007. Pristupljeno 25. 4. 2010. 
  18. ^ „Interview: Gabe Newell”. 11. 9. 2006. Pristupljeno 20. 9. 2006. 
  19. ^ „Dual Core Performance”. 11. 10. 2008. Pristupljeno 23. 12. 2008. 
  20. ^ Lombardi, Doug (13. 5. 2008). „PCGH interview about Left 4 Dead, part 2”. Interviewer: Frank Stöwer. Pristupljeno 23. 12. 2008. [mrtva veza]
  21. ^ Nick, Breckon (18. 3. 2008). „Team Fortress 2 Update Adds Multicore Rendering”. Pristupljeno 19. 8. 2009. 
  22. ^ „Source - Console Support”. Valve. Arhivirano iz originala 13. 8. 2009. g. Pristupljeno 8. 8. 2009. 
  23. ^ „Joystiq interviews Doug Lombardi about Xbox 360 Source”. Joystiq. 17. 10. 2006. Arhivirano iz originala 22. 9. 2009. g. Pristupljeno 8. 8. 2009. 
  24. ^ Yoon, Andrew (11. 10. 2007). „Gabe Newell calls PS3 'waste of everybody's time'. Engadget. Pristupljeno 20. 4. 2015. 
  25. ^ „Portal 2: Pretty Much Every PS3 Question Answered (And That Cake Thing, Too)”. 14. 4. 2011. 
  26. ^ „Valve to Deliver Steam & Source on the Mac”. Valve. 8. 3. 2010. Pristupljeno 8. 3. 2010. 
  27. ^ „Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April”. Kotaku. 8. 3. 2010. Pristupljeno 8. 3. 2010. 
  28. ^ „Simple DirectMedia Layer - Homepage”. Pristupljeno 21. 4. 2015. 
  29. ^ „News - Source SDK 2013 Release”. Steam. Pristupljeno 21. 4. 2015. 
  30. ^ „The Greatest PC Games of All-Time – ‘Half-Life 2′ and ‘Portal’ – Now Available on SHIELD”. Nvidia. 12. 5. 2014. Arhivirano iz originala 13. 05. 2014. g. Pristupljeno 12. 5. 2014. 
  31. ^ „Steamcast #47”. Steamcast. 9. 2. 2011. Arhivirano iz originala 18. 8. 2011. g. Pristupljeno 14. 8. 2011. „Oh yeah, we're spending a tremendous amount of time on tools right now. So, our current tools are... very painful, so we probably are spending more time on tools development now than anything else and when we’re ready to ship those I think everybody's life will get a lot better. Just way too hard to develop content right now, both for ourselves and for third parties so we’re going to make enormously easier and simplify that process a lot. 
  32. ^ Kollar, Philip (3. 3. 2015). „Valve announces Source 2 engine, free for developers”. Pristupljeno 3. 3. 2015. 
  33. ^ Mahardy, Mike (3. 3. 2015). „GDC 2015: Valve Announces Source 2 Engine”. IGN. Pristupljeno 3. 3. 2015. 
  34. ^ Migdalskiy, Sergiy (2015). „Physics for Game Developers: Physics Optimization Strategies” (PDF). Pristupljeno 2. 10. 2015. 
  35. ^ „Dota 2 - Reborn - The beta begins”. Dota 2 Blog. 17. 6. 2015. Pristupljeno 17. 6. 2015. 
  36. ^ „Valve Press Release”. Valve. Pristupljeno 12. 5. 2010. 
  37. ^ Source Dedicated Server Valve Dev Wiki
  38. ^ MetaMod:S
  39. ^ SourceMod
  40. ^ „Source Filmmaker”. Source Filmmaker. Pristupljeno 31. 3. 2013. 
  41. ^ „Valve Publications”. Pristupljeno 25. 9. 2013. 
  42. ^ „Source Multiplayer Networking”. Valve Developer Community. 30. 6. 2005. Arhivirano iz originala 15. 09. 2008. g. Pristupljeno 20. 7. 2008. 
  43. ^ „VPhysics”. Valve Developer Community. Arhivirano iz originala 01. 06. 2006. g. Pristupljeno 15. 8. 2011. 
  44. ^ „Multi-Core in the Source Engine Core”. 2. 11. 2006. Pristupljeno 2. 11. 2006. 
  45. ^ „$sequence”. Valve Developer Community. 8. 9. 2007. Arhivirano iz originala 27. 10. 2008. g. Pristupljeno 20. 7. 2008. 
  46. ^ „$ikchain”. Valve Developer Community. 8. 9. 2007. Arhivirano iz originala 06. 07. 2008. g. Pristupljeno 20. 7. 2008. 
  47. ^ Vlachos, Alex (28. 7. 2010). „Water flow in Portal 2” (PDF). Valve Corporation. Arhivirano iz originala (PDF) 20. 8. 2010. g. Pristupljeno 29. 4. 2016. 
  48. ^ „Valve's Developers community page for Bump Mapping”. Valve Corporation. 14. 5. 2013. 
  49. ^ Vlachos, Alex (9. 3. 2010). „Rendering Wounds in Left 4 Dead 2” (PDF). Valve Corporation. Arhivirano iz originala (PDF) 1. 12. 2010. g. Pristupljeno 29. 4. 2016. 
  50. ^ Roberts, Neale (15. 11. 2006). „Stuck Valve”. Dirigible Development Diary. Arhivirano iz originala 27. 12. 2007. g. Pristupljeno 20. 12. 2007. 
  51. ^ Jedrzejewski, Neil (23. 7. 2009). „Re: whats happening with this engine”. hlcoders (official Valve mailing list). Pristupljeno 29. 7. 2009. 
  52. ^ „Vtex CLI use”. Valve Developer Community. 28. 8. 2007. Pristupljeno 21. 7. 2008. 
  53. ^ „Half Life 0 Oblivion 1 - Half Life Update”. Digital Urban. 28. 9. 2006. Pristupljeno 20. 12. 2007. 
  54. ^ „Vampire: The Masquerade - Bloodlines Designer Diary #3”. GameSpot. 16. 12. 2003. Pristupljeno 4. 1. 2015. 
  55. ^ „Hieronymus: ACE Team Explain Zeno Clash II”. 7. 6. 2012. Pristupljeno 4. 1. 2015. 

Literatura[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]