Hatena::ブログ(Diary)

くらげのChangeLog

2017-09-18

[]Momodora 月下のレクイエム

クリア。5時間程度。

メトロイドヴァイアではあるが、デフォルトで二段ジャンプを備えた主人公は、最初からほぼ全域に行くことができる。入手アイテムの多くは戦闘を有利にするものであり行動範囲が広がるものは少ないという特徴もあり、アクションゲームに探索の味付けを足した作品と言える。

また、かわいいドット絵の女の子のグラフィックも特徴。また、ドット絵はよく動き素晴らしいアニメーションの出来。主人公が紅葉を武器として使うという設定もそうだが日本っぽいキャラクターが多い。だが作者はブラジル人らしい。

ダークソウルをリスペクトしたという戦闘は雑魚にもボスにもメリハリがあり、攻撃予備動作を見て緊急回避して反撃という形をとってノーダメージを目指すプレイが可能。実際そういう戦い方を推奨しているようで、敵からの攻撃で受けるダメージも多めに設定されていたり、ノーダメージでボスを倒すと特別なアイテムが貰えたりする。

不満点としては、途中で「空中で回避が可能に」と表示されたときにそれが空中ダッシュを意味することに気づかず、終盤に突然でてきた長い崖をジャンプで超える方法が分からず無駄に悩んでしまった。新しいアクションを入手したときは、それを活用しないと出られない部屋にプレイヤーを閉じ込めてくれ……。

あと、セーブ無しでボス戦に突入してしまう箇所がいくつかあったのが気になる。そのせいで安心して先を探索できない。

オルゴールとか骸骨とか鐘楼とか、意味ありげな無意味な箇所がいくつか在る。


これはシリーズ4作目らしく、Momodora1〜2はフリーで、3は200円で配布されているようだ。

そして3Dゲームになった5も開発中らしい。

2017-09-16

[]Axiom Verge

クリア。10時間程度。

メトロイドをリスペクトした、メトロイドヴァイア。グラフィックからプログラムから音楽まで全て一人で作っており、それぞれ十分なクオリティを持っている。アクションが簡単なわけではないが探索要素が強め。

ゲームのみを見ても完璧なメトロイドヴァイアとして名作の上に、考察しがいのある謎めいた世界が舞台である。

特徴的なシステムとしてバグのような演出がゲーム上のシステムとして組み込まれている。

ただ、最終盤になってもエリアのワープ移動が無かったり、広大なマップのなかで次に行くべき場所を見失ってしまった場合のサポートが無いなど、弱点がないわけではない。

2017-09-15

[]Excel2016で「テキストに合わせて図形のサイズを調整する」のチェックONにできないバグ

https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_winother/excel-2016/8c00ff95-55c6-4656-85f0-9f99313cddd7?auth=1

「テキストに合わせて図形のサイズを調整する」のチェックONにすると、画面上は操作できるが実際には図形にそれが反映されず、再度図形を選択するとチェックOFFの状態に戻っている、というバグ

対策は以下。

1. Alt + F11 でVBAを表示
2. 表示→イミディエイトウィンドウでイミディエイトを表示
3. 図形を選択した状態で、以下のコードをイミディエイトにコピペしてEnter
Selection.AutoSize = True

2017-09-14

[]element.insertAdjacentHTMLメソッド

http://qiita.com/amamamaou/items/624c22adec32515e863b

javascriptというかDOMで、HTML文字列引数に指定してDOM要素を追加するメソッド。Adjacentは隣接を意味する単語。

element.innerHTML += "xxxx" とやってしまうとelement以下のDOM要素が一旦すべて破棄されてすべて再作成する動きになるが、このメソッドだと既存DOM要素はそのままで追加をしてくれる。

当然こっちの方が動作が早い。

例:

element.insertAdjacentHTML("afterbegin", "<h1>TEST</h1>");

第一引数には追加する位置を指定する。

<element>

<child>Text</child>

</element>


HTMLではなくDOMオブジェクトを扱う類似メソッド、element.insertAdjacentElementもある。

