巴哈姆特

首頁 哈啦區 電視遊樂器綜合討論區

【情報】「13KB」容量能做出什麼遊戲?一堆神人參加的遊戲開發比賽

追蹤話題

【情報】「13KB」容量能做出什麼遊戲?一堆神人參加的遊戲開發比賽

綜合討論
jacket6719 (jacket6719) 2019-10-04 07:48:47
#1
原文出處

也許你已經意識到了,隨著儲存和圖形技術的發展,遊戲、電影等數位文件的體積在變得越來越大。

最新的 3A 遊戲動輒需要佔用幾十GB的硬碟空間,最近有消息傳出,《最後生還者二部曲》的內容太多以至於需要兩張藍光光碟才能裝下。

我們日常的儲存單位也逐漸從 MB 和 GB 發展到了 TB。





1KB 的數據對於現代人來說和4元新臺幣差不多,基本已經失去了實用價值。

然而有些人卻偏偏不這麼認為,外國就有一個名叫 JS13kGames 的 HTML5 遊戲開發比賽,參加這個比賽有一個硬性的條件,那就是遊戲大小不能超過 13KB。






參賽遊戲必須是離線遊玩,不可以使用外部儲存空間和伺服器,遊戲所用到的文件都需要算在 13KB 的限制中。

13KB有多小?舉個例子,本文的 word 檔案大小是 5.26 MB,足足比它大 400 多倍。

而在這樣的限制下開發一款遊戲,對於開發者來說是一個巨大的挑戰,但同時也是樂趣所在。

如果讓你想像一款只有 13KB 大小的遊戲是什麼樣,你可能會覺得是《Pong》《俄羅斯方塊》那種極其簡單的感覺。但看過 JS13kGames 上面的作品後,你一定會大吃一驚。

即使在這樣嚴苛的規則下,依然有很多製作者作出了相應不錯的作品,而且種類繁多、各不相同。


比如《Exo》是一款太空題材的塔防遊戲,玩家通過建造衛星、砲塔等設施來保護星球。

遊戲中生產、建築功能,一應俱全,甚至還有完整、可交互的教學。

在星球的不同軌道採集資源、同時建造防禦設施,新建造的設施會跟著星球一起自轉和公轉,鏡頭可以縮進看到每個設施的細節,也能拉遠俯視整個星系。

這樣的細節讓你很難相信這是一個只有 13KB 的遊戲,感覺完全可以成為一款正常發行的作品。



《Re-wire》則是一款很有創意的解謎遊戲。

採用的是很經典的連接電路的解謎設定,但增加了一些新的創意。

玩家需要牽扯電線繞過全部的節點,最終到達終點才算獲勝,同時電線不能夠相互交叉。遊戲中還有鋸子和絕緣體等障礙讓玩法更加的豐富。

遊戲畫面簡單但並不廉價,而繞線的感覺也相當的紮實。



《The Chroma Incident》看起來就像是低像素版的《挺進地牢》。

這是一款雙搖桿俯視角射擊遊戲,和《挺進地牢》不同,玩家並不是揀拾不同的槍械,而是觸動場景中的機關讓地板變色,站在不同顏色的地板上就會發出不同子彈。

有趣的是,有時候兩種特定的顏色交叉時還會混成新的顏色。

除了新奇的玩法外,遊戲的手感、音效、音樂、特效,都做得很棒,甚至還支援手把。有一位評審點評說,這是很多有著 100M 容量的遊戲都達不到的水平。



還有人居然用 13KB 做出了一個完整的即時戰略遊戲,在《Voidcall》裡包含了 RTS 遊戲的主要功能,玩家可以控制單位採集資源和建造建築,搭配兵種、編隊戰鬥,而且人物和場景均是 3D 建模的。

作者說 13K 比賽對於 RTS 尤其困難,因為要實現遊戲基本的功能和指令就需要不少的程式碼,因此他只能想辦法縮減一些功能,比如玩家不能指定攻擊某個單位,系統會自動選擇距離最近的單位進行攻擊。

但即使如此,最終的作品依然是可以接受的,如果考慮它的大小只有 13K,甚至可以用驚艷來形容。




以上這些遊戲還只是冰山一角,從 2012 年開辦以來,每年都有上百個作品參加 13K 比賽,有趣、大膽的遊戲比比皆是。




比賽的組織者 Andrzej Mazur 本身也是個遊戲開發者,他認為這是一項相當有意義的比賽。

