みろりHP


緑色さんの多目的ブログ
みろりえいちぴー(旧)
引っ越し先 みろりHP: https://www.mrrhp.com
| カテゴリ:- |
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | - |
| カテゴリ:プログラミング |
Python CSVファイル、CSVリソースを配列化する関数



先日の「C# CSVファイル、CSVリソースを配列化する関数」ですけどね。C#書くのは楽しめたけど、やっぱり「お気に入りのpyてょんと比べてどうも長ったらしいな」と、思ったわけよ。というわけで「1日1Python」の時間です。あっちと比べてホントに長ったらしいのか、実際にPythonで同じものを書いて試してみようじゃねーか。
あっちと同じ順番で書いてみる。
  • 1. 改行を含むCSVファイルを用意
  • 2. CSVをリソースに追加
  • 3. 今回作ったCSV二次元配列化関数
  • 4. 作った二次元配列を確認する関数を準備
  • 5. 実行
  • 6. 結果
  • (7. exe化)



1. 改行を含むCSVファイルを用意しとく
0,緑色,Midori-iro,"みどりいろ"
1,うぇる,Weruda,"ウェル
ダ"
これは前と同じ。

2. CSVをリソースに追加しとく
「リソースに追加する」ってのはC#だと「Visual Studioのリソース欄に追加する」って意味になるけど、そんなコトはpythonじゃできん。だけれど、CSVファイルをexeファイルに含めることはできないけれど、pyファイルをexeファイルに含めることは当然できることから、「CSVファイルの中身をpyファイルに埋め込んでpyファイルとしてプログラムに埋め込む」っつー手法を思いついた。以下のようなファイルを DEFAULT_CSV.py として準備。
# coding: utf-8
text = '''
0,緑色,Midori-iro,"みどりいろ"
1,うぇる,Weruda,"ウェル
ダ"
'''

3. 今回作ったCSV二次元配列化関数
import os,sys,csv,pprint
import DEFAULT_CSV       # デフォルトのCSVをこういう形でリソース化
from io import StringIO  # 後述。python2と3で読み込み方が違うトコ注意

# カレントディレクトリをプログラムのある場所、
# あるいはexeファイルの場所に移動する
def cd_():
    # cx_freezeで固めるとコレがTrueになる。
    if hasattr(sys, 'frozen'):
        os.chdir(os.path.dirname(sys.executable))
    else:
        os.chdir(os.path.dirname(os.path.abspath(__file__)))
cd_()

# 二次元配列化の関数
def foo(csv_path, default_csv_module):
    lis = []
    if os.path.isfile(csv_path):
        # しーえすぶい.csvがあればそれを使う
        print('しーえすぶい.csvを使います')
        with open(os.path.realpath(csv_path), 'r', encoding='UTF-8') as f:
            for row in csv.reader(f):
                lis.append(row)
    else:
        # ない場合はリソース(DEFAULT_CSV.py)を使う
        print('DEFAULT_CSV.pyを使います')
        for row in csv.reader(StringIO(default_csv_module.text.strip())):
            lis.append(row)
    return lis
カレントディレクトリ移動は「一石二鳥」とか「DialogFrame」あたりで学んだマイノウハウ。exe化するスクリプトには、なんとなくこれをつけておかないと不安になっちゃうだけで、本件にはあんまり関係ない。
StringIOモジュールは、手順2で用意した文字列をファイルオブジェクトに変換するのに必要。csv.reader()は文字列を直接扱ってはくれないようで、このワンクッションがいるみたい。

4. ついでに、作った二次元配列を確認する関数を準備
pprintを使うんで作る必要なし。pprintサンにはいつもお世話になってます。

5. 実行
# リソース用の引数にはモジュールをそのまま渡す
a = foo('しーえすぶい.csv', DEFAULT_CSV)
pprint.pprint(a)

6. 結果

オーケイだね。

7. exe化
ついでに今回のスクリプトのexe化に使ったcx_freeze設定を。以下のexe化ファイルを
python cx_freeze.py build
で実行。
# cx_freeze.py
import sys
from cx_Freeze import setup, Executable
exe = Executable(
    script = 'csv_read.py',
    # 出力が欲しいプログラムではbaseをNoneにするコト。
    base = None,
)
setup(
    name = 'CSVread',
    version = '0.1',
    executables = [exe],
)



