のらぬこの日常を描く

ノージャンルのお役立ち情報やアニメとゲームの話、ソフトウェア開発に関する話などを中心としたブログです。

nodejs+expressで自PCにオレオレあぷろだをつくる

こんにちは。のらぬこです。

何回かに分けて、僕が持っている4種類のゲーム機(PS3、PS4、PSvita3DS)のスクショ画面をPCにネットワーク経由で取り込む話をしました。

いずれのハードも、一旦インターネット上の何処かにファイルをアップロードし、PCからそれを取り出すというやり方で実現可能という内容でした。

でも、外部のサービスを利用しなくても、自分のPCにWebサーバを立てれば、ゲーム機のWebブラウザから自分のPCに接続し、スクショ画像を自分のPCに直接アップロードすることができるようになります。

今回は、自PCでオレオレあぷろだを立ち上げ、ゲーム機で撮ったスクショを自PCに直接アップロードできるような仕組みを作りたいと思います。

3DSのみ、スクリーンショットの保存方法が特殊なため、今回記載する方法は使えません。
ただし、ゲーム内にスクリーンショット保存機能を持つ一部のゲーム(ファンタジーライフリンクやドラゴンクエスト8等)や、3DSカメラで撮影した写真等は、今回紹介する方法を使用して、画像データをPCに直接アップロードすることが可能です。

開発言語をどうするかはちょっとだけ悩んだのですが、昔、nodejsを使うと簡単にWebサーバがたてられるみたいな記事をどこかで見たのを思い出し、nodejsで書いてみることにしました。

とりあえず「nodejs ファイル アップロード」でググってコピペで動かしてみようって思ったのですが、意外と動かず苦労しました。

開発・実行環境

前準備

  • 必要なモジュールをインストールし、expressのひな型プロジェクトを作成します。
C:\DATA>npm --version
3.10.8

C:\DATA>npm install -g express
`-- express@4.14.0

C:\DATA>npm install -g express-generator
`-- express-generator@4.14.0

C:\DATA>express uploader

C:\DATA>cd uploader && npm install
  • multer モジュールを プロジェクトに追加します

package.jsonを以下のように編集します。

{
  "name": "uploader",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.15.2",
    "cookie-parser": "~1.4.3",
    "debug": "~2.2.0",
    "express": "~4.14.0",
    "jade": "~1.11.0",
    "morgan": "~1.7.0",
    "serve-favicon": "~2.3.0",
    "multer": "~1.2.0"    // <=== 追加
  }
}

編集が終わったらモジュールをインストールします

C:\DATA\uploader>npm install
  • ここまでの作業の動作確認をする

まず、Webサーバを起動します。

C:\DATA\uploader>npm start

> uploader@0.0.0 start C:\DATA\uploader
> node ./bin/www

Webブラウザで http://localhost:3000/ に接続すると、以下のような画面が表示されるはずです。」 f:id:noranuk0:20161118001601p:plain

また、コマンドプロンプト(コンソール)には以下のようなログが出力されるはずです。

GET / 200 420.317 ms - 170
GET /stylesheets/style.css 200 6.069 ms - 111

ここまで確認できたら、コマンドプロンプト上で CTRL+C を押し、サーバを停止します。

補足

express は軽量webサーバを作るためのモジュール、express-generatorはexpressのためのひな型プロジェクトを生成するためのモジュールです。

また、multerは form-dataを扱うためのモジュールです。

実装

まずはファイルのアップロード先ディレクトリを作ります

C:\DATA\uploader>mkdir uploads

次に、ファイルアップロード画面のWebページを作成します。 views/index.jade を以下のように編集します。

extends layout

block content
  form(method="post", enctype="multipart/form-data", action="/")
      input(type="file", name="uploadedfile")
      input(type="submit")

最後にapp.js を編集し、formがpost 際の動作を実装します。

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

// 以下の行追加
var multer = require('multer');

var index = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', index);

// 追加ここから >>>>
var storage = multer.diskStorage({
          destination: function (req, file, cb) {
                      cb(null, './uploads')
                    },
          filename: function (req, file, cb) {
                      cb(null, '[' + Date.now() + ']' + file.originalname)
                    }
});
var upload = multer({ storage: storage });

