Latest Entries

【Top】初次見面

【這是置頂文章】

本部落格的文章,
是以M.U.G.E.N.這個2DFTG創作引擎的人物改變為主。
平常主要是設計正常向角色人物演出、技能特效和背景故事等等,
偶爾會參雜著微量的凶惡向相關研究探討的內容。

未來的目標是規劃自製RPG遊戲,
並且由自己擔任點繪作曲與程式撰寫等等工作。
為了達到這樣的水準而不斷的努力奮鬥著。

繼續閲讀

【逝】與回憶一同的擊破挑戰 & 【人造神茱麗葉】雛形 & 雜談

最近天氣開始變熱了
也因此蚊子開始多了起來,到了傍晚晚上就得要天蚊交戰,
好險有買了一大綑蚊香,應該是不會被叮死能繼續製作人物才對。

※逝
幾天前偶然在人物裡看到了過去研究ParentID變更的簡陋日誌
這才想到自己似乎幾年前
把小逝的ParentID變更只寫了了一半就一直放置了的樣子
然後就花了大約一個晚上把它完成了。
這應該算是第一個自己實作出可以真正對對手進行變數干涉的ParentID變更結構了
之前單純是很想把persistant的規律給搞清楚
所以一直沒執著在真的能使用這點上
確實也有遇到一些沒有預料到的麻煩問題。

首先是親變更的實行過程中呼叫Parent相關的Redirect會有問題的樣子
再來是似乎最好是進去ParentID變更迴圈前就先計算好
各個迴圈各自要循環的次數。
因為自己最一開始親手設計的版本是:
先檢查是否為一般ParentID變更的可變範圍
然後在ParentID變更過程中自行判斷是否要繼續
然而這種作法卻讓我遇到了相當多無法解釋的麻煩
就和之前提過的
在替小逝的寶珠加上凍結時
同樣也發現在move=A的時候同時有Hitpausetime的情況下
因為一些謎之原因、
如果出現數量過多的SelfState之類的會出現類似
即便是Trigger=1的無條件Selfstate卻仍然不會執行
同時也因為沒有跳轉,
而執行到後方的DisplayToClipBoard之類我用來檢查的東西
而VarSet似乎也會有這樣的問題,非常奇怪。

總之,這些是題外話
經過參考和微量的修改之後
順便稍微試了一下實戰。

sei (12P) v.s. TheLostDestiny (12P).
sei_vs_the_lost_destiny_challenge.jpg
專用對策。好像可以汎用不過自己有點懶惰了。
具體流程是開幕混線展開完成瞬間
當F就立刻對目標進行專用親變更變數操弄(實際上是Gametime貫通)
同時以邪眼來攔取對方(要一次做完)
成功攔取到進行專用變數操弄後,一到R2就結束了。

這個流程主要需要專用的原因
是因為關鍵Helper只有剛召喚出來1F的時間可以進行混線干涉
只要錯過就會進入沒辦法被混線帶入的Stateno裡
同時也因為時間太短沒辦法進行Gametime貫通計算
還有全部由本體召喚的Helper都需要邪眼才有辦法攔取
(即便用的是相當常用的StateNo但需要邪眼是事實)
這些部分就全部果斷的專用了。

不過理論上在考慮邪眼的情況下是可以汎用的但是有難度。
本體召喚出的Helper可以用親變更Gametime貫通後邪眼キラー獲取到
再來就是同時對本體變數干涉和關鍵Helper(親變更)變數干涉。
在大眾的認知下這似乎算是汎用、
不過我個人覺得流程中任何地方需要邪眼キラー就是某種程度的專用了。
同時用這個流程能否擊破完全取決於進行盲目變數干涉的運氣。
對我而言這說是汎用我覺得有點牽強,畢竟這並非經過評估計算後才擊破的。

不過
難得看到panda氏做出帶有混線這種進階凶惡技巧的角色
而且還是這麼久以前的事情。

看到這孩子嘗試用混線帶小逝的Helper有點出乎我的意料。

會想到使用這個微妙的孩子當驗收的對象,
一部分是巧合、另一部分算是回顧以前對這類人物的狂熱感覺吧。
只是今天用不一樣的方式。

挑戰她給我的感覺
就像是藏在她身體裡的謎題被自己解開一般
非常色情舒坦。
專用對策式的挑戰就是要找可愛的人物才有趣。
像是徒步尋訪對方留下來的小山路那種感覺。
雖然最終而言因為是專用而顯得沒甚麼意義、
不過這個過程卻十足有趣,
而尤其對手又是小可愛的時候更是如此。

