iT邦幫忙

遊戲開發相關文章
共有 151 則文章
鐵人賽 Modern Web DAY 26

技術 Trick 25: 路徑搜尋的鼻祖-戴克斯特拉

一講到遊戲中的路徑搜尋,通常 A* 這個字眼馬上就會浮起來,因為A*演算法就是目前開發遊戲最熱門的路徑搜尋方式。不過同學們先別鼓噪,我們一步一步來,先從路徑搜尋...

鐵人賽 Modern Web DAY 25

技術 Trick 24: 重覆播放的環境音同時有三百個會怎樣

遊戲中總有某些音效需要循環播放,像是迴旋鏢在飛行時產生的咻咻聲,小火堆的辟啪聲,牛群經過時的咚咚聲。如果遊戲能確保聲音來源的數量,那可能沒什麼問題。但像是Min...

鐵人賽 Modern Web DAY 23

技術 Trick 22: 遊戲的正義由數字保安來維護

有製作過遊戲的朋友,肯定有過這樣的經驗,明明計算好這一關最高只可能得到300分,卻總是有人可以一下突破天際得到30000分。而這個情況不是只發生在網頁遊戲,電腦...

鐵人賽 Software Development DAY 4

技術 Day 4:緊耦合架構

好吧,前面的文章打這麼多,那要怎麼知道你的程式碼到底是不是亂到不行。為了讓各位知道這點,我就拿出一部分還沒重構的程式碼給各位看看吧。 God Class 棋類遊...

鐵人賽 Software Development DAY 3

技術 Day 3:何謂Clean Code?

不知道看這篇文章的人有沒有想過,一個遊戲引擎的程式碼是怎麼讓我們這些使用引擎的程式也能理解怎麼使用它們的引擎?更進階的話,他們是怎麼維持有一百萬以上的程式碼運作...

鐵人賽 Software Development DAY 2

技術 Day 2:為什麼要關心Unity裡的程式品質?

今天這篇文章如標題所言,就是要來說這個題目的,當然不需要說服的就直接等下一天就好了,不過我為什麼要特地打這篇,那是因為有不少人剛學程式時,其實不理解為什麼物件導...

鐵人賽 Software Development DAY 1

技術 Day 1:前言與大綱

閱讀提醒:在閱讀後面的文章前,你需要具備的能力,否則可能會看不懂或碰到障礙 知道部分C#語言的寫法 知道Unity的使用方式 看的懂基本的UML(如果我有時...

鐵人賽 Modern Web DAY 22

技術 Trick 21: 如何畫出貝茲那曼妙的曲線

小哈多年前曾參與一個Adultswim上單車極速遊戲的製作,身為死神的主角,騎著單身,在看似優美實則險峻的跑道上飛馳,一邊在空中翻滾一邊對行人們揮動鐮刀。 V...

鐵人賽 Modern Web DAY 21

技術 Trick 20: 把鎧甲拉到身上裝備的拖曳控制器

用滑鼠拖曳圖案的功能,在許多遊戲裏都能看得到,比如說拼圖遊戲、解謎遊戲、方塊遊戲,或是像暗黑破壞神(Diablo)裏的角色裝備介面,也需要用滑鼠拖曳鎧甲來進行裝...

鐵人賽 Modern Web DAY 19

技術 Trick 18: 收下我的承諾,遲早給你個交待-I Promise

在寫遊戲流程的時候,常常會遇到需要等待某件事情發生,接著再去做另一件事的情況。比如說城內守衛要巡邏,那是不是要先規畫好巡邏站一二三,然後先設定目標為第一站,逛逛...

鐵人賽 Modern Web DAY 20

技術 Trick 19: 事件驅動的程式設計

在早期還是新手程式設計師的我,一直搞不懂事件驅動的程式風格到底有什麼好處,也因此走了一些冤枉路,更糟的是我繞了遠路還不自知。因此希望能藉今天這篇文章,讓同學們能...

鐵人賽 Modern Web DAY 18

技術 Trick 17: 綿延不絕的隨機地形是咋做出來的?

不管你喜不喜歡沙盒遊戲,都無法否認我的世界(Minecraft)、泰拉瑞亞(Terraria)這些屹立了十多年仍然立於頂端的遊戲類型有多麼吸引玩家。 類似的沙盒...

鐵人賽 Modern Web DAY 17

技術 Trick 16: 用MD5亂數產生器當個造物主

前天提到亂數產生器,以一個看似單純卻聚集了數學精要的演算法自製亂數產生器。 昨天講了哈希雜湊,列舉了雜湊在遊戲裏能夠施展的各種能力。 那麼今天我們來試著讓MD5...

鐵人賽 Modern Web DAY 15

技術 Trick 14: 為什麼要寫自己的亂數產生器

今天的標題可能會讓人很困惑,明明JavaScript就提供了Math.random(),現成的亂數產生器為什麼放著不用,要自己瞎搞一個出來? 九成以上的遊戲都藉...

鐵人賽 Modern Web DAY 13

技術 Trick 12: 直男與硬漢的交點-兩條線段的碰撞問題

昨天我們學會了怎麼用內積檢測角色圓與彈道的碰撞,用這個方法可以完整搜集一個飛得很快的物件和遊戲中一般物件的碰撞事件。不過在一些較為少見的情況下,遊戲也可能需要知...