8. 結論
長さでいえば当然、pythonに軍配が上がったかな。でもそれ以上に、CSV文字列を埋め込んだpyファイルをC#でいうところのリソースとして扱うっつー思いつきが面白かった。この我流感!


| 緑色 | プログラミング | comments(0) |
| カテゴリ:プログラミング |
C# CSVファイル、CSVリソースを配列化する関数



先日作った「GCCS-CS1.0」ではデータをCSVファイルで管理していた。そんとき作った関数をまとめとく。「CSVが外部ファイルであるとき」と「CSVをリソース化してexeに含めてるとき」の二通りに対応する。
こんな順番で書くぜ。
  • 1. 改行を含むCSVファイルを用意しとく
  • 2. CSVをリソースに追加しとく
  • 3. 今回作ったCSV二次元配列化関数
  • 4. ついでに、作った二次元配列を確認する関数を準備
  • 5. 実行
  • 6. 結果



1. 改行を含むCSVファイルを用意しとく
0,緑色,Midori-iro,"みどりいろ"
1,うぇる,Weruda,"ウェル
ダ"

2. CSVをリソースに追加しとく
  • 上述のCSVをテキストファイルとしてプロジェクトのリソースに追加しとく。

3. 今回作ったCSV二次元配列化関数
// CSVファイルのパスとリソースを渡す
private string[][] foo(string csv_path, string resource)
{
    // Microsoft.VisualBasicのアセンブリ参照を追加しておくこと。
    Microsoft.VisualBasic.FileIO.TextFieldParser parser;

    // CSVファイルを確認できたらそれを使い、なければリソースを使う
    if (System.IO.File.Exists(csv_path))
    {
        parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(
            csv_path, Encoding.GetEncoding("UTF-8"));
    }
    else
    {
        // TextFieldParserに直接文字列を渡すときはstringじゃなく
        // StringReaderを通さないとダメ
        var reader = new System.IO.StringReader(resource);
        parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(
            reader);
    }

    // 二次元配列化
    var lis = new List();
    using (parser)
    {
        // 区切り文字を指定
        parser.TextFieldType =
            Microsoft.VisualBasic.FileIO.FieldType.Delimited;
        parser.SetDelimiters(",");
        while (!parser.EndOfData)
        {
            string[] row = parser.ReadFields();
            var lis_row = new List();
            foreach (string r in row)
            {
                lis_row.Add(r);
            }
            lis.Add(lis_row.ToArray());
        }
    }
    return lis.ToArray();
}

4. ついでに、作った二次元配列を確認する関数を準備
private void print_2D_array(string[][] array)
{
    for (int i = 0; i < array.Length; i++)
    {
        string format = string.Format("[{0}] => [¥r¥n", i);
        for (int j = 0; j < array[i].Length; j++)
        {
            format += string.Format("    [{0}] => {1},¥r¥n", j, array[i][j]);
        }
        format += "],";
        Console.WriteLine(format);
    }
}

5. 実行
string[][] a = foo(@"C:¥Users¥Midoriiro¥Desktop¥しーえすぶい.csv",
    Properties.Resources.しーえすぶい);
print_2D_array(a);

6. 結果
[0] => [
    [0] => 0,
    [1] => 緑色,
    [2] => Midori-iro,
    [3] => みどりいろ,
],
[1] => [
    [0] => 1,
    [1] => うぇる,
    [2] => Weruda,
    [3] => ウェル
ダ,
],
改行もちゃんと含まれてるぜ!



最初は静的型付けメチャメチャ面倒くせーな! と思ってたのだけど、書いてるうちに楽しくなってきたよ。特に、引数と返り値の型が普遍的だってのは不便な反面安心感があるよね。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:アコギ |
アコギ 弦の張替え



1. ペグをゆるめる。
2. ブリッジピンを外す。
3. 弦を外す。
4. 新しい弦をブリッジピンで留める。
5. 弦をペグに通して、遊びを確保しつつ巻く。
6. 弦を伸ばしながらチューニングする。
7. 余った弦を切る。