想到現在親手做著比這些還要柔和美麗的女兒們
心中盡是一股難以言喻的溫暖感覺。

※人造神茱麗葉 雛形
前段時間開始著手的神奈備命的改變。
大概看起來是這個樣子。
Artificial_Godliness_Juliette_20170508_1.jpg
整體風格有參考某位節奏遊戲中的角色,
不知道照自己這樣設計下去會有怎麼樣的演出呢?
目前幾乎甚麼都還沒有,
只有簡單的小特效看起來略顯寒酸。

Artificial_Godliness_Juliette_20170508_2.jpg
不過經過自己日後的一番捉弄(?)之後,
希望會變得像是天使一樣美美的。

※雜談
想改變的人物實在太多了...。
長森、真白、靈烏都很可愛因此都在隊列裡面了
不過總覺得小逝朵慕跟瑪莉都還沒搞定
就繼續做新角色好像有點過分
真白跟靈烏可能可以忍耐放著一下......
.......可是長森太可愛了啊...(直球)
超可愛。
會拉大提琴的長髮小學生、好想摸她...。

說起來之前訂的書送到了
一本是繪圖有關的
另一本則是音樂的基礎樂理。
哎呀哎呀哎呀...
為了能讓內心的一部分更像長森
優雅的音樂和相關的知識果然是必須的。

(其實會買這兩本書和她沒甚麼關係)

【近況】生存報告

超級久沒有更新部落格了。
一方面是因為有做甚麼進度都是發在部落格上
另一方面是因為之前幾個月心態有些調適不過來
過著相當糜爛頹廢的生活。
說穿了就是自己能力不足、懶惰還有逃避心態作祟了吧。
大概提提這段時間做了些甚麼吧

※MUGEN
主要的進度都是在愛諾仙特上
這似乎愛諾仙特製作這麼久以來
第二次在部落格記錄下製作進度的樣子

愛諾仙特有不少部分的攻擊
繼承了EFZ觀鈴原本的攻擊方式
不過也有一些被自己抽換掉的
這次大概提幾個最近有所進度的技能吧

首先是214A‧B‧C三個技能
A和B是普通的上鉤拳
C則是命中之後會有兩下額外追擊的特殊技
這個技能的A和B之後會找時間
增加一點點用於欺騙對手用的東西

再來是421A和B

是在地板上召喚會快速往前或往後掃過的闇紅地刺
421C則是瞬間刺出兩波全地面的地刺

然後是214214C的超必殺
製作途中意外發現特效很合所以就提前做好了

同樣是反擊型的技能,不過反擊的範圍變成了全畫面
hit數和傷害都是浮動的、而傷害與hit數成正比。

這次的幾張貼圖和之前朵慕的技能一樣
雖然靜態的看起來還好
不過動態的看起來的視覺體驗很不錯
畢竟自己花了不少心神在這上面呢。

其他還有微調了一點白翼神的穢翼神演出的實作方式
不過因為沒有太大的改動就不多描述了。

※Blender
這段時間自己開始認真的學習起了3D建模,

這是自己熟悉工具過程中所做出的粗糙四足生物。
在撰寫這篇文章的現在
正在學習著建立骨架那類的方法。

老實說有些部分和MUGEN有點相似
那就是這些工具其實本身不難
很多時候製作過程所使用的
都是固定的幾項工具
然而要把這些工具用得好
卻需要相當倚靠操作者的概念與經驗判斷。
雖然經歷一連串大小不一的打擊
讓自己的信心蕩然無存
不過自己還是別想這麼多
持續的練習、
實踐才會真正對自己有所幫助。

【夢幻的規則】SuperPause與Pause


老實說這篇文章有點不太想發啊...
因為才剛發完白翼神製作日誌100則的紀念文章
這麼快就要被這篇刷下去真的滿討厭的啊...

最近看到某些文章
真的覺得台灣關於凶惡領域需要有人來認真的寫點甚麼
雖然自己很清楚自己的部落格沒甚麼人看
花了快六個鐘頭撰寫和編輯這篇文章根本只是浪費時間
但總覺得這是自己作為可能是台灣極少數研究過凶惡的製作者
應該做的一些事

由於自己也有一段不短的時間沒有寫類似的東西了,
有可能會有寫錯的地方。
如果有人經過自己的嘗試之後獲得和我不一樣的結果
可以留言在底下和我分享。
如果是文章中有訛誤或是不完善的地方
我會立即更正、
如果留言後發現是自己不小心搞錯了也沒甚麼關係,
透過閱讀我的文章能讓一些想了解的人
發現些甚麼、學到些甚麼,
或者透過這些文章讓我能遇到
能讓自己知識更上一層樓的人
未嘗是件壞事?

