底辺過ぎてちょっとビビる

26歳からIT業界にいるエンジニアが、まったく成長できてないことを確認するブログ。備忘録的に使いたいとも考えています。

【XAMPP】メール送信に失敗する【mb_send_mail】

XAMPP環境でメール送信を実行するアプリケーションを作成してみた。

 

現在の参考書籍はこれです。読み物としても面白い...

Head First PHP & MySQL ―頭とからだで覚えるWebアプリケーション開発の基本

Head First PHP & MySQL ―頭とからだで覚えるWebアプリケーション開発の基本

 

 

そもそも、XAMPP環境(というかPHPで)メール送信をするにはどんな事が必要か?というのをまとめようと思ったけれども、検索すれば死ぬほど出てくるしわざわざ改めて書き出すのも無駄な気がしてきたので、リンク先の力をお借りすることにする。

 

今回、メールはGmailを利用することにする。他のメール(例えばYahooメールなど)の場合はiniファイルの設定値を同じように変更するだけなので、調べれば出てくるはず。

 

 

php.iniを以下のように編集(元になるiniファイルはバックアップをとっておく)

[mail function]
; 下記の設定はそのままでよい。
SMTP=localhost
smtp_port=25

; sendmail_path を下記の値にする。
; sendmail_path の項目が存在しなければ、
; [mail function] の章内に作成する。
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

 

sendmailフォルダ直下のsendmail.iniを以下のように編集

(同様にバックアップをとっておく)

; 下記の値にする
smtp_server=smtp.gmail.com

smtp_port=587

auth_username=(Googleのメールアドレス)
auth_password=(Googleのパスワード)

 

③また、「セキュリティ」の問題でメールがブロックされることを阻止するため、以下のようにアカウントの設定を変更しておく。

メール送信に使いたいGoogleアカウントでログインし、下記のページを開きます。

https://myaccount.google.com/lesssecureapps

そして、「安全性の低いアプリの許可」を有効に変更しておく。

 

④送信テスト用のコードを書く

<?php
$from = '(送信元のメールアドレス)';
$to = '(送信先のメールアドレス)';
$subject = '件名: テスト送信';
$message = <<< EOF
{$from}より。

こんにちは。
これはテスト送信です。
EOF;

if (mb_send_mail($to, $subject, $message, "From: {$from}")) {
echo '送信成功。';
} else {
echo '送信失敗。<br>エラーログを確認してください。 (xampp\sendmail\error.log)';
}

 

⑤これでローカル環境でメール送信するための準備が整ったので、あとはコードを実行すればメールが送信されるはず。

 

⑥ここで自分の場合、PHPを実行すると以下のようなエラーログが吐かれていた。

18/09/30 22:59:00 : Socket Error # 11001<EOL>Host not found.

 

調べても何もわからなかったので、非常に困ったがsendmail.iniの以下の箇所へのタイポ(いわゆるタイプミス・誤植)が原因だった...

smtp_server=smtp.gmail.com ←ここをなにか別の文字列で設定していた

 

 

しょうもないタイポで何度も色んなサイトで原因を探ってしまい、無駄な時間を消費してしまったというエントリーでした。

 

PHP5徹底攻略 エキスパート編

PHP5徹底攻略 エキスパート編

 
PHP5徹底攻略

PHP5徹底攻略

 
初めてのPHP5

初めてのPHP5

 
WordPress プラグイン&WebAPI 活用ガイドブック [Version 3.x対応]

WordPress プラグイン&WebAPI 活用ガイドブック [Version 3.x対応]

 
基礎からのMySQL 改訂版 基礎からシリーズ

基礎からのMySQL 改訂版 基礎からシリーズ

 

【みんなどうしているのか】フリーランスの単価交渉

技術(力)もないのにフリーランスシステムエンジニアやってるわけですが...

 

技術力がないので、案件紹介で気になるのは「単価」よりも「業務内容」の方なのでタイトルほど単価は気にしない(出来ない)ほうです。過去の言語経験や業務経験から遡って対応できそう、というものを間に入ってる営業会社からチョイスしてもらってそこから案件を選択してます。最近はもうしばらく実装から離れているので、もっぱらテスト設計の案件に入れるようにしてますが、技術力の低下に拍車がかかってる気がしてなりません。

 

