91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將經(jīng)典射擊游戲移植到芯科科技MG24 Matter開(kāi)發(fā)板

Silicon Labs ? 來(lái)源:Silicon Labs ? 2025-11-30 10:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Silicon Labs(芯科科技)熱衷于突破嵌入式系統(tǒng)的極限和創(chuàng)新。在先前成功將一款經(jīng)典游戲-雷神之錘(Quake)移植到基于EFR32MG24無(wú)線SoC的Arduino Nano Matter開(kāi)發(fā)板之后,我們迎來(lái)了新的挑戰(zhàn):將另一款經(jīng)典第一人稱射擊游戲-毀滅公爵3D(Duke Nukem 3D)的完整體驗(yàn)帶到我們的超低功耗平臺(tái)MG24的開(kāi)發(fā)板上,以實(shí)現(xiàn)包括游戲音樂(lè)、多人連線模式等完整的游戲玩法。

為什么選擇毀滅公爵3D

毀滅公爵3D于1996年在Quake之前發(fā)布,是互動(dòng)玩法的里程碑。雖然在圖形上不如Quake先進(jìn),但它提供了:

可移動(dòng)的墻壁和區(qū)域

與物體交互以及可破壞的環(huán)境

高級(jí)功能:鏡子、安全攝像頭、腳本控制和混響效果

這些特性使它成為一個(gè)完美的參考設(shè)計(jì),用來(lái)展示嵌入式性能和游戲體驗(yàn)的完整性。

硬件限制與游戲特性

我們希望代碼能運(yùn)行在去年為Quake移植開(kāi)發(fā)的同一款開(kāi)源硬件上,也就是“The Gamepad”,它基于Arduino Nano Matter板,搭載基于芯科科技MG24 SoC的MGM240S無(wú)線模塊。

939d3d84-cb68-11f0-8c8f-92fbcf53809c.png

The Gamepad硬件規(guī)格:

無(wú)外部RAM(僅使用MGM240S內(nèi)部的25kB)

外部閃存用于數(shù)據(jù)存儲(chǔ)(最高 64 MB)

320 × 240 像素RGB IPS LCD,帶SD卡讀卡器

立體聲音效

模擬搖桿和16個(gè)按鍵

代碼庫(kù)

我們選擇了Chocolate Duke Nukem 3D,它是Fabien Sanglard的xDuke移植版本的精簡(jiǎn)和注釋版,并支持SDL。SDL支持讓我們可以在Windows上開(kāi)發(fā)和優(yōu)化,然后再移植到真實(shí)硬件。

我們針對(duì)內(nèi)存和速度進(jìn)行了大量?jī)?yōu)化,以適應(yīng)256 kB RAM的限制。

內(nèi)存優(yōu)化

原始?xì)绻?D需要8 MB RAM,遠(yuǎn)超我們的硬件條件,因此必須進(jìn)行深入優(yōu)化。主要措施包括:

根據(jù)性能分析和代碼檢查,優(yōu)化結(jié)構(gòu)體字段大小

將關(guān)卡常量數(shù)據(jù)存儲(chǔ)到閃存,減少RAM 占用

創(chuàng)建分配器,僅存儲(chǔ)修改過(guò)的對(duì)象,未修改的對(duì)象直接從閃存讀取

將部分靜態(tài)全局?jǐn)?shù)組移到棧上

重用大型全局緩沖區(qū)(例如在關(guān)卡加載時(shí)重用幀緩沖)

優(yōu)化插值算法

游戲動(dòng)畫(huà)渲染時(shí),從外部閃存分塊復(fù)制到RAM,再進(jìn)行渲染

腳本文件預(yù)編譯并作為常量數(shù)組存儲(chǔ)在代碼中

攝像機(jī)精靈(顯示安全攝像頭畫(huà)面)臨時(shí)渲染到幀緩沖的狀態(tài)欄區(qū)域,因此每次渲染后必須重新繪制狀態(tài)欄