今回はギター買ったときに付いてきた弦を使うことにする。


ペグをゆるめる。



サウンドホールから手を突っ込んでブリッジピンを外す。


弦を外す。



新しい弦をブリッジピンで留める。ブリッジピンには溝があるからそこに弦を通す。



弦をペグに通して、遊びを確保する。遊びはペグとペグの間の距離の1.2倍くらい。




巻く。ペグを回す前に最初の一周だけ手で巻きつけておくと後がラク。最初の一周は通した弦の上を通るように巻き、残りのペグ巻き巻きは下を通るように留める。


弦を伸ばしながらチューニング。新しい弦はすぐに伸びてチューニングが狂っちまうから、最初にならしておく。


余った弦を切って完了!



おまけ。俺のギターは買ったときから、なんだか、六弦がやたらとフレットにぶつかってビィーンって鳴っちゃう癖があったんだよな。弦交換教授のついでにネックの反り具合を調整してもらったら解決した。スゲー弾きやすくなったよ。

こんなところに調節箇所があったとは気づかなかった。



今回の張替えは知り合いに「弦めっちゃ錆びてね?」って言われたのを契機に行った。念のためお店に持っていって教えてもらおうかと思ったんだが、最近知り合ったギター弾きに手伝ってもらえたので僥倖だったぜ。音自体の変化はよくわからなかったものの、残響音がキレイに鳴るようになったのは把握できてテンションが上がる。


| 緑色 | アコギ | comments(0) |
| カテゴリ:プログラミング |
C# GCCS-CS1.0 CoCキャラメイクサポートツール



みろりHPのファイル置き場 - GCCS-CS1.0
--- 2017.04.01.追記 ---
Windows7において、管理者権限でないとテキスト出力ができない不具合があるっぽい。ゴメン。


これはクトゥルフTRPGキャラクターメイク用ツールだ。みろり通の貴兄らは「またこれ!?」とお思いであろうが、そう、またこれである。これまでに三回おんなじもの作ってる。ただ今回は作成に使ったプログラミング言語がこれまでと違う。最初のふたつがPythonで、次がPHPで、今回はC#だ。なんか知らんけど、PythonのプログラムはPythonのインストールされてるPCでしか動かないのに対し、C#で作るアプリはWindowsのデフォルト機能を利用しているそうだ。だから、アプリケーション本体のサイズが軽くなるんだってさ。それで興味をもったのだよ。Pythonプログラムを仲間に配るとき、いつもフォルダ単位のパッケージになっちゃうのが気になっていたからね。今回はたったひとつのexeファイルのみだ。しかもサイズが100KBちょい。Pythonの同プログラムは、パッケージまるごとで16MBだぜ。すなわちさ、前回よりも機能がアップしているクセにファイルサイズは160倍軽くなってるわけだ。スゲーな。



今回のバージョンの面白い機能を下に並べてみる。前バージョンを実際に使ってもらったフィードバックを反映した結果だ。
  • ルルブの職業を選択でき、それぞれの対応技能をツール上で閲覧できる。
  • さらに対応技能にチェックがつくんで技能振りのユーティリティが上昇。
  • 武器もネットにあったものをいくつかピックアップして選択できるようにしてる。これも詳細ボタンクリックで説明を閲覧できる。
  • 画面全体をタブ分けして、アイテム欄やコメント欄を拡大した。
  • 以前からのステータス一括ランダム作成に加え、個別ロールも可能に。
  • 以前は収入の項目がなかったのだけど、追加した。
  • テキスト出力するとき自分で置き場所とかを選べるようにした。Windowsユーザにはお馴染みの「名前をつけて保存」みたいなダイアログも出るよ。なんかホンモノのアプリケーションみたいだぜ。
なお、開発はWindows10上で行い、スクリーンショットもそこで撮影したものなんで、他Windowsでちゃんとデザインが表示されるかはわからね。


こんな感じ。