element.appendChildより便利だが、Adjacentのつづりが覚えにくい気がする……。確かこの単語、HearthStoneのカードテキストにも出てきたような。

var h1 = document.createElement("h1");
h1.textContent = "TEST";

element.insertAdjacentElement("afterbegin", h1);

[]Bluetoothの実装脆弱性「BlueBorne」

https://togetter.com/li/1150518

以下のような特徴を持つ脆弱性

・管理者権限の乗っ取りが可能な場合が多い。

・被攻撃者側が何もしなくても攻撃される(リンクをクリックしたりメールを開いたりしなくても攻撃される)。

・物理的な接続も不要なのでまず気づくことが出来ない。

Bluetoothが他のデバイスと接続中でも攻撃される。

連鎖的に攻撃を拡大できる(ただし脆弱性が放置された機器がBluetooth接続範囲にいくつも置いてあるという状況に限る)。

攻撃者側が満たすべきやっかいな条件は、以下。

・被攻撃者の機器とBluetooth通信可能な範囲内に居ることが攻撃に必要。

・被攻撃者の機器のBluetoothがオンになっていることが攻撃に必要。

この脆弱性は最新のOSであれば修正されている。

Windows2017年7月の定例パッチで修正済み。

iOSはiOS10で修正済み。

Android2017年9月の定例パッチで修正済み。

2017-09-13

[]VisualStudioプログラムの発行エラー(証明書の署名期限切れ)について

問題

VisualStudioのソリューションエクスプローラーからプロジェクトを右クリック→発行で、以下のエラーが発生する。

エラー 2 SignTool はエラー 'bin\Release\XXXX.publish\\setup.exe の署名に失敗しました。 SignTool Error: ISignedCode::Sign returned error: 0x80880253

The signer's certificate is not valid for signing.

SignTool Error: An error occurred while attempting to sign: bin\Release\XXXX.publish\\setup.exe

' を報告しました。

原因

プログラムのClickOnesなどの発行時に以下のようなエラーが発生する原因は、証明書の期限が切れていること。

https://ameblo.jp/enhaunse/entry-10067285543.html

対策

期限を延長した証明書を作成してそれを利用するように変更する。

パターン1
プロジェクト→プロパティ→署名→ClickOnceマニフェストに署名する→テスト証明書の作成ボタンを押して、
新しいテスト証明書を作成する。

その後、発行を行うことでエラーが出ない。

ただし、この方法で発行すると既にインストール済みのプログラムを更新するときに
問題が発生する可能性がある。
(VisualStudio2008以降だと問題ない?)

パターン2
既存の証明書「XXX.pfx」をもとに期限を延ばした証明書を再作成する。

ClickOnceのデジタル証明書を更新するためのプログラムRenewCert.exeを作成
	以下URLをもとに作成する
	https://ameblo.jp/enhaunse/entry-10067285543.html
	上のサイトだと5年後までが期限になるがコードを修正することで何年後にすることでも可能。

RenewCert.exeで期限を延長さいた「XXX.pfx」ファイルを作成
	RenewCert.exe OLD.pfx NEW.pfx "CN=xxxxx"
	"CN=xxxxx"のxxxxxには、
	プロジェクト→プロパティ→署名→ClickOnceマニフェストに署名する→発行元
	……の文字列を指定する。

作成した証明書をプロジェクト以下のフォルダにコピー

プロジェクト→プロパティ→署名→ClickOnceマニフェストに署名する→ファイルから選択ボタンを押して、
作成した証明書を指定する。

その後、発行を行うことでエラーが出ない。

[]javascriptでpythonrange(10)や[0..10]のような表現を書く方法

[...Array(5).keys()];              // [0, 1, 2, 3, 4]
[...Array(5).keys()].map(n=>n+1);  // [1, 2, 3, 4, 5]

うーん、わかりづらい……か?

少なくともpythonのrange(5)とかrange(1, 5)に比べると圧倒的にわかりづらい。