優(yōu)化聲音引擎,減少冗余RAM 使用

將xDuke 的高級(jí)混響效果替換為原版Duke Nukem 3D 的簡(jiǎn)單混響

速度優(yōu)化

為了提升性能,我們采取了以下策略:

重寫(xiě)部分繪圖例程。原始代碼是高度優(yōu)化的x86 匯編,后來(lái)在xDuke 中通過(guò)自動(dòng)工具轉(zhuǎn)換為C,導(dǎo)致代碼難以理解且性能下降。

由于墻體和精靈是逐列繪制的,我們利用DMA在當(dāng)前列繪制時(shí)從外部閃存加載下一列,實(shí)現(xiàn)加載與渲染并行,減少等待時(shí)間。

基于802.15.4無(wú)線連接的多人模式

我們采用芯科科技的RAIL庫(kù)構(gòu)建了一個(gè)輕量級(jí)協(xié)議:

異步節(jié)點(diǎn)發(fā)現(xiàn):在初始階段,所有節(jié)點(diǎn)選擇一個(gè)隨機(jī)地址,并通過(guò)“問(wèn)候”數(shù)據(jù)包進(jìn)行廣播。一旦其他節(jié)點(diǎn)接收到這些數(shù)據(jù)包,網(wǎng)絡(luò)就形成了。

同步的類(lèi)令牌環(huán)通信:當(dāng)所有玩家都確認(rèn)準(zhǔn)備好比賽后,協(xié)議切換到同步模式。在此模式下,地址最小的節(jié)點(diǎn)被選為主節(jié)點(diǎn)。主節(jié)點(diǎn)每隔25毫秒啟動(dòng)通信,第二個(gè)節(jié)點(diǎn)(地址次小)廣播其數(shù)據(jù),然后第三個(gè)節(jié)點(diǎn)發(fā)送,最后第四個(gè)節(jié)點(diǎn)廣播自己的數(shù)據(jù)。協(xié)議支持自動(dòng)重發(fā)丟失的數(shù)據(jù)包,以確??煽啃浴?/p>

93fec75c-cb68-11f0-8c8f-92fbcf53809c.png

工具與腳本

我們使用了一個(gè)Python腳本來(lái)轉(zhuǎn)換GRP文件,使其滿足以下要求:

所有MIDI文件轉(zhuǎn)換為T(mén)ype 0格式

VOC文件轉(zhuǎn)換為更易處理的 WAV 格式

GRP文件必須存儲(chǔ)在SD卡中。通過(guò)在開(kāi)機(jī)時(shí)按下特定按鍵組合,文件會(huì)被復(fù)制到外部閃存。Atomic Edition需要2×32MB閃存芯片,而原始版本只需2×16MB芯片。

性能亮點(diǎn)

超頻情況下:30–50 fps

未超頻情況下:18–30 fps

由于引擎更簡(jiǎn)單,DN3D 比Quake更快

結(jié)論

此移植展示了芯科科技MG24無(wú)線SoC的強(qiáng)大性能與靈活性:

在受限硬件上運(yùn)行完整功能的經(jīng)典復(fù)古第一人稱射擊游戲

支持多人模式、音樂(lè)、存檔/讀取以及控制臺(tái)功能

高效的內(nèi)存管理與性能調(diào)優(yōu)

我們希望這能激發(fā)開(kāi)發(fā)者探索嵌入式平臺(tái)的更多可能性——無(wú)論是游戲、可穿戴設(shè)備,還是下一代物聯(lián)網(wǎng)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6293

    瀏覽量

    118235
  • 芯科科技
    +關(guān)注

    關(guān)注

    1

    文章

    499

    瀏覽量

    17701
  • Matter
    +關(guān)注

    關(guān)注

    1

    文章

    334

    瀏覽量

    7154

原文標(biāo)題:上手開(kāi)發(fā)-將經(jīng)典射擊游戲移植到MG24 Matter開(kāi)發(fā)板