如果有著一些相當基本的知識
看完這篇文章除了"會寫"日文俗稱時止無視跟時止解除的東西之外
還會很清楚"知道為什麼"自己要這樣寫。

對於某些有興趣更深入了解的人
這篇文章或多或少會有所幫助。

※SuperPause與Pause是甚麼

SuperPause與Pause是MUGEN提供的兩種特殊"暫停"方式。
暫停在MUGEN中主要的用途
是用於人物使用超必殺技時整體畫面停頓,
強化技能施放時的停頓視覺效果等等。
尤其在Pause期間搭配特效、
作為強調技能施放氣勢來說是相當好用的效果。

由於被成功暫停住的單位也會暫停該單位的State程式碼執行
因此有些人對這兩種Pause動了歪腦筋,
用作凶惡用途來暫時停止對方的某些代碼執行。

因為這一篇主要要講的並非一般作為演出強化的用途
而是作為凶惡相關的一種干涉手段,
因此接下來的內容
只會針對這類特殊用途所可能遇到的情況進行說明。

如果只是作為一般用途的人
看到這邊我建議可以開始自己動手試試
或者是去看MUGEN的Sctrl文件(點我)
我的部落格右下角有連結
雖然版本是1.1的不過大多數的東西都是一樣的
那裏寫得非常非常的清楚。

對於想更進階了解的人
首先要知道MUGEN內部本身是個大黑箱、
因此想試著了解實際內部系統處理的情況
在沒有MUGEN引擎原始碼的情況下,
我們只能透過歸納結論、
來推測最有可能的執行順序和流程。

而本文對於較為深入的部分
便是以現階段所蒐集的資料和實驗結果
所得出最有可能的結論。

※SuperPause與Pause的運作

首先在MUGEN中的每個單位(意思是不管是玩家本身還是Helper都一樣)
都擁有SuperMoveTime和PauseMoveTime這兩個變數
這兩個變數的值分別代表
這個單位能在SuperPause和Pause中的效果行動多少Frame(後面以F來簡稱Frame)
一般在movetime大於零的情況下、
受到對應pause效果就會如同甚麼事都沒有發生一樣的無視。
而每在Pause效果中無視1F暫停效果,對應的movetime就會減少1。
而MoveTime為零的單位就會被凍結住。


而每個單位決定"是否被凍結"的這個狀態有個Flag、
在MUGEN中有特別分配一個記憶體位置來保存它
WinMUGENの十徳ナイフ作者在工具中把這個Flag命名為"isFrozen"
在這裡也沿用這個名字。
每個單位在執行自己的程式的前1F如果isFrozen = 1
這個單位在這1F會被凍結、並且不會執行自身的State內容
如果前1F的isFrozen為零則正常的繼續State相關的運作。
(至於為何是前1F而非當F,後面的補充會提到我下此結論的理由)

而實際上我們也可以透過改對手的這個值、
在不干涉MoveTime的前提下強制凍結對手,
不過因為這部分會使用到隔離相關的手段,
而這部分也非本文章探討的重點,在這裡先不多著墨。

這裡為了節省版面,單舉Pause為例子。(SuperPause也是相似的)

首先,我們先不管場上其他對手,
在這裡先單觀察一個單位Pause與Movetime間的互動是甚麼樣子。

比如說小逝的某個攻擊時的Pause如果寫成這樣:
[State DreamLuz, Sei, Pause]
type = Pause
trigger1 = !time
time = 531
movetime = 31

當這個Statel觸發時
PauseTime就是531、小逝的PauseMoveTime就是31

經過1F PauseTime = 530、逝的MoveTime = 30 isFrozen = 0
(可以行動)

經過2F PauseTime = 529、逝的MoveTime = 29 isFrozen = 0
(可以行動)

經過3F PauseTime = 528、逝的MoveTime = 28 isFrozen = 0
(可以行動)
...
...
經過30F PauseTime = 501、逝的MoveTime = 1 isFrozen = 0
(可以行動)

經過31F PauseTime = 500、逝的MoveTime = 0 isFrozen = 1
(此F仍然可以行動、不過因為MoveTime為零,所以檢查完會改動isFrozen,設為1)

經過32F PauseTime = 499、逝的MoveTime = 0 isFrozen = 1
(被凍結而無法行動)

Pause、MoveTime和角色是否被凍結住的關係就如同上面那樣。