app.post('/', upload.single('uploadedfile'), function (req, res) {
        console.log(req.file);
        res.redirect(301, '/');
});
// 追加ここまで <<<<

app.use('/users', users);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

よその記事を見ると、multer オブジェクトの生成部分を
var upload = multer({ dest: 'uploads/' });
のように書いているところが多いのです。

しかし、この書き方ではアップロード後のファイル名の指定ができず
保存されたファイル名が、be167931b87cc96e66986ae97df4a85f のようになってしまいます。

ファイル名のカスタマイズ(例えば、アップロード時のファイル名で保存する等)方法は github内のreadme に書かれています。

GitHub - expressjs/multer: Node.js middleware for handling `multipart/form-data`.

動かしてみる

webサーバを起動し、ブラウザから http://localhost:3000/ にアクセスします。

アップロードしたいファイルを適当に選択し、[クエリー送信]ボタンを押すと、ファイルがプロジェクトディレクトリ内の uploads ディレクトリにアップロードされます。 f:id:noranuk0:20161118013335p:plain

もちろん、ゲーム機やスマホからも接続できます。

他のPCなどから接続するときは http://192.168.1.10:3000/ のように今回作ったWebサーバを立てたPCのIPアドレスを指定してください。

ローカルip 確認 - Google 検索

以下、new nintendo 3DSの場合です。

f:id:noranuk0:20161118084316j:plain f:id:noranuk0:20161118084324j:plain f:id:noranuk0:20161118084331j:plain f:id:noranuk0:20161118014403j:plain

ということで、無事、当初の目的が達成できました。

最後までお読みいただいてありがとうございます。

この記事が何かの役に立てば幸いです。

それでは。

続編書きました。登録済のファイル一覧の表示ができるようになっています。

noranuk0.hatenablog.com

【3DS】画面をスクショしてネット経由でPCに取り込む方法

こんにちは、のらぬこです。

今回は、ゲーム中の画面をスクリーンショットとして保存してWiFiなどのネットワーク経由でPCに取り込む方法のとりあえず最終回です。

最終回となる今回は、nintendo 3DSについての説明をさせていただきます。

スクリーンショット保存のために利用するmiivirseのサービスが2017年11月8日に終了する事が発表されました。この記事で書かれている方法は、2017年11月8日以降使用できなくなると思われます。

https://www.nintendo.co.jp/support/information/2017/0829_miiverse.html

新しいゲーム機を買ったら続編を書くかもしれませんが当面そういうことはなさそうです。

case 3 : nintendo 3DSの場合

前回Playstation vitaでのお話でした。

今回は、nintendo 3DSスクリーンショットを保存する方法、そしてそれをPCに取り込む方法を書いていきたいと思います。

スクリーンショットの保存方法

実は、nintendo3DSには、ゲーム画面のスクリーンショットを取って3DS内に保存する機能は標準では備わっていません。

その代わり、nintendoが運営している『Miiverse』というサービスを使えば、プレイ中の画像を投稿、保存することができるようになっています。

やり方は簡単です。

ゲームプレイ中、撮影したい場面で3DSのHOMEボタンを押し、画面の右上のほうにある『Miiverse』アイコンを押して、『Miiverse』を起動します。

なお、Miiverseはネットワークを使って外部のサーバと通信を行うため、WiFiネットワークが使えない場所では起動することができないので、そこだけ気を付けてください。

f:id:noranuk0:20161113181302j:plain

起動すると、以下のような画面になります。

画面が表示されたら、保存したい画面(上画面か下画面のどちらか)を選択して、「アルバムに保存する」ボタンを押してください。自動的に、スクリーンショット画像がMiiverseに保存されます。

f:id:noranuk0:20161113185934j:plain

なお、「エルミナージュゴシック3Dリミックス」や「大逆転裁判」等、アルバムへの保存ができないゲームもあります。

もしも、Miiverseを起動しても「アルバムに保存する」というボタンが表示されない場合は、残念ながらスクリーンショットの保存はできません。

PCへの取り込み方法

PC版のMiiverseにパソコンからWebブラウザで接続し、アルバムの画像をダウンロードします。

