Aokashi Room

作った作品の紹介やレビュー、トラブルシューティングとか色々

WWA素材を更新しました。

Aokashi Home のWWA素材を整理しました。また、いくつかWWA素材も追加しました。

WWA素材サンプル - 学校www.pixiv.net

WWA素材サンプル - オフィス内www.pixiv.net

素材は Aokashi Home のWWA素材ページ からどうぞ。タグ「WWA素材第3世代」から探すことができます。

主な追加点

  • Set16 を削除し、代わりに 19Set を追加
    • 19SetWWA Contest 2018 の素材部門に投稿した「現代風WWA素材画像」をベースに改良したものになります。
    • 削除に伴って他の素材から入手出来ないプレイヤー画像は 16People-Player として独立しました
  • 18TreasureBox を追加
    • 宝箱です。また、宝箱は時代が古すぎるという人のために段ボール箱も用意しました。
  • 18Door を追加
    • ダンジョンで使用する扉です。開けた時のモーションも用意しています。モーションは $dirmap マクロで実装できます。
  • 18Floor を追加
    • WWA素材第3世代の中で床に関する素材がかなり少なかったため、壁と合わせて独立しました。
    • 和風の部屋に合う畳もあります。
    • ついでに内装に使用する窓も追加しました。
  • 18Furniture を更新
    • 下記の素材を追加しました
      • オレンジ色の椅子
      • ソファ
      • コート掛け
      • ハンガー (どちらかと言うとアイテムな気もするが・・・)
      • シンク
      • 洗濯機
      • コインランドリー
      • 炊飯器
      • 板付きのスチールラック
      • 観葉植物
      • 大きい冷蔵庫
      • 丸形のパイプ椅子
    • また、青い椅子の後ろに変更が加わっています。
    • その他にも、変更を加えた箇所がありますが、どこ変えたっけ・・・?
  • BuHouse18BuBuilding18 を更新
    • 「共通」と「Aタイプ」、「Bタイプ」の列を用意し、どの素材を持っていけば良いか分かるようになりました。
    • BuHouse18 は青い台形の屋根と工場の屋根 *1 を追加しました。
    • BuBuilding18 は白い壁を追加しました。この壁に限って凸型の建物が作れるように一部パーツが追加されています。

概ね、去年 WWA COLLECTION 2 に収録された 謎めいた機械を追い求めてで使用した素材を、当サイトの素材に反映させた形になります。

使用したくても素材がないから使用できなかったダンジョンの扉や人物キャラクターがここで追加されたので、これを機会にWWAゲームを作成してみてはいかがでしょうか?

素材の順番がかなり崩れているようなので、次はそっちの整理でしょうか・・・。

*1:工場の屋根というと、のこぎり形を想像しますが、今回はそうじゃなくて平屋根になります。

Windows で yarn create が正しく動作しない

KeystoneJSCMS を作成してみようと遊び始めたところ、問題にぶつかってしまったので共有します。

  • OS: Windows 10 64bit (1909)
  • Node.js: v.12.13.1
  • Node.js のバージョン選択: nvm-windows 1.1.7
    • Chocolatey 経由でインストール
    • 以前は Nodist を使用
  • yarn: 1.12.1
  • コマンドライン: Cmder 1.3.13.967
続きを読む

DELL P2720DC を購入したのでレビュー

長らくモニターはフルHDのモニター2台のデュアルディスプレイでした。すでに片方は2012年に導入したモニターを使用していて寿命が近い*1ことと、フリッカーフリーといった目に優しい機能とかもなく頭が痛いことから、27インチの大型のモニターを導入しました。

今回購入した DELL の P2720DC はインターネットで検索する限りレビュー記事がほとんど存在しないため、この記事でレビューしてみようと思います。しかし、肝心の機能である USB Type-C 接続やデイジーチェーン接続については、対応機材を持っていないため省略しています。ごめんなさい。

*1:どこかでドット抜けがある、電源が入っていると僅かに動作音が聞こえる、・・・

続きを読む

はてなブログのデザインテーマ「Vertical BlogTheme」をテーマストアに投稿しました

f:id:aokashi:20200114120420p:plain

はてなブログのデザインテーマを投稿しました。

テーマについて

blog.hatena.ne.jp

今回投稿したテーマは「Vertical BlogTheme」です。明るい色と暗い色の組み合わせを目指しました。左側のコンテンツは明るい色で、各記事の項目には白い背景色を与えています。一方の右側のサイドバーは暗い色で、デザインのカスタマイズで背景を変更すると反映されます。サイドバーの暗い色が縦に伸びる意味で「Vertical」と名付けました。

WordPress の公式テーマ Twenty Fifteen をベースに、昔制作した WordPress のテーマの要素と、はてなブログの環境に合う要素を加えながらデザインしました。

