整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          好奇!僅 13kB 大小的游戲,源碼長啥樣?

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

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

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

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

          1、Space Huggers(太空保護者)

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

          操作:

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

          敵人類型:

          • 新兵(綠色):遲鈍,只需要 1 擊
          • 士兵(藍色):正常的速度,需要 2 次攻擊
          • 船長(紅色):可以更頻繁地爬墻和跳躍,需要 3 次攻擊
          • 專家(白色):經常跳躍和滾動,需要 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

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

          • 操作:點擊旋轉,拖動圖形
          • 支持移動端

          試玩: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 微型游戲引擎,它雖然小但是提供了游戲常用的操控、事件、循環等核心功能。

          https://github.com/straker/kontra

          壓縮代碼

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

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

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

          Piskel(圖像)

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

          https://github.com/piskelapp/piskel

          miniMusic(聲音)

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

          https://github.com/xem/miniMusic


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

          最后

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

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

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

          - END -

          ello!這里是W3Cschool編程獅的小獅妹。

          游戲開發一直以來都是編程領域中備受關注的一個重要方向。想象一下,在虛擬的游戲世界里,你可以成為超級英雄、探險家,創造自己的獨特宇宙。游戲世界無限廣闊,而成為一名游戲開發者就像是成為了這個神奇世界的創造者之一。


          不過,對于編程的初學者和從業者來說,選擇適合自己的編程語言可能是一項挑戰。市場上有很多種編程語言,每一種都有自己的優缺點,那么你應該如何選擇適合游戲開發的編程語言呢?


          其實,這沒有一個絕對的答案,因為不同的游戲平臺和類型可能需要不同的編程語言。但是,小獅妹可以根據一些常見的游戲平臺,給大家一些參考的建議。


          游戲平臺決定編程語言的選擇

          首先要考慮的是游戲將在哪個平臺上運行。一般來說,游戲平臺可以分為以下三類:


          PC端或主機端

          如果你想開發PC端或主機端的游戲,那么你最好學習C#或C++這兩種編程語言。這是因為:


          • C#和C++都是高性能的編程語言,可以充分利用硬件資源,提高游戲的運行速度和畫面質量。


          • C#和C++都支持面向對象的編程范式,可以讓你更好地組織和管理游戲的代碼結構,提高代碼的可讀性和可維護性。


          • C#和C++都有很多成熟的游戲引擎和庫,可以讓你快速地開發出各種類型和風格的游戲。例如,Unity、Unreal Engine、Cocos2d-x等。


          • C#和C++都有很多參考資料和社區支持,可以讓你在遇到問題時找到解決方案。


          移動端Android平臺

          如果你想開發移動端Android平臺的游戲,那么你最好學習Java這種編程語言。這是因為:


          • Java是Android平臺的官方開發語言,可以直接使用Android SDK進行游戲開發,無需額外安裝其他工具或環境。


          • Java是一種跨平臺的編程語言,可以讓你的游戲在不同的設備上運行,無需修改代碼或重新編譯。


          • Java是一種易學易用的編程語言,它有著簡潔明了的語法和豐富的內置類庫,可以讓你快速地掌握基本的編程概念和技巧。


          • Java也有很多優秀的游戲引擎和庫,可以讓你輕松地開發出精彩的游戲。例如,LibGDX、AndEngine、Corona SDK等。


          移動端IOS平臺

          如果你想開發移動端IOS平臺的游戲,那么你最好學習Objective-C這種編程語言。這是因為:


          • Objective-C是IOS平臺的原生開發語言,可以直接使用Xcode進行游戲開發,享受蘋果公司提供的優質服務和資源。


          • Objective-C是一種基于C語言擴展的編程語言,它兼容C語言的所有特性,并增加了面向對象和動態特性,可以讓你更靈活地設計和實現游戲功能。


          • Objective-C也有很多專業的游戲引擎和庫,可以讓你打造出高品質的游戲。例如,SpriteKit、Cocos2d-iphone、Unity等。


          額外的編程語言

          除了上述主要語言之外,游戲開發人員可能還需要學習其他編程語言,以勝任各種工作任務。


          例如:


          • Lua:一種輕量級的腳本語言,可以用來編寫游戲的邏輯和交互,或者作為游戲引擎的擴展語言。它有著簡單的語法和高效的性能,可以讓你快速地實現游戲功能。很多游戲引擎都支持Lua語言,例如,Cocos2d-x、Corona SDK、Love2D等。


          • JavaScript:一種廣泛應用于網頁開發的腳本語言,可以用來開發基于HTML5的網頁游戲,或者作為游戲引擎的擴展語言。它有著靈活的語法和強大的功能,可以讓你創建出豐富多彩的游戲效果。很多游戲引擎都支持JavaScript語言,例如,Phaser、Pixi.js、Three.js等。


          • HTML5:一種用于描述網頁結構和內容的標記語言,可以用來開發跨平臺的網頁游戲,或者作為游戲引擎的基礎技術。它有著簡潔明了的標簽和屬性,可以讓你方便地布局和顯示游戲元素。很多游戲引擎都基于HTML5技術,例如,Phaser、Pixi.js、Egret Engine等。


          • Python:一種優雅易讀的編程語言,可以用來開發各種類型的應用程序,包括游戲。它有著豐富的內置類庫和第三方模塊,可以讓你輕松地實現各種功能。它也有一些專門用于游戲開發的庫,例如,Pygame、Pyglet、Panda3D等。


          編程語言的選擇

          編程語言的選擇取決于你的目標和水平,你需要根據自己的情況來做出合理的決定。一般來說,編程語言的選擇可以分為以下兩種情況:


          • 如果你是一個初學者,想要通過學習盡可能少的編程語言來從事游戲開發,那么我建議你選擇C++和Java。這兩種編程語言都是非常通用和強大的編程語言,可以涵蓋大部分的游戲開發需求,而且學習資源也很豐富。你可以通過學習C++來開發PC端或主機端的游戲,也可以通過學習Java來開發移動端Android平臺的游戲。而且,這兩種編程語言都跟Objective-C比較相似,都是在C語言基礎上發展來的,所以你學習C++之后可以在短時間內掌握Objective-C,從而也可以開發移動端IOS平臺的游戲。


          • 如果你是一個從業者,想要提高自己的技能和水平,那么我建議你學習多種編程語言,并根據不同的任務和需求來選擇合適的編程語言。因為游戲開發是一個需要不斷學習和更新的領域,因為游戲技術和市場都在快速變化,所以你需要掌握多種編程語言和工具,以及適應不同的游戲風格和類型。你可以通過學習Lua、JavaScript、HTML5、Python等編程語言來增加自己的靈活性和創造性,也可以通過學習C#、Objective-C等編程語言來增加自己的專業性和效率。


          結語

          總之,游戲開發需要用到不同的編程語言,而且沒有一種編程語言是萬能的。選擇適合自己情況和職業發展的編程語言對于游戲開發至關重要。你需要根據自己的目標和水平來選擇合適的編程語言,只有這樣,你才能做出好玩的游戲。

          最近上班無聊時有事沒事喜歡下幾把象棋,當然前提是我項目都做得很好了,空閑時間才娛樂下,大家不要學我喲,玩了幾把才知道,自己有好多年沒練過了,游戲中的高手還是挺多的,畢竟這年代,還能在網上安靜的下象棋的也只有老粉絲了,今天這個中國象棋的案例,大家可以自己練習下。

          這里還是要推薦下我自己建的前端學習群:204436223,不說其他的,能進我群的沒兩把刷子怎么可以呢是吧,當然小白我也非常歡迎,都是從零開始的嘛,多虛心問問題就行了,不定期分享干貨。想學到東西的都可以來,歡迎初學和進階中的小伙伴。

          效果圖如下:

          javascript代碼如下:

          文檔版代碼請看文章第二條建議

          文檔版代碼請看文章第二條建議

          文檔版代碼請看文章第二條建議

          有很多人或許會說,我javascript都學完了,但是自己做案例還是不會,這就和數學公式一樣,公式你都能倒背如流了,但是呢?你知道什么時候可以用到題里去嗎?你知道這個題要用哪個公式嗎?今天一位伙伴還對我說了這個問題,我反問,你有自己的項目嗎?‘沒有’。。。。

          案例 到現在就寫完了,當然你如果沒有做過類似案例的做起這個來還是很麻煩的,自己要記住思路一定不要亂,也不要完全復制我的代碼,看了一邊代碼,自己徒手能寫出來才是王道。

          最后給大家幾個建議。

          1. 剛學javascript的話千萬不要急著看一些復雜的javascript網頁特效的代碼,這樣只會打擊你的信心和學習的興趣

          2. 網上看到的什么十天精通javascript的,笑一下就行!

          3. 這個案例就算做完了,想要完整代碼自己練習的小伙伴進我的群自助領取,我已經上傳到群文件里了,群號:204436223,歡迎學習交流的小伙伴過來一起學習交流。

          如果想看到更加系統的文章和學習方法經驗可以關注我的微信公眾號:‘web前端課程’關注后回復‘給我資料’可以領取一套完整的學習視頻


          主站蜘蛛池模板: 亚洲AV日韩综合一区尤物| 亚洲美女高清一区二区三区| 国产一区二区三区高清在线观看| 国模无码一区二区三区不卡| 亚洲另类无码一区二区三区| 国产精品一区二区三区99| 国产99视频精品一区| 人妻少妇精品一区二区三区| 精品无码一区二区三区爱欲| 精品一区二区三区四区在线| 亚洲码欧美码一区二区三区| 久久se精品一区二区| 一区二区三区在线播放视频| 中文字幕无线码一区2020青青| 久久99热狠狠色精品一区| 夜夜爽一区二区三区精品| 3d动漫精品啪啪一区二区中| 尤物精品视频一区二区三区| 亚州日本乱码一区二区三区| 大香伊蕉日本一区二区| 无码人妻一区二区三区一| 亚洲AV无码一区东京热| 亚洲一区二区视频在线观看| 国产一区在线播放| 国产精品揄拍一区二区| 日韩内射美女人妻一区二区三区| 中文字幕乱码一区二区免费 | 亚洲福利秒拍一区二区| 国产一区二区精品尤物| 国产精品男男视频一区二区三区| 国产嫖妓一区二区三区无码| 亚洲AV无码一区二区乱子仑| 国内精品一区二区三区东京| 无码精品国产一区二区三区免费| 本免费AV无码专区一区| 亚洲福利视频一区二区| 国产主播一区二区三区在线观看| 亚洲一区二区三区成人网站 | 国产一区二区三精品久久久无广告| 成人免费视频一区二区三区| 亚洲av成人一区二区三区在线播放|