まずは、『Miiverse』にアクセスします。

画面右上のログインボタンを押してMiiverseにログインします。

マイページに移動して、「アルバム」というメニューを開くと、先ほど3DSで保存したスクリーンショットが保存されています。

画像を選んで、ブラウザの右クリックメニューなどから画像を保存してください。

というわけで、4回に分けて、ゲーム画面のスクショ保存&PCへの取り込み方法の解説をしてきました。

一部、対応していないゲームがあったり、すべてのゲームでうまくいくものではありませんが、少しでも読んでいただいた方の参考になれば幸いです。

今回の記事は以上となります。

お読みいただいてありがとうございました。

【PSVita】画面をスクショしてネット経由でPCに取り込む方法

こんにちは、のらぬこです。

今回は、ゲーム中の画面をスクリーンショットとして保存して、WiFiなどのネットワーク経由でPCに取り込む方法、の第三弾です。

case 3 : PS vita編

前回はPS4でのお話でした。

今回はそれに続きPS vitaの場合の、スクリーンショット保存方法、PCへの取り込み方法の話をします。

なお、今回紹介する方法は、PS vita、PS vita TV どちらのハードでも可能な方法となっています。

PS vitaでは、スクショ撮影保存からネットワーク経由でのPC取り込みまで、PS vitaに最初から備わっている機能でできます。

ただし、PC取り込みの部分については「コンテンツ管理」アプリがとても使いずらいので、そこの部分はそれ以外の方法をとることにします。

スクリーンショットの保存方法

PS vitaも、PS3PS4と同様に、ゲーム機の機能としてスクリーンショットを保存する機能が搭載されています。

やりかたは、スクリーンショットを保存したい画面で、「PSボタン」を押しながら「START」を押すだけです。

「カシャッ」というシャッター音とともに画面がフラッシュし、スクリーンショットが保存されます。

また、ゲーム中の画面のほかに、ホーム画面、PS Storeの画面など、ほとんどすべての画面をスクリーンショットとして保存することができるようになっています。

ただし、放送関連の利権集団の陰謀と思いますがtorne PS Vita」の画面だけはスクリーンショット保存ができませんでした。 テレビ視聴中の画面だけではなく、番組表画面、メニュー画面等すべてダメのようです。

f:id:noranuk0:20161112180755j:plain

PCへの取り込み方法

PS VitaからPCへの取り込みは、PS vitaに最初からインストールされている「コンテンツ管理」というアプリを使えばできるようになっています。

f:id:noranuk0:20161112182915j:plain

でもこのアプリ、やたら接続に時間が掛かる上に使いずらいので僕は使ってません。

同じくPS vitaにインストールされている「eメール」アプリを使って、自分あてに添付画像付きメールを送るのが簡単でおすすめです。

メールアカウントの初期設定が必要ですが、「gmail」もしくは「yahooメール」のアカウントをお持ちであれば、アカウントの情報を入れれば、すぐに使えるようになっています。

まずは「eメール」アプリを起動します。 f:id:noranuk0:20161112183923j:plain

画面右上の「新規作成ボタン」を押します。 f:id:noranuk0:20161112184013j:plain

画面右中央付近のカメラマークのアイコンを押して、「画像を選ぶ」を選択します。
画像の選択画面が表示されるので、PCに送りたい画像を選んでください。 f:id:noranuk0:20161112184133j:plain

元の画面に戻ってくると、選んだ画像ファイルが添付されています。 f:id:noranuk0:20161112184318j:plain

必要に応じて、タイトル、本文などを入力し(何も入れなくてもとりあえず大丈夫です)、送信ボタンを押せば、選択したスクリーンショット画像が添付されたメールが自分あてにが届きます。

なお、メールは使っていない、もしくはメールの設定はよくわからないという方は、vita用のtwitterアプリを使用する方法もあります。

PS store に「Live tweet(無料)」というアプリが公開されているので、そちらをダウンロードしてください。

アカウントを設定すれば、画像付きツイートを投稿するのと同じ感覚で、スクリーンショット画像をツイッター経由でPCに持ってくることができるようになります。

