Source (погон игре)
![]() Логотип Source-а | |
Програмер(и) | Valve Corporation |
---|---|
Стабилно издање | Стабилна верзија 5595 / 2014 |
Написан у | C++, |
Оперативни систем | Windows OS X Linux |
Тип | Погон игре |
Лиценца | Власнички софтвер |
Веб-сајт | www.valvesoftware.com |
Source је 3D погон игре коју је развила корпорација Валв као наследник GoldSrc-а. Дебитовао је с игром Counter-Strike: Source у јуну 2004. године, убрзо праћен игром Half-Life 2 и у активном је развоју од тада.[1] Његов наследник Source 2 је званично најављен марта 2015. године. Прва игра која је почела да га користи је Dota 2, која је портована с оригиналног погона игара септембра 2015. године.[2][3][4]
Развој
Source потиче од погона GoldSrc, који је модификована верзија Quake-а. Џон Кармак је на свом блогу 2004. године написао да чак и у игри Half-Life 2% су делови кода из оригиналне игре Quake.[5] Ерик Џонсон, радник корпорације Валв, на Валвовој развојној заједници је објаснио номенклатуру погона игре:[6]
Како смо се ближили датуму изласка Half-Life-а (било је мање од недељу дана), установили смо да су већ постојали пројекти на којима је већ требало да почнемо с радом, али нисмо смели да проверавамо код верзије које је требало да објавимо. У том тренутку смо поделили кôд на два дела: /$Goldsrc и /$Src. У наредних неколико година, ове термине смо користили интерно као „GoldSource“ и „Source“. У почетку, GoldSrc грана кода се односила на тек издату верзију, док се Src односио на ризичније технологије на којима смо радили. Када је дошло време да се Half-Life 2 представи на сајму Е3, дошли смо до договора да погоне игара зовемо Source и GoldSource.
Source је развијан део по део из ове нове гране пројекта и полако је почео да замењује GoldSrc у свим даљим пројектима, [7] што делом објашњава модуларну природу овог погона. Међу другима, Source користи Ipion технологију за покретање физике,[8][9] Miles Sound и Bink Video за звук и видео.[10]
Модуларност и значајне надоградње
За разлику од конкуренције Source је направљен да се постепено развија. Различити системи су направљени као засебни модули који се могу унапредити засебно. Доласком Стима (енг. Steam), Валв је у могућности да надоградње аутоматски проследи свим својим корисницима. У пракси ово није увек случај, Доласком Half-Life 2: Episode 2, Orange Box-а и новијом верзијом покретача игре, модови који су радили на старијој верзији више нису могли да се покрену, без претходне исправке у коду.[11] Валв је поступак поправке знатно олакшао, што је и доказао када је 2010. све своје игре унапредио на нову верзију.[12]
Од 2004, када је издат, Source покретач игре је претрпео следеће значајне промене:
Source 2006.
Грана Source 2006 је био термин коришћен за Валвове игре са новом технологијом, која је дошла са игром Half-Life 2: Episode One. ХДР рендер и корекција боја су имплементирани 2005 у игри Day of Defeat: Source, која је захтевала прераду шејдера покретача игре. Рендеровање засновано на слици (енг. Image-based rendering) је било у развоју за Half-Life 2,[13] али је било избачено из покретача видео игре пре изласка.[14] Гејб Њул је 2006. године истакао да би ову технологију желео да имплементира у Source и да би се тиме добила подршка за сцене које је немогуће направити стриктно полигонским објектима.[15]
Source 2007.
Грана Source-а из 2007. године је представљала готову надоградњу на The Orange Box. Ефекат честица, који је био прилагођен уметницима, заменио је стари систем ефеката који је био уграђен у код игара.[16] Направљена је развојна целина (енг. framework) да га подржава, која је текође подржавала почетне верзије Source Filmmaker-а. Такође систем за препознавање лица је постао хардверски убрзан на модерним графичким картицама да би се постигао ефекат као у играним филмовима и серијама.[17] The Orange Box надоградња на Source покретач игара му је омогућило да коришћење више процесорских језгара.[18] Али на персоналним рачунарима подршка је била лоша и експериментална,[19] све до изласка игре Left 4 Dead.[20] Мултипроцесорска подршка је портована на Team Fortress 2 и Day of Defeat: Source.[21] Валв је направио верзију The Orange Box-а за Xbox 360 и подршка за конзоле је имплементирана у сам покретач игре. То укључује играње на различитим платформама и Xbox Live интеграцију.[22] Програмски код се може портовати са личног рачунара на конзоле једноставном рекомпајлирањем.[23] За PlayStation 3 The Orange Box верзију је био задужен Електроник артс и та верзија је била препуна грешака. Гејб Њул је навео ове проблеме када је критиковао конзоле током презентације The Orange Box-а.[24]
Left 4 Dead грана
Left 4 Dead грана представља комплетан ремонт покретача игре. Подршка за више процесорских језгара је проширена, што је омогућило деђење екрана при игри, динамично кретање вештачке интелигенције и ефекте после обраде. Промењен је дизајн интерфејса који је постао више прилагођен конзолама. Ова грана покретача игре потстакла је излазак игре Portal 2. Такође, овом верзијом Валв је решио претходне проблеме са PlayStation 3 конзолом.[25]
Априла 2010. године, Валв је избацио све своје главне игре које покреће Source за OS X, што је условило креирање Steam платформе за овај оперативни систем. Валв је најавио да ће све будуће игре подржавати и Windows и OS X.[26][27] Прва Валвова игра која подржава Линукс била је Team Fortress 2 и она је избачена октробра 2012 заједно са затвореном бета верзијом Стима за Линукс. ОС икс и Линукс портови покретача игре користе OpenGL.[28] Током процедуре портовања, Валв је поделио готово све игре које су изашле до Orange Box-а у две одвојене гране, једна је била за играње више играча друга за играње једног. Код за ове две гране је постао доступан програмерима 2013. године, и оне служе као стабилне верзије Source покретача игре. Убрзо је уследила подршка за Окулус Рифт.[29] Маја 2014. године, NVIDIA је избацила порт игара Portal 2 и Half-Life 2 за своју конзолу Tegra 4, засновану на Андроид оперативном систему.[30]
Source 2
Маја 2011. почео је један од највећих пројеката корпорације Валв, а то је прављење нових алата за погон Source који треба да замене тренутне застареле алате, што би омогућило да се нови садржај прави брже и лакше. Гејб Њул је описао досадашње прављење садржаја као веома болно и споро.[31] Дана 3. марта 2015. године током конвенције програмера за игре, Валв је најавио свој нови погон игре Source 2, и да ће бити бесплатан за све програмере. Валв је такође најавио да ће нови погон за рендеровање користити Vulkan.[32][33] Потврђено је и да ће Source 2 користити нови погон физике назван Rubikon који је направио Валв.[34] 17. јуна 2015. избачена је бета верзија игре Dota 2, која је користила нови погон игре, да би септембра 2015. изашла званична верзија игре, чиме је Dota 2 постала прва игра која користи Source 2.[35]
Алати
Source SDK
Опрема за развој софтвера (енгл. SDK-software development kit) садржи разне алате које је направила корпорација Валв. Долази са више програма за писање у командној линији, као и пар програма заснованих на графичком интерфејсу за рад са комплексним функцијама. Source SDK је избачен као бесплатан алат на Стиму под условом да корисник поседује неку од игара које раде на Source-у. Валв је током година избацивао модификоване верзије Source SDK-а за појединачне игре. Када је Team Fortress 2 постала бесплатна игра, Source SDK је постао бесплатно доступан свим корисницима платформе Стим.
Source SDK у себи поседује три пакета: Hammer Editor, Model Viewer и Face Poser. Hammer Editor је званични програм за уређивање нивоа. Алат је првобитно носио име Worldcraft, док га је Бен Морис независно развијао, пре него што га је Валв откупио.[36] Model Viewer је програм који корисницима омогућава да виде моделе из игре, као и њихове анимације и кости. Face Poser је програм за анимирање покрета лица и синхронизацију усана с говором.
Source Dedicated Server
Сервер за Source игре, познат као SRCDS, је програм за покретање игара за више играча.[37] Може се покренути на машинама са оперативним системима Windows или Линукс. Многи сервери су поред SRCDS-а користили Metamod:Source и SourceMod, који су омогућавали лакшу имплементацију нивоа и додатака направљених од стране корисника.[38][39]
Source Filmmaker
Source Filmmaker (SMF) је програм за снимање видео-садржаја и његово монтирање који ради унутар погона Source.[40] Развила га је корпорација Валв, а првобитно је коришћен за прављење филмова у игри Day of Defeat: Source, али је касније проширен и на остале игре. Може се преузети са платформе Стим.
Заједница Валвових развијача
Дана 28. јуна 2005. године, Валв је отворио вики заједницу Валвових развијача (енгл. Valve Developer Community (VDC)). Заједница Валвових развијача је заменила досадашњу статичну страницу и у року од пар дана број корисник чланака се удвостручио. Чланци су обухватали до тада недокументоване функције погона Source.
Радови
Запослени у Валву често објаљују професионалне и академске радове који укључују SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques), магазин за развијаче видео-игара и конвенција развијача видео-игара.[41]
Значајне функције и карактеристике
- Direct3D рендеровање на оперативним системима Windows, Xboxу и Xboxу 360. OpenGL рендеровање на Линуксу (укључујући и SteamOS и OS X. OpenGL ES за рендеровање на Андроид системима.
- Стим интеграција
- HDR рендеровање
- Компензација кашњења на релацији клијент-сервер.[42]
- Ефикасан погон физике који ради преко мреже[43]
- Подршка за више процесорских језгара[44]
- Динамичне сенке и осветљење
- Систем за анимацију лица и синхронизација усана с гласом
- Систем за анимирање скелета[45][46]
- Ефекат тока воде[47]
- 3D мапирање неравнина[48]
- 3D динамичне ране[49]
Закључак
Source SDK алати су критиковани због застарелости и тешкоћа при коришћењу.[50][51] На пример, интерфејс и начин рада Hammer Editor-а се није значајно променио још од изласка GoldSrc-а и оригиналне игре Half-Life 1998. Разни алати за прављење текстура захтевају познавање скрипти пре него што се могу извршити у командној линији, заједно са дугачким конзолним командама.[52] Ову затупљеност је критиковао и Лондонски универзитет када су престали да користе Source за истраживање архитектурске визуализације у видео-играма.[53]
Игре које користе Source
Валвове игре
- Half-Life 2 (2004)
- Half-Life 2: Deathmatch (2004)
- Half-Life: Source (2004)
- Counter-Strike: Source (2004)
- Day of Defeat: Source (2005)
- Half-Life 2: Lost Coast (2005)
- Half-Life Deathmatch: Source (2006)
- Half-Life 2: Episode One (2006)
- Half-Life 2: Episode Two (2007)
- Team Fortress 2 (2007)
- Portal (2007)
- Left 4 Dead (2008)
- Left 4 Dead 2 (2009)
- Alien Swarm (2010)
- Portal 2 (2011)
- Counter-Strike: Global Offensive (2012)
- Dota 2 (2013) (пребачена на Source 2 2015)
Игре осталих развијача
- Vampire: The Masquerade – Bloodlines[54] (2004)
- Garry's Mod (2004)
- Empires (video game) (2006)
- SiN Episodes (2006)
- Dark Messiah of Might and Magic (2006)
- The Ship (2006)
- Dystopia (2007)
- Insurgency (2007)
- Zeno Clash[55] (2009)
- NeoTokyo (2009)
- Bloody Good Time (2010)
- Vindictus (2010)
- E.Y.E.: Divine Cybermancy (2011)
- No More Room in Hell (2011)
- Nuclear Dawn (2011)
- Postal III (2011)
- Dino D-Day (2011)
- Dear Esther (2012)
- Black Mesa (2012)
- Tactical Intervention (2013)
- The Stanley Parable (2013)
- Blade Symphony (2014)
- Consortium (2014)
- Contagion (2014)
- Titanfall (2014)
- The Beginner's Guide (2015)
Референце
- ^ Crossley, Rob (May 12, 2011). „"Valve on Source and studio culture".”. Архивирано из оригинала 06. 03. 2016. г. Приступљено 14. 8. 2011. CS1 одржавање: Формат датума (веза) Develop Magazine.. We have as many people working on our tools as we have working on a single project. So, about twenty to thirty core people.
- ^ Livingston, Christopher (12. 6. 2015). „Valve announces Dota 2 Reborn, new engine coming”. PC Gamer. Приступљено 13. 6. 2015.
- ^ „Coming Soon: The Reborn Update | Dota 2”. blog.dota2.com. Приступљено 4. 9. 2015.
- ^ Macy, Seth. „Dota 2 Now Valve's First Ever Source 2 Game”. IGN. Приступљено 9. 9. 2015.
- ^ „Welcome source, Graphics”. John Carmack's Blog. 31. 12. 2004. Архивирано из оригинала 17. 5. 2006. г. Приступљено 29. 4. 2016.
- ^ Johnson, Erik (1. 9. 2005). „Talk:Erik Johnson”. Valve Developer Community. Архивирано из оригинала 20. 03. 2007. г. Приступљено 15. 8. 2007.
- ^ Hodgson 2004.
- ^ „HL2 Source code leaked, all goes to hell? - Page 7”. Adventure Forums. Приступљено 21. 4. 2015.
- ^ „Havok buy Ipion in consolidation of major physics players”. Havok. 12. 6. 2000. Архивирано из оригинала 01. 09. 2000. г. Приступљено 21. 4. 2015. CS1 одржавање: Неподобан URL (веза)
- ^ O'Donnell, Ryan (19. 7. 2004). „Counter-Strike: Source - Full-Screen E3 2004 Presentation”. GameSpy. Приступљено 20. 4. 2015.
- ^ „New Update Breaking New and Old Mods?”. PlanetPhillip. Архивирано из оригинала 21. 10. 2014. г. Приступљено 17. 10. 2014.
- ^ „Source 2009”. Valve Developer Community. Приступљено 17. 9. 2010.
- ^ „Interview with Gabe Newell”. DriverHeaven.net. Архивирано из оригинала 28. 6. 2009. г. Приступљено 21. 11. 2009.
- ^ „Episode One (engine branch)”. Valve Developer Community. Приступљено 21. 4. 2015.
- ^ „Valve Week”. Архивирано из оригинала 13. 7. 2006. г. Приступљено 14. 7. 2006.
- ^ „Source - Rendering System”. Source Engine Brochure. Valve Corporation. Архивирано из оригинала 23. 3. 2011. г. Приступљено 15. 8. 2011.
- ^ „Face-to-Face with TF2's Heavy”. Steam news. 14. 5. 2007. Приступљено 25. 4. 2010.
- ^ „Interview: Gabe Newell”. 11. 9. 2006. Приступљено 20. 9. 2006.
- ^ „Dual Core Performance”. 11. 10. 2008. Приступљено 23. 12. 2008.
- ^ Lombardi, Doug (13. 5. 2008). „PCGH interview about Left 4 Dead, part 2”. Interviewer: Frank Stöwer. Приступљено 23. 12. 2008. [мртва веза]
- ^ Nick, Breckon (18. 3. 2008). „Team Fortress 2 Update Adds Multicore Rendering”. Приступљено 19. 8. 2009.
- ^ „Source - Console Support”. Valve. Архивирано из оригинала 13. 8. 2009. г. Приступљено 8. 8. 2009.
- ^ „Joystiq interviews Doug Lombardi about Xbox 360 Source”. Joystiq. 17. 10. 2006. Архивирано из оригинала 22. 9. 2009. г. Приступљено 8. 8. 2009.
- ^ Yoon, Andrew (11. 10. 2007). „Gabe Newell calls PS3 'waste of everybody's time'”. Engadget. Приступљено 20. 4. 2015.
- ^ „Portal 2: Pretty Much Every PS3 Question Answered (And That Cake Thing, Too)”. 14. 4. 2011.
- ^ „Valve to Deliver Steam & Source on the Mac”. Valve. 8. 3. 2010. Приступљено 8. 3. 2010.
- ^ „Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April”. Kotaku. 8. 3. 2010. Приступљено 8. 3. 2010.
- ^ „Simple DirectMedia Layer - Homepage”. Приступљено 21. 4. 2015.
- ^ „News - Source SDK 2013 Release”. Steam. Приступљено 21. 4. 2015.
- ^ „The Greatest PC Games of All-Time – ‘Half-Life 2′ and ‘Portal’ – Now Available on SHIELD”. Nvidia. 12. 5. 2014. Архивирано из оригинала 13. 05. 2014. г. Приступљено 12. 5. 2014.
- ^ „Steamcast #47”. Steamcast. 9. 2. 2011. Архивирано из оригинала 18. 8. 2011. г. Приступљено 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.”
- ^ Kollar, Philip (3. 3. 2015). „Valve announces Source 2 engine, free for developers”. Приступљено 3. 3. 2015.
- ^ Mahardy, Mike (3. 3. 2015). „GDC 2015: Valve Announces Source 2 Engine”. IGN. Приступљено 3. 3. 2015.
- ^ Migdalskiy, Sergiy (2015). „Physics for Game Developers: Physics Optimization Strategies” (PDF). Приступљено 2. 10. 2015.
- ^ „Dota 2 - Reborn - The beta begins”. Dota 2 Blog. 17. 6. 2015. Приступљено 17. 6. 2015.
- ^ „Valve Press Release”. Valve. Приступљено 12. 5. 2010.
- ^ Source Dedicated Server Valve Dev Wiki
- ^ „MetaMod:S”.
- ^ „SourceMod”.
- ^ „Source Filmmaker”. Source Filmmaker. Приступљено 31. 3. 2013.
- ^ „Valve Publications”. Приступљено 25. 9. 2013.
- ^ „Source Multiplayer Networking”. Valve Developer Community. 30. 6. 2005. Архивирано из оригинала 15. 09. 2008. г. Приступљено 20. 7. 2008.
- ^ „VPhysics”. Valve Developer Community. Архивирано из оригинала 01. 06. 2006. г. Приступљено 15. 8. 2011.
- ^ „Multi-Core in the Source Engine Core”. 2. 11. 2006. Приступљено 2. 11. 2006.
- ^ „$sequence”. Valve Developer Community. 8. 9. 2007. Архивирано из оригинала 27. 10. 2008. г. Приступљено 20. 7. 2008.
- ^ „$ikchain”. Valve Developer Community. 8. 9. 2007. Архивирано из оригинала 06. 07. 2008. г. Приступљено 20. 7. 2008.
- ^ Vlachos, Alex (28. 7. 2010). „Water flow in Portal 2” (PDF). Valve Corporation. Архивирано из оригинала (PDF) 20. 8. 2010. г. Приступљено 29. 4. 2016.
- ^ „Valve's Developers community page for Bump Mapping”. Valve Corporation. 14. 5. 2013.
- ^ Vlachos, Alex (9. 3. 2010). „Rendering Wounds in Left 4 Dead 2” (PDF). Valve Corporation. Архивирано из оригинала (PDF) 1. 12. 2010. г. Приступљено 29. 4. 2016.
- ^ Roberts, Neale (15. 11. 2006). „Stuck Valve”. Dirigible Development Diary. Архивирано из оригинала 27. 12. 2007. г. Приступљено 20. 12. 2007.
- ^ Jedrzejewski, Neil (23. 7. 2009). „Re: whats happening with this engine”. hlcoders (official Valve mailing list). Приступљено 29. 7. 2009.
- ^ „Vtex CLI use”. Valve Developer Community. 28. 8. 2007. Приступљено 21. 7. 2008.
- ^ „Half Life 0 Oblivion 1 - Half Life Update”. Digital Urban. 28. 9. 2006. Приступљено 20. 12. 2007.
- ^ „Vampire: The Masquerade - Bloodlines Designer Diary #3”. GameSpot. 16. 12. 2003. Приступљено 4. 1. 2015.
- ^ „Hieronymus: ACE Team Explain Zeno Clash II”. 7. 6. 2012. Приступљено 4. 1. 2015.
Литература
- Hodgson, David (2004). Half-Life 2: Raising the Bar. Prima|Games. ISBN 978-0-7615-4364-0.
Спољашње везе
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Званични веб-сајт
- Сајт Валвових развијача игара