而整個MUGEN系統中的PauseTime是公用的
這意味著四個Player或眾多Helper中有任何單位使用Pause時
全部的單位都會受到Pause的影響而進行類似上列行動與否的判斷
其中MoveTime為零的單位就會在下1F被凍結住。


※SuperPause與Pause效果的無視與解除

從前面的例子我們可以發現
一般情況下只要對應的movetime能大於零
這個單位便可以無視暫停效果自由的行動
因此最簡單的方法便是如此
假設我在小逝的某個State寫下了這個:
[State DreamLuz, Sei, Pause]
type = Pause
trigger1 = !time
time = 531520
movetime = 531520

很明顯的現在我們可以在暫停效果下自由行動了
不過這個狀態下
我們也把對手和所有在場上的其他單位也全部暫停住了
然而許多時候我們並不希望這樣。

於是可能有些聰明人會想說、
"這樣不就好了嗎":
[State DreamLuz, Sei, Pause]
type = Pause
trigger1 = !time
time = 0
movetime = 531520
然而很遺憾的是當這個State觸發時
我們會發現左上角出現類似Set illegal movetime的警告訊息
並且很驚訝的發現小逝執行完後仍然可以被別人的Pause給凍結。

這是因為Pause系列Sctrl在設計上不允許設定比PauseTime還大的MoveTime。
Pause系列的Sctrl在這種數值不正確的情況下
會把MoveTime以預設值0代入來執行。

而很不巧的、本體又沒辦法像Helper一樣
可以很方便的在召喚的時候就賦予SuperMoveTime和PauseMoveTime
那麼,這樣子如果我們還是想在不凍結對手的情況下
賦予本體一個超大值的MoveTime時
我們該怎麼做呢?

還記得前面提到過所有單位的PauseTime是共用的這個特性嗎?
這點其實也意味著我們可以利用較晚執行的Helper
來覆蓋掉先前單位所施放的Pause效果。

因此利用這個特性,我們可以透過這樣
巧妙的讓自己在非Pause狀態中仍然保有MoveTime :

【小逝本體】
;本體進行Pause的同時賦予自己高額的movetime
[State DreamLuz, Sei, Pause]
type = Pause
trigger1 = !time
time = 531520
movetime = 531520

;呼叫一個Helper覆蓋掉上面所賦予的PasueTime
[State DreamIllumination, Helper]
type = Helper
trigger1 = !time
stateno = 531
supermovetime = 2
pausemovetime = 2

【小逝的Helper】
[Statedef 531]

;把PauseTime覆蓋成零
[State Dream Illumination, Pause]
type = Pause
trigger1 = 1
time = 0
movetime = 0
;當下自我消滅
[State Dream Illumination, DestroySelf]
type = DestroySelf
trigger1 = 1


這樣子,小逝就在完全沒有凍結對手的情況下
成功讓自己擁有PauseMoveTime來抵抗對手施放的Pause了
而SuperPause也同樣可以透過這個手段
來進行相對應的MoveTime賦予。

不過要注意的是MoveTime會在進入movetype = H的State時自動歸零
這部分沒有甚麼特別的理由,MUGEN引擎內部運作就是這樣設計的。
所以成功獲得MoveTime以後要當心不要進入Move = H的State了。




※補充:
這部分算是自己更進一步的補充資料。
實際上一般的使用情況不需要在意以下的內容。

前面所提到的"改變isFrozen的檢查"時機點
並不是每個單位執行自身程式後分別執行
而更像是全部單位全部執行完各單位的State之後
再從P1開始一次進行isFrozen檢查並且進行賦值
比較像是 P1State內容→P2State內容 ..... 全部做完後才進行isFrozenSet這樣。

理由是進行前面使用的1F內的時止賦予+時止解除的改動時
並不會讓夾在過程中的P2或者是其他Helper出現isFrozen的變動
而之所以是State執行"之後"而不是"之前"
理由是因為當F的Pause當F就能改動isFrozen的值

至於"isFrozen影響當F的State是否執行"的具體判斷影響點
一直讓我內心抱持疑問
首先、用隔離手段進行isFrozen賦值
似乎會讓被干涉單位"使isFrozen根據movetime與pausetime關係做變動"的機制失效?
雖然當F進行isFrozen竄改的時候
對手當F仍然可以執行State內容這點
代表判斷點有可能是在State執行完了之後
因此使得isFrozen凍結State執行的影響無法在當F出現。

但總覺得......
沒有決定性的證據?

