前往
大廳
主題

12/14,一些閒聊─電腦對局學會

李兒諳 | 2024-12-14 16:10:51 | 巴幣 6 | 人氣 166

電腦對局學會主要是在
(對局、賽局之類的,在英文裡也叫game
只是game若翻作遊戲的話
範圍太大所以會特別用的詞來限縮範圍)

研究人工智慧怎麼進行遊戲
通常是特別指 棋類或牌類的遊戲
有些對局可能大多接觸過
像 Othello(黑白棋,似乎也有人稱為夾棋)
但有些棋一開始就是用來進行人工智慧相關的研究
所以是比較冷門的

像我今天才得知的 愛因斯坦棋

電腦對局學會在臺灣的話就是 TCGA(於17:03修正)

國際也有個組織
是在辦國際競賽的
那是叫 ICGA
I自然是國際 International

不過地域性不同
研究的方向也不太一樣
像ICGA以前是研究西洋棋出身的
那臺灣就比較重視麻將
(哦,對,差點忘了,還有圍棋
不過為了人工智慧對奕競賽簡潔
似乎比的項目是9*9大小棋盤的圍棋
至少2023年時比的是9*9大小的圍棋)

其實還有別的學術單位也有在研究這類遊戲
但由於它們研究的內容比較廣泛些
所以名字不太一樣
像 TAAI 臺灣人工智慧學會

我今天以前是不知道這些資訊的
我只知道 以前的臺灣遊戲公司
光譜資訊 的創辦人好像是虞先生?
(不記得名字,其實性別也不確定,瞎猜的
傳統重男輕女
加上大多數企業的領導人都是男生
此外男生會比較介意自己被誤認為女生
所以就猜先生了
但其實也是有些風險
像 《魔喚精靈》的 Falcom
《魔喚精靈》在臺灣的代理商也正好是光譜資訊啦
老闆好像就是女的
不過光譜資訊也不是只代言、製作比較棋牌類的遊戲
像《秋之回憶》印象中也是光譜資訊代理的
雖然我沒體驗過那款就是了
還有《美少女夢工廠》
不過查了下美少女夢工廠只有5是光譜資訊代理的
我玩過的三代是精訊資訊代理的樣子)

總之
聽說光譜資訊創辦者
就是Othello棋類人工智慧對奕競賽出身的
但那時還沒聽說過TCGA這樣的單位
可能因為媒體覺得不用把細節講得太詳細
又或者是可能參與的競賽不是TCGA辦的
(例如早期還沒個正式組織來主導這類競賽這樣)

那為什麼會突然想到查相關資料呢?
因為其實有些遊戲也是很適合程式設計新手寫的
像是 麻將 !!
(以程式來說新手推薦寫麻將 或 99之類的撲克牌遊戲
但以遊戲來說的話
我是推薦寫俄羅斯方塊
因為俄羅斯方塊遊玩手感很難調
也可能是單純我不知道怎麼調
特別是俄羅斯方塊觸底時,不能直接固定,要留些左右調整的時間那段
然後俄羅斯方塊還有那種關卡型的俄羅斯方塊
有時可以投機取巧寫的常規型俄羅斯方塊程式碼
不能在原封不動的情況下,改成關卡型的俄羅斯方塊

如果你是寫麻將的話,比較能做遊戲方面調整的
可能就像 《東方幻想麻雀》那樣
東風谷早苗 拿到 東風牌 的機率比較高這樣了

跟遊戲比較相關的操作可能是
麻將發牌的視覺效果
由左而右一張一張怎麼做這樣的感覺
感覺也會是有些需要思考跟多次調整的)

不過麻將寫的話,連線可能比較沒問題
(雖然如果是用網頁形式的話 WebSocket多人同時在線可能會有問題
但WebSocket理論上16人以內連線應該是不至於出問題
只是這也是我還沒嘗試過的領域就是了
只能說理論上不出問題的
指的可能是對寫網頁的高手來說不會有問題
至於過往沒寫過網路相關程式的人
可能就不太好說了)

但麻將若是玩家打AI
要自己寫麻將AI的話
就會是個問題

雖然在網路上也可以查到
有一些人工智慧對奕麻將的模型
(唔,我簡略搜尋了下
電腦對局學會或者不知道哪些學術單位
好像有意推廣一些AI的論文
所以理論上應該是看得到的
雖然我只有看摘要的部份
還沒看全文能不能正常觀看)

簡化到極點就是
電腦AI假如只會摸什麼牌就打什麼牌
之後才再做些AI的延伸變化的

嗯,以前也沒寫過麻將AI
雖然也沒有寫過那種市場或便利商店
兩種組合搭配優惠撞在一起時
哪個優先的情形

