伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將經典射擊游戲移植到芯科科技MG24 Matter開發板

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

掃碼添加小助手

加入工程師交流群

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

為什么選擇毀滅公爵3D

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

可移動的墻壁和區域

與物體交互以及可破壞的環境

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

這些特性使它成為一個完美的參考設計,用來展示嵌入式性能和游戲體驗的完整性。

硬件限制與游戲特性

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

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

The Gamepad硬件規格:

無外部RAM(僅使用MGM240S內部的25kB)

外部閃存用于數據存儲(最高 64 MB)

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

立體聲音效

模擬搖桿和16個按鍵

代碼庫

我們選擇了Chocolate Duke Nukem 3D,它是Fabien Sanglard的xDuke移植版本的精簡和注釋版,并支持SDL。SDL支持讓我們可以在Windows上開發和優化,然后再移植到真實硬件。

我們針對內存和速度進行了大量優化,以適應256 kB RAM的限制。

內存優化

原始毀滅公爵3D需要8 MB RAM,遠超我們的硬件條件,因此必須進行深入優化。主要措施包括:

根據性能分析和代碼檢查,優化結構體字段大小

將關卡常量數據存儲到閃存,減少RAM 占用

創建分配器,僅存儲修改過的對象,未修改的對象直接從閃存讀取

將部分靜態全局數組移到棧上

重用大型全局緩沖區(例如在關卡加載時重用幀緩沖)

優化插值算法

游戲動畫渲染時,從外部閃存分塊復制到RAM,再進行渲染

腳本文件預編譯并作為常量數組存儲在代碼中

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

優化聲音引擎,減少冗余RAM 使用

將xDuke 的高級混響效果替換為原版Duke Nukem 3D 的簡單混響

速度優化

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

重寫部分繪圖例程。原始代碼是高度優化的x86 匯編,后來在xDuke 中通過自動工具轉換為C,導致代碼難以理解且性能下降。

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

基于802.15.4無線連接的多人模式

我們采用芯科科技的RAIL庫構建了一個輕量級協議:

異步節點發現:在初始階段,所有節點選擇一個隨機地址,并通過“問候”數據包進行廣播。一旦其他節點接收到這些數據包,網絡就形成了。

同步的類令牌環通信:當所有玩家都確認準備好比賽后,協議切換到同步模式。在此模式下,地址最小的節點被選為主節點。主節點每隔25毫秒啟動通信,第二個節點(地址次小)廣播其數據,然后第三個節點發送,最后第四個節點廣播自己的數據。協議支持自動重發丟失的數據包,以確保可靠性。

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

工具與腳本

我們使用了一個Python腳本來轉換GRP文件,使其滿足以下要求:

所有MIDI文件轉換為Type 0格式

VOC文件轉換為更易處理的 WAV 格式

GRP文件必須存儲在SD卡中。通過在開機時按下特定按鍵組合,文件會被復制到外部閃存。Atomic Edition需要2×32MB閃存芯片,而原始版本只需2×16MB芯片。

性能亮點

超頻情況下:30–50 fps

未超頻情況下:18–30 fps

由于引擎更簡單,DN3D 比Quake更快

結論

此移植展示了芯科科技MG24無線SoC的強大性能與靈活性:

在受限硬件上運行完整功能的經典復古第一人稱射擊游戲

支持多人模式、音樂、存檔/讀取以及控制臺功能

高效的內存管理與性能調優

我們希望這能激發開發者探索嵌入式平臺的更多可能性——無論是游戲、可穿戴設備,還是下一代物聯網

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    26

    文章

    6340

    瀏覽量

    119390
  • 芯科科技
    +關注

    關注

    1

    文章

    508

    瀏覽量

    17840
  • Matter
    +關注

    關注

    1

    文章

    337

    瀏覽量

    7178

原文標題:上手開發-將經典射擊游戲移植到MG24 Matter開發板