今回の記事は以上となります。

読んでくれた方の参考になれば幸いです。

【PS4】画面をスクショしてネット経由でPCに取り込む方法

こんにちは、のらぬこです。

今回は、ゲーム中の画面をスクリーンショットとして保存して、WiFiなどのネットワーク経由でPCに取り込む方法、の第二弾です。

case 2 : PS4

前回はPS3での話をしたので、今回はそれに続きPS4の話をします。

PS4も、PS3と同様にゲーム中の画面をスクリーンショットとして保存する機能が最初から本体に搭載されています。

PS4をお持ちの方はご存知と思いますが、PS4では静止画だけではなく動画も保存できたりゲーム機の機能でゲーム実況ができたりと、PS3に比べて格段に進化しています。

動画や実況の話はおいておいて、この記事はゲーム中の静止画保存とPCへの取り込みというお題で書いていきます。

スクリーンショットの保存方法

操作は簡単です。

ゲームプレイ中、スクリーンショットを保存したい場所で、コントローラの「SHARE」ボタンを押します。

f:id:noranuk0:20161112003309j:plain

上のような画面になるので、ここで△ボタンを押せばスクリーンショットが保存できます。

なお、□ボタンを押すとビデオクリップ(プレイ動画)を保存することもできます。

PS4では、ほとんどのゲームでスクリーンショットの保存ができるようになりましたが、ペルソナ5等、ほぼすべてのシーンでスクリーンショットの保存を禁止しているゲームも存在します。

また、一部のシーンのみスクリーンショットの保存が禁止されているゲームもあるようです。

PCへの取り込み方法

先ほどの画面の上から2番目の項目「スクリーンショット」を選んで、とりあえずFacebooktwitterに投稿してしまうのが 簡単です。

f:id:noranuk0:20161112003648j:plain

f:id:noranuk0:20161112003909j:plain

facebookは使っていないのでわかりませんが、twitterなら一度に4枚までの画像をまとめて投稿することができます。

もし、自分のタイムラインを汚したくない場合は、スクリーンショット画像投稿用の鍵アカを作って、PS4のアカウント設定でそちらのアカウントを指定してあげればよいかと思います。

PS4はハードの機能が非常に充実しているので、スクショの保存も、PCへの取り込みもサクッと簡単に行うことができます。

今回の記事は以上となります。

読んでくれた方の参考になれば幸いです。

【PS3】画面をスクショしてネット経由でPCに取り込む方法

こんにちは。のらぬこです。

ゲーム中の画面をキャプチャーして、スクリーンショットとして保存したくなったことないですか?

用途は様々だと思いますが、例えばブログやTwitterfacebookに写真をアップするためだったり、ちょっといい感じのシーンなので保存しておきたいとかでしょうか。

今回から数回に分けて、僕が持っているゲーム機限定にはなりますが、ゲーム中画面を静止画キャプチャーしてPCに取り込む方法を書いてみたいと思います。

なお、必要なものは、ゲーム機とPC、あと、ゲーム機によってはデータ受け渡し用のUSBメモリーがあったほうがいいです。

お金をかければ、静止画だけでなく動画もキャプチャー出来たりとやれることが色々増えるのですが、うん万単位のお金がかかる*1ため、そういうのは今回は諦めることにします。

また、PCに取り込む際、ケーブルで繋いだり、USBメモリーを抜き差ししたりというのはちょっとめんどくさいと思うので、なるべくWiFiなどのネットワークを介して転送する方法を紹介しようと思います。

case 1 : PS3

ということで、まずは、PS3の話をしたいと思います。

前置きとか

PS3ゲームには、スクリーンショット保存に対応したゲームと対応していないゲームがあります。

対応していないゲームの場合は、残念ながらお金をかけずにスクリーンショットの保存、PCへの取り込みを行うことは出来ません。

ちなみに、どのゲームが対応しているか、なのですが、残念ながらゲームのパッケージなどにはおそらく記載されていないため、購入して遊んでみるまではスクリーンショットが保存可能かは分からないと思われます。

スクリーンショットの取り方

ゲームで遊んでいるとき、今のシーンを保存したいって思ったタイミングでコントローラのPSボタン(ちょうど中央の丸い小さなボタン)を押します。