“制約往往能夠激發人的創意,因為遊戲大小的限制,你不能什麼都做,必須仔細地思考和佈局。

因為有截止日期,意味著你必須那此之前完成工作,學會如何管理一個項目。”

JS13kGames 很好的展示了開發者的潛力和可能性。13KB 的大小限制,去掉了圖像的包裹,省略了內容的堆疊,剩下的是純粹的創意。

看較舊的 255 則留言

津垓: B18 2019-10-04 11:03

我覺得在意用語的人,被害妄想症都很嚴重。你覺得美國人看英國人寫的文章會這麼在意2國之間某些用詞不同嗎。

雲晨: B138 2019-10-04 18:31

只用13KB就可以讓人吵架

jacket6719: B13 2019-10-04 10:24 編輯

[crusader0258:大老仙] 了解...我下次注意點....感謝你的指導,謝謝....我有把 ( 支持 ) 改成 ( 支援 ) 了

■: B265 2019-10-10 21:41

https://cdn.discordapp.com/attachments/431416241048256515/631826231200972800/unknown.png

■: B266 2019-10-10 21:42 編輯

EXO我最後只能打到這樣... 後面每秒一波... FPS下降到各位數...

UlyssesRic (ric) 2019-10-04 16:24:06
#2
> 雖然沒寫過js,但看了下之前用java寫的垃圾聊天軟體也超過20mb,真的不知道13kb是怎麼做得

很有趣的競賽,13K 也非常考驗程式設計師對於程式語言的理解程度和編寫有效率代碼的功力。不過 Javascript 主程式檔「大小」和編譯語言如 C++ / Java 相比,不是很公平。

Javascript 是一種直譯式腳本語言,他需要有另外一隻主程式在執行,讀取 .js 原始碼,進行即時組譯後,再依照腳本內容執行。這個執行環境我們稱為「runtime」,而 runtime 是可以外加函示庫加以擴充。舉例來說,3D 成像可以引用 three.js 這個外掛函示庫,然後你在程式裡面用

import * as THREE from '../build/three.module.js';
var loader = new THREE.TextureLoader();
var normal = loader.load( 'models/3ds/portalgun/textures/normal.jpg' );
var loader = new TDSLoader( );
loader.setResourcePath( 'models/3ds/portalgun/textures/' );
loader.load( 'models/3ds/portalgun/portalgun.3ds', function ( object ) { scene.add( object );} );
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
container.appendChild( renderer.domElement );

就這樣幾行程式還不到 1k,就可以讀取一個 .3ds 模型檔同時套用 .jpeg 的貼圖材質。而一個預先編譯好的程式,不管是 C++(.exe)還是 Java(.zip),你最後編譯出來的東西都會包含主程式、動態函示庫這些。而 .js 主程式就不包含這些東西。

用一般遊戲玩家比較容易理解的方式來說,一個 .js 程式就像 Skyrim 或 GTA 的「外掛 mod」。他必須要有 Skyrim / GTA 主程式才能執行。你在 mod 裡面不需要太多行程式就可以建構一個新的村落、放置 NPC、自訂任務之類。而這些 mod 檔的大小當然不能和 Skyrim 主程式相比。

P.S. 上面講的 three.js 範例網頁在這裡,有興趣的可以看看:https://threejs.org/examples

看較舊的 2 則留言

橘之介: B3 2019-10-04 17:46

但允許用 zip 壓縮就是,所以大約可到 30kb 左右

阿承: B4 2019-10-04 20:00

最常用的jquery.min.js就8xkb了 真厲害

月: B5 2019-10-05 11:56

請問要到哪裡網址,很想玩「Re-wire」

WOW: B6 2019-10-06 12:42

不能拿jar來看吧 binary應該不算

火之鳥 (frien) 2019-10-04 21:56:13
#3
舉個較無關的例子,別噴我~~~
我覺得,還是古早的遊戲厲害,只能是紮紮實實的血汗
不過,現代遊戲的基礎不同,功能更好,程式能調用的功能跟資源更多

像是紅白機的超級瑪利歐,40KB大小(未壓縮),用16Kx2+8K ROM卡帶,可以玩幾小時,
巴哈新聞隨便一張圖片,都可以比這個遊戲容量大N倍。
光是下面這張圖片大小,就已經是一個超級瑪利歐的遊戲容量了,可見當時的遊戲開發有多艱難。

大型電玩的小精靈,16KB大小(未壓縮),總和4Kx4 ROMs,2K RAM,38年前一台要4萬台幣。

下面是小精靈PAC MAN的基板,實際很大一塊。