文章出處:【微信號:SiliconLabs,微信公眾號:Silicon Labs】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    科技攜手Waites公司打造基于傳感器的狀態監測解決方案

    Silicon Labs(科技)攜手Waites公司,基于MG24多協議 SoC打造支持人工智能和機器學習(AI/ML)且可適配不同工廠、設備類型與運行環境的預測性維護解決方案,為工業設備提供完善的基于傳感器的狀態監測(Co
    的頭像 發表于 03-09 15:30 ?277次閱讀

    迅為驅動開發實戰:iTOP-RK3568開發板eDP屏幕移植全攻略

    迅為驅動開發實戰:iTOP-RK3568開發板eDP屏幕移植全攻略
    的頭像 發表于 12-30 15:42 ?1046次閱讀
    迅為驅動<b class='flag-5'>開發</b>實戰:iTOP-RK3568<b class='flag-5'>開發板</b>eDP屏幕<b class='flag-5'>移植</b>全攻略

    RL78/G24 快速原型開發板使用指南

    RL78/G24 快速原型開發板使用指南 在當今的電子設計領域,快速原型開發板為工程師們提供了便捷的開發途徑。Renesas 的 RL78/G24
    的頭像 發表于 12-29 11:55 ?818次閱讀

    采用XIAO MG24開發板的手套動作控制電動滑板設計

    本篇應用文章來自于Silicon Labs(科技)在線技術社區,作者分享了運用XIAO MG24開發板來打造通過手套動作控制電動滑板(Electric Skateboard)的簡要
    的頭像 發表于 12-25 11:37 ?3663次閱讀
    采用XIAO <b class='flag-5'>MG24</b><b class='flag-5'>開發板</b>的手套動作控制電動滑板設計

    Hubble Network采用科技MG24無線SoC構建全球低功耗藍牙網絡

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

    請問如何蜂鳥E203移植Xilinx NEXYS A7 FPGA 開發板上?

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

    基于科技信道探測開發板的PC桌面鎖定示例

    本文的實際應用示例說明如何運用Silicon Labs(科技)EFR32xG24 SoC的信道探測(Channel Sounding)開發板
    的頭像 發表于 10-30 16:07 ?700次閱讀
    基于<b class='flag-5'>芯</b><b class='flag-5'>科</b>科技信道探測<b class='flag-5'>開發板</b>的PC桌面鎖定示例

    科技2025年Works With開發者大會深圳站Matter技術專場前瞻

    設置Matter技術專題培訓!來自科技的技術專家介紹Matter協議最新進展、關鍵特性、Matte
    的頭像 發表于 09-30 09:38 ?1037次閱讀

    如何移植rt-thread野火imx6ull開發板上?

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

    如何移植EtherCAT Igh--基于米爾RK3576開發板

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

    基于DE1-SOC開發板的太空射擊游戲

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

    如何選擇合適的科技Wi-Fi開發板

    您正在尋找適用于超低功耗物聯網應用項目的Wi-Fi 開發板嗎?本文介紹Silicon Labs(科技)推出的所有SiWx917 Wi-Fi 6和低功耗藍牙5.4解決方案的Wi-F
    的頭像 發表于 07-09 09:15 ?2797次閱讀

    使用MG24開發板測試天線分集

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

    科技亮相2025 Matter開放日和開發者大會

    2025年Matter開放日(MOD)和開發者大會(MDC)在上周6月12-13日圓滿成功舉辦,Silicon Labs(科技)延續一直以來傾力支持
    的頭像 發表于 06-18 14:22 ?1297次閱讀

    下一代物聯網:科技和Arduino借助邊緣AI和ML簡化Matter設計和應用

    Silicon Labs(科技)和Arduino宣布建立合作伙伴關系,旨在通過Arduino Nano Matter開發板(基于
    的頭像 發表于 05-19 11:15 ?890次閱讀
    下一代物聯網:<b class='flag-5'>芯</b><b class='flag-5'>科</b>科技和Arduino借助邊緣AI和ML簡化<b class='flag-5'>Matter</b>設計和應用