閑話休題、最初に「Nヶ月更新」という条件で案件に入ったあと、「延長依頼」がきてそのプロジェクトを継続するか悩んでる場合に「仕事の内容はまぁいいとして、単価上げてくれないかな~」って思う場面ないでしょうか?

 

リーマンショックのときに、どこも単価がアホみたいに下がった上に要求経験は天井知らずという状況がありました。その時は「どこも不況だし、この単価でもしょうがないかな~」と納得していましたが、今は状況が違います。当時の日経平均は1万円台で、底では7000円台にもなっていました。今は、日経平均2万円台と回復してます。企業の業績も上がっていて、いい加減企業の言うとおりの単価で納得してる場合じゃない、と思います。

 

ところが、「エンジニア 単価交渉」などのキーワードで検索してもあまり強気になれなそうなページばかりひっかかります。曰く、「1年は状況をみて、それから初めて単価交渉できる~」「単価交渉はそのプロジェクトでどれだけ貢献出来たか、改善できたかがなければするべきではない~」など。

 

あくまで技術者は顧客企業の下請け、というのを肝に銘じるべき、というような言説が並びます。たしかに仕事をもらっている立場であることには事実なわけですが、単価交渉するにも1年も時間が必要とは正直ショックです。

 

というのも今入ってるプロジェクトは6月からなので大体3ヶ月。いいタイミングだと思ったので「5%くらいの単価上昇をお願いしようかな」と考えていたからです。単価50万なら25000円、60万なら30000円、70万なら35000円です。プロジェクト全体で予算は決まっているだろうから、いきなり単価の上昇をお願いするのは難しいかもしれませんが、受け入れ先からすればいつでも切ろうと思えば切れる状況でエンジニアの立場はとても弱いです。なので、稼げるときに稼ぎたいと考えるのは普通に思えるのですが...

 

そもそも「3ヶ月単位で更新」であればまだいいほうで、「1ヶ月更新」とかけっこうザラなわけです。企業側が「1ヶ月単位で更新」という綱を握っているなら、こっちは「1ヶ月単位で単価交渉するぞ」というほうが健全なのではないでしょうか?

 

  • 1ヶ月毎に単価交渉も大変なので、企業側が「3ヶ月、6ヶ月」と最初から契約期間をある程度定める。
  • エンジニア側は「最低3ヶ月、6ヶ月と仕事が確保される安心感を得る(その期間は当然単価交渉はない)」

 

というWIN-WINな関係が見えてくると思うのですが。

 

エンジニアの単価は平均1人月100万と言われていますが(あるテスト系でシェアを伸ばしている企業は1人月150万でプロジェクトに入れていました)、実際そこからエンジニア個人に降りてくる金額は考えられないほど低いです。1次請け、2次請けなどが間に入りよくわからない形でお金が搾取されているからです。SIer業界では有名な話ですが。

 

何もしてない間に入ってる人売りSIerに美味い汁を吸わせてる場合じゃないです。

(ちなみに今回の延長話では、とりあえず現状維持で契約延長ということにしました。ヘタレですね....)

 

 

ソフトウェア見積り 人月の暗黙知を解き明かす

ソフトウェア見積り 人月の暗黙知を解き明かす

 
人月の神話【新装版】

人月の神話【新装版】

 
人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

 
ソフトウェア開発はなぜ難しいのか ~「人月の神話」を超えて (技評SE選書)

ソフトウェア開発はなぜ難しいのか ~「人月の神話」を超えて (技評SE選書)

 

 

初めてチームリーダーになって思ったこと

今あるプロジェクトのテストチームのリーダーとして日々業務をこなしている。

 

最初の業務面談では「テスター」の業務内容を説明されて、まったくやる気が出なかったので一通り説明を聞いて断ろうと思っていたが、先方が「自分の経歴から鑑みてテスターではなく、テストチームのリーダーとして参画して欲しい」とのことだったので悩んだすえ参画することを決めた。なんで悩んだかといえばリーダーとして業務に関わったことがなかったからだ。ただ、業界経験年数もある程度重ねた中で今後もずっと「いちメンバー」としてしかやったことがないというのもヤバイと常々思っていたし、いわゆる開発(実装)ではないし、そこまでハードルが高い事ではないと考え、決断した。

 

↓ こんな感じで悩んでた

starscream.hatenablog.com

 