冒頭でC#すごーいみたいなこと書いたけど、Pythonと全然性格が違くてめちゃめちゃ苦労した。Pythonと違って制作は全部Visual Studioなるソフトの上で行ったんだけど、ソフトの使い方を覚えるのが一等かったるい。苦労話なんて、ほとんどが「ソフトの使い方わかんねえ!」みたいなもんだ。C#のスクリプトを書くこと自体はあんまり苦労しなかった。こいつは静的型付け言語っていって動的型付けのPythonとは違うみたいなんだけど、わりと手に馴染むのを感じた。なんかカッチリしてて、書くの楽しめたよ。根が真面目だからよう、へへへ。
Visual Studioのある程度の操作を把握しちまえば、GUIをお絵かきみたいに作成できるから楽になっていく。が、それをいいことにお絵かき感覚で100個以上のテキストボックスを置いたせいで、製作中の管理は至難を極めた。ボックスがちっちゃいから全部ちっとずつ大きくしよう、なんてことを思いついたが最後、延々と100個のテキストボックスをクリックする作業のスタートだ。それもこれもすべて作りが荒いせい。C#なんて触ったことないからムリもないんだけどさ。次に触ることがあれば、全部のコントロールをグループごとにまとめて管理するようにしないとやってられんわ。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:感想文 |
G・ガルシア=マルケス『百年の孤独』



いやいやいや、確かに前回俺は「次は読みづらいのを選ぼう」って言ったぜ。でもこんなに苦労する一冊だとは予期していなかったよ。三週間かかった。俺は一週間に一冊くらいのペースを望んでいるんだよ! そんなわけで今回の一冊は、百年にわたるブエンディア一族の歴史をひたすら辿っていくというお話だった。サマリと感想を書く。



あるところにホセ・アルカディオ・ブエンディアくんとウルスラ・イグアランちゃんがいた。ふたりはスゲー仲良しで結婚したんだけど、実はいとこ同士である。親類同士で子供をつくると豚の尻尾のある奇形児ができると脅され続けたウルスラはずっと子供づくりに否定的であった。が、ある日そのことを知人にからかわれたホセ・アルカディオ・ブエンディアはキレて知人をぶっ殺し、その勢いで子供をつくる。それはいいんだけど知人の亡霊がずーっと出続けるのに参ったふたりは故郷を出て新しい村を作ることにする。
そうしてできた村がマコンドだ。ホセ・アルカディオ・ブエンディアは精力的で公平な指導者なのでマコンドはいい感じの村になったが、ある時ジプシーのメルキアデスが来村し、錬金術を伝来させる。ホセ・アルカディオ・ブエンディアはそれにハマっちまって、すっかり手に負えない変人になっちまったので、木に縄で繋がれてしまう。ただメルキアデスはいい人なんだぜ。ブエンディア第一世代はこんな感じ。

第二世代は上のふたりの子どもたちである三人兄弟、妹の、ホセ・アルカディオアウレリャノアマランタだ。長男のホセ・アルカディオはわがままだけど筋骨たくましい男の中の男で、遠くからやってきた母ウルスラのまたいとこレベーカと略奪愛の上結婚する。男らしィ! 次男のアウレリャノは月経も来てない美少女レメディオス・モスコテと結婚した紳士の中の紳士。が、そんな一発ネタでは終わらない男で、生まれつき予知能力があり、大人になったころには大佐になって戦争でご活躍する。長女のアマランタは恐るべき恨みの女で、上述のレベーカとの恋の戦いに破れレベーカを恨み続ける。恨みまくった挙句、まったく関係ない兄貴の嫁レメディオスちゃんが自家中毒で死んだものだから罪悪感にさいなまれちゃう。そんな、まあ悪い子ではないよねって感じの妹キャラだ。ちなみにお兄ちゃんふたりは、それぞれ嫁さんがいるくせに、まったく関係ない占い師ピラル・テルネラさんと子供を作り、その子らが第三世代となる。ちょっと混乱するからそういうことはやめてくれませんかね。