XMBが表示されるので、矢印ボタンで「フォト」に移動します。

スクリーンショットが保存できるゲームの場合には、この中に「スクリーンショットの保存」という項目が表示されます。

f:id:noranuk0:20161110233827j:plain

保存できないゲームの場合には、どこを探してもそういう項目は見つかりません。

f:id:noranuk0:20161110233833j:plain

項目を選択後、「〇ボタン」を押すとスクリーンショットが保存されます。

保存したスクリーンショットの取り込み

今年の初めごろまでは、フォトギャラリーアプリから、Picasa というサービスを利用することで、インターネット経由でPCにファイルを送ることができました。

しかし、Picasaのサービスが終了してしまったため、これが使えなくなってしまいました。

今でも一応、USBメモリーなどを使わずに、画像ファイルをPCに転送することもできますが、少しめんどくさいです。

そのやり方ですが、ファイルをアップロードできる外部のサービスを利用します。

PS3のWebブラウザでファイルをアップロードできるサービスを開き、画像ファイルを一旦外部のサーバにアップロードします。

アップロードしたら、今度はPCからそのサービスに接続して、先ほどアップロードしたファイルを持ってくればいいわけです。

この方法であれば、ネットにさえ繋がっていれば、USBメモリーや、PSPなどを用意する必要はありません。

ただ、PS3のWebブラウザ、かなりしょぼいので、今どきのリッチなWebUIはきちんと表示してくれません。 gmail, google drive, onedrive と試しましたがすべて正常にページがロードできませんでした。

いくつかのサービスを試してみたのですが、とりあえず僕が試した限りでは、「普通のあぷろだ」でうまくいきました。

ということで、「普通のあぷろだ」を使用して、PS3内の画像をPCに転送する方法を説明します。

まずは、PS3でWebブラウザを立ち上げます。

f:id:noranuk0:20161111004514j:plain

「普通のあぷろだ」のページに行きます。△ボタンを押すと、検索というメニューがあるので、「あぷろだ」で検索すると一番上に出てきます。 f:id:noranuk0:20161111004536j:plain

なお、毎回検索するのもめんどくさいので、何度も使いたいという方は、Webブラウザのお気に入りに登録しておくとよいと思います。

「普通のあぷろだ」のサイトが表示されたら、画面真ん中あたりの「参照」ボタンを押します。

参照ボタンを押すと、PS3に保存された画像を選ぶことができるので、PCに送りたいスクショ画像を選んでください。

f:id:noranuk0:20161111004722j:plain

ダウンロードパスワード、削除キーを入力して、「利用規約に同意して投稿する」を選べば、ファイルがアップロードされます。

アップロードが完了したのを確認したら、PCで「普通のあぷろだ」のページを開いて、目的のファイルをダウンロードします。

f:id:noranuk0:20161111005009p:plain

なお、このやり方は、Webブラウザが搭載されたゲーム機であれば、どのゲーム機でも(おそらく)使うことが出来る方法です。

覚えておけば、なにかの役に立つかもしれません。

また、外部のあぷろだを使わなくても、PCの中にじぶん専用あぷろだを立てることも少し頑張れば可能です。

機会があれば、紹介したいと思います。

記事書きました ⇛ nodejs+expressで自PCにオレオレあぷろだをつくる - のらぬこの日常を描く

今回の話は以上となります。

次回は、PS4でゲーム中のスクリーンショットを撮ってPCに持っていく方法を書いていきたいと思います。

*1:ビデオキャプチャーボードとかカメレオンとか

全部無料⇒プライベートgitリポジトリ+CI環境+Issue管理。 VisualStudio Team servicesのススメ

こんにちは。のらぬこです。

gitリポジトリやタスク管理ツール、CI環境等、開発に必要な周辺ツールも最近はクラウドで使えるものが色々出てきて、自分であれこれサービスを立てなくてもソース管理やタスク(Issue)管理、自動テスト/ビルド等の環境が整うようになってきました。

Gitリポジトリだとgithubbitbucketなどが有名ですし、タスク管理ならTrelloなどがあります。

