![Epic Games 送出 3 款免费游戏,有一款多人游戏《兽人必须死!3》](/public/upload-img/2024-04-29/662b25ae95ad1.png)
![兽人必须死! 3 在 Epic Games Store 上免费](/public/upload-img/2024-04-29/662b25ae95ad1.png)
查看照片
兽人必须死! 3 在 Epic Games Store(TechRaptor) 上免费
KOMPAS.com - 游戏发行平台 Epic Games Store 公布了可以免费玩的 PC 游戏列表。从今天开始,用户可以领取多达三款免费游戏。
Epic Games 免费制作的三款游戏是《Industria》、《Lisa: The Definitive Edition》和《Orcs Must Die!》。 3.
《工业与丽莎:最终版》可于周四(2024 年 4 月 25 日)至 2024 年 5 月 2 日 22:00 WIB 领取。 5 月 2 日,两款游戏的价格将恢复正常,而多人游戏《Orcs Must Die!》的价格将恢复正常。 3将是免费的。
兽人必须死! 2024 年 5 月 9 日之前可免费领取 3 个。 Epic Games 尚未公布将取代《Orcs Must Die!》的游戏列表。 3.
查看《工业》、《丽莎:最终版》和《兽人必须死!》的简要说明3 下面。
另请阅读:App Store 上泄露的最新 Hoyoverse 游戏发布日期
1. 工业
![Industria 在 Epic Games Store 上免费](/public/upload-img/2024-04-29/662b264d5d240.jpg)
在这款具有逼真视觉效果的第一人称射击 (FPS) 游戏中,玩家扮演诺拉 (Nora) 的角色,她是东柏林的一名工人,正在寻找失踪的情人。
有一天,诺拉意外进入了一个平行维度,她的世界被邪恶的机器人统治。
玩家必须探索这个平行世界,同时摧毁各种阻碍他们的机器人。这些武器多种多样,从斧头、机关枪到狙击步枪。
不仅是武器,诺拉在寻找爱人的冒险中将面对的敌人也各不相同。有一些小型机器人会冲向玩家并引爆自己,也有一些类人机器人会使用枪支。
可以肯定的是,《工业》将推出续作《工业 2》,但发布日期尚不清楚。换句话说,喜欢《工业》的用户可以等待续集来观看诺拉故事的延续。
2. 丽莎:最终版
![丽莎:最终版在 Epic Games Store 上免费](/public/upload-img/2024-04-29/662b26215eae4.jpg)
不仅是经典游戏,《传说之下》、《星露谷物语》、《Pizza Tower》等各种独立游戏都采用了这种像素视觉风格。
丽莎:最终版 (2023) 本身是游戏《丽莎:痛苦》(2014) 及其续作《丽莎:快乐》(2015) 的新版本。作为最新版本,这两款游戏进行了多项改进,使其更加现代。
另请阅读:10 个好玩的免费 Google 游戏,有吃豆人、贪吃蛇等
这些功能包括高清分辨率视觉效果和更新的界面 (UI),使游戏组合更加赏心悦目。
保存文章
没兴趣
关闭
`); var wSpecStop = createElementFromHTML(`内容已隐藏。重新加载页面以更新推荐。撤消
`); reactionPopup.querySelector('.buttonShare').setAttribute('data-title', item.title); reactionPopup.querySelector('.buttonShare').setAttribute('data-url', itemUrl); reactionPopup.querySelector('.buttonShare').setAttribute('data-campaign', 'AIML_Widget_Desktop');让 userFeedback = new UserFeedback(resultObj.engine['tracker_algsrc'], itemUrl + tracker_params, jxRecHelper, index);反应Popup.querySelector('.buttonBookmark').addEventListener('click', function() { do_bookmark(itemUrl, index, userFeedback); }); reactionPopup.querySelector('.buttonShare').addEventListener('click', function() { userFeedback.event('share'); });反应Popup.querySelector('.buttonNotInterest').addEventListener('click', function() { if (getCookie('kmps_usrid')) { hideThisArt(this); userFeedback.event('不感兴趣'); } else { const ParentAction = this.parentElement.parentElement.parentElement if (!!parentAction) { let indexElement = ParentAction.getAttribute('data-index') if (indexElement != 'undefined') { localStorage.setItem('reaction_not_interest_temp', JSON.stringify ({ urlpage: items[indexElement].url })) } } window.location.href = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); /** * 触发操作“userFeedback”,即用户之前不感兴趣的项目,当不登录而不感兴趣时 */ if (getCookie('kmps_usrid') && localStorage.getItem('reaction_not_interest_temp')) { const tempUrlNotInterest = JSON.parse(localStorage) .getItem('reaction_not_interest_temp')) if (itemUrl == tempUrlNotInterest.urlpage) { userFeedback.event('不感兴趣'); localStorage.removeItem('reaction_not_interest_temp'); } } wSpecStop.querySelector('.wSpec-stop-undo').addEventListener('click', function() { showThisArt(this); userFeedback.event('un-not-interested'); }); recItem.appendChild(buttonOption); recItem.appendChild(reactionPopup); recItem.appendChild(wSpecStop); var recItemWrapperA = createElement('a', null, null, null); recItemWrapperA.setAttribute('href', itemUrl + tracker_params); var titleDiv = createElement('h4', null, null, [cssClasses.title]); var titleTextNode = document.createTextNode(item.title); if (item.itemType == 'video') { var iconVideo = createElement('div', null, null, ['icoInline', 'icoVideo']); iconVideo.style.marginRight = '5px'; titleDiv.appendChild(iconVideo); titleDiv.appendChild(titleTextNode); var sourceDiv = null; if (item.hasOwnProperty('method')) { sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type'] + ' . ' + item.method.toUpperCase() ); } else { var sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type']); var textWrapper = createElement('div', null, null, [cssClasses.text_wrapper]); textWrapper.appendChild(categoryDiv); textWrapper.appendChild(titleDiv); textWrapper.appendChild(sourceDiv); recItemWrapper.appendChild(imgWrapper); recItemWrapper.appendChild(textWrapper); recItemWrapperA.appendChild(recItemWrapper); recItem.appendChild(recItemWrapperA); widgetWrapper.appendChild(recItem); // 连接该项目的点击处理程序 // recItem.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); recItemWrapperA.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); }); } // 结束 while var endDate = new Date(); var loadtime = (endDate.getTime() - startDate.getTime()); trackEventGa('AIML文章推荐', '内容已加载', 'algsrc='+algsrc+',site=TEKNO,device=desktop,loadtime=' + loadtime) let domain = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "猜猜";让 subs_type = "";让 is_lgn = 0;让引擎= algsrc; if(getCookie('kmps_usrid')){is_lgn=1};让 time_load = 加载时间;解决(); /*** * JXRECSDK 注释第 3 条(共 5 条) - * 将有关项目的所有信息传递给记录助手 * 每个都是一个对象:全部强制 * div * id * pos */ jxRecHelper.items(widgetItemArr); /*** * JXRECSDK 注意第 4 条(共 5 条) - * 当推荐结果已填充到小部件时,调用辅助对象的 ready() * (这将注册 action=ready 事件) */ if (resultObj.engine ['type'] == 'api-1') { jxRecHelper.ready(resultObj.options.algo + ":" + resultObj.options.version); } else { jxRecHelper.ready(resultObj.engine['type']); } } else { jxRecHelper.error(204); console.error("错误:没有推荐项目");返回; } } catch (err) { jxRecHelper.error(901); console.log(err.stack);让域= window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "猜猜";让 subs_type = "" 让 is_lgn = 0;让引擎= algsrc; if(getCookie('kmps_usrid')){is_lgn=1};让 endDate = new Date();让 time_load = (endDate.getTime() - startDate.getTime()); } }); const _jxRecSdkURL = 'https://scripts.jixie.media/jxrecsdk.1.0.min.js'; var startDate = new Date(); class OneWidget { constructor() { //这也是我们在实例化 JX rec 辅助对象时传递给它的对象: //在此实现中,大部分来自发布者页面上的选项 obj。 this._options = { accountid: '9262bf2590d558736cac4fff7978fcb1', pageurl: 'https://tekno.kompas.com/read/2024/04/28/08000047/epic-games-bagi-bagi-3-game-gratis-ada- multiplayer-orcs-must-die-3-game',widget_id:'1000183-6xWeiWZFIM',类型:'pages',容器:'recommended-content-selection-for-you-aiml',关键字:content_tags,标题:标题,自定义:“7”,计数:14,}; this._containerId = this._options.container; this._container = document.getElementById(this._containerId); this._engines = [{"url":"https:\/\/recommendation.jixie.media\/v1\/recommendation","method":"GET","pageurl":"https:\/\/tekno .kompas.com\/read\/2024\/04\/28\/08000047\/epic-games-bagi-bagi-3-game-gratis-ada-game-multiplayer-orcs-must-die-3-" ,"system":"jx","type":"api-1","tracker_params":"?source=widgetML","tracker_algsrc":"V","count":14,"page_status":"读","excludeitemids":"2024042808000047"}]; } kickOff() { startDate = new Date(); const rand = Math.floor(Math.random() * 1000); /*const randSystem = Math.floor(Math.random() * 3); this._engine = this._engines[randSystem] if (location.hostname.indexOf('sustainable') != -1) { this._engine = this._engines[1] }*/ this._engine = this._engines[0 ]; this._options.system = this._engine['system'] trackEventGa('AIML 文章推荐', 'Widget 加载', 'algsrc=' + this._engine['tracker_algsrc'] + ',site=TEKNO,device=desktop ') 让 promJXSDK = fetchJSFileP(_jxRecSdkURL);让 thisObj = this; // 首先我们等待 JX REC SDK 加载并初始化 let recHelperObj = null;让recResults = null; promJXSDK .then(function() { /*** * JXRECSDK 注释 1 of 5 - JX REC 帮助对象的实例化 * 在加载 JX REC SDK 之后但在调用 REC * 后端之前调用此函数。 * * 参数:强制选项object * options 对象必须至少有 * accountid: 从 jixie 获取 * widgetid: 从 jixie 获取 * container: 容纳 widget 的目标 div 的 DIV ID * (对于 jixie widget,这只是从页面传递的 options 对象) * * (这也会注册 action=load 事件) */ recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options); let basicInfo = thisObj._options; basicInfo.engine = thisObj._engine if (basicInfo.engine.type == ' api-1') { var options = { count: basicInfo['count'], adpositions: "", keywords: basicInfo['keywords'], title: basicInfo['title'], date_published: "2024-04-28 ", pagecategory: "TEKNO", algo: "mixed" }; if(getCookie('kmps_usrid')){ var kg = { pagetype:basicInfo.engine.page_status, uid:getCookie('kmps_usrid'), ukid:getCookie( 'kmp_uid') } if(basicInfo.engine.page_status=='read'){ kg['excludeitemids'] = basicInfo.engine.excludeitemids; kg['多格式'] = true; } 选项['附加'] = { 公斤:公斤 };返回recHelperObj.getJxRecommendations(选项); } else { return fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo()); } }) .then(function(resp) { if (thisObj._engine.type == 'api-3') { recResults = new Object recResults.items = resp.docs.result; } else { recResults = resp; } recResults .engine = thisObj._engine; if (!resp || !recResults.items || recResults.items.length == 0) { /*** * JXRECSDK 注释 2 of 5 - * 在recHelper 上调用 error() 函数当获取过程中发生错误或没有推荐项目时 * * (这将注册 action=error 事件) */ recHelperObj.error(204); function() { // 一切准备就绪(推荐结果, css): document.getElementById("推荐的内容选择-for-you-aiml").classList.remove("-loading"); document.querySelector('.wSpec -list').remove(); rand, thisObj._container, recResults, recHelperObj) .then(function() {toggleDropdown(); //观察lozad lozad('.lozad', { load: function(el) { el.src = el.dataset.src; } el.onload = function() { el.classList.add('fade') } } }).observe() }) }) .catch(function(error) { console .log(`无法创建推荐小部件 ${错误.堆栈} ${错误.消息}`); }); } } var limit_gtm_ready = 1; function check_gtm_ready() { if ('ga' in window) { // 根据选项创建一个新的小部件实例 const newW = new OneWidget(); newW.kickOff(); } else { const timeout_gtm_ready = setTimeout(check_gtm_ready, 500) limit_gtm_ready += 1; if (limit_gtm_ready > 10) { 清除超时(timeout_gtm_ready); const newW = new OneWidget(); newW.kickOff(); } } } check_gtm_ready() document.querySelector('.wSpec-secret').addEventListener('click', function(e) { e.preventDefault(); let wSl = document.querySelectorAll('.wSpec-source'); if (wSl.length > 0) { for (let i = 0; i { el.addEventListener('click', function() { el.parentElement.classList.toggle('-active') let saving = el.parentElement. getAttribute('数据保存') let kmps_usrid = getCookie('kmps_usrid'); if (kmps_usrid && !saved && el.parentElement.classList.contains('-active')) { let url = el.parentElement.getAttribute(' data-url'); let guid = get_guid(url); check_bookmark( kmps_usrid, guid ).then(function(resp) { if (resp.hasOwnProperty('total_data')) { if (resp.total_data > 0) { el .parentElement.querySelector('.buttonBookmark').classList.add('-active'); el.parentElement.querySelector('.buttonBookmark').innerHTML = '从已保存的内容中删除', 'true'); else { el.parentElement.setAttribute('data-saved', 'false'); console.log(e.target) if (el.contains(e.target)) { // console.log(tdd) } else { el.parentElement.classList.remove('-active') } }); }); } } function check_bookmark(kmps_usrid, guid) { let url = `https://api.kompas.com/2021/reaction/bookmark/list?kmps_usrid=${kmps_usrid}&guid=${guid}`; return new Promise(function(resolve,reject) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { 解析(JSON.parse( this.responseText)) } }; xmlhttp.open("GET", url, true); } function do_bookmark(pageurl, pos, userFeedback) { const wSpecItem = document.querySelector(`.wSpec-item[data-index="${pos}"]`); const btnBookmark = wSpecItem.querySelector('.buttonBookmark'); const kmps_usrid = getCookie('kmps_usrid'); const guid = get_guid(pageurl); const type = pageurl.match(/\/watch\/(\d+)/) ? '视频' : '文章'; if (kmps_usrid) { if (btnBookmark.classList.contains('-active')) { set_unbookmark({ guid: guid, kmps_usrid: kmps_usrid, type: 类型 }).then(function(resp) { btnBookmark.classList.remove( '-active'); btnBookmark.innerHTML = '保存文章';reactionToast('文章已成功从保存的列表中删除'); / message: "数据不存在" if (resp.hasOwnProperty('message') && resp. message.includes('exist')) { btnBookmark.classList.remove('-active'); 保存文章';reactionToast('文章成功从保存的列表中删除'); //activity.kompas.com/saved?order=desc"; set_bookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type, 发布者: 'kompas', platform: 'desktop' }).then(function(resp) { btnBookmark.classList.add('-active'); btnBookmark. innerHTML = '从保存中删除';reactionToast('文章保存成功', user_bookmark_url); catch(function(resp) { // message: "数据已存在" if (resp .hasOwnProperty( 'message') && resp.message.includes('exist')) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = '从已保存的内容中删除'reactionToast('文章保存成功', user_bookmark_url); } }) } } else { const login_url = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); window.location.href = 登录网址; } } 函数 set_bookmark(data) { const url = "https://api.kompas.com/2021/reaction/bookmark/add"; return new Promise(function(resolve,reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 201) { 解析(JSON.parse( this.responseText)); } else if (this.readyState == 4 && this.status == 400) {reject(JSON.parse(this.responseText)); true); “application/x-www-form-urlencoded;charset=UTF-8”); } 函数 set_unbookmark(data) { const url = "https://api.kompas.com/2021/reaction/bookmark/delete"; return new Promise(function(resolve,reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { 解析(JSON.parse( this.responseText)); } else if (this.readyState == 4 && this.status == 400) {reject(JSON.parse(this.responseText)); true); “application/x-www-form-urlencoded;charset=UTF-8”); } 类 UserFeedback { 构造函数(engine, pageurl, jxRecHelper, pos) { this.engine = engine; this.pageurl = pageurl; this.jxRecHelper = jxRecHelper; this.pos = 帖子; } 事件(反馈){ if (this.engine == 'C') { const xmlhttp = new XMLHttpRequest();让 params = { 域名: 'kompas.com', ce_userid: getCookie('kmps_usrid'), ce_sessionid: getCookie('ukid'), ce_pageurl: this.pageurl, 引擎: 'C', ce_feedback: 反馈 } xmlhttp.open( "GET", 'https://apis.kgdata.dev/v1/aiml/feedback-widgetml' + formatParams(params)); xmlhttp.send(); } else if (this.engine == 'V') { if (feedback == 'share') { this.jxRecHelper.shared(this.pos); } else if (feedback == '保存') { this.jxRecHelper.bookmarked(this.pos); } else if (feedback == '不感兴趣') { this.jxRecHelper.hidden(this.pos); } else if (feedback == '不感兴趣') { this.jxRecHelper.unhidden(this.pos); } } } } function formatParams(params) { return "?" + Object .keys(params) .map(function(key) { return key + "= +encodeURIComponent(params[key]) }) .join("&") } document.addEventListener("click", function(e ){ let dx = document.querySelectorAll('[data-dropdown]') if(dx) { dx.forEach(function(el){ if(el.contains(e.target)) { el.parentElement.classList.toggle ('-active') } else { el.parentElement.classList.remove('-active') } }) } })
留言