第三世代は三人兄弟妹の長男ホセ・アルカディオの息子アルカディオと次男アウレリャノの息子アウレリャノ・ホセの時代だ。眠たいときにつけたフォルダ名みたいにややこしいネーミングだが、この世代を乗り越えれば割りとわかりやすいので安心してほしい。アルカディオは上述のアウレリャノ大佐にマコンドを任せられるが、ダメなタイプの支配者になっちゃって好き放題する。彼の三人の子供が第四世代となる。嫁さんは母ピラルさんの紹介(意味深)で会ったサンタ・ソフィア・デ・ラ・ピエダさん。後者アウレリャノ・ホセについては正直印象が薄い。子供もおらずこの先出てこないので省略しちゃおう!

前述の通りアルカディオとサンタ・ソフィア・デ・ラ・ピエダの子どもたちが第四世代。結構ハジけた連中だ。双子のホセ・アルカディオ・セグンドアウレリャノ・セグンド。ホセ・アルカディオ・セグンドのほうはあんましパッとしない奴で、一大事業を試みるものの尻すぼみな結果に終わったりしちゃう。アウレリャノ・セグンドのほうは中々モッてる男で、空前の好景気に後押しされる形でめちゃめちゃ儲けて、女王になるべく育てられたフェルナンダ・デル=カルピオと結婚する。そしてヤバ中のヤバ、長女レメディオス。小町娘の異名をもつこいつは化物レベルの美貌をもった美少女だが、芯からの天真爛漫で、世俗にも男にも興味がなく、いつも屋敷を裸で駆け回っている。男たちはみんなこいつに求婚してはフラれるが、それだけでは済まずみんな謎の死を遂げる。果てには光に包まれて空へと姿を消す謎っぷり。何なんだこいつは。このハジけっぷりにも負けず、上述のフェルナンダさんは屋敷に常識を保ち、子をもうける。屋敷の変人たちはフェルナンダさんを割りと厭うているけれど、この子いなかったら一族終わってるから。

第五世代は上述どおりアウレリャノ・セグンドとフェルナンダの子供たち。ホセ・アルカディオレナータ・レメディオスアマランタ・ウルスラの三人だ。この連中は全世代のイカれ具合を返上するが如くのまともっぷり。長男ホセ・アルカディオは神学校へ行き、長女レナータ・レメディオスは楽器の学校へ行く。末っ子アマランタ・ウルスラは外国からきちんとした旦那を連れてくる。が、やがて帰宅した長男は殺される。次女は友達もめっちゃいる明るい子で、いい男と恋に落ちるが、彼の不幸と同時に唖になって一生喋らなくなってしまう。ただこの二人は子供は作れていて、その子が次の世代となる。末っ子はせっかく連れてきた旦那をほっぽって屋敷の仕事ばかりに熱中し、旦那は国へ帰ってしまう。

上述の子、アウレリャノ・バビロニアが唯一の第六世代である。彼は同じく上述のアマランタ・ウルスラが大好きになっちゃう。彼女のほうも旦那から気持ちが離れつつあるから、お互い好き好き大好きになって寝まくる。やがてアマランタ・ウルスラは妊娠して、豚の尻尾のある子アウレリャノが生まれる。出産と同時にアマランタ・ウルスラは出血で死亡する。赤ん坊のアウレリャノも死んでしまい、蟻に食われることとなる。そのときアウレリャノ・バビロニアはジプシーのメルキアデスが百年前に残した羊皮紙を読む。そこには「この一族の最初のものは樹につながれ、最後のものは蟻のむさぼるところとなる」と書かれていた。アウレリャノ・バビロニアはその羊皮紙が一族のすべてを予言したものだと気づく。そこにはマコンドが暴風によって滅びることが記されており、今がまさにそのときであった。



ビックリするくらい体力を消費する読書だった。
  • 主人公がいない話なので、読者としての視点をどこにおけばいいかわからなかった。ミステリーだったら犯人とトリックの判明、愛憎物語だったら人間関係の決着、といったような「何がどうなったら解決か」という俺が本を読むときの基本的な姿勢が通じなくて疲れた。
  • 似たような名前の主人公が続々登場する上に、描写の時系列がたびたび前後する。ホントどうなってんだこのネーミングセンスは?