また、CI環境についてはJenkinsが有名ですが、クラウドサービスだとCirleCITravisCIなどが存在します。

さて、この手のサービスの紹介記事では全く話題に上がらないけど、 これらの機能が、プライベートな環境で、無料、無制限に使えるすごいサービスがあります。

今回紹介するのは、Microsoft が運営している「Visual Studio Team services」というサービスです。

Visual Studio Team servicesとは

Visual Studio Team servicesとは、プライベートgitリポジトリredmineとjenkinsあたりのサービスが1つになったようなクラウドベースの開発支援サービスです。

Visual Studio と銘打ってますが、VisualStudio持ってなくても、MSDNサブスクリプション持っていなくても誰でも無料で使うことができます。

そして、無料で使えるにもかかわらず、プロジェクト数やリポジトリ容量などの制限がとても緩いのが特徴です。

ただし、5人以上のチームでプロジェクトを共有する場合には有償となるようです。

詳細は、公式ページの説明を読んでいただくのが早いかもしれません。

Visual Studio Team Services - クラウド開発ツール | Microsoft Azure

  • 無制限で無料のプライベート コード リポジトリ
    • 作成できるのはプライベートリポジトリのみですが、容量、数の制限はありません。
    • なお、パブリック公開リポジトリは作れません。
  • すべてを 1 か所から追跡
    • redmine のようなチケットベースのタスク、障害管理システムが使えます
  • クラウドの機能を活用した継続的な統合とデプロイ
    • Visual Studio のプロジェクトだけでなく、xamarin、mavenandroidxcodeなどにも対応した高性能なCI環境が使えます。
    • Azreであれば、自動デプロイの機能がCIツールに備わっています。
    • AWSなどMS以外の環境へのデプロイについては、頑張ればできるのかさすがに無理なのかは調べてません。

欠点

ユーザインタフェースが英語のみです。

トップページは日本語なのですが、中のコンテンツは英語のみです。

普段から、EclipseAndroid studio、Unityやxcodeなどをお使いで、英語環境での開発に慣れていれば困ることはきっとないと思いますが、普段からVisual Studio等の日本語開発環境を使われている(とてもうらやましい)方は最初ちょっと大変かもしれません。

また、ネイティブなandroidアプリ開発で使用する場合、CI環境(自動Build)がうまく動かない可能性があります。

androidアプリな方は、以下の記事の通りBitBucket + bitrise + fabric(Crashlytics)の組み合わせがおすすめです。 noranuk0.hatenablog.com

とにかく使ってみる

以下、2016年11月の情報です。登録方法や、使用開始までの画面などは今後変更されるかもしれません。

まずは、gitリポジトリが使えるようになるまでの話をします。

[STEP1] 公式サイトを開いて、画面左下の「はじめる」ボタンを押します

[STEP2] Microsoftアカウントの情報を入力します。

  • Windowsのサインインで使用しているアカウントやOnedrive/outlookのアカウントがあればそれでもかまいません
  • お持ちでない場合には、http://www.outlook.com からメールアカウントを取得してしまいましょう
  • f:id:noranuk0:20161108234055p:plain

[STEP3] アカウントの作成画面で必要な情報を入力します

  • プロジェクトダッシュボードのURL、コード管理に使用するツールを選択します。
    • コード管理ツールはgitでよいかと思います。
  • 続行ボタンを押せば完了です。確認画面などもなく、すぐにアカウントが作成されます。
  • f:id:noranuk0:20161108234105p:plain

[STEP4] アカウント作成完了!

  • Visual Studio Team services の各種サービスを使うための準備はこれで完了です
  • アカウント作成と同時に、MyFIrstProjectというプロジェクトが作成され、gitリポジトリも使えるようになっています。
  • この画面の説明はたぶん不要と思うので省略です。
  • 鍵の登録方法は、Lern more about SSH のリンク先に書かれています。
  • SSH 以外にhttps も使えます。この場合は https + basic認証となります。
  • 作成されたgitリポジトリはプライベートリポジトリとなっており、自分(とプロジェクトに参加させたチームメンバ)以外は参照することができません。
  • f:id:noranuk0:20161108234113p:plain

