2017年1月の日記

<2017年02月 2016年12月>

アンパンマンDB

コメントに認証追加。
普通の人には出ませんが、要注意な人には出てきます。
認証が出るだけでは特に何かペナルティがあるわけではないので、具体的に何かしていない人にも出てくるときは出てきます。

サムネイル猛烈に作るマン

しばらく使っていたら落ちるバグがあったので直しました。

無題

動画のサムネイル画像を猛烈に作りまくるプログラム作りました。
WPFで作ったら意外と動画編集ソフトでマクロ組むより早くできましたね。
これというのも検索エンジンと優秀なサンプルプログラムのお陰。

のんびりナマライザとミフミンのDQ10メモ

のんびりナマライザ更新。
更新すると言ってから間が空きましたが、軽微なバグ修正やオープンソース化もして、公開完了です。
今後やりたいこととかもないので、たぶんこれからは検索サイト追加で更新するぐらいになると思います。

ミフミンのDQ10メモ。
写真置き場を、「地域:○○」の形式で検索できるようになりました。

のんびりナマライザ

AccessAnalyzerの更新も落ち着いてきたので、それを使っているナマライザのほうもそろそろ更新しようかなと。

Anpanator

ベータ7公開。
最後までキャラクターがわからなかったときの検索機能を改善しました。
同じキャラクターの表記ゆれは一つの名前に名寄せしていたのですが、今までは正式な名前でしか検索できず、表記ゆれのほうだと見つけられませんでした。
これが、表記ゆれのほうで検索しても、正式な名前のキャラクターが出てくるようになりました。

TGWSAdmin

WebのHTTPS化が進んでいるのにhttpsからのアクセスが全然ないと思ったら、リファラでHTTP以外を解析対象から全部はじいていました。
もちろん普通にアクセスすることには何の支障もありませんが。
とりあえず、HTTPSも解析対象に加えました。
あと、新たに判明した検索エンジンの追加も。

funyak

タイルマップの読み込み作成中。
…と言いたいところだけど、リソースの読み込みとどう折り合いをつけるか決まり切っておらず…。

funyak

当たり判定実装。
死亡を実装していないのでとげの当たり判定はありませんが。

funyak

タイルマップの表示実装。
一応これもWPFの仕組みで表示しています。
ふにゃと同じく大きさは可変にしてあります。
表示だけなので、まださわっても何も起きません。
また、データの読み込みを実装したわけではなく、プログラムで無理やりマップに突っ込んでいます。
ここから先は、まだまだこれからというところです。

funyak

タイルマップ実装中。
当たり判定周りの実装の構想はあるのですが、リソース管理とどう絡めていくかが結構悩みどころです。
当たり判定は、線分の当たり判定がすでにできている以上、マップ内の「当たる場所」に線を引けば、すでにできている当たり判定の仕組みに乗せていくことができるのです。
しかし、リソースに関しては、主人公の絵とは違ってマップ作者がどの画像を選ぶか決められるので、ここに自由度が必要なのです。
しかも、ゲームのコア部分では、「リソース管理に一切関知しない」というルールを守っているので、画像に触れずに、どの画像が来ても大丈夫な仕組みが必要なのです。
まだしっかりしためどはたっていませんが、もうちょっと固めていけば何とかなるだろうとは思っています。

funyak

地面との摩擦やらしゃがんで当たり判定が小さくなるのやらを実装。
タイルマップを実装するために、当たり判定関係の基礎を後回しにできなくなってきたためです。
あとついでに、大きさを変える機能も実装しました。
巨大化して何かするようなゲームにするつもりは別にないのですが、特定の大きさを前提とした実装にする意味も感じなかったので、変数化したという形です。

funyak

今後作りやすくなるようにソースコードをちょっと調整。
そろそろ第1作や3作にあったようなタイル状のマップを実装したいので、その前に動きやすくなるように。

funyak

しゃがみ歩き実装。
これでふにゃ1の基本動作は出来上がりました。
たったこれだけの実装に時間がかかっていますが、一応理由があります。
理由は大きく分けて2つ。

1つは、「全部込み」であること。
すなわち、1~3からふわふわふにゃまで取り込んだ実装になっているため、動作一つ一つにも考慮することが多くなっているのです。
で、そのうちでもっとも計算がややこしくなる斜め線を先に実装しているため、特に時間がかかっているのです。

もう1つは、「動きのコンセプトの再定義」。
これまで全作、行き当たりばったりでそれっぽくなるように実装していたため、シリーズを通して動きにあまり一貫性がありませんでした。
もちろん、重要な部分は一貫させていましたが、しゃがんだときや空中での挙動にばらつきが出ていました。
このあたりを改めてしっかりと決めて、「ふにゃはこういう動きをするものだ」というのを定義するということです。

今回のしゃがみ歩きでいうと、第1作ではもともと「地面の摩擦の影響を受けず、常にゆっくり動く」というのが動きのコンセプトでした。
第2作ではしゃがみそのものがなく、第3作では、ふにゃに影響を及ぼすものがいろいろ増えました。
で、第3作では「風の影響も受けない」という性質も加わりました。
しかし、ギヤバネには、踏みとどまりこそするものの、吹き飛ばされます。
とげとげ相手だと、見た目に反して当たり判定は小さくなっていません。
このあたりが、違和感となっていました。
であるからして、この違和感を払拭できるしゃがみ歩きのコンセプトは、「見た目通り小さく、地面の摩擦をはじめいろいろなものの影響を受けず、ゆっくり動く」ということになるでしょう。

で、しゃがみ歩きに実際の実装はどうなったかというと、
1.当たり判定の小ささは未実装。相手となるとげとげが現れてから考える。
2.地面の摩擦係数自体が未実装。ただし、地面の摩擦を受けない実装として、加速運動ではなく、等速運動としている。
3.走行速度より遅い得度での等速運動。
と、なっています。

ええ、はい。
最終的なコンセプトは、
1.見た目通りの当たり判定サイズ。
2.移動速度に関する外的要因を受けない。
3.遅い等速運動。
となりました。
加速運動が基本だったふにゃシリーズにおいて、funyakで初めて等速運動を取り入れます。
第1作でもほぼ等速運動でしたが、もう、完全に等速運動にします。
こっちのほうが、「影響を受けていない感」がしっかりしていると思ったので。

<2017年02月 2016年12月>