とはいえ俺はこういう、現実的世界に不思議成分が小さじ一杯はいったような世界観は割りと好みで、読後感は悪くなかった。ボリス・ヴィアン『日々の泡』もそういうタイプだったな。あれは楽しめた。それに、一人の登場人物に固執せず一族の栄枯盛衰をひたすら記録しました、みたいな作りも面白い。神話とか、叙事詩って感じの雰囲気でよかったよ。読むのはクソくたびれたけどさ。いや本当の話。

ほんで作者はこの作品を通して何が言いたいのってところだけど…、ダメだ何にも浮かばねえ。思いつくとすれば、作者のもつ雑多な思想を各所に散りばめて、自己の思想体系をブエンディア家という枠組みの中で表現するのが目的か? わからん。


| 緑色 | 感想文 | comments(1) |
| カテゴリ:アコギ |
アコギ ZUN『亡き王女の為のセプテット』



弾いてみたかった曲をようやく形にできた。

今回は録画機器からマイクをギターの傍らまで伸ばして音を撮るってことをやってみたので、満足いく録音ができた。最初からやっておけそんなもん、って感じだが、手持ちのイヤホンにマイクがついていることをこれまで忘れていたもので。アルペジオ演奏で聞こえる、爪で弦を引っ掻く音が俺は結構好きでさ。この録音法ではそれが聞き取れるのがグッド。
こんくらいの、3分程度の長さが、弾いてていちばん楽しめる。



目論見通り、やりたい演奏に向けて段々とステップアップができていると思う。しかし今回のは随一むつかしかったぜ。実は、もともとの楽譜が手に負えなかったので、自分で簡易化して書き直した楽譜を使っている。もともとは和音がもっと多かったりした。


| 緑色 | アコギ | comments(1) |
| カテゴリ:ゲーム |
アルトネリコ3 サキノーマルエンドまで



親愛なるルームメイトとなかなか都合が合わなくて、PS3がホコリをかぶっちゃって勿体なかったんで、前から気になっていたアルトネリコをやってみたぜ。感想を書くが、今俺は若干の困惑に包まれているのでまともに書けるかはわからん。

自然にプレイしていたらノーマルエンドに到達していた。



そもそもアルトネリコが気になってた理由は、志方あきこの楽曲が好きだからなんだよ。アルバム『RAKA』のトリを飾る『謳う丘』がスゲー素敵で、聞けばゲームに使われた曲だっていうじゃん。神秘的で、叙事詩的なこの曲が代表を務めるゲームはどんな幻想的な世界観をもっているのだろうって期待を膨らませたわけよ。
そしてプレイを開始して、戦闘が始まって言われた言葉がこれですよ。「ヒロインの能力は脱衣するほどに強化されるぞ! 好感度を上げてヒロインを脱がせよう! 脱がせ上手は戦闘上手!」ちょっと何言ってるか分からない。目が点になった俺を誰も責められないだろう。

ダイブについても困惑の連続だったぜ。サキのほうは脳内がお花畑の彼女を諌めていくシナリオだが、ダイブ中エキストラとして登場する仲間キャラクターが酷い。サキは親身になって自分のことを考えてくれている仲間たちを一体どう思ってんだよ。主人公への猛烈ラブアタックへの苦笑いが霞むレベルだったぞ。一方フィンネルのダイブでは初期のシナリオ展開にちょっとわくわくしたぜ。急速なパラダイムシフトによる漠然とした不安感、ああいう演出は好きだな。……からの血の気が引くようなドM性癖が展開されていくのにはマジでビックリだっての。
つまり本作はちょいエッチなギャルゲーってことでいいんだよな? そのへんの要素は、ちょっと苦手だった。

ところでダイブ屋さんといえば、ダイブ屋に入るときやデータロード時の「アルトネリコ……ズンッ」がとてもカッコ良い。このカッコ良さを全編に期待していたんだよ俺は。

戦闘はイージーだった。基本的に「赤ゲージで攻撃連打」して「パージ」して「詩魔法ぶっぱ」するのみ。硬直皆無で回復アイテムをバンバン使えるのでうっかりしていなければ死人は出ないだろう。毎回やることが同じ上に、詩魔法のムービーが省略不可なので、場合によってはダレるかも。思い返せばパージのときのコントローラシェイクがダレを緩和してくれてたように思う。あれは最初大儀がってたんだけど、新鮮で結構楽しめた。