除此之外,
isFrozen在十德上被影響的時機點
和被干涉對手的程式凍結的時機點並不一致
目標的程式會先被暫停之後一小段時間十德上顯示的isFrozen才會變動
而且被干涉目標的Anim此時也還會流暢播放
(雖然對手目標State執行運作早就被凍結了)
直到isFrozen顯示的值改變才會真正連同動畫一起被凍結。
這也意味著除了isFrozen外還有可能有其他Flag也會影響Pause的機制運行。
(當然也很有可能我修改到的根本不是isFrozen而是其他會牽動到他的東西)
這部分之後其實已經開始需要一些
更精巧修改記憶體內數值才能驗證的部分了,
而這部分並不是我特別感興趣想碰的東西,

而且實際上這部分對於內部執行順序的研究
理應以記憶體分析軟體去分析該位址的真實數值
或者是對MUGEN程式片段進行反向工程
同時也不該這麼倚靠類似十德
這種他人客製化的工具產出結果來做為判斷依據
然而因為沒有這麼多興趣跟時間深入調查研究
對於isFrozen這個Flag、
根據目前所能獲得的結果
暫時下了因為執行順序關係使得效果會延遲1F生效的合理假設,
如果有人有興趣而且有空閒時間,
這部分確實是個可以研究的有趣方向。

【白翼神】冰薔薇 & 第100則日誌紀念


哇...上一次大規模著手設計妳的技能好像是兩年多前的事情了
感覺這兩年自己各方面變了不少、不過各方面也都沒甚麼變(?)
前段時間還在櫃子裡找到了當時設計妳的另一本筆記本、
發覺到上面各種無法直視的黑歷史的同時
也感覺時間過得真的好快。
第100篇白翼神製作日誌,
雖然黑歷史占了非常大一部分,
不過這些都是自己過去的足跡。

偶然間發現家中的網路上傳影片到Youtube的速度比想像中的還要快(大概15KB/s)
於是把進度拍成長度十秒內的短影片了。

這次給妳的禮物是之前早就說好要送給妳的愛爾琳的魔法之一
【白翼神】冰薔薇:


耗時約兩個晚上完成的,比預想的還要快不少。

而參考的魔法便是Mabinogi中的Ice Spear:
MabiIceSpear_001.jpg
小狐狸真不好意思,每次都是揍妳。

順便把之前小逝的火球也紀錄下來了:

原作中的截圖之前已經貼過了就不補貼了。

而愛爾琳的三種魔法中的最後一種 雷擊 、
預計也是在小逝的身上實裝。
不知道會做出甚麼樣的東西呢?

而做為第100則記事的紀念
把妳過去的六翼神之頌也記錄下來了:


這個技能有微量重製過
時間點大概是做完小逝的月讀華碎的那陣子左右
把小逝的月讀效果嘗試性的作為背景帶進白翼神的技能裡。


※雜言:
啊...
看到妳可愛的樣子、還有漂亮的魔法
說真的就很開心了。
不過
如果能讓妳可以保持這樣的美麗跟可愛
在3D的世界中出現呢?
最近開始接觸起Blender,
一部分的衝動來自之前偶然接觸到的3DCM2
另一部分則是前段時間發現了一款動作遊戲
是由一個人獨立開發的3D動作遊戲
裡面有著水銀燈、蒼星石、翠星石等等薔薇少女的角色可以選擇
模組製作得相當相當精緻
同時薔薇少女算是自己開始喜歡小蘿蘿的啟蒙作品
相輔相成之下的效果不言而喻
雖然因為不明原因使得作者後來沒有繼續開發這款遊戲
讓這個作品停留在雛形半成品的狀態塵封至今
但感到遺憾的同時,
卻也再次的燃起了自己想親手做出可愛孩子的欲望。
"我也想要自己做個可愛的水銀燈啊啊啊啊"

Appendix

自我介紹

Dream Fairy

Author:Dream Fairy
一位喜歡設計演出、
曾為心愛的人物改圖、
並製作精緻MUGEN人物的台灣人。

喜歡節奏遊戲中的電子音樂、
曾經玩過和做過StepMania的譜面。
不過已經很久沒碰了。


❀夢境中的孩子們❀
---------------
希拉

追求永生的熾紅術士
(公開中)


---------------
姬法妮

資料還原中...
(W.I.P.)


---------------
朵慕●克露可

末日魔法使
(??? ~ 狂)

✡Work In Process
進度:31%


---------------
※非公開※
愛諾仙特

(強 ~ 凶)


---------------


(凶~神)


---------------
白翼神

,,Ծ‸Ծ,,
(強~凶)
-------------

Twitter

累積人次

連結