ja.wordpress.org

f:id:aokashi:20160505115112p:plain
参考にしていた WordPress テーマの画像 (以前のブログ記事から持ってきました)

Twenty Fifteen は左側にサイドバーが配置されていますが、はてなブログでは右側にサイドバーを配置することがほとんどのため、右側に配置を変更しました。また、ヘッダーやフッターも、左側のコンテンツに配置しています。

スマートフォンでもタブレットでも同じデザインで表示できるレスポンシブデザイン対応のテーマです。

サンプルは下記のブログからご覧になれます。

vertical-blogtheme.hatenablog.com

既存のテーマであれば、「Gravity」と類似しているかもしれません。こちらは3カラムになります。

blog.hatena.ne.jp

開発の経緯

前からブログのデザインを変更して、ブログ更新のモチベーションを上げれば良いなと思っていました。

そこで、自分でテーマを作ろうと思ったのですが、結構手間が掛かりそうだと思い、作成せずに既存のテーマにカスタマイズを加えれば良さそうと判断しました。

しかしながら、後で調べてみると、はてなブログのデザインテーマ作成はCSSファイルのみということが分かり、これなら短時間で作成できると思って開発に至りました。

help.hatenablog.com

開発で時間がかかった箇所

短時間で作成できる と言いましたが、はてなブログのデザインテーマはCSSのみですので、レイアウトの配置に凝ってみようとすると、逆に時間がかかってしまいます。

背景色の割当

  • はてなブログのデザイン設定で背景画像を変更すると、右側のサイドバーにのみ反映されるようにしたかったため、サイドバー部分を透明にする必要がありました。
  • しかしながら、左側コンテンツ外側の背景も簡単に変更できるようにしたい関係で、その外側の背景を充てるセレクタの数も最小限にする必要もありました。

両者とも満たそうと実装しましたが、この場合だとサイドバー部分の位置を絶対座標にする必要がありました。

#container {
    background-color: #c0c0c0; /* 左側の背景色の割当は簡単なのだが... */
    position: relative;
}

#box2 {
    position: absolute;
    top: 0;
    left: 800px;
}

しかし、この場合だと、左側コンテンツの高さが、右側サイドバーの高さよりも低いと、右側サイドバーの背景が途切れるなど、レイアウト崩れが発生してしまいます *1

f:id:aokashi:20200114004144p:plain
サイドバーの方が高いとこんな感じになってしまう。

レイアウト崩れを起こさないようにすることも出来ないことは無いですが、結構大変な作業になることから、ブログタイトル、メイン、フッターそれぞれの要素に左側コンテンツの背景色を割り当てるようにしました。

そのため、左側コンテンツの背景色を変更しようとすると、下記のようになります。ちょっと面倒ですね。

#blog-title,
.header-image-enable #blog-title,
#wrapper,
#footer {
    background-color: (お好きな色);
}

WordPress だと、テーマのカスタマイズ機能があるおかげで、テーマを使用する側からは、簡単に色を変えることができます。

まあ、それ以前にはてなブログでは HTML の編集が出来ないので、出来るだけで解決する問題かもしれません。

左側コンテンツと右側サイドバーの幅のバランス

ここから先は、数学的な内容が含まれています。このために久しぶりに方程式を使いました。

このテーマはレスポンシブデザイン対応です。ということは、画面の横幅を変えると自動的にコンテンツの幅も変わります。

どのようにコンテンツの幅が変わるかを下図に用意しました。なお、 768px よりも狭い場合は1カラムレイアウトとみなし、コンテンツとサイドバーが同じ列に並びます。

f:id:aokashi:20200114114847p:plain
本テーマの横幅によるコンテンツの幅の決まり方

ここで悩んだのが、左側コンテンツ 外側 の幅の決め方でした。

まず最初に考えたのは、50vw + (左側コンテンツ内側の幅) / (何かの率) という計算式で、左側コンテンツ外側の横幅を決める方法です。50vw にした理由は、ブログのコンテンツが中央に寄って見やすくなると判断したためです。率の値は最初は適当に 4 としていましたが、後に 3.238 辺りに変更していました。

  • 例えばPC環境の場合、左側コンテンツ内側の幅は 868px です。実際に左側コンテンツ外側の幅は calc(50vw + 868px / 4) になります。

この方法で進めた結果、幅を変えるとヘッダーとコンテンツの幅が合わない事態が発生しました。

f:id:aokashi:20200113225323p:plain
コンテンツ内側の幅が変わる直後の幅だと、こんな感じで幅が揃わなくなる

スクロールバーが原因で画面の横幅が狭くなってしまい、コンテンツ内側の幅が確保出来ないから・・・というのもありましたが、デバイスごとに率の値が同じだと、違うデバイスで正しく幅が揃わないようです。

