游星通信

自己満足

ストレージをHDDからSSDに換装して人権回復した話

はじまり

今使ってるHDDは7年目ぐらいでそろそろやばい。 SSD移行しようかな~と常々思っていたが、めんどくさそうだな~、何かやらかして動かなくなるの怖いな~、損するのやだな~等々思ってやらなかった。

しかしながら、

  • 再起動に10~15分かかり、起動後もしばらく暖機運転が必要
  • 基本的に電源は切らず、スリープすることが多いが、そのスリープ復帰も(再起動よりはマシだが)やたら遅い
  • ちょくちょくアプリが固まって辛い
  • 「化石PCをSSDにしたらサクサクになったわwwww」という感じのコメントからSSD換装は効果がかなりデカいらしいことを知る

などがあり、 さらにcrucialの500GBの評判のいいやつがドスパラで7300円、さらにアプリ登録キャンペーンで300円引きだったので、自らへのクリスマスプレゼント!という感じで購入することにした。

f:id:pentamania:20190101190902p:plain

年末年始に取り付けを行って、今の所いい感じに動いてくれている。
以下、移行作業のときの細かいアレコレを一応メモしておく。

環境とか

OS

OSはwindows10 64bit。元々7だったのをアップグレードしたもの。

換装前パーティションについて

2TBのHDDをパーティション分割し、

  • 200GBをOSと重要なアプリケーション用(OS部)
  • 残り1800をデータ置き場・その他アプリケーションのインストール先にしていた。

f:id:pentamania:20190101183121p:plain

パーティション分割はHDD故障時に役立つかもということでやっていた。 今までただめんどくさくなるだけであまり利点が生かせなかったが、このような構成にしてたおかげで換装に際してデータ整理をせずに済んだ。

さらにOS部は「システムで予約済み」「回復パーティション」「Cドライブ」で別れていた。

f:id:pentamania:20190101185946p:plain

引っかかったところ

SSD換装の方法は基本的に以下記事の通りに進めた。

【最新】HDDからSSDに交換・換装!コピー・クローン方法解説!

ただいくつか記事で言及されていないポイントで引っかかったので書いておく。

SSD認識されない問題

SSDを取り付けたみたものの、「ディスクの管理」でそいつが出てこない…。

原因は

  • SATAケーブルもしくは電源コードの取り付けが甘い・正しくない
  • SSD初期不良

らしい。

とりあえず通電状態はBIOSで確認できるということだったので再起動して確認してみる。 するとBIOS上では認識されているようだったのでリブートすると、今度はOSも認識し出したのでアレ?っとなる。

真の原因?

作業は

PCシャットダウン => SSD取り付け => 電源ONで確認 => 再起動 => (BIOSでの確認)...

の順番で行ったが、 windows10のシャットダウンは高速スタートアップ的な機能によって、環境を保存した状態で電源を切っているらしい。 対して「再起動」では環境を一度リフレッシュするので、今度は追加ドライブ(SSD)が認識された、のだと思う。

EaseUS Todo Backupのバージョンが違ってで混乱

バックアップに使うEaseUS Todo Backupはv11.5をインストールしたが、解説記事とバージョンが違い、結構インターフェイスが変わってて困った。

クローン操作でつまる

左ペインの「ツール」からクローンを選べばウィンドウが表示されるところまでは良かった。

f:id:pentamania:20190111011011p:plain

ここでクローンすべきドライブ領域を選択するのだが、「システムで予約済み」などもクローンが必要なの?必要だとしてどうやってCドライブと一緒にクローンするの?などと混乱した。

f:id:pentamania:20190101181231p:plain

しかしよく見ると一番上に「システムのクローン」というまんまのオプションがあることに気づき、選んでみると必要なパーティションを自動的に選択してくれた。それで実行し、SSDへのクローンに成功。(ちなみにディスク2はバックアップ用の1TBの外付HDD)

その後BIOSSSD側を起動ドライブに設定、元HDDによる起動を無効にし、無事移行完了。目に見えてOS・アプリ立ち上げが激速となり、人権回復の瞬間を見た。