シナリオはほとんど理解できなかった。とりあえず俺は以下のように把握しているが……
  • 星の癌である人間を排除すべく、星が「抗体」なるバケモンを派遣してきている。この連中を応援しているのがレーヴァテイルたち。彼らはひとりのレーヴァテイルに抗体を宿し、人間を一気に叩き潰そうとしている。そのレーヴァテイルがフィンネル。それに反抗しているのが人間の国アルキア。彼らは抗体を消し去る力をもったレーヴァテイルを生み出した。それがサキ。フィンネルは大地の心臓とかいう、計画実現のためのアイテムをゲットするためにほっつき歩いているところを主人公に出会う。サキは、ええと…なんか覚えてないけど主人公と出会う。フィンネルはぶっちゃけ人類滅亡には反対だったけど、操られてプランを実行させられてしまう。が、サキがそれを止めてフィンネルは消滅。これで一件落着かと思いきや、レーヴァテイルたちのボス、ハーヴェスターシャを倒さないと同じことが繰り返されるからーみたいな流れでアルキアに唆され、奴を倒す。以上。
ノーマルエンドはあまりにもあっけないエンディングだった。てかハーヴェスターシャがあんなキャハキャハ系だったとは夢にも思わなかったぜ。上述の『謳う丘』の美しい歌詞に登場する名前だったから、てっきりもっと素敵な奴だと思ってたんだが。歌でのみ聴き馴染んでいて、シナリオ前半でたまに「ハーヴェ様」とちらほら名前が出てきて、一体いつ会えるものかとワクワクしていたハーヴェスターシャにようやく会えたと思ったら、「あんたバカァ?」系女子だったものだからまた目が点になったよ。

つーか「大地の心臓」って一体なにで、どうしてタツミが持ってたんだ? 主人公がまったく突っ込んでくれなかったからちんぷんかんぷんなんだが。ほんでタツミは変装がバレたあとどうしてココナで突き通すんだ? 本当にバレちゃいけないのはレーヴァテイルたちだったんだからあすこで変装をやめるのは早くないか? そして俺はココナよりタツミのころのほうが好きだったんだがどうしてくれるんだ?

マジでシナリオを把握してないなしかし。エンドまでやったと言えるのかこれで。言い訳させてもらうと、キャラの会話が俺にとってはしつこくて、会話を連打で結構流しちゃってたんだよな。ちと流し過ぎちまったか。

PS3でプレイしたゲームの少なさもあり、戦闘システムを中心としてテイルズとついつい比べちゃう傾向にあったんだけど、テイルズと比べるとちと見劣りしちゃったな。戦闘はどう見積もってもテイルズに数枚落ちるし、キャラのグラフィックもちょっとこれはって感じだし(顔の精緻さはともかく、サキがずっとガニ股なのは誰も突っ込まなかったのか?)、戦闘開始時のラグは気になるし、セーブがテイルズの二倍近くかかる。

といいつつ睡眠時間を数時間削ってエンドまで一気に突っ走れた理由が何だったかといえば……何なのだろうな。志方あきこ楽曲への好意ゆえ、はじめからアルトネリコというブランドへの親しみがMAXだったからか。あるいはあまりにも事前の印象と違った世界観とキャラのぶっ飛びぶりに翻弄されるのを意外と楽しめちゃったからだろうか。
困惑してるのでわからん。


| 緑色 | ゲーム | comments(0) |
   1234
