上一篇我們解釋了MLGame 流程圖所用的符號,忘記符號意思或還沒看過的朋友,先來複習上一篇「~MLGame 流程圖所用符號複習時間~」吧! 【前傳】MLGam...
今天要來說佔了接下來將近一半天數的設計模式了,畢竟說到擴充性,沒有比設計模式更加廣為人知的詞彙,畢竟設計模式可說是物件導向實踐的重要範本。更何況設計模式是一個已...
上一篇我們講到「如何用程式寫遊戲給AI玩」,只要我們的遊戲是用MLGame框架所開發的就可以了!還沒看過的朋友,先來看看上一篇的「MLGame——遊戲AI競賽框...
在真正說到設計模式前,還是要稍微帶過物件導向的SOLID原則,不然只看前面的分法應該是無法理解接下來設計模式的寫法是為什麼要這樣做的。 SRP:單一職責原則...
好吧,在看到了前面那個可怕的Unit案例後,那所謂的鬆耦合架構又要怎麼實踐呢? 我這邊會將整個Unit的程式分成四個部分來思考,分別為資料層、視覺層、邏輯層跟組...
遊戲中把敵人打到戰鬥不能後,敵人不是會噴血、噴錢、噴道具嗎?那同學們知道這些噴出來的東西,在程式中是怎麼選擇降落的位置嗎?該不會以為是亂數隨便選一選的吧!其實小...
昨天介紹了一個絕對最佳路徑搜尋法,《戴克斯特拉演算法》,但缺點是效率低,不適合在繁忙的遊戲程式裏運作。於是我們今天要把昨天的演算法稍稍地改一點,變成超高效率的貪...
上一篇我們講到「如何用程式寫遊戲給AI玩」,只要把我們的遊戲放在PAIA上就可以了!還沒看過的朋友,先來看看上一篇的「PAIA——AI遊戲競賽平台介紹」吧! 初...
一講到遊戲中的路徑搜尋,通常 A* 這個字眼馬上就會浮起來,因為A*演算法就是目前開發遊戲最熱門的路徑搜尋方式。不過同學們先別鼓噪,我們一步一步來,先從路徑搜尋...
遊戲中總有某些音效需要循環播放,像是迴旋鏢在飛行時產生的咻咻聲,小火堆的辟啪聲,牛群經過時的咚咚聲。如果遊戲能確保聲音來源的數量,那可能沒什麼問題。但像是Min...
有製作過遊戲的朋友,肯定有過這樣的經驗,明明計算好這一關最高只可能得到300分,卻總是有人可以一下突破天際得到30000分。而這個情況不是只發生在網頁遊戲,電腦...
好吧,前面的文章打這麼多,那要怎麼知道你的程式碼到底是不是亂到不行。為了讓各位知道這點,我就拿出一部分還沒重構的程式碼給各位看看吧。 God Class 棋類遊...
不知道看這篇文章的人有沒有想過,一個遊戲引擎的程式碼是怎麼讓我們這些使用引擎的程式也能理解怎麼使用它們的引擎?更進階的話,他們是怎麼維持有一百萬以上的程式碼運作...
今天這篇文章如標題所言,就是要來說這個題目的,當然不需要說服的就直接等下一天就好了,不過我為什麼要特地打這篇,那是因為有不少人剛學程式時,其實不理解為什麼物件導...
閱讀提醒:在閱讀後面的文章前,你需要具備的能力,否則可能會看不懂或碰到障礙 知道部分C#語言的寫法 知道Unity的使用方式 看的懂基本的UML(如果我有時...
小哈多年前曾參與一個Adultswim上單車極速遊戲的製作,身為死神的主角,騎著單身,在看似優美實則險峻的跑道上飛馳,一邊在空中翻滾一邊對行人們揮動鐮刀。 V...
用滑鼠拖曳圖案的功能,在許多遊戲裏都能看得到,比如說拼圖遊戲、解謎遊戲、方塊遊戲,或是像暗黑破壞神(Diablo)裏的角色裝備介面,也需要用滑鼠拖曳鎧甲來進行裝...
在寫遊戲流程的時候,常常會遇到需要等待某件事情發生,接著再去做另一件事的情況。比如說城內守衛要巡邏,那是不是要先規畫好巡邏站一二三,然後先設定目標為第一站,逛逛...
在早期還是新手程式設計師的我,一直搞不懂事件驅動的程式風格到底有什麼好處,也因此走了一些冤枉路,更糟的是我繞了遠路還不自知。因此希望能藉今天這篇文章,讓同學們能...
不管你喜不喜歡沙盒遊戲,都無法否認我的世界(Minecraft)、泰拉瑞亞(Terraria)這些屹立了十多年仍然立於頂端的遊戲類型有多麼吸引玩家。 類似的沙盒...
前天提到亂數產生器,以一個看似單純卻聚集了數學精要的演算法自製亂數產生器。 昨天講了哈希雜湊,列舉了雜湊在遊戲裏能夠施展的各種能力。 那麼今天我們來試著讓MD5...
今天的標題可能會讓人很困惑,明明JavaScript就提供了Math.random(),現成的亂數產生器為什麼放著不用,要自己瞎搞一個出來? 九成以上的遊戲都藉...
昨天我們學會了怎麼用內積檢測角色圓與彈道的碰撞,用這個方法可以完整搜集一個飛得很快的物件和遊戲中一般物件的碰撞事件。不過在一些較為少見的情況下,遊戲也可能需要知...
射擊遊戲的程式需要一個很重要的功能-檢測彈道與角色是否發生碰撞的能力。有同學說,我把子彈用一個圓形圍起來,遊戲中的角色也用圓形圍起來,那麼只要檢查兩個圓形有沒有...
三角函數是遊戲程式設計師必定要鑽研的課題之一,除了在向量的運算中需要大量的三角函數之外,光是正弦(sine)與餘弦(cosine)這兩個數學式本身,就能帶給遊戲...
相信就算沒玩過射擊遊戲的同學,也多少看過別人玩Counter Strike或Call of Duty之類的遊戲吧。在類似的槍戰遊戲中都會出現射擊瞄準用的準星。一...
若說有一個隱藏在畫面背後,卻掌管著遊戲躍動的重要舵手,那指的就是遊戲的攝影機了。攝影機的操作和性能,除了直接連結了視覺效果,也可能影響角色的操縱性,甚至改變玩家...
一般在電腦中儲存顏色是使用3個byte的整數,比如16777215就代表了白色,不過這樣的表示方法很難看得出顏色的資訊,所以寫程式時通常會使用16進位的格式,比...
昨天我們講到靠近演算法,應用這個演算法,可以讓一個數值以一個速率持續接近目標值,套用在畫面上的元件,就能將原本死硬的畫面變成滑順的視覺效果。 那麼我們能用同樣的...
路邊撿來的偏方 在小哈剛開始接觸遊戲程式設計的時候,偶然看到了這一小段程式碼,在感佩之餘,小哈也在往後的日子將這個方法應用於各式遊戲的開發之中。 hpbar.w...