[{"data":1,"prerenderedAt":208},["ShallowReactive",2],{"article-thor-halflife":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":5,"title":7,"description":8,"date":9,"slug":10,"category":11,"generated":12,"media":13,"source":17,"project_page":18,"body":19,"_type":202,"_id":203,"_source":204,"_file":205,"_stem":206,"_extension":207},"\u002Fthor-halflife","",false,"Thor Half-Life","Native dual-screen Half-Life port for the AYN Thor with the full HEV suit HUD on the touch screen.","2026-11-04 07:35","thor-halflife","game","ai",[14],{"type":15,"url":16},"video","https:\u002F\u002Fyoutu.be\u002FjiYEW7FgMcQ","https:\u002F\u002Fwww.reddit.com\u002Fr\u002FAynThor\u002Fcomments\u002F1xmnvqp\u002Fnative_halflife_port_for_the_thor_the_game_on_the\u002F","https:\u002F\u002Fgithub.com\u002Fharmssi\u002Fthor-halflife",{"type":20,"children":21,"toc":195},"root",[22,31,37,43,73,79,136,142],{"type":23,"tag":24,"props":25,"children":27},"element","h2",{"id":26},"description",[28],{"type":29,"value":30},"text","Description",{"type":23,"tag":32,"props":33,"children":34},"p",{},[35],{"type":29,"value":36},"Thor Half-Life is a native Android (arm64) port of Half-Life for the AYN Thor, based on Xash3D FWGS and the Half-Life SDK — no emulator, no Windows layer. The game runs on the top screen at 1920×1080 with GLES3, while the entire HEV suit HUD (health, armor and every weapon) is moved to the bottom touch screen so the HUD never covers the game. Opposing Force and Blue Shift are supported, each with its own deck. The APK contains no Valve data; you need your own copy of Half-Life.",{"type":23,"tag":24,"props":38,"children":40},{"id":39},"features",[41],{"type":29,"value":42},"Features",{"type":23,"tag":44,"props":45,"children":46},"ul",{},[47,53,58,63,68],{"type":23,"tag":48,"props":49,"children":50},"li",{},[51],{"type":29,"value":52},"Native Android port (arm64) based on Xash3D FWGS + the Half-Life SDK — no emulator, no Windows layer",{"type":23,"tag":48,"props":54,"children":55},{},[56],{"type":29,"value":57},"Top screen: just the game, 1920×1080, GLES3",{"type":23,"tag":48,"props":59,"children":60},{},[61],{"type":29,"value":62},"Bottom screen = HEV deck: health\u002Farmor, the full arsenal with ammo (tap to select), pickups, hazards (radiation, water), map name, flashlight, quicksave\u002Fquickload, menu",{"type":23,"tag":48,"props":64,"children":65},{},[66],{"type":29,"value":67},"Opposing Force and Blue Shift work too, each with its own deck (night vision, Displacer etc.)",{"type":23,"tag":48,"props":69,"children":70},{},[71],{"type":29,"value":72},"Controller: RT fire, LT alt fire, A jump, B duck, X reload, Y use, LB\u002FRB weapon, d-pad up flashlight",{"type":23,"tag":24,"props":74,"children":76},{"id":75},"requirements",[77],{"type":29,"value":78},"Requirements",{"type":23,"tag":44,"props":80,"children":81},{},[82,87,107],{"type":23,"tag":48,"props":83,"children":84},{},[85],{"type":29,"value":86},"A copy of Half-Life (Steam) — the APK contains no Valve data",{"type":23,"tag":48,"props":88,"children":89},{},[90,92,99,101],{"type":29,"value":91},"Copy ",{"type":23,"tag":93,"props":94,"children":96},"code",{"className":95},[],[97],{"type":29,"value":98},"steamapps\u002Fcommon\u002FHalf-Life\u002Fvalve",{"type":29,"value":100}," from your Steam installation to ",{"type":23,"tag":93,"props":102,"children":104},{"className":103},[],[105],{"type":29,"value":106},"\u002Fsdcard\u002Fxash\u002Fvalve",{"type":23,"tag":48,"props":108,"children":109},{},[110,112,118,120,126,128,134],{"type":29,"value":111},"For Opposing Force \u002F Blue Shift, put ",{"type":23,"tag":93,"props":113,"children":115},{"className":114},[],[116],{"type":29,"value":117},"gearbox",{"type":29,"value":119}," \u002F ",{"type":23,"tag":93,"props":121,"children":123},{"className":122},[],[124],{"type":29,"value":125},"bshift",{"type":29,"value":127}," next to it (",{"type":23,"tag":93,"props":129,"children":131},{"className":130},[],[132],{"type":29,"value":133},"*_hd",{"type":29,"value":135}," folders optional)",{"type":23,"tag":24,"props":137,"children":139},{"id":138},"setup-guide",[140],{"type":29,"value":141},"Setup guide",{"type":23,"tag":44,"props":143,"children":144},{},[145,150,185,190],{"type":23,"tag":48,"props":146,"children":147},{},[148],{"type":29,"value":149},"Install the APK from the latest release (Chrome: Download anyway → Package installer → Settings → Allow from this source → Install)",{"type":23,"tag":48,"props":151,"children":152},{},[153,154,159,160,165,167,172,173,178,179,184],{"type":29,"value":91},{"type":23,"tag":93,"props":155,"children":157},{"className":156},[],[158],{"type":29,"value":98},{"type":29,"value":100},{"type":23,"tag":93,"props":161,"children":163},{"className":162},[],[164],{"type":29,"value":106},{"type":29,"value":166},"; for Opposing Force \u002F Blue Shift put ",{"type":23,"tag":93,"props":168,"children":170},{"className":169},[],[171],{"type":29,"value":117},{"type":29,"value":119},{"type":23,"tag":93,"props":174,"children":176},{"className":175},[],[177],{"type":29,"value":125},{"type":29,"value":127},{"type":23,"tag":93,"props":180,"children":182},{"className":181},[],[183],{"type":29,"value":133},{"type":29,"value":135},{"type":23,"tag":48,"props":186,"children":187},{},[188],{"type":29,"value":189},"Start the app and tap Allow file access",{"type":23,"tag":48,"props":191,"children":192},{},[193],{"type":29,"value":194},"Play",{"title":5,"searchDepth":196,"depth":196,"links":197},2,[198,199,200,201],{"id":26,"depth":196,"text":30},{"id":39,"depth":196,"text":42},{"id":75,"depth":196,"text":78},{"id":138,"depth":196,"text":141},"markdown","content:thor-halflife:index.md","content","thor-halflife\u002Findex.md","thor-halflife\u002Findex","md",1794296044724]