567891011
12131415161718
19202122232425
262728293031 
<< March 2017 >>
+ みろりHP内検索
+ 閲覧記事
+ 過去記事アーカイブ
+ 年月選択
  • 2019年 02月 (1)
  • 2019年 01月 (2)
  • 2018年 12月 (6)
  • 2018年 11月 (6)
  • 2018年 10月 (3)
  • 2018年 09月 (8)
  • 2018年 08月 (4)
  • 2018年 07月 (6)
  • 2018年 06月 (5)
  • 2018年 05月 (4)
  • 2018年 04月 (7)
  • 2018年 03月 (6)
  • 2018年 02月 (6)
  • 2018年 01月 (8)
  • 2017年 12月 (9)
  • 2017年 11月 (9)
  • 2017年 10月 (4)
  • 2017年 09月 (6)
  • 2017年 08月 (6)
  • 2017年 07月 (8)
  • 2017年 06月 (4)
  • 2017年 05月 (7)
  • 2017年 04月 (8)
  • 2017年 03月 (7)
  • 2017年 02月 (10)
  • 2017年 01月 (6)
  • 2016年 12月 (8)
  • 2016年 11月 (8)
  • 2016年 10月 (5)
  • 2016年 09月 (5)
  • 2016年 08月 (7)
  • 2016年 07月 (9)
  • 2016年 06月 (6)
  • 2016年 05月 (8)
  • 2016年 04月 (10)
  • 2016年 03月 (10)
  • 2016年 02月 (8)
  • 2016年 01月 (10)
  • 2015年 12月 (9)
  • 2015年 11月 (6)
  • 2015年 10月 (5)
  • 2015年 09月 (4)
  • 2015年 08月 (8)
  • 2015年 07月 (5)
  • 2015年 06月 (3)
  • 2015年 05月 (7)
  • 2015年 04月 (8)
  • 2015年 03月 (12)
  • 2015年 02月 (8)
  • 2015年 01月 (4)
  • 2014年 12月 (5)
  • 2014年 11月 (5)
  • 2014年 10月 (7)
  • 2014年 09月 (4)
  • 2014年 08月 (7)
  • 2014年 07月 (6)
  • 2014年 06月 (4)
  • 2014年 05月 (12)
  • 2014年 04月 (9)
  • 2014年 03月 (6)
  • 2014年 02月 (6)
  • 2014年 01月 (8)
  • 2013年 12月 (7)
  • 2013年 11月 (10)
  • 2013年 10月 (10)
  • 2013年 09月 (9)
  • 2013年 08月 (11)
  • 2013年 07月 (10)
  • 2013年 06月 (9)
  • 2013年 05月 (15)
  • 2013年 04月 (11)
  • 2013年 03月 (5)
  • 2013年 02月 (7)
  • 2013年 01月 (6)
  • 2012年 12月 (9)
  • 2012年 11月 (10)
  • 2012年 10月 (10)
  • 2012年 09月 (4)
  • 2012年 08月 (2)
  • 2012年 07月 (7)
  • 2012年 06月 (13)
  • 2012年 05月 (13)
  • 2012年 04月 (15)
  • 2012年 03月 (4)
  • 2012年 02月 (12)
  • 2012年 01月 (9)
  • 2011年 12月 (5)
  • 2011年 11月 (13)
  • 2011年 10月 (2)
  • 2011年 09月 (2)
  • 2011年 08月 (1)
  • 2011年 06月 (1)
  • 2011年 05月 (4)
  • 2011年 04月 (10)
  • 2011年 03月 (8)
  • 2011年 02月 (11)
  • 2011年 01月 (14)
  • 2010年 12月 (14)
  • 2010年 11月 (17)
  • 2010年 10月 (17)
  • 2010年 09月 (19)
  • 2010年 08月 (22)
  • 2010年 07月 (18)
  • 2010年 06月 (16)
  • 2010年 05月 (19)
  • 2010年 04月 (15)
  • 2010年 03月 (22)
  • 2010年 02月 (18)
  • 2010年 01月 (18)
  • 2009年 06月 (2)
  • 2007年 12月 (10)
  • 2007年 11月 (7)
  • 2007年 10月 (9)
  • 2007年 09月 (4)
  • 2007年 07月 (5)
  • 2007年 06月 (11)
  • 2007年 05月 (6)
  • 2007年 04月 (4)
  • 2007年 03月 (1)
  • 2006年 01月 (21)
  • + カテゴリ
    + ブックマーク
    + 最近のコメント
    + アクセスカウンター
    全体(since 2010.02.03.)
    今日… 昨日…