その他

  • SSDのフォーマット時、ドライブ文字やらボリューム名をつけるのにちょっと迷ったのだが、ブートドライブにすると「ローカルディスク(C:)」という感じに強制的に変更されたので、名前はほんとに何でも良い。

  • またクローンではパーティションのサイズまでそのまま複製するので、ドライブ領域が200GBのままだったのだが、これは後から「ボリューム拡張」をすることで簡単に解決した。 https://www.disk-partition.com/jp/articles/how-to-move-unallocated-space-to-c-drive.html

  • evernoteが旧HDDとは別端末と認識してきたり、Excelの動作がおかしくなって再インストールを余儀なくされたりなどのトラブルもあったり。アプリによってはライセンス関係で何かトラブルが発生するかもしれないので、その覚悟をしておいたほうがいいかも。

  • 換装前はHDD側にインストールされたままのアプリやファイルだけ開くのに時間かかったりするのだろうか?と心配だったが、特に違いは感じない。重めのゲームとかならまた多分違いが出るかも?

  • HDD側の元のブートドライブを残すかどうかが悩みどころ。一応容量には困ってないので、当分そのままにしておく。

  • HDDもとっくに寿命過ぎてるけど、このままデータのストレージとして使い続ける予定。まあ診断エラーとか異音とか出てないし…フラグでないことを祈る。

締め

SSD基本的人権

正月っぽい謎ゲームつくった&Netlify使ってみた所感

正月っぽいゲームを作りたいとふと思い立ち、結果ゲームなのか?と言う感じのよく分からないものが出来あがった。 明けましておめでとうございます。

初夢ラッキー詰め放題キャンペーン

初見で200000縁起パワーを超えたらかなり運が良い…かもしれない。

そもそもは現在制作中のアクションゲームが絶賛滞っており、その素材を流用してなんか作りたかったというのが本音である。 こちらは今年中に何らかの形にはしたい…。

f:id:pentamania:20190107221138g:plain

技術的な話

今回のゲーム?について、 ゲームフレームワークは例によってphina.js
開発ツール的なものとしては自作のwebpackスターターキットを使用した。
概ねいい感じに開発できた。

そして今回は初めてホスティングNetlifyを利用した。
Netlifyの説明は他サイトに譲るが、 要するにレンタルサーバーとか使わず、静的なサイトを無料で公開できるサービスである。

「無料ホスティングならgithub pages(GHP)でええやん」となるが、Netlifyを使う利点も結構あった。

無料でプライベートリポジトリをホスティングに使える

諸事情により、リポジトリはプライベートにしたかったが、githubは有料アカウントでないとプライベートリポができない。 GHPは当然githubリポジトリを置く必要があるので無料でやりたいとなるとNG。

代わりにBitbucketなら無料でプライベートリポが作れる。 Bit~のホスティング機能は微妙だが、そこをNetlifyでカバーすることでいい感じにできる。

<1月8日 追記>
この記事を書いた翌日、つまり今日なんとgithubでもプライベートなリポジトリを無料作成できるようになりました。

jp.techcrunch.com

Bitbucket君…😐

出力先をgit管理しなくて良い・ビルドを手動でやらなくて良い

GHPで内容を公開・更新したい時は

  • 出力先ディレクトリをgit管理下におき、
  • buildコマンドを手動で走らせたあとにcommit & push

する必要がある。とてもダルい。
しかしNetlifyはgit pushするだけで再ビルド&更新までやってくれるナイスガイである。

また指定したディレクトリだけが公開されるので、URLが
http://pentamania.github.io/[リポジトリ名]/dist/
みたいにちょっと不格好になったりにならずに済む

詰まったところ

環境の違いによるビルドの失敗

ホスティング設定は簡単で概ね詰まらずに進めたが、 ビルドに失敗してデプロイがうまくいかないという事態に遭遇。

色々ググってみても原因がよく分からなかった。 が、エラーログをよ~く読むとwebpackによるビルドで読み込みに失敗している箇所があった。

f:id:pentamania:20190107174427p:plain

結論としてはOS環境による、パスの大文字小文字に対する扱いが違ったのが原因だった。

筆者の環境はwindows10だが、 例えばPlayer.jsというファイルを読み込もうとした時、

import Player from "./player.js";

という風にファイル名を小文字に変えてもビルドが通ってしまう。 しかしLinux環境(多分)であるNetlifyではエラーになってしまった模様。

うっかりしてるとやりかねないミスだが、幸いwebpackにはこれを防ぐためのプラグインがあるので導入しておいた。

環境の違いには気をつけよう。 あとエラーログはちゃんと読もう。

その他所感

ゲームとして微妙な感じだが、とりあえず何かを作ることに成功したので今年は早くもロスタイムということにします。 ただ去年まではツール系に偏ってたので、今年はもうちょっと創作色を強めていく感じにしていきたい。

PxB Map Editor 自作スキン作成方法(仮)

PxB Map Editor はv0.4.0系から自作のスキンを使用できるようになりました。
割と上級者向きな内容ですが、作り方を簡単に記しておきます。

必要なもの

スキンの適用方法

