
Half-Life 2-ը հիմա բրաուզերում է աշխատում՝ ֆան-պորտի շնորհիվ
slqnt կեղծանունով ծրագրավորողը հրապարակել է Half-Life 2-ի բրաուզերային պորտը. 2004-ի դասականը աշխատում է Emscripten-ի և WebGL2-ի միջոցով, ակտիվները փաթեթավորվում են ըստ քարտեզների, իսկ դեմքի անիմացիան անջատված է կայունության համար։
Half-Life 2 — բրաուզերի ներդիրում
Half-Life 2-ի ֆանական վեբ-պորտն այժմ աշխատում է ուղղակիորեն բրաուզերում։ Նախագիծը հրապարակել է slqnt կեղծանունով ծրագրավորողը. Valve-ի 2004 թվականի հրաձիգը գործարկվում է Emscripten-ի և WebGL2-ի միջոցով, իսկ հեղինակը հրապարակել է նաև մանրամասն գրառում այն մասին, թե ինչպես է կառուցվել պորտը և ինչից է ստիպված եղել հրաժարվել։
Նախագծի վրա հեղինակի հետ միասին աշխատել է փոքր խումբ՝ 98006, weliveinhell, bread և bog։ Առաջին թիզերը հրապարակվել է 2026 թվականի մարտի 20-ին. այն ժամանակ տարբերակը դեռ լի էր սխալներով, բացակայում էին ձայնային տողերը, և կային դեմքի անիմացիայի խնդիրներ, որոնք հետագայում լուծվեցին՝ համակարգն ամբողջությամբ անջատելով։
Կառուցված բաց կոդի շղթայի վրա
Աշխատանքը սկսվել է weliveinhell-ի Portal-ի վեբ-պորտից, որն ինքնին nillerusr-ի source-engine պահոցի պատառաքաղն է՝ 2020 թվականին արտահոսած Team Fortress 2-ի Source շարժիչի ձևափոխված տարբերակը։ Այդ կոդում արդեն կար ToGLES ռենդերինգի ռեժիմ. OpenGL ES-ի կանչերը Emscripten-ը թարգմանում է WebGL2-ի, այնպես որ Half-Life 2-ի համար ռենդերինգի աշխատանք գրեթե չպահանջվեց։
Քանի որ այդ շարժիչը նախորդում է Half-Life 2-ի 20-ամյակի թողարկմանը, դրա ակտիվները չէին աջակցվում։ Հեղինակը Steam-ում անցել է steam_legacy ճյուղին՝ համատեղելի տվյալներ ստանալու համար։ Ակտիվների բեռնումը պահանջեց առանձին գործընթաց. շարժիչը փոփոխվեց այնպես, որ գրանցեր ամեն ակտիվի հարցումը, սկրիպտը վերլուծում էր գրանցամատյանները և ֆայլերը փաթեթավորում .data արխիվների մեջ՝ մեկը յուրաքանչյուր քարտեզի համար։ Գոյություն ունեցող chunk-երի սկրիպտը գրված էր Linux-ի համար, ուստի այն հարմարեցվեց Windows-ին, և բացվեցին Half-Life 2-ի բոլոր VPK ֆայլերը։
Ինչից հրաժարվեցին և ինչ ուղղվեց
Half-Life 2-ի դեմքի անիմացիայի համակարգը՝ բնօրինակի կարևորագույն նորամուծություններից մեկը, այնքան շատ խնդիրներ էր առաջացնում, որ կայունության համար այն ամբողջությամբ անջատվեց։ Ուղղումների ցանկը երկար է. պահպանումն ու բեռնումը ստիպված էին կապվել Emscripten-ի IDBFS-ի հետ. մարտկոցները, բուժական արկղերը և պատի վրա ամրացված արկղերը ընդհանրապես չէին աշխատում. երբ Alyx-ը հանձնում է ձգողության հրացանը, այն չէր ավելանում գույքագրմանը. լայթմափերի պատճառով քարտեզները երբեմն պատահական գույներով էին ներկվում. լապտերը դատարկ տեքստուրա էր օգտագործում. NPC-ները պատահականորեն ընկնում էին ու մահանում. headcrab-ներն ու զոմբիները վնաս չէին հասցնում. ջուրը ամբողջությամբ սև էր ցուցադրվում։ Դրանց մի մասը՝ բուժարկղերը և NPC-ների անկումը, ուղղեց 98-ը։
Հետո եղան փոքր հարմարավետության փոփոխություններ, այդ թվում՝ կքանստելու ստեղնի C-ի կապակցումը, քանի որ Ctrl-ը ակտիվացնում է բրաուզերի դյուրանցումները և խանգարում խաղին։
Ինչ է սպասվում
Հեղինակի խոսքով՝ հանգստանալուց հետո կսկսի աշխատել Half-Life 2-ի երկու էպիզոդների վրա։ Դեռ հայտնի չէ՝ արդյոք նույն մոտեցումը կտարածվի Source շարժիչի այլ խաղերի վրա։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։