所以未來也是可以考慮
最後附帶一提
PTT上也有人想出資開發麻將遊戲
大致上是直到開發完成前
月薪6萬的程度(不過可能只有工程師)


但勸退的人似乎主要針對的是
一般麻將遊戲都會涉及賭錢之類的真金白銀
因此麻煩的是在伺服器的漏洞怎麼偵測
不然可能會賠不完或者是有法律相關問題
會需要雇專人
幾乎是24小時跟駭客鬥這樣
所以最後幾篇留言
有人說他當時做麻將程式時自己給工程師的出價是月薪4倍以上
(那大概就是月薪24萬台幣以上吧)

底下有人貼FB新聞
(但我連不過去,可能FB太久沒登入被登出
不過看網址應該是 瑞克梅添涼 的 歷史文章吧)
看說法好像宇峻奧汀曾經投資麻將類遊戲
開發就用了新台幣到幾億的級別的樣子
(咦,宇峻奧汀有這麼有錢過嗎?)
那成效如何不清楚
因為我沒注意過
市面上的麻將遊戲是哪個遊戲公司開發或者說經營的

那這篇大致上就這樣
嗯,結果這次星期六放假
還是有些荒廢了一整天的感覺
是時常有種想做遊戲的躁動
(又或者說是在想   如果是撲克牌仿RPG
那假如攻擊牌是五張牌,五張牌以哪個牌為主時
可以追加另外1~4張觸發追加效果這樣的設計
又或者是這回合出的戰鬥牌
對手能選擇一張下回合做些什麼事情
不過好不好玩就取決於觸發的追加效果
又或者是對手選擇保留我方這次戰鬥出的哪張牌會有什麼加成
這樣的細節完全沒頭緒這樣)
但實際上今天到目前為止還沒著手

我在克服了基本電腦遊戲操作相關程式後
覺得自己不太適合做遊戲
就是在於不擅長構思這類細節
也不太喜歡調整遊戲運作時的一些視覺效果
(像最近的Unlight Revive
它視窗大小預設不能調整,調整之後也沒有對resize事件的設計
其實關於resize事件
以前在寫Windows視窗程式
或者講更具體的 Win32 API程式
也是要對resize事件手動寫程式碼
才能達到玩家對於遊戲視窗大小可調整時
心中所預想的目標

那以前在寫Win32 API resize事件時加的程式碼
其實就類似
這一段
function adjustScale() {
      const iframe = document.getElementById("frame_game");
      const scaleX = window.innerWidth / 760;
      const scaleY = window.innerHeight / 680;
      let scale = Math.min(scaleX, scaleY); // 取最小縮放比例,確保整個內容可見
      iframe.style.transform = `scale(${scale})`;
    }

差別主要是在於Win32 API複製點陣圖的方式是透過 bitblt()來解決
就類似HTML5網頁的 canvas元素裡面的 drawImage()函數
所以沒有CSS語法 scale那樣的功能
不過大致上就是,把圖片拉長或縮小成
跟視窗放大或縮小的比例這樣

其實一般來說,視窗大小調整跟圖片大小的程式本身是很簡單的
但若網頁開發者不提供
一般的原因是因為,提供了後,原圖的大小假如就只有760*680這樣
那不管程式再怎麼改,放大到1920*1680時
大概都會有點陣圖的鋸齒狀問題

此外Unlight Revie
透過CSS語法是可以調整縮放
但是它沒辦法還原到
以前Facebook時,很大顆的骰子呈現在頁面上的感覺
這就是為何我那篇寫說
內嵌的網頁或者說是iframe元素
我們怎麼樣都是改不到它的
然後在CSS縮放解決方法出來之後
我到現在還是沒刪掉那段話的原因
因為有些事情就幾乎只適合由遊戲發行方來做)

剛才講到
我在克服了基本電腦遊戲操作相關程式後
覺得自己不太適合做遊戲
就是在於不擅長構思這類細節
也不太喜歡調整遊戲運作時的一些視覺效果
此外若想做新遊戲
若想不抄襲
對於新遊戲的畫面長怎樣
腦袋也想不太出具體的畫面
(類似知乎,有些說法是戲稱
遊戲程式設計師 通常只需問 遊戲策劃這次又想抄哪款遊戲
自己再去找那款遊戲來抄這樣就好)

嗯,那這篇就此正式結束
哦,有關我偶爾想到或發現的新名詞
若發巴哈文章的話
現在大致上都歸類在《遊戲設計師─被設計好的五年》這資料夾底下
避免以後哪天想到自己好像說過什麼
但又不記得哪篇的關鍵詞時
要自己往回翻很多歷史文章又找不到的情形這樣

創作回應

追蹤 創作集

作者相關創作

更多創作