とりあえず 50vw にこだわるのをやめて、デバイス毎に幅を vw 単位で割り当てる方法を用意しました。左側コンテンツ外側の幅を決めるには、(左側コンテンツ内側の幅 / 指定したメディアクエリーの最小幅) * 100 で済みます。

  • 例えばPC環境の場合、メディアクエリーの最小値は 1200px です。先程の左側コンテンツ内側の幅である 868px と併せて使用すると、左側コンテンツ外側の幅は 72.3vw になります。

それをデバイス単位で設定したところ、幅が揃わない事態は直りましたが・・・。

f:id:aokashi:20200113230142p:plain
vw 単位のみで指定して 1920 × 1080 で閲覧した場合。右側サイドバーが狭くて違和感がある。

上図のように、幅を広げると内容がかなり右寄りになり、このテーマのコンセプトである「デザイン設定で設定した背景が大きく見えるようになる」と合いません。

そういったことがあって、一度 50vw から値を足す方法に戻って再び最適な方法を模索しました。デバイス毎に率を変えれば良さそうなので、下記関数を用意して計算してみました。

/**
 * 左側の横幅を取得します。
 *     このテーマは右側のサイドバーをなるべく広く取るために、画面の半分の幅をベースに、左側の横幅を計算しています。
 *     左側の横幅を取得するまでには、左側の内容の横幅を割るための率(ratio)が必要です。
 *     ratio はコンテンツとサイドバーの内側の幅で値が異なるため、ここで計算することになります。
 */