テストチームメンバーはおそらく自分より少し上のおじさんと10歳位下っぽい男性の二人ということがわかった。彼らは自分より少し先にプロジェクトに参画しており、先にテスト業務を進めていた。そして自分の上にプロパーの社員が一人おり彼がある程度自分の業務を見てくれている。そういうわけで、完全に独立したチームのリーダーではない。プロパー社員になにかあれば聞きに行くスタンスなので、甘えまくっている。

 

リーダーとしての仕事

テスト業務の進捗管理が主な仕事。テスト、といってもなにかデータを用意して画面操作した結果のエビデンスを取るとかバッチを起動してDBのログを確認するとかそういうのではなく、他のテストチームで実行した結果のログを検証するテストだ。

 

今のプロジェクトでは大体50個前後のテストが走っていて(まだ環境整備などで走っていないところもあるが)、それらのテストで実行される処理群がすべて実行されているかを検証するテストといった感じ。なので、特別なスキルは不要で日々実行された結果のテストログを確認できていれば良い。

 

そして自分はそのテストログの確認作業がどれだけ日々進んだかをExcelで積み上げて報告する。ログの確認なので、テストの実施状況に左右されるため日々のログは実は必ず格納されるとは限らず思ったように積み上げが進まないのが難点で、すでにテスト終了予定日は1ヶ月も遅れることが確定している。

 

それと進捗とは別に報告書というのを作成する。だいたいメインとなるその2つがテストチームリーダーとしての仕事である!薄い!本来ならログ確認用のツールなんかも作るのだろうが、すでに作られていてやることがなかった。

 

リーダーとメンバーの関係

テストチームのメンバーの二人とはメンバーとリーダーということで立場が違うが、業務的な立ち位置が違うだけで実はほぼ同じレベルにあると思っている。これがプロパーと非プロパーなら会社的な客と発注側ということで上下関係も出来るのだろうが、今回のテストチーム内の人間関係でいえば完全にフラットな状態だ。ただ、そう思ってるのは自分だけで、メンバーの二人からすれば「もっとリーダーらしいことしてくれよ」と思っているのかも知れない。

 

一応毎日何かしら業務の進め方や思ったことなどを会話できていて、関係性は良好だと思っている。テスト業務の難度がもう少し高ければ「どうやってテストをするか」などの話し合いも出来ただろうが、易しすぎる(ひたすら機械のようにログを確認するだけ)のでその辺のやりとりはない。毎日同じ作業の繰り返しなので、モチベーションの維持のほうが心配だ。

 

リーダーとして

初めてリーダーとして業務をして思ったのはスケジュール管理だけなら本当に簡単だな、ということ。日々上がってくる進捗に対して「進んでる、遅れてる」と判断して、遅れてるならどうやってリカバリするかを考えるだけで良い。そのリカバリ方法も「もうちょっとペース上げて」くらいの事をいうだけ。質問されて答えられないことがあればプロパーに質問をあげるだけなので、プロパーのほうがリーダーとしてふさわしいのでは?という気持ちがいっぱいである。(おそらくプロパーの業務が手一杯なので、進捗管理を外部委託するという役割で自分がいるのだろうと思う)

 

本当のリーダー業務とは違うなぁと思っている。本来ならどのように業務をするか、どの業務を割り振るかを考えたり、何かあれば相談にのるのがリーダーだろうと思う。今やってるのは名ばかりリーダーだ。ただ、まぁ業務的に出来ることがこの辺なので今後の糧としたい。

 

中間管理録トネガワ(7) (ヤングマガジンコミックス)

中間管理録トネガワ(7) (ヤングマガジンコミックス)

 
最高のリーダーは、チームの仕事をシンプルにする (単行本)

最高のリーダーは、チームの仕事をシンプルにする (単行本)

 
イラストでパッとわかる チームリーダー1年目の仕事のルール

イラストでパッとわかる チームリーダー1年目の仕事のルール

 
マンガでよくわかる 教える技術2 <チームリーダー編>

マンガでよくわかる 教える技術2 <チームリーダー編>

 

SQLをしばらく使ってないとすぐに忘れる

SQLってしばらく使ってないとすぐに作法を忘れてしまう。SQLに限らずプログラム言語はまんべんなくそうなので、SQLに限った話ではないのだけど。しばらくテストフェーズに関わる期間が長くて、実装から離れていたのもあるし設計もだいぶ関わってない。そうなると、DBを操作する機会(というかデータを意識する機会というか)もけっこうなくなってきていて、そんな状況で急にSQLを使うような場面になると「あれ、どうやってデータ取得すればいいんだっけ」という風になる。だいたい期間としての目安は半年くらい。それくらいですっかり忘れる。

 