舉例遊戲都是由{組合語言}編譯出來的,當時主機晶片「們」提供的機能極為單純,幾乎所有的「功能」都是工程師血汗寫出來的,在2KB的RAM裡運用,沒有可調用的軟體,放在基板上昂貴的硬體中。

現在玩慣3D遊戲的人,很難想像,現在3A PC遊戲,建議16GB RAM,
卻是838萬台紅白機RAM的總和。

看較舊的 5 則留言

火之鳥: B6 2019-10-05 23:12

舉例遊戲都是由{組合語言}編譯出來的,當時主機晶片「們」提供的機能極為單純,幾乎所有的「功能」都是工程師血汗寫出來的,在2KB的RAM裡運用,沒有可調用的軟體,放在昂貴的硬體中。

Unknow: B7 2019-10-06 22:08

[frien:火之鳥]這邊的寫死在硬體是指"專用電路",以SFC為例,由於處理器算力不足,所以旋轉、縮放、反向、合成、卷軸等功能是由繪圖晶片提供的(成為指令集的一部份),

Unknow: B8 2019-10-06 22:09

代價就是效果陽春且限制多;現在處理器算力充足到過剩,自然被使用彈性跟擴充性都遠勝於繪圖晶片的軟體繪圖引擎取代

火之鳥: B9 2019-10-06 23:53 編輯

[askarei:Unknow]你的古早(SFC)跟我提出的古早(FC),或許有時代的不同吧!?光兩者使用的ROM定址就差了128倍,RAM就差了64倍,我舉例的遊戲,幾乎沒有可用資源的,你覺得自己說法OK,我沒有意見。

小小權哥: B10 2023-11-12 15:05

以前靠紅白機的運算,可以送太空人上月球,真是黑科技

全能通 (reg79621) 2019-10-05 00:38:34
#4
這個主題我想到敖廠長近期提到的太空遊俠。512kb的太空開放沙盒遊戲,擁有極高的完整度。
雖說在當年(1989)512kb是很大的遊戲就是了
街頭上的藝術: B1 2019-10-05 04:06

謝分享~

小順 (uuhp222kimo) 2019-10-06 15:10:11
#5
13KB我覺得容量太小了,紅白機遊戲最少都有24KB。有沒有其他容量限制的比賽?
我認為要作好遊戲,以現在主流是1080P畫質。最少要13G會比較好。


異世界的勇者: B1 2019-10-06 23:49

以前電腦dos時代,我曾有玩過1kb遊戲~~~讚為觀止,實在想不到到底是怎麼寫程式,有辦法用1kb表現出這種遊戲效果。

異世界的勇者: B2 2019-10-06 23:57 編輯

會限13kb,其實就是在比寫程式的能力~~~

安安道: B4 2019-10-07 10:54 編輯

現在硬體好,都不用什麼優化,隨便想塞就塞,程式碼寫的沒效率也沒差。

安安道: B5 2019-10-07 10:55 編輯

想想以前的硬體,隨便塞一下就爆了。 以前遊戲設程師真的很硬阿。 現在不是本科的,都能用遊戲引擎寫遊戲了

延伸閱讀

問題為什麼瘋狂大射擊這遊戲在超任及街機畫面表現看起來差不多,可是遊戲容量卻差很多?

2022-01-24 19:52:41

心得(懷舊開箱)PS2-55000型 百式金限定同捆

2015-02-11 22:34:42

心得遊戲玩家的台灣品牌電視優先選擇「

2024-04-05 15:39:47

討論為何PS5跟XBOX這兩者的遊戲,遊戲容量幾乎是Switch遊戲的十倍?

2020-12-15 11:04:34

情報XGP和EPIC對獨立遊戲的資助已大幅下降

2024-03-30 02:40:23

情報數位部獨立遊戲開發獎勵計畫,盼提高本土作品能見度

2024-01-17 11:33:25

心得沉默之丘:短訊-鼻屎大的動機,汪

2024-02-04 23:01:45

古色古香的歐式建築

看更多

【情報】戰鬥道具、轉蛋券、貓薄荷/獸石、城堡素材、貓眼石、喵力達、本能珠珠無課金獲取方式

貓咪大戰爭(にゃんこ大戦争)

【心得】分享我的歌德式城堡~~(1/30更新 在6樓)

幻獸帕魯

【心得】原神 4.5活動 茸茸城堡大喵險 主線劇情 + 對話彩蛋收集 (中配)

原神

電梯
開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】