pxb-editor v0.4.0を初めて起動した際に、PCの「ドキュメント」にあたるフォルダに「PxB Map Editor」なるフォルダが 自動的に作成されているはずです。

その中の「skins」フォルダにダウンロードした素体フォルダをぶっ込みます。 そしてとりあえず素体フォルダ名を「Oreskin」に変えてみます。

pxb editorを起動するとSIMULATOR OPTIONのGame Skin内に「Oreskin」があるはずです。

f:id:pentamania:20181207154129p:plain
他にも色々あるけど気にせず

ここまで確認できたら実際に改変をします。

各パーツの作成

スキンには以下の画像が必要となります。

  • foundation-lower.png(UI部背景、上のほう)
  • foundation-upper.png(UI部背景、下のほう)
  • pause-button.png(ポーズボタン)
  • tap-arrow.png(タップノートの矢印)
  • flick.png (フリック)
  • tap-base.png(タップノートガイドライン基部)
  • tap-line.png(タップノートガイドライン線部)
  • LN-head.png(ロングノート先端部)
  • LN-body.png(ロングノート胴体部)
  • LN-base.png(ロングノートガイドライン基部)
  • LN-line.png(ロングノートガイドライン線部)
  • multi-marker.png(同時タップのときに出るアレ)
  • (※)seekbar-thumb.png(シークバーのつまみの部分、必須ではない)

素体ファイルのtexturesフォルダ内に全て揃っているはずです。
拡張子含め、名前は必ず揃えるように。

基本的にはこれらのファイルを改変して使用することをおすすめします。

スプライトアトラスの作成

画像編集に区切りがついたら、textures/atlas.tpsをtexture packerで開きます。 何もいじってなければSpritesに全ての画像が追加された状態となっていると思います。 (足りないファイルがあったらドラッグアンドドロップで画像を追加してください)

つぎに右ペインのOutputのFrameworkが「JSON(Hash)」もしくは「Pixi.js」であることを確認して、 「Publish sprite sheet」ボタンを押してください。 (ファイル名はatlasから変えないようにしてください。)

f:id:pentamania:20181207145550p:plain

(素体ファイルと同様に)スキンフォルダ内にatlas.pngとatlas.jsonが生成されていればOK。

画像を変更したら、その都度「Publish sprite sheet」をしてatlasを更新してください。

スタイルの編集

スキン素体データのskin-style.yamlを編集することでスキンの細かい挙動を指定できます。 こちらも一から書かず、素体ファイルのものを書き換えて使用することをおすすめします。

編集時の約束毎はあまりないですが、スペース・インデントだけは変えないように注意してください。 yaml形式に対応したテキストエディタがあると便利です。

基本的には数字や色の設定のみ書き換えるようにするのがオススメ。

フォントの読み込み

独自にフォントを読み込ませたい場合は以下のように指定します。 そしてスキンフォルダにフォントを追加するのを忘れずに。
(フォントファイルの形式はotf, ttf, woffなど)

fonts:
  my-font-one: myfont1.ttf
  my-font-two: myfont2.otf

読み込んだフォントを使用するには

comboNumber:
  fontStyle:
    fontFamily: my-font-one #ここに追加
    fontSize: 20
    fontAlign: left
    fill: "#FFFFFF"
  anchor:
    x: 0.5
    y: 1.0
  positionRatio:
    x: 0.5
    y: 0.97

のように、fontFamilyという項目にフォント名を追加してください。

フォントやそのサイズを変えるとレイアウトがずれることがままあるので、その場合はpositionRatio(画面全幅、全高を1とした場合の位置比率。基本的には0 ~ 1で指定) のx、y値を細かく編集して調整します。

その他、素体ファイルにコメントを載せているので、そちらを参考に改変を行ってください。

動作確認

ここまでの作業でOreskinフォルダの中身には以下のファイルが揃っているはずです。

  • atlas.png
  • atlas.json
  • myfont1.ttf
  • myfont2.otf
  • skin-style.yaml

  • (texturesフォルダは直接は使いません)

この状態で、editorでオプションに自作スキンを選択していることを確認、シミュレーターを起動して反映されていればOK。 (スキンフォルダ名を変えていなければアプリケーションのほうの再起動は不要です。)

その他メモ

  • 足りない画像パーツがあった場合、市松模様のダミーが代わりに表示されます。
  • texture packerは単にスプライトシート化で必要なだけでちょっと冗長なので、将来的には不要にできたらと思っています。
  • 何かおかしかったらアプリケーション再起動で治るかも。
  • skin-styleでは行初めに半角の#から始めることでコメントアウトできます。