あわててSQLのリファレンスを開いて、「あーこうだったこうだった」とSQLを組むのだけど、なんかアホらしいというか、なんでこんなに身になってないのかって考えてみると、場当たり的にリファレンス開いてやってるからだろうなと思う。取り繕って仕事をこなしても結局うわべだけのものなので、本質的に身になってない。

 

SQLとはいってもDBのチューニングとかそういった高度なことではなく、データ操作系のDML程度のことがすぐに記憶から抜け落ちるので、本当に程度が低くて恥ずかしい。エンジニア2年生でも出来るようなことが出来ないことが多くて本当に恥ずかしい。

 

恥ずかしくてたまらないので、本を買って復習することに決めた。いろいろとSQLに関する本はあるけれど、自分にぴったりそうな本があったので、最近はこれで勉強をしている。 

書き込み式SQLのドリル 改訂新版

書き込み式SQLのドリル 改訂新版

 この本の良いところは、本当に簡単なSELECT文からデータ定義までを一通り学び直すことが出来ること。書き込み式、とはなっているが、実際にRDBMSをインストールしてSQLを叩くと構文エラーとかもわかるので、そちらのほうがいい気がする。自分はXAMPPをインストールして、MySQLで実際にSQLを動かしてみている。付録のCDにテーブルとデータが格納されているので、自分でデータを準備しなくていいので楽。

 

なにより実際の現場で使えるSQLをそのまま身につけられるので、ただ本を読むタイプよりもより理解が早いし、自分には合ってると思った。

 

恥ずかしながら、GROUP BY句の使い方として、集計関数(例:AVGなど)を組み合わせて使うのが一般的なことをこの本を読むまで知らなかった。そしてもっと恥ずかしいのはGROUP BY句でグループ化を行う場合に、取得列にはグループ化キーとその集計対象となる列しか指定できないことを知らなかった。どれだけ今まで「なんとなく」でSQLを使ってきたのか...

 

住所別に生徒の年齢平均を知りたい、という場合のGROUP BY句で指定するのは

SELECT
address,
SVG(age)
FROM
student_info
GROUP BY address;

上記のようにaddressだけしか指定できない、ということなのだけど、
そういった事情を知らなかったため関係ない列(たとえば、生徒名など)を指定してしまっていたりした。
実際実行すればエラーを吐くので、その部分を修正するのだけど、本質を理解せず漫然と修正していたわけです。

「なぜエラーになるのか」なんていうことを人に聞くのはいい加減憚れる年齢になってきたので、この本は非常によい。

また、いままであるのは知っていたけど、
使ったことのなかったHAVING句の使い方についても学ぶことが出来た。

たとえば、先程のSQL結果では住所別に年齢平均が出力されるが、
さらに出力条件を絞る(例:20歳未満だけを抽出)なんていうときは
HAVING句を使うとシンプルでわかりやすいことを知った。

SELECT
address,
SVG(age)
FROM
student_info
GROUP BY address
HAVING AVG(age) < 20

HAVING句を使わずとも、WHERE句の中でBETWEENを使って
範囲指定をしてもいいのだろうが、(いままでは多分その方法を使っていた)
当たり前の常識として「HAVING句」というのもあるのだ
ということを知れただけでだいぶよい。

自分のようなエセエンジニアな人は多くはないだろうけど、
ちょっとSQLから離れてしまい改めて覚え直したいと思ってる人や、
エンジニア初心者でSQLの勉強をしたいと考えてる人にも
ぴったりな本だと思います。

とくにDBの制限はないので、Oracleだろうが、MySQLだろうがPostgreSQLだろうがSQLServerだろうがACCESSだろうが関係ない本なので。

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)