文章出處:【微信號(hào):SiliconLabs,微信公眾號(hào):Silicon Labs】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    科技攜手Waites公司打造基于傳感器的狀態(tài)監(jiān)測(cè)解決方案

    Silicon Labs(科技)攜手Waites公司,基于MG24多協(xié)議 SoC打造支持人工智能和機(jī)器學(xué)習(xí)(AI/ML)且可適配不同工廠、設(shè)備類(lèi)型與運(yùn)行環(huán)境的預(yù)測(cè)性維護(hù)解決方案,為工業(yè)設(shè)備提供完善的基于傳感器的狀態(tài)監(jiān)測(cè)(Co
    的頭像 發(fā)表于 03-09 15:30 ?65次閱讀

    迅為驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):iTOP-RK3568開(kāi)發(fā)板eDP屏幕移植全攻略

    迅為驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):iTOP-RK3568開(kāi)發(fā)板eDP屏幕移植全攻略
    的頭像 發(fā)表于 12-30 15:42 ?905次閱讀
    迅為驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>實(shí)戰(zhàn):iTOP-RK3568<b class='flag-5'>開(kāi)發(fā)板</b>eDP屏幕<b class='flag-5'>移植</b>全攻略

    RL78/G24 快速原型開(kāi)發(fā)板使用指南

    RL78/G24 快速原型開(kāi)發(fā)板使用指南 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,快速原型開(kāi)發(fā)板為工程師們提供了便捷的開(kāi)發(fā)途徑。Renesas 的 RL78/G24
    的頭像 發(fā)表于 12-29 11:55 ?718次閱讀

    采用XIAO MG24開(kāi)發(fā)板的手套動(dòng)作控制電動(dòng)滑板設(shè)計(jì)

    本篇應(yīng)用文章來(lái)自于Silicon Labs(科技)在線技術(shù)社區(qū),作者分享了運(yùn)用XIAO MG24開(kāi)發(fā)板來(lái)打造通過(guò)手套動(dòng)作控制電動(dòng)滑板(Electric Skateboard)的簡(jiǎn)要
    的頭像 發(fā)表于 12-25 11:37 ?2876次閱讀
    采用XIAO <b class='flag-5'>MG24</b><b class='flag-5'>開(kāi)發(fā)板</b>的手套動(dòng)作控制電動(dòng)滑板設(shè)計(jì)

    Hubble Network采用科技MG24無(wú)線SoC構(gòu)建全球低功耗藍(lán)牙網(wǎng)絡(luò)

    法滿足需求。Hubble Network致力于解決這一挑戰(zhàn),并通過(guò)采用Silicon Labs(科技)的安全、高射頻性能MG24無(wú)線SoC創(chuàng)建了全球首個(gè)由超過(guò)9,000萬(wàn)個(gè)地面網(wǎng)關(guān)和一組近地軌道衛(wèi)星(low-earth or
    的頭像 發(fā)表于 12-16 14:55 ?776次閱讀

    請(qǐng)問(wèn)如何蜂鳥(niǎo)E203移植Xilinx NEXYS A7 FPGA 開(kāi)發(fā)板上?

    如何蜂鳥(niǎo)E203移植Xilinx NEXYS A7 FPGA 開(kāi)發(fā)板上?有參考教程嗎?小白求教 主要是引腳分配,我這邊有移植
    發(fā)表于 11-11 07:44

    基于科技信道探測(cè)開(kāi)發(fā)板的PC桌面鎖定示例

    本文的實(shí)際應(yīng)用示例說(shuō)明如何運(yùn)用Silicon Labs(科技)EFR32xG24 SoC的信道探測(cè)(Channel Sounding)開(kāi)發(fā)板
    的頭像 發(fā)表于 10-30 16:07 ?616次閱讀
    基于<b class='flag-5'>芯</b><b class='flag-5'>科</b>科技信道探測(cè)<b class='flag-5'>開(kāi)發(fā)板</b>的PC桌面鎖定示例

    科技2025年Works With開(kāi)發(fā)者大會(huì)深圳站Matter技術(shù)專(zhuān)場(chǎng)前瞻

    設(shè)置Matter技術(shù)專(zhuān)題培訓(xùn)!來(lái)自科技的技術(shù)專(zhuān)家介紹Matter協(xié)議最新進(jìn)展、關(guān)鍵特性、Matte
    的頭像 發(fā)表于 09-30 09:38 ?964次閱讀

    如何移植rt-thread野火imx6ull開(kāi)發(fā)板上?

    求助如何rt-thread移植野火imx6ull(coretex-A7)開(kāi)發(fā)板上,官方的bsp中沒(méi)有imx6ull
    發(fā)表于 09-29 06:25

    如何移植EtherCAT Igh--基于米爾RK3576開(kāi)發(fā)板

    本文介紹基于米爾電子MYD-LR3576開(kāi)發(fā)板(米爾基于瑞微RK3576開(kāi)發(fā)板)的移植E
    的頭像 發(fā)表于 09-26 08:04 ?9905次閱讀
    如何<b class='flag-5'>移植</b>EtherCAT Igh--基于米爾RK3576<b class='flag-5'>開(kāi)發(fā)板</b>

    基于DE1-SOC開(kāi)發(fā)板的太空射擊游戲

    今天繼續(xù)常春藤名校之一——康奈爾大學(xué)的FPGA課程ECE 5760典型案例分享:基于DE1-SOC開(kāi)發(fā)板的太空射擊游戲
    的頭像 發(fā)表于 08-04 10:47 ?3778次閱讀
    基于DE1-SOC<b class='flag-5'>開(kāi)發(fā)板</b>的太空<b class='flag-5'>射擊</b><b class='flag-5'>游戲</b>

    如何選擇合適的科技Wi-Fi開(kāi)發(fā)板

    您正在尋找適用于超低功耗物聯(lián)網(wǎng)應(yīng)用項(xiàng)目的Wi-Fi 開(kāi)發(fā)板嗎?本文介紹Silicon Labs(科技)推出的所有SiWx917 Wi-Fi 6和低功耗藍(lán)牙5.4解決方案的Wi-F
    的頭像 發(fā)表于 07-09 09:15 ?2694次閱讀

    使用MG24開(kāi)發(fā)板測(cè)試天線分集

    Silicon Labs(科技)的EFR32MG24MG24)多協(xié)議SoC支持IEEE 802.15.4協(xié)議下的天線分集功能,這是一種通過(guò)使用兩根天線來(lái)克服家庭環(huán)境中潛在射頻問(wèn)題
    的頭像 發(fā)表于 07-04 16:47 ?1657次閱讀
    使用<b class='flag-5'>MG24</b><b class='flag-5'>開(kāi)發(fā)板</b>測(cè)試天線分集

    科技亮相2025 Matter開(kāi)放日和開(kāi)發(fā)者大會(huì)

    2025年Matter開(kāi)放日(MOD)和開(kāi)發(fā)者大會(huì)(MDC)在上周6月12-13日?qǐng)A滿成功舉辦,Silicon Labs(科技)延續(xù)一直以來(lái)傾力支持
    的頭像 發(fā)表于 06-18 14:22 ?1233次閱讀

    下一代物聯(lián)網(wǎng):科技和Arduino借助邊緣AI和ML簡(jiǎn)化Matter設(shè)計(jì)和應(yīng)用

    Silicon Labs(科技)和Arduino宣布建立合作伙伴關(guān)系,旨在通過(guò)Arduino Nano Matter開(kāi)發(fā)板(基于
    的頭像 發(fā)表于 05-19 11:15 ?793次閱讀
    下一代物聯(lián)網(wǎng):<b class='flag-5'>芯</b><b class='flag-5'>科</b>科技和Arduino借助邊緣AI和ML簡(jiǎn)化<b class='flag-5'>Matter</b>設(shè)計(jì)和應(yīng)用