前幾天說最近在試著減糖
不過不太順利
雖然現在用咖啡豆加奶粉大約三四天是不錯
但糖並沒少多少
因為會轉向吃零食之類的
部份原因是快過年了
所以家裡有東西要幫忙吃
(其實還是很想喝伯朗咖啡一類的)
也不能說一無所獲
至少這一星期
沒有一天超過一瓶伯朗咖啡過
之前很想喝時
一天會兩瓶加一瓶大約290毫升貝納頌(塑膠瓶裝)這樣
以前有短時間體驗一下病人的生活
就早餐只吃桂格燕麥片
後來覺得很難熬就算了
其實我要是不喝咖啡的話
或者是咖啡直接買伯朗咖啡的話
早餐是不用很早吃的
可以拖到07:30~08:30之間
之所以會05:30左右吃早餐
就是要避免空腹喝咖啡
最近只有撥很少的時間在看範疇論
數學方面的範疇論
由於是跟Gemini學的
所以學到一半它是說
比較流行的入門方法
是用Haskell來學範疇論
那就順便研究下Haskell怎麼寫遊戲之類的
以前有用過函數式語言
但老實說以前用的函數式語言
我大多還沒學到I/O那塊
也就是沒辦法用鍵盤或滑鼠之類的操作這樣
因為函數式語言跟除去Prolog以外的常規編程語言
(函數式語言我也只接觸過Common Lisp跟Haskell
其中Haskell不太熟
跟著教學走我連要縮排都忘了
比較講究縮排的語言就印象中是Python之後的程式
因為以前接觸Haskell程式
還沒到需要用到縮排的部份)
決定性的不同就是副作用
有副作用的程式
就很難平行處理
因為副作用會讓程式變成兩部份
一部份是副作用影響前的
一部份是副作用影響後的
那I/O這動作本身就會導致副作用
所以一般函數式語言不太講I/O
大多是數學計算程式
然後參數傳自己要算的數值這樣使用
嗯
有Gemini輔助之後
實作過程蠻順利的
(但Gemin的資料來源
也就是傳統網站會越來越難收到廣告收入)
成果大概像這樣
載入3D座標跟渲染這樣
再其它常見程式語言
通常會選擇用三角形或三角錐來顯示
(哦,但以Gemini提供的Haskell 3D程式範例來說
這是個動畫
應該是座標選的位置不好或者是座標數量不夠
所以看起來不是很立體
不過它是 Vector 3沒錯)
目前僅是複製貼上確定程式能不能運作
所以細節還沒很仔細看
詳細對話跟程式如下
比較建議直接用Gemini問自己想問的
應該會比看別人問得來得順
因為用的是OpenGL
所以其實還沒感覺出來用函數式語言來寫有什麼好處
若有機會的話
看能不能順利滴用Haskell載入MMD模型
跟套用.vmd的動作吧
AI是說這個比較難跟參考資料比較少
一個程式語言或者說程式的生態系
就是看有沒有人造好許多現成常用的輪子
要是大多數的程式都沒人寫的話
就只能自己手寫
那自己手寫的風險就是自己很有可能不會寫
但函數式語言理論上來說
等學會的話應該是會比傳統程式語言好開發很多的
所以有機會的話想嘗試看看
不過以我最近大多在玩《弈仙牌》新增的淵谷秘境
因為這模式很適合刷靈石
雖然《弈仙牌》靈石也沒啥路用
跟忙著《星穹鐵道》的分身的狀況來看
應該是不太樂觀
可能比補上P-進數(P-adic number)的計算技巧
或磁閾解流實作更不樂觀
上次有過類似想法是想實作.jpg圖檔的檔案格式解析
那想實作.jpg的原因是
實作出.jpg的解碼之後
再實作出.avi、.mp4的檔案格式解碼會比較樂觀些
主要是影片檔多了音訊的部份跟I幀 B幀 P幀
我檔案格式成功過的只有.wav
但現在要我寫我大概也忘了
此外我是用javascript實作出來的
換成Haskell可能又要鼓搗好一段時間!!
那用Haskell開發遊戲有沒有優勢還不清楚
因為目前還沒學會
但現在有Gemini
應該是比以前好學很多
也許開發一些遊戲功能會相比傳統語言簡單很多
像傳統程式語言大多會把寫編譯器視為一大挑戰
但對於函數式語言來說
寫編譯器或者是一些拆解格式的東西
是非常好寫的
雖然函數式語言的編譯器本身也可以是用C語言寫出來的
總之可以搜尋一下原始碼比對一下
函數式語言開發遊戲
特別是3D遊戲的硬傷主要是在記憶體的部份
就判定哪些記憶體已經用不到了
(也就是俗稱或者說學術說法是
記憶體的垃圾收集(GC)的部份)
沒那麼及時
所以可能會導致遊戲幀率上不去
不過很多時候
優化可以找專家處理
而如果有方法能迅速滴產出雛形或遊戲Demo
還是有它的價值在的
(畢竟我也覺得我寫的遊戲應該沒什麼玩家會玩
所以主要的目的是確認市面上常見的遊戲類型
寫不寫得出來)
那這篇大致上就這樣
共0則留言
排序:由新到舊