[STEP5] 新しいプロジェクトを作る

  • さすがに MyFirstProject をずっと使い続けるわけにもあかんので、本番用プロジェクトを作ります。
  • 画面左上の「MyFirstProject」と書かれている部分をクリックするとプルダウンメニューが出てきます。
  • 下のほうにある「New Team Project」を選択します。
  • モーダル内に必要な情報を入力し、Create project ボタンを押せば、数秒ほどで新しいプロジェクトが作成されます。
  • f:id:noranuk0:20161108234134p:plain

まとめ&最後に

というわけで、10分ほどで、ほぼ無制限の容量を持つプライベートなgitリポジトリを無料で使えるようになりました。

githubやbitbucketでもプライベートリポジトリを使うことはできます。

しかし、githubの場合は若干お金がかかります。bitbucketには無料プランもありますが、容量の制限が存在します。

その点、Visual Studio Team servicesであれば、容量などを気にすることなくプライベートなgitリポジトリを使うことができます。

さらに、タスク管理や、CI環境なども無料で使用できるのですから、個人開発者さん等、その手のお金はなるべくかけたくないといった方、一度試してみてはいかがでしょうか。

Visual Studio Team serivcesのCI環境の話については、需要がありそうであれば、いずれ機会を見て書きたいと思います。

今回の話は以上となります。

この記事がどなたかの参考になれば幸いです。

Visual Studio Team ServicesにプッシュしたリポジトリをAzureに自動でデプロイする方法を記事にしました。 AzureのWebAppから無料プランを選択すれば、Webサービスホスティングまで全部無料(ただしそれなりの制限はあります)で運用することもできるようになります。 noranuk0.hatenablog.com

超久しぶりに再開した「ペルソナQ]、2年の間を開けてクリアしました!

こんにちは。のらぬこです。

今回は、最近クリアしたゲーム、ATLUSから2014年に3DSで発売された「ペルソナQ シャドウ オブ ザ ラビリンス」のお話です。

f:id:noranuk0:20161106111634j:plain

2014年の中ごろに3DSで発売されたペルソナシリーズの外伝?的なゲーム「ペルソナQ」。

発売日直後に購入したけど途中で投げて、その後長らく放置されていたのですが、先日ようやくクリアしました。

f:id:noranuk0:20161106113159j:plain

プレイ後感を一言で言うならこんな感じ↓

プレイしてよかった!

クリアしてよかった!!

シナリオもよかったし、ダンジョンゲームとしても最後まで面白かった!!

クリアまでのプレイ時間は約90時間。
サブクエストは大体クリア。
クリア時のレベルは70くらいです。
マップは大体埋めていますが、100%ではないです。
ただ、マップ埋め報酬宝箱はゲームコインのお世話になりつつ一応全部開けてます。

レベルに関しては、65くらいでクリアできる想定っぽいのでちょっと高めかも。

f:id:noranuk0:20161106113209j:plain

ペルソナQって?

登場キャラクターは「ペルソナ3」「ペルソナ4」(+今作オリジナルキャラ二人)、システムは「世界樹の迷宮」と同じ感じの3Dダンジョンゲームです。

細かい話は、序盤のネタばれありますがWikipedia参照いただけるとイメージつきやすいかと。

ゲームシステムについても、ベースとなっているのは世界樹の迷宮ですが、バトルなんかにはペルソナらしさがうまいこと取り入れられています。

f:id:noranuk0:20161106115854j:plain

レビューっぽいこと

シナリオについて

公式さんにより、シナリオのネタバレは固く禁止されているので控えますけど、裏にシリアスで重たいテーマが隠れているのですが、ペルソナキャラがいつものあんな感じ(ペルソナ4アニメ版想定)でなんかいろいろやりつつ話を進めていく感じです。 舞台(拠点)となるのは文化祭真っ最中の某学校なのですが、校内での会話パートもほわ~んとしてまったり楽しめます。 コミュランクの要素とか「知識」「魅力」などのステ上げ等、本編ペルソナ的な要素はないので、校内パートはおまけ要素的な意味合いも大きいとは思いますが結構なボリュームもあったし、いかにも学校の文化祭っぽい関連クエストなんかもそこそこあってすべての要素がしっかり楽しめました。