@function make-content-outer-width($viewport-width, $content-width) {
    $half-viewport-diff: $content-width - ($viewport-width / 2);
    $ratio: $content-width / $half-viewport-diff;
    @return calc(50vw + #{$content-width / $ratio});
}

// タブレット、PC(狭い)、PC(広い) それぞれに対応した左側内側の幅を設定 (実際は関数を使用して計算しています)
$content-width-sm: 520px;
$content-width-md: 660px;
$content-width-lg: 868px;
// それぞれの左側外側の幅を設定
$content-width-outer-sm: make-content-outer-width(768px, $content-width-sm);
$content-width-outer-md: make-content-outer-width(992px, $content-width-md);
$content-width-outer-lg: make-content-outer-width(1200px, $content-width-lg);
// 設定した変数はレイアウトに使用される

実際に動かしてみると、レイアウトが崩れず、ちゃんと中央に寄るようになりました。

ソースコード

GitHub に公開しています。変更履歴も、下記の GitHub の Releases から確認できます。

github.com

*1:実際 CSS でレイアウトする際に position: absolute を指定すると、あれこれ副作用が発生してしまうため、ちゃんとした形で実装するには結構難しい作業だったりします。

依頼生活3章 制作中!

f:id:aokashi:20200102220036p:plain
3章の中で出てくる舞台「サウシー町」の駅

おまたせしました。ながーい間公開できていないまま放置していた依頼生活の3章ですが、現在制作中です。

依頼生活とは?

2010年2月に1章が公開された長編のWWA作品です。1章は一番最初に公開されたWWA作品となります。3章構成になっていて、自分のWWA作品の中では唯一の複数章作品です。

物語

このゲームの舞台となっている惑星「森星 *1」では、地球温暖化が原因による災害が発生しています。今作の舞台であるハヅツ国も例外ではなく、近年台風の発生に頭を悩ますばかり。

この後絶対おかしい現象が起こるはずだと思った主人公は、翌日見事に的中。普段おとなしくしていたモンスターたちが急遽暴走してきました。本来なら出てこないスライムも出てきてしまい、住民は困惑しています。

普段だったら通っていた学校も、急遽国からの指導により、「冒険者学校」に変更。暴走を止めるために、国中くまなく散策することになります・・・。

ちなみに、この物語の文章はこのブログ記事の執筆時に刷新しました。

章について

  • 1章 ... 冒険者学校で状況を聞き、ハヅツ国北部を探索します。
  • 2章 ... セルドシティに到着後、ハヅツ国南部を渡ります。
  • 3章 ... ハヅツ国南部を探索し、謎の原因を追い求めます。

3章の制作状況について

3章はサントグ町に到着した主人公とその仲間が、まだ残っているとされている鍵を見つけ出すために冒険を進めます。

マップはすでに完成していて、後はメッセージやストーリーの追加、モンスターのバランス調整、最後のシーンの制作が残っています。なお、グラフィックは「謎めいた機械を追い求めて」で使用していたグラフィックを使用しています。

aokashi.hatenablog.jp

章毎にグラフィックが違うのは、WWA作品の中では数少ないかもしれません。プレイしてみると、進むたびにグラフィックが次第に進化していく・・・という小さいお楽しみ要素が待っています。

2章以前の手直しについて

ゲームのストーリーの設定を明確にしたり、優しすぎたゲームバランスを調整したりするため、2章以前のマップデータにも修正を加えます。

なお、だいぶ前に1章をリメイクしたことがありますが、リメイクしたマップは使用せず、すでにあるマップを修正する形で済ませます。

*1:住んでいる人からは森惑星と言っているのだが

2020年あけました

あけましておめでとうございます。 2020年もよろしくお願いします。

さて、気がついたら最初のホームページ「Coden City」設立からもうすぐ10年! このために Aokashi Home を GatsbyJS で作り直しました。

aokashi.hatenablog.jp

これから考えていること

WWA Wing の整理

現在、 WWA Wing のバージョンは 3.2.11。

github.com

2019年では、スタイルシートの SASS (SCSS) 化を担当しました。途中で $color マクロが動作しないバグが発生しましたが、後に修正されています。

現状の WWA Wing は packages/engine/src/ をあれこれ見ればわかるのですが、 ほとんどの処理が wwa_main.ts に集約されています。 ですので、なるべく別のファイルに移りしたりして、ソースコードを見やすいようにリファクタリングを進めています。

新しい WWA 作成ツールの模索

WWA マップ作成ツールに代わる新しい WWA の作成ツールを模索しています。

完成した場合は、そのタイミングで、 WWA のマップデータの仕様を公開したいですね。スーパー正男では、作成ツールが結構出ているので、 WWA も作成ツールを自由に選ぶ世の中になりたいです。 ただ、これは暗証番号がバレるリスクが高いため、慎重に進めようと思います。

その他

  • 就職活動を進めます。
  • 研究活動のテーマが未だにはっきり決まらず、迷走している状態なので、早いうちに決めておきたいです。

謎の機械を見つけるチャンス!「謎めいた機械を追い求めて」 WWA COLLECTION 2 へ収録!

WWA COLLECTION 2 が配信されました。前回と同じく、自分の作品が WWA COLLECTION 2 に収録されます。

aokashi.hatenablog.jp

収録作品「謎めいた機械を追い求めて」

f:id:aokashi:20191210135301p:plainf:id:aokashi:20191210134435p:plainf:id:aokashi:20191210134602p:plainf:id:aokashi:20191210135202p:plainf:id:aokashi:20191210135113p:plainf:id:aokashi:20191210135017p:plain

誰かが街に残した機械を撤去するために行動する主人公の物語です。Aokashi Home で公開している最後の作品「シティーアイランド」から5年ぶりの新作となります。

これまで制作したWWAのいいところを合わせた集大成として、演出やボリュームはできるだけ盛りました。

また、WWAを初めて知る方にも、WWAの文化を知ってもらうためにギミックも入れています。難易度は易しく設定しています。

  • 舞台は三角州となっている「すな地域」です。北はカンセツ連峰、南はヨコテ湾に面していて、昔から物流の中心地として栄えていました。
  • 時代は経済成長の真っ只中。住宅不足が問題となり、ニュータウンの建設を計画していたのですが、地面の調査で正体不明の機械を発見しました。
  • 機械について詳しく知る人は殆どおらず、どう撤去するべきかわかりません。

WWA COLLECTION 2 の作品収録や今後の予定について

WWA COLLECTION 2 のゲームボリュームに収めるには大きすぎるため、前編と後編で分けています。

  • 前編は、機械が入っているとされている、洞窟に入るまでの活動が含まれます
  • 後編は、洞窟に入ってから撤去までの活動が含まれます

そして WWA COLLECTION 2 配信後の来年には、この作品を前編と後編を統合させて、Aokashi Home や PLiCy にも公開します!

WWA COLLECTION 2 を遊んだ方や、逆にこの作品を通じて WWA COLLECTION 2 を知った方が増えればと思っています。

この前編と後編の統合作業については、随時ブログやTwitterで発信する予定です。いつ公開するかは分かり次第お知らせします。

余談

この作品に関する裏話を、ゲームのプレイに影響しない範囲でお話します。

  • この作品を構想したのは概ね3, 4年前。WWA作品の集大成として考えてはいたものの、完成度を高めるために何しようかと考えることしかしていなかったため、制作が遅れました。
  • 舞台は、自分のあるゲームの舞台と隣接しています。その答えは、 Aokashi Home や PLiCy への公開後で明らかになります。
  • 一部の街には、実在の地域をモデルにしています。名前で分かるかな?

ちなみに、 WWA COLLECTION 2 の発表に合わせて、 PLiCy さんと協力して紹介ページを作成しました。今回はトップ画面に収録作品の画面を集めましたので、コレクション作品だと一目で分かると思います!