これは酷い。マオです。

今日、UgoCraftの不具合報告が来たんだけど、サーバ側の設定ファイルが反映されないという問題だった。
で、最低限の構成(ModLoaderMP、UgoCraft)で試した所、問題無く動いているので、他のModの仕業と言う事で返答しちゃったんだけど、大体の予想が付いていたので、追試として試してみたんだ。
UgoCraftには関係無いMinecraftForge(3.1.2#90)を一緒に入れてみたのね。
案の定、入れたら設定ファイルを読み込まない。
って事で、もしForgeを入れる人がいたら、注意してね。

ちなみに私はForgeが大嫌いなので、もしマルチ機能がForgeを介してしか実現できないようになったら、UgoCraftのマルチ機能はバッサリカットすると思います。
そうならないように、祈りたい所だね。

カテゴリ/タグ:月面開発室 /  ,    
コメント (0)

何かを作ってるとネタが増えて良いね。マオです。

コメントの方で、外国の方が○○Modの対応をしてくれないかとの話があったわけだけど、簡単に対応できるなら、既に全てのブロックが動いている事になるでしょうね。
で、よく聞くのがチェストの対応。
ぶっちゃけると、表には出す事はない実験版ってのがあるのだが、動かすだけなら簡単に動いちゃったりしている。
ただ、それはデータが動いているだけであって、見た目とかUgo objectからブロックに戻る際の複雑な処理を省いて動かしているので、特殊な事が起こると処理矛盾が起きたりする。
良い例が半ブロックと階段の回転処理だ。
取り外すのはもう簡単である。
既に対応するコードが書かれているので、許可するコードを一行加えるだけ。
しかし、戻す時はそうはいかない。
スライドは問題が少ないが、回転させた場合は向きが変わったり設置位置が変わったりと、面倒な事が起きる。
そこを、私がデータがどのように扱われているかを解析して、ブロックに戻る時に本来あるべきデータに変換してあげないといけない。
その作業をブロックの追加毎にやらなければいけないのだ。
それだけならまだマシだけど、さらにUgo object化した時の表示も、準備しなければいけない。
元ソースを改変して、何とか表示させてる状態なので、変わった事をしていると表示が出来なくなるのだ。
つまり・・・。

1.除去する時に、特殊な処理をするブロックである。
2.個別のデータを持っていて、設置後に書き換える必要があるブロックである。
3.特殊な描画が必要なブロックである。
4.設置場所の条件があるブロックである。

これが一つでもあると、作業が面倒になる。
チェストは全部引っかかってて、特に3番目の表示系は最悪。
過去のバージョンアップでチェストが開く処理さえ追加されていなければ、多分初期版で追加されてたはずなんだがなぁ(笑)

こんな感じで、簡単に出来る事と出来ない事があるのですよ。
分からない人はModを1個作ってみる事をお勧めするわ。

カテゴリ/タグ:月面開発室 /  ,    
コメント (12)

デバッグが足り無い気がする。マオです。

とりあえず、新バージョン上げました。
追加するブロックが階段と半ブロックとレッドストーントーチだけだと言ったな。
あれは嘘だ。
音符ブロックも追加してみた。
確か、これで演奏したいって人がいたような気がした上に、結構簡単に移動できるブロックだったのでサクっと対応できてしまったんだ・・・。
一ヶ月前の私凄いな、ちゃんとコードを書いていてくれた。
いくつか不具合も多分直ったはずだが・・・どうだろうか。

次回くらいにブロック混入のデッドロック問題を何とかしたいなぁ。
GWだから、まだ早くコードが書けたけど、これからはもっと遅くなるだろうな・・・。

カテゴリ/タグ:月面開発室 /  ,    
コメント (0)

自爆する。マオです。

UgoCraftを公開して一週間も経ってないわけですが、沢山のバグが出てきて楽しい事になっています。
そっちに追われて、既存のでかいバグに手が出せないんだよね。
使用者の評価がどうなってるか分からないので、フリーズが出たりしてるのか不明だったり。
こっちのテストでは巨大な物さえ作らなければ、100個の回転コアブロックを起動しつつ、60門の大砲コアブロックでテニスしながら、スライドコアブロックのリレーをやらせても落ちなかったし、再起動で復帰も出来てるから、大丈夫だとは思うけど・・・。

色々と修正してバグ報告が来るまでに細かく手を加えてたので、次回のバージョンアップに含む事が出来そうな物がいくつかあります。

「表示できていなかった物の表示」
全部ではありませんが松明やらリピーターやらが、Ugo object化しても表示されたままになります。
まあ見た目だけなんで操作とかはもちろん出来ませんがー。

「変換対応ブロックの追加」
レッドストーントーチが仲間入りします。
これ追加すると、喜びそうな人達が一杯いそうですね。
置く順番を守れば、ちゃんと信管として使えますよ(謎)
で、今まで開発当時から追加するか悩んでいる半ブロックと階段。
この2つって公式のデータでは横置きが存在しないんで、追加したくなかったんだよね。
回転可能な方向への再設置が出来る場合は正しい設置が行われるけど、それ以外の場合は適当に配置されるようになります。
後、当たり判定も再現できません。
回転が無ければ色々出来たかもしれないな・・・後悔先に立たず。

「TerrainSpriteIDの消費が1個減る」
実装予定だった物をばっさりカットしたので、1つテクスチャがいらなくなりました。
多分、その後のアップデートでブロックを1個追加しそう(予定は未定)なので、元に戻ると思うけどね。

「遮断プレートの取り外し」
今まで、1度貼り付けた遮断プレートは外せませんでしたが、同種の遮断プレートで右クリックする事により外せるようになります。
専用アイテムを作るとSpriteIDを消費しちゃうし、素手だと大砲の薬室が開けなくなるという問題が出た為に、同種のプレートで行う事にしました。
色々おもちゃを作っててイラっといてた仕様だったんだけど、もっと重要な問題が一杯で後回しになってたんだよね。
他にもイラっとしている問題があるので、それはいつか直すとしよう。

まだまだ遊ぶ余地のあるUgoCraftのコードですが、最近怖いと思ってるのが公式の次回のアップデート・・・。
もしModを公式に受け入れるなら、新しい要素より過去に作られてきた物を見直す方が先だと思うんだ。
このまま行くと、数多くのModが1.2.5で開発終了なんて問題が出るかもね。
それは今に始まった事じゃないか(笑)
ともかく、私が楽しいと思える限り、私の力が及ぶ限り、UgoCraftで遊んでいきたいね。

カテゴリ/タグ:月面開発室 /  ,    
コメント (0)

対処は出来そう・・・かなぁ? マオです。

来ないと思っていたUgoCraftバグ報告が来ました。
とりあえず、完全に確認できたのが「コアブロック起動時にブロックの残像が見える」です。
これ、気付いたんだけど公式の落ちる砂の処理でも見える事があるのな。
原理的には同じだからありえない話じゃないんだけど・・・。
コードを数行入れたら直ったように見えるけど、どうなんだろうか。
こういうアッサリ直っちゃうのは怖い。
絶対、別のバグが発生しているはずだ><

で、ちょっと困っちゃうのが他MODとの相性によるバグ。
今回の報告は、絶対組み合わせる人がいるだろうな・・・と、予想していたZeppelin Mod。
UgoCraftの表示範囲の部分で衝突判定が起きちゃって、Zeppelin Modの物体が動かないという問題。
一応、UgoCraftの[利用にあたって]の部分で、他のMODとのトラブルは考慮しないとは書いてあるから、対応しないという選択肢もあるんだけど、対処できるなら対処したい。
でも、解決出来る問題じゃ無いんだよね。
簡単な解決手段は「UgoCraftの表示部分を消す」これしかないんだ(笑)
それをすると、UgoCraftの存在自体が無くなるから、どうにもならない。
残念ながら、対処できません。
コアブロックが動いている付近での飛行はしないで下さい、ってのが折衷案になるのかなぁ。
後、起動しているコアブロックをZeppelin Modで動かさないでね。
想定していないルートでの処理になるから、何が起きても不思議じゃない・・・。

まあ、報告を頂いても、クリア出来る問題と出来ない問題があるという事で。

カテゴリ/タグ:月面開発室 /  ,    
コメント (0)