[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス

 



 

 

【ゲーム感想】FinalFantasy15(FF15)をプレイしました

ゲオでゲームソフトのセールがあったので、興味はあったもののプレイしてなかったFF15を買いました!とはいえまだFF15が発売される前に、

というエントリー内でボロクソに言ったゲームだったので、期待半分という感じで始めてます(偉そうな言い方だなおい...)。ちなみにプレイ前に他の人のレビューは見ないようにしていました。他人の感想に流されてプレイするのも失礼だと思ったので...

 

で、やっとこクリアしました。ネタバレなしに語れないため、今回ネタバレありです。ご注意ください。

 

 

f:id:starscream1999:20180716130715p:plain

クリア後改めて見直すと感慨深いロゴ

 

FFというゲームで重要な位置を占める、バトルについて

ゲームを起動すると、いきなりゲームを進めることもできるが今回のFF15アクションRPGということで、アクション操作に関するチュートリアルをすることを勧められる。正直アクションは得意ではないので、チュートリアルを行って操作の感覚に慣れる。今作の主人公ノクティスは武器を最大4つまで装備することができて、それぞれの武器(魔法も含めて)切り替えながらバトルをする。また、バトルフィールド内に武器を投げつけて瞬間移動をするという、平面だけでなく空間を利用した戦いを行えることも特徴。瞬間移動した先ではHPやMPを回復することができて、体制を整えたりする場にもなる。

 

飛び道具は銃があるが、基本的にダメージが低いので装備せず、ありきたりだが片手剣などをメインに装備して戦うと結局殴り合いみたいな感じになる。魔法を使うと大ダメージを与えることができるが魔法の効果範囲に味方がいた場合、敵モンスターだけでなく味方にも被害が出る仕様なので使うタイミングが難しいが、めんどくさいのでガンガン魔法を使ってしまう。味方だけならまだしも何故か?自分にも被害が出てしまう。

 

魔法を投げる(今作では魔法はボールのようなものを投げつけると発動する)タイミングで、効果範囲が視認出来ればいいが、出来ないのがちょっとな~と思った。

 

過去のFFでは雑魚だったモンスターが結構強い。プリンとかゴブリンとかが強い。ある程度レベル差があれば勝てるけど、レベル差がない場合やモンスターのほうがレベルが高い場合の消耗がすごい。モンスターが強い、というよりモンスターのHPが尋常じゃないくらいあるので倒すのに苦労する。

 

フィールドを歩いていると、敵国である帝国の飛空艇が上空からやってきて兵隊を降ろしてくる。帝国の兵隊それぞれはそこまで強いわけでもないが、一個小隊(大体8人)くらいの集団と戦うことになるので非常にめんどくさい!これが単独のバトルであればまだいいが、他のモンスターと戦ってるときに乱入されるとそれまでバトルで消耗してるのに、帝国兵も合わせて倒さないとパーティが全滅することもあるので厄介だった。

 

f:id:starscream1999:20180716134520j:plain

ワラワラやってきて非常にうっとおしい帝国兵ども

ただし、バトルフィールド(円形の場)から脱出すればバトル自体は回避出来るので、どうしても嫌なら逃げればよい。

 

今のところ、自分のプレイが拙いというのもあるけどボカボカと殴り合いになることが多くて、バトル自体に爽快感はあまりない。一回のバトルごとに「はーっはーっ、やっと勝った!あぶないあぶない...」って感じで積極的にバトルを楽しめてない。剣で切りつけて、魔法を投げつけて、回復アイテム使って、なんとなく勝てた、という感じ。本当の雑魚モンスター相手ならそこまで疲弊することもないが、それでもモンスターのHPが多いのでサクッと勝てたというのがあまりない。

 

回復アイテムを大量投入すればなんとかなるが、それもなんか不格好なのと生来の貧乏性であまりアイテムをガンガン消費出来ない。

 

サブクエスト(モブハント)について

今作のメインストーリーとは別に、訪れるスポットで受注できるサブクエストは非常に多く用意されている。正直うんざりするほど多いが、受注は任意なのでやってられないなと思ったら受注せずに進めることも可能。

 

可能なのだけど、FF15を目一杯楽しもうと思ったらサブクエストとはいえ全部受注したくなる。したくなるが、本当にめんどくさい。めんどくさいが、今作ではギルを手に入れることが可能なシーンというのはほとんどサブクエストをクリアしたときにもらえる報奨金なので、金欠の場合受注せざるを得ない。

 

街道沿いにある休憩スポットのダイナーの店主がサブクエの依頼主であることがほぼなのだけど、提示されるサブクエの無味乾燥っぷりがモチベーションを下げる。大概、モンスター退治をすることになるのだけど、退治のための理由が書かれていないことが大半なので、本当におつかいという感じ。

 

  • 指定のモンスターを退治する依頼
  • 指定のアイテムを拾ってくる依頼
  • 届け物の依頼
  • 街中やフィールド中のある場所の調査依頼

 

だいたい上記4パターンなのだけど、ほぼモンスター退治。このモンスター退治もいつでも可能というわけでもなく、「日中帯のみ」「夜間帯のみ」「雨が降ってる場合のみ」といった感じで時間やフィールド状況の条件が重なることがあり、サクサク進めることが難しい。特に夜間帯の場合、フィールドが真っ暗で見にくいということや夜間のみ出現するシガイと呼ばれる凶悪モンスターの出現もあり、困難な依頼になることも多い。その割に報酬はたいしたことなかったりする。

 

f:id:starscream1999:20180716144144j:plain

モンスター退治の依頼(なぜ退治する必要があるのか、は特に明言されない)

フィールドがとても広いので、なるべく効率的にサブクエを消化したいが、上記のような要因があり思ったとおりに進めることもできにくいし、依頼を達成したあとで、再度依頼主から別の依頼を頼まれたり(今度は別の場所でまた別の何かをする必要がある)、一つずつのエリアでサブクエを消化したいのになかなか終わらなくてイライラしてしまう。完璧型の性格の人は発狂するのでは?

 

依頼もただ受けるだけでなく、「報酬のアップを交渉する」とか出来れば良かったと思う。目的があって旅を続けてるのに、なんで手間が非常にかかる依頼を「またか...しょうがないな」的な軽い感じで受けてるのかわけが分からなかった。

 

最近のRPGにほぼ必ず存在する「サブクエスト」については、取ってつけたようなものが少なくなってきていただけに、FFではもっとやりがいのあるような形で設定してほしかった。サブクエスト専門のデザイナーを設置というのも必要なのでは?

 

キャラクターについて

 冒頭ノクティスらは王様から結婚式のために、花嫁がいる場所へ旅行がてら向かうように言われる。プレイヤーとしては、登場する人物全てに対して知識がないので、関係性も不明だがとりあえず物語がスタートしたので、ゲームを開始する。

 

このノクティス含めた4人の関係性は一体なんなのか?幼馴染なのか、ボディガードなのか?4人の会話っぷりのラフさからだと幼馴染なのかな?と思ったが、グラディオスとイグニスはボディガード的な存在で、プロンプトは幼馴染だというのが道すがらわかってくる。一国の王子とその従者であるわりにめちゃくちゃラフな関係性を築いているのだけど、なんでこんなにラフな関係性なのかがゲームを進めていてもあまりはっきりしない。

 

  • ノクティス:王子だが、その自覚が薄い。フィールド上では愚痴が多い。
  • イグニス:従者で切れ者。参謀とか呼ばれている。クールな料理好き。
  • グラディオス:従者で兄貴分っぽい。王を守る盾という一族。
  • プロンプト:王族関係でなく、一般国民出身のただの幼馴染。自撮りの表情がキモい。

 

(プロンプト以外は)友達でもないが、かと言って主と家来というようなドライな関係でもない。フィールドの移動中では軽口を叩きあい、同じ安モーテルに泊まり、キャンプではイグニスお手製の料理を食べ、釣りをしたりする。ちょっとした男子高校生の友人たちであてのない小旅行を楽しんでいるような感覚。眺めていて微笑ましい部分もあるが、なんで彼らはこんなに現代日本の若者っぽさが強いのだろう、という感覚も同時にある。

 

文化文明も全く違う世界の王族関係者の若者の雰囲気がいかにも、日本の若者っぽいのは違和感を覚える。現代の世界を舞台にした作品ならまだわかる。キャラクター性がアニメっぽすぎるというか、ラノベっぽいというか...。今更公式サイトでノクティスの紹介ページを見たけど、年齢20歳だと知ってビックリした。てっきり16歳くらいかと思ってた。大人っぽいイグニスが22歳?嘘でしょ!

 

f:id:starscream1999:20180716150404p:plain

16歳で結婚は早いなぁと思ってたけども

年齢の割に精神年齢が低すぎるように感じるのは気のせいだろうか??ルシス王家の王族教育ってどういう自由さなのかな。終盤にいきなり10年も時間が経過したあとで大人っぽい精悍な顔つきになるが中身はそのままだったのでちょっと不思議な感じがした。 

 

 

グラフィックについて

正直現時点でゲームとして最高峰のグラフィックなのではないだろうか。フィールドだけでなく訪れるスポットで非常に細かいデザインがなされている。通過するだけの通路や外観だけの建物など一見力を入れるのは無駄と思われるようなものや各種オブジェクトの類まで細かく丁寧に描写されていて、グラフィックは正直舌を巻いた。特に美しい水都オルティシエは、ゴンドラで移動中に見える景色にはため息が出た。

 

f:id:starscream1999:20180718142547j:plain

f:id:starscream1999:20180718142602j:plain

どのくらい手間がかかっているのか想像もつかないが、ものすごく美しい

新たなロケーションに到着するたびに、旅行している!というのを強く感じた。街が活き活きとしてたからだ。プロンプトがたびたび「戦闘がないってほんとうに気兼ねがなくて最高」的なセリフを言うが、まさにそんな感じで、これがFFじゃなかったらこの世界に住みたくなるくらいだった。

 

レストランにおかれたテーブルと椅子の配置とか、花壇の花々とか、看板やポスター、ショップでの商品棚、部屋の小物類、窓のデザイン、壁のデザイン、排水管など現実に人々が生活していたらこんな感じになっていただろうと思われる部分のデザイン設計がすごかった。このゲームでやれることは徹底的にやって世界を創り上げようというスタッフの熱意というか意気込みというかを感じた。ドラクエにありそうな、コピペ感がまったくない(最新作のドラクエ12はフィールドや建物の装飾含めて非常に凝っていたので過去作のイメージ)。

 

日本で生活していると、個性も何もないコンクリートに囲まれているのでFalloutやHorizon zero dawnのような文明が崩壊してるRPGをプレイしていると、崩壊された世界ならではゴチャゴチャ感とかも非常に魅力的に感じるのだけど、FF15のような美しい現代文明の街をゲーム内で楽しめるのも非常に良いなぁと思った。

 

王家の車であるレガリアもデザインなど非常にラグジュアリーで良かったが、カラーの変更とかステッカーとかあまり熱中できなかった。これはリガリアでの移動自体があまりおもしくなかったことが要因だろうか?



 ストーリーと世界観について

FF15はストーリーの目的が大きく3つの段階を踏んでいて、

  • 結婚式のために旅をする→帝国への復讐→アーデンの世界破滅の野望を止める

当初の結婚式のための旅は冒頭すぐに帝国への復讐に切り替わる。結婚式のために目的地に向かっていた道中でいきなり祖国で戦闘になり、父親が死ぬ。ここでプレーヤーは「そうか~」くらいの感想しかわかない。ノクティスと国王のつながりが親子である、ということしか情報がないからだ。

 

停戦協定を結ぶところで帝国が裏切って国王が殺されるのだけど、戦争になるかと思えばそうならずに遊撃的に将軍が情報集めなどをしつつ、一国の王子がその解決のために動き出すというよくわからない展開。

 

帝国が強大な国、というのはわかるがなぜルシス王国は軍事行動に出なかったのか?のちのちストーリー終盤にノクティス一行がルシスに帰ったときに見られるルシスの街は現代日本の新宿とほぼ同じようなビルが立ち並ぶ非常に現代的な都市だった。つまりそれだけの文明があれば帝国(機動兵器を擁する超機械文明)と戦争出来るくらいなんじゃないか?と思えるけどそのへんの説明はなかったように思う。将軍がいるくらいなので、軍隊はあると思うけど一般的な兵士は全く見かけなかったのでないのかもしれない。

 

特殊部隊的のような小規模な武装組織がいるだけ、というだけであればそれまでよく他国からの侵略がなかったものだな、と思わずにいられないが、たしか魔法障壁という絶対防御が存在していたらしいのでそれでなんとかなっていたのだろうか。

 

物語序盤でその魔法障壁を構築していた王様が死んでしまったのだけど、魔法障壁というのがどれくらい重要なものだったのか、そのへんの説明とか状況を具体的にプレーヤーに共有してほしかった。それがないから王様が「殺されました」ということにしかなってない。FF15ではスタッフの頭の中にはしっかり構築されているような情報などが物語上プレーヤーに提示されていなすぎて、説明不足感が強かった。チャプターの合間にテキストで説明されるが、ゲーム中で提示するのは難しかったのだろうか。

 

グラディオスの突然の離脱とイグニスの目の怪我についても、プレーヤーからすれば急に不都合を押し付けられただけのようで、納得が難しい。グラディオスの離脱については、DLCで詳細が語られるようだがイグニスの盲目化については一体何だったのか。

 

一国の王としての精神的な成長を促す、ということを見せるための設定だったのかもしれないが、フィールドやダンジョンを自由にダッシュできなくなるというゲームプレイが億劫になるような設定は止めてほしかった。ただまぁ国王が死んでしまい、代わりの父性という意味でグラディオスから叱咤されるというのはわからなくもない。王とその従者という関係性を超えて友情とかを育む場面は他になかったからねじ込んだような気もしなくもない。

 

 チャプター13以降の駆け足感、特にノクティスがクリスタルに飲み込まれたあとの10年はなにがあったのかよくわからなかった。プレーヤーとノクティスからすれば一瞬の出来事だったけれど、他のメンバーからするととても長い長い10年だったのではないのかと思うのだけど。その割に再会したときもなんだか妙にあっさりしていて(彼らの関係性からすればあれくらいドライなのが逆に適していた?)、感動の再会を期待した自分はちょっと拍子抜けしました。

 

アーデンを倒したあと、ノクティスも後を追うように歴代王から儀式として剣を身に受けて命を落としたのまではわかったんですが、その後異空間で再度アーデンと対峙してまたアーデンを消滅させていたのが何をしていたのかよくわからなかった。納得したように死んだアーデンがなぜ異空間でシガイ化してたのだろう。自分は終盤の怒涛のように巻き起こる展開にちょっとついていけませんでした。

 

クリアしてみての感想

いろいろ書いてしまったけれど、このFF15に関して「クソゲー」という評価にはならない。個々の細部に目を配れば、「ここがだめ」「ここがおかしい」という点は少なからず出てくる。しかし、トータルで評価したときには良いゲームだった、という感想になった。

 

ハッピーエンドではなかったかもしれないが、バッドエンドではない物語。世界にとってはグッドエンドで終わった物語。仲間たちからすればサッドエンドという。(ネタバレになるが)ノクティスは、世界から闇を払うために自己犠牲しなければならなかった。それが王の役割だったから。役割とはいえ非常に重たい重責を背負わせてしまったねという。

 

物語の最終盤に、故郷の街中にあるベッドルームで最後の休息を取るときに、

  • 「こうやって皆で泊まったな」 
  • 「時間を気にせず自由気ままだったな」

と、グラディオスらが話している場面があった。すごくセンチメンタルなセリフで、初めて彼らを愛おしく感じてしまった。それとラストバトル直前にノクティスが写真を持っていきたいと言い出す場面。それまで、無駄だと思えた写真の数々を改めて見直すと皆笑顔で楽しそうで、こんなに仲のいい彼らだけれどここから先はどうあっても永遠の別れになってしまうんだな、と切なくてしょうがなかった。あまり好きじゃないと思ってた彼ら(特にノクティス)を結構好きになってたんだなと気付かされたシーンだった。

 

ノクティスに関しては、プレーヤーとその時その時の感情共有が出来なったこととはあったけれども、不幸なことが立て続けに起こっていて正直FF屈指の悲劇的主人公だったのではないだろうか。母親は早くに亡くし、父親は国同士の争いで殺され、相思相愛の相手とは12年も会えず、会えたと思ったら彼女の死の場面で再会を果たすのみで、故郷は蹂躙され跡形もなく、最後は自分自身も星の未来のために犠牲にならざるを得ないという。

 

 エンディング後に明かされる、最後のキャンプでの会話は最終決戦の前に明かしてほしかった。最後の最後で、避けられない仲間たちとの別れの辛さをノクティスが不器用に吐露する場面。ここでもイグニスたちはあっさり言葉を返すが、もっとウェットなリアクションになっていても良かったようにも感じる。とはいえイフリートとの戦闘でノクティスについた火を必死で払い守る3人がいたので、行動でしっかり現れていたと思うべきか。

 

プレイする前、プレイ中はなんとも評価しがたいストーリーだったけど、最後の最後でプレイしてよかったと思えるゲームだった。エンディングのstand by meであんなに泣かされるとは思いもしなかった。