迷宮攻略

迷宮の謎解き(ギミック)は、そこそこ頭を使います。

また、本編とは一応無関係の一部サブクエストで依頼される謎解きは結構難しいです。

基本はFOE(超強敵)を避けつつ少しずつ道を開いていくっていうスタイルですが、5つの迷宮それぞれに異なるアレンジ、仕掛けが組み込まれていて最後まで楽しめました。

例えば、動く床をうまいこと利用して最短経路でたどり着くとか、敵をうまく誘導して道を作るなどのギミックが、迷宮のテーマに沿ってうまくアレンジされています。

構造も、特に4つ目の迷宮とかは悪意を感じるほどによく練られています。

とりあえずマップ埋めて鍵拾ってドア開けて進んでいくみたいなタイプではないので、攻略サイトとか見ないで進めるのであれば、かなりやりごたえがあると思います。

ちなみに僕は、たぶん3回ほど攻略サイトのお世話になりました。

戦闘パート

戦闘もかなり歯ごたえがあり、終盤も「ムド」「ハマ」系は1回の戦闘につき1回までっていう個人的縛り入れたせいで、難易度EASYにしたにもかかわらず相当きつかったです(主にMP的に)。

今作には、スキル(MP消費、HP消費)で敵の弱点を突くと、次ターンのスキル消費が0になるっていうシステムがあります。 半面、コストはかなり高めに設定されており、またMP回復アイテムや、保健室(HP/MP回復施設)の利用料もそれなりの値段がします。 なお、弱点攻撃しても敵が必ずダウンするわけではなく、弱点突いても普通に反撃もしてきます。

このバランスは賛否あるようですが、個人的には、最近のアトラスRPGの「弱点突いてダウンさせてフルボッコ」的な味付けよりは、今作のシステムのほうがいいかなーと思っています。

まとめ

ひと月半ほど前ペルソナ5買ったんですが途中で飽きまして、はるか昔に途中で投げてたペルソナQを再開したら意外と面白くて、最後まで一気にプレイしてしまいました。

ちなみに、ペルソナQを途中で投げた理由なんですが、あんま覚えてないんですが、某所のギミックが解けなかったから。だと思います。

再開してみたら、あれ、どこで詰まってたんだろうっていう感じですんなり先に進めたので、実際どうだったかちょっと不明。

ちなみに、ペルソナQですが、定価は7000円くらいするのですが、現在は新品、中古共に、かなり安く購入することができます。

ペルソナシリーズが好きで難易度高めのダンジョン物がお好きな方には楽しめると思います。

よろしければ、遊んでみてはいかがでしょうか、ってことで。

ペルソナQ シャドウ オブ ザ ラビリンス - 3DS

ペルソナQ シャドウ オブ ザ ラビリンス - 3DS

  • 発売日: 2014/06/05
  • メディア: Video Game

ペルソナよく知らないけど世界樹ファンってかたは、うーん、どうだろう。。。

追記

(祝)ペルソナQ2発売決定! 先日、ペルソナQ2発売の発表がありました。 ペルソナ3、4に加え、ペルソナ5のキャラクターが参戦し、ボリュームもその分大幅アップと期待しております。 ペルソナ5は本編は途中で投げてしまいましたが、執筆時点で放映中のアニメ版は楽しく見させていただいております。

ペルソナQ2 ニュー シネマ ラビリンス - 3DS

ペルソナQ2 ニュー シネマ ラビリンス - 3DS

  • 発売日: 2018/11/29
  • メディア: Video Game

追加DLCで配信されるペルソナ3,4,5のバトルBGMが、先着購入特典として付与されるようです。 ちなみに、ペルソナQみたいな追加ナビヴォイスも配信されるんでしょうか。 個人的には、ダンジョントラベラーズ2-2のように、追加ダンジョンなども配信されるとうれしいのですね。 追加シャドウ数体+経験値&所持金増加アイテムみたいな感じだとちょっとがっかりかもw

おまけ

プレイ途中で投げ出してしまったペルソナ5の記事はこちら

noranuk0.hatenablog.com