日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

好奇!仅 13kB 大小的游戏,源码长啥样?

發(fā)布時間:2025/1/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好奇!仅 13kB 大小的游戏,源码长啥样? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這個馬賽克風格的表情正好 13Kb,有人竟然能用一個表情大小的空間,制作個游戲出來。我就不信這么點的地兒,能寫出個花來?游戲能好玩嗎?因為這些游戲點開就能玩,我抱著試一試的心態(tài)把玩了一會。

事實證明是我的無知限制了我的想象力,這些 13kB 的游戲并沒有我想的那么簡陋和無聊。它們不僅有豐富的圖像,還有音樂、物理、重力系統(tǒng),包含射擊、益智、技巧等不同的類別玩法多樣,令我眼前一亮!

下面我就整理出了 3 個我覺得好玩的游戲,并附上了在線體驗的地址以及 GitHub 上的源碼。

大家先體驗一下游戲,后面我們再聊這些游戲都用到了哪些開源項目。

1、Space Huggers(太空保護者)

射擊類游戲,消滅所有敵人。通過外接手柄可進行多人游戲,最多支持 4 個人。不僅如此還有敵人和道具系統(tǒng)以及雨、雪、血、爆炸、武器、水等粒子系統(tǒng)。手機端操作需要外接手柄。

操作:

  • WASD 或方向鍵:移動、跳躍和攀爬
  • Z 或左鍵單擊:射擊,大多數(shù)東西會破裂,有些會燃燒
  • X 或中鍵:滾動,短暫的無敵狀態(tài),還可滅火
  • C 或右鍵單擊:手榴彈,每條命有 3 個
  • 還可最多連接 4 個進行合作游戲!

敵人類型:

  • 新兵(綠色):遲鈍,只需要 1 擊
  • 士兵(藍色):正常的速度,需要 2 次攻擊
  • 船長(紅色):可以更頻繁地爬墻和跳躍,需要 3 次攻擊
  • 專家(白色):經(jīng)常跳躍和滾動,需要 4 次攻擊
  • 爆破專家(紫色):投擲手榴彈且不會著火,需要 5 次命中

試玩:https://js13kgames.com/games/space-huggers/index.html

源碼:https://github.com/KilledByAPixel/SpaceHuggers

2、Black Hole Square(黑洞廣場)

益智類游戲,把所有塊清除則過關。

  • 操作:向左劃開始游戲,點擊塊會向箭頭方向移動,塊進入“黑洞”則被清除
  • 支持移動端

試玩:https://js13kgames.com/games/black-hole-square/index.html

源碼:https://github.com/Quinten/black-hole-square

3、PACKABUNCHAS

益智類游戲,用提供的形狀拼出指定的形狀,

  • 操作:點擊旋轉(zhuǎn),拖動圖形
  • 支持移動端

試玩:https://js13kgames.com/games/packabunchas/index.html

源碼:https://github.com/MattiaFortunati/packabunchas

Js13kGames 是什么

以上這些游戲都是 2021 Js13kGames 的參賽作品,這個比賽每年舉辦一次,要求參賽者在為期 30 天的時間里用 JavaScript 做出一款體積小于 13kB 的 HTML5 游戲。

30 天用 JS 做個游戲并不難,難點在于如何讓游戲小于 13kB。壓縮游戲體積可以從以下四個方面入手:

  • 游戲引擎
  • 壓縮代碼
  • 圖像和聲音

下面介紹的這些開源項目,在 Js13kGames 很多參賽作品中都能看到它們的身影。

Ga(游戲引擎)

一個輕量級、極小(6.5kB)、容易上手的 JavaScript 游戲引擎,可用于制作 HTML5 游戲或任何 2D 動作游戲。

https://github.com/kittykatattack/ga

Kontra(游戲引擎)

專注于小體積的 JavaScript 微型游戲引擎,它雖然小但是提供了游戲常用的操控、事件、循環(huán)等核心功能。

https://github.com/straker/kontra

壓縮代碼

壓縮代碼通常是減少空格和換行之類的無用內(nèi)容,從而達到減少代碼所占體積的目的。

Google Closure Compiler:https://github.com/google/closure-compiler

MiniMinifier:https://github.com/xem/miniMinifier

Piskel(圖像)

簡單易用的在線像素圖像制作工具。

https://github.com/piskelapp/piskel

miniMusic(聲音)

可以把音效轉(zhuǎn)化成 JavaScript 的項目,通過這種方式能夠有效地減小聲音的“體積”,還支持在線可視化的操作方式編輯和生成音效。

https://github.com/xem/miniMusic


看到這里你是不是也蠢蠢欲動地準備寫個小游戲了呢?

最后

隨著科技的發(fā)展,存儲空間已經(jīng)不再“捉襟見肘”,我們在編碼時也不用再“斤斤計較”。但如今看到有這么一群極客,在絞盡腦汁用 13kB 完成一個游戲時。我從最初的好奇和難以置信,再到看到他們的游戲和源碼后感嘆他們高超的編程技巧,最后開始反思自己在編碼時對性能和損耗方面思考的太少。感謝這些開源項目讓我大開眼界,也讓我發(fā)現(xiàn)了自己的不足之處。

本期推薦的開源項目代碼量不多,適合新手學習和上手游戲編程,感興趣的讀者可以試著用它們寫個小游戲。

以上就是本文的全部內(nèi)容,如果你對本期推薦的開源項目感興趣歡迎點贊、轉(zhuǎn)發(fā),讓這些優(yōu)秀的開源被更多人發(fā)現(xiàn)和喜歡。這里是 HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。歡迎留言和我分享開源項目~

總結(jié)

以上是生活随笔為你收集整理的好奇!仅 13kB 大小的游戏,源码长啥样?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。