鐵人賽 Modern Web DAY 12

技術 Trick 11: 站在彈道上的女孩-圓與線的碰撞問題

射擊遊戲的程式需要一個很重要的功能-檢測彈道與角色是否發生碰撞的能力。有同學說,我把子彈用一個圓形圍起來,遊戲中的角色也用圓形圍起來,那麼只要檢查兩個圓形有沒有...

鐵人賽 Modern Web DAY 10

技術 Trick 9: 活塞運動的嘆息:sin與cos

三角函數是遊戲程式設計師必定要鑽研的課題之一,除了在向量的運算中需要大量的三角函數之外,光是正弦(sine)與餘弦(cosine)這兩個數學式本身,就能帶給遊戲...

鐵人賽 Modern Web DAY 9

技術 Trick 8: 狙擊槍的彈著點是在哈囉?

相信就算沒玩過射擊遊戲的同學,也多少看過別人玩Counter Strike或Call of Duty之類的遊戲吧。在類似的槍戰遊戲中都會出現射擊瞄準用的準星。一...

鐵人賽 Modern Web DAY 8

技術 Trick 7: 追著主角跑的攝影機大哥

若說有一個隱藏在畫面背後,卻掌管著遊戲躍動的重要舵手,那指的就是遊戲的攝影機了。攝影機的操作和性能,除了直接連結了視覺效果,也可能影響角色的操縱性,甚至改變玩家...

鐵人賽 Modern Web DAY 7

技術 Trick 6: 顏色的靠近演算法

一般在電腦中儲存顏色是使用3個byte的整數,比如16777215就代表了白色,不過這樣的表示方法很難看得出顏色的資訊,所以寫程式時通常會使用16進位的格式,比...

鐵人賽 Modern Web DAY 6

技術 Trick 5: 旋轉角度的靠近演算法

昨天我們講到靠近演算法,應用這個演算法,可以讓一個數值以一個速率持續接近目標值,套用在畫面上的元件,就能將原本死硬的畫面變成滑順的視覺效果。 那麼我們能用同樣的...

鐵人賽 Modern Web DAY 5

技術 Trick 4: 你可以再靠近一點…演算法

路邊撿來的偏方 在小哈剛開始接觸遊戲程式設計的時候,偶然看到了這一小段程式碼,在感佩之餘,小哈也在往後的日子將這個方法應用於各式遊戲的開發之中。 hpbar.w...

鐵人賽 Software Development DAY 1
用程式寫遊戲給AI玩 系列 第 1

技術 初次見面,你好 ;)

初次見面,你好,從第一次接觸程式以來,即將邁入第16個月,不知道在看這系列文章的你,是初學者嗎?如果是的話,希望我們像朋友一樣,我陪你一起寫個遊戲專案,你陪我過...

鐵人賽 Modern Web DAY 4

技術 Trick 3: 火焰傷害的頻率管理

身為冒險者的你,如果不小心闖入遊戲中的森林火海因而引火上身,那麼就會持續受到燒傷的傷害。不過另人好奇的是,即使受到四面八方無數的火焰轟擊,被燒傷的人物仍然只固定...

鐵人賽 Modern Web DAY 3

技術 Trick 2: 迷你四輪車演算法

自幼時玩過迷魂車之後,心中就埋下了一個製作開車遊戲的夢想。不過長大後開始寫遊戲,卻一直沒花時間想通這個四輪車前輪轉後輪不轉的運動軌跡,到底要如何不藉助物理引擎的...

鐵人賽 Modern Web DAY 2

技術 Trick 1: 萬惡的摸彩箱

萬惡的抽卡遊戲 玩過手機上的抽卡遊戲嗎? 就是店家的桌上放著一疊蓋起來的角色卡片,每花十元可以抽一張卡,但是抽到的總是那幾張老卡,最可愛的那個角色開了幾十百來張...

鐵人賽 Modern Web DAY 1

技術 Trick 0: 什麼都不會怎麼寫遊戲?

要挑戰什麼? 在正式開始挑戰30個遊戲演算法的第一天,小哈想先和同學們同步一下接下來的30篇會看到什麼、挑戰什麼、學到什麼。 小哈是個半路出家的遊戲程式設計師,...

技術 可視化編程遊戲引擎

可視化編程遊戲引擎 可視化編程是指可以把程式代碼視覺化不需要寫程式代碼就可以編寫程式邏輯,降低了一般初學者對於學習代碼的入門恐懼這隻影片由淺入深介紹了3款不需...

鐵人賽 自我挑戰組 DAY 30
初見Unity Shader 系列 第 30

技術 心得,完結灑花

Unity Shader 今天是鐵人賽的最後一天,本來想說繼續寫點東西,畢竟Shader,應該說「電腦圖學」本來就是一個大坑,還有很東西可以深挖,我也清楚很多對...

鐵人賽 自我挑戰組 DAY 29
初見Unity Shader 系列 第 29

技術 Bloom效果,又或是高光效果

文章內使用Unity 2019 LTS 目標 Bloom效果 Bloom 以下這張圖片也是一個常見的螢幕後製特效,Bloom,中文翻作高光。 fro...