2011-04-21

Japanese 8-bit games: Are they suitable for learners of the Japanese language?

As you can see from my profile icon, I like video games. And the icon also shows that I'm the kind of person who cannot follow the latest trends of video games.

Well, there seem to be many people studying Japanese on Lang-8. However, the Japanese language is not easy to learn, I guess. Normal Japanese sentences consist of hiragana, katakana, and kanji characters without breaking spaces. I think that such Japanese sentences are not easy to read for beginners of Japanese.

Meanwhile, most Japanese 8-bit games didn't use kanji on screen because of the limitation of performance. They displayed messages in hiragana and katakana without kanji. And they left a space between words in the sentence for readability.

A screenshot of DRAGON QUEST II

  • 「まさおは わたすふりをしたが けっきょく じぶんで もった。」(original)
  • 「まさおは渡すふりをしたが、結局自分で持った。」(normal Japanese)
  • "Masao pretended to hand in an item, but took it back after all." (English translation by me)

Such Japanese sentences seem to be understandable for learners of Japanese. What do you think?

2011-04-17

Monster surprised you.

たまには趣向を変えて、ゲーム(video game)の話を。自分のアイコンにこんな画像 を使っているのでお分かりかもしれませんが、私はそれなりにゲームが好きです。そして、これもアイコン画像から想像がつくかもしれませんが、昔はゲーム好きだったものの、最近のゲームにはあまりついていけていない類の人間です。(ちなみにこのアイコン画像は、ファミコンの「ドラゴンクエストII (1987, エニックス)」に登場するキャラクターのドット絵です)

さて、ゲームと並んで、ここ数年で私の中で興味のあることの一つとして「英語学習」が挙げられますが、ゲームと英語学習といえば、私の中ではファミコン版「Wizardry」が思い浮かびます(非常に有名なゲームなので説明は割愛)。このゲームはアメリカのゲームで、当然ゲーム内の文章は英語なのですが、ファミコンに移植された際に「日本語/英語のメッセージ切り替え」というフィーチャーがサポートされました。これを意識してか、ファミコン版Wizardryのパッケージや広告には「このゲームは、13歳以上の方に特にオススメします。Ages 13 to adult.」というフレーズが書かれており、妙に意味深な雰囲気があったのを今でも覚えています。

で、当時私も「13歳以上」である中学生の頃にこのゲームにはまったわけですが、「英語モード」の文章は、中学生の英語力ではまったく太刀打ちできませんでした。それでも、日本語モードと照らし合わせることで「“piety”というのは“信仰心”という意味か」みたいな感じで(非常に偏った方面の)ボキャブラリ増強につながった……かもしれません。

しかし、ちゃんと辞書を引いて調べていたわけではないので、間違った理解をすることもしばしばでした。英語モードでは、敵から先制攻撃を受ける際に「MONSTER SURPRISED YOU」というメッセージが表示されるのですが、これを見ててっきり「surprised」というのは「先手を取る」とか「機先を制する」といった意味なんだろうとしばらく思い込んでいました。後から「surprise」の本当の意味を知ったときには文字通り驚いたものです……。

Wizardryの画面写真(わざわざファミコンをひっぱり出してきて撮影しました)

今あらためて見ると、「THE MONSTERS SURPRISED YOU.」の方がしっくりくる気がしますが、どうなんでしょうね? 日本人にとって、冠詞や複数形についての感覚を理解するのは難しい……。

iKnow!の画面幅を広くするユーザーCSS

(2011年5月19日追記: 本件、5月17日のiKnow!のアップデートにて解決した模様です。そのため、現在では本記事のユーザーCSSを適用すると逆に表示がおかしくなります)

ここ最近非常に忙しく、せっかく料金を払ったiKnow!も活用できていません。勉強時間が少ない毎日が常態化してしまい、よくない傾向です。なんとかしなくては。

ところで、iKnow!を使っていて前々から気になっていたのですが、例文が長い時に、文章の配置がかぶってしまい、非常に読みづらくなる場合が多々あります。例えば以下の画面のような状態です。

iKnow! window (normal)

iKnow!のサポートフォーラムでは前々から上がっていた問題なので、いつかは改善するかと思っていたのですが、いつまでたっても直らない模様。表示上の問題なので、簡単に解決しそうなものなのですが。

そういうわけで、ユーザーCSSを使って自力で解決することにしました。iKnow!の学習アプリはウェブアプリなので、HTML・CSS・JavaScriptで構成されています。ネイティブアプリやFlashアプリと異なり、ユーザー側からいろいろちょっかいを出せます。

作成したユーザーCSSは、Gistに置いておきました。<https://gist.github.com/923850> これを適用した結果は以下のとおりです。まあ、こんなところでしょうか。

iKnow! window (widened)

残念ながら、CSSではウィンドウサイズを変更することはできないので、学習アプリのウィンドウ幅については自分で広げてください(最大化するのが手軽だと思います)。また、ユーザーCSSの使い方については、適当に検索して調べてみてください。

2011-04-02

studylog(スタログ)でiKnow!の学習時間を入力するためのブックマークレット・その2

以前、「studylog(スタログ)」でiKnow!の学習時間を入力するためのブックマークレットを作成しましたが(参照)、数日前からstudylog側の学習時間入力画面のHTMLが変わったため、使えなくなってしまっていました。まずは取り急ぎ修正しました。

studylog(スタログ)でiKnow!の学習時間を入力するためのブックマークレット

注意点(前回の記事と同様です)

  • studylogでは「参考書」としてiKnow!の学習時間を管理することになりますが、参考書のテキスト名には「iKnow」(または「smart.fm」)の文字列を入れておいてください。
    • これを元に、自動入力するフォーム部品を探します。
  • studylogでは勉強時間を「5分単位」で入力するようになっているため、iKnow!での学習時間は5分単位で切り捨てした時間が設定されます。
    • ただし、「0分より上、かつ、5分未満」の場合のみ「5分」として扱います。
  • このブックマークレットでは、studylogの画面上のフォームに学習時間を設定することしか行いません。学習時間の送信は行いません(自分でボタンを押して送信してください)。
  • ブックマークレットの冒頭に「javascript:(function(){var uid=''||~」という感じで「uid」という変数を定義していますが、ここに自分のiKnow!のIDを入れてください(「var uid='en45'」のように)。
    • そうしないと、ブックマークレット実行時に毎回自分のIDを入力しないといけなくなります。

2011-03-31

今後の英語学習について

新iKnow!は継続する方向で

来月からの新iKnow!に備え、ファミリーマートでオンラインマネーを4200円購入しました。ファミリーマートの端末からだと1円単位で購入できるので、端数が発生しなくて便利です。クレジットカード払いでもよかったのですが、あまりカード番号をさらしたくなかったので、後腐れのないプリペイドカード決済を選択しました(とりあえず今回はウェブマネーで)。現時点では決済方法がよく分からないのでちょっと不安ですが(「手数料として105円必要なので4200円きっちりでは足りません」みたいなことを言われたら泣きます)。

とまあ、一応私は新iKnow!を継続することにしたのですが、正直なところ現時点での新iKnow!のアプリに満足しているわけではありませんし、今後のサービスの改善についても特に期待しているわけではありません。ただ、現在まがりなりにも毎日smart.fmで勉強することが習慣になっているので、定着した習慣を途切れさせたくないために「現状維持」を目的として新サービスに加入することにしました。

そういう心境なので、新iKnow!に移行したところで、今までどおり淡々と細々と学習を続けることになりそうです。「せっかくお金を払っているんだから、しっかり活用しないともったいない」みたいな気分にでもなれば、日々の学習時間も多少増えるかもしれませんが、個人的には高々4200円程度の金額ではそんな気にはなりそうにありません(仮に「12000円」であったとしても同じでしょうね)。

今後の英語学習について

とはいえ、今後の英語学習のことを考えたとき、iKnow!を続けるだけで本当にいいのか、という気持ちもあります。例えば先日の英検準1級受験では、一次試験はそれなりの点で通過できたものの英作文の評価はいまいちで、二次試験ではさっぱり話せずに撃沈したわけで、アウトプット能力を向上させる必要があるというのは明白です。当然ですが、iKnow!ではアウトプット能力の強化は見込めません。まあ、一次試験をパスできたのはiKnow!の学習による効果もあったと思うので(特に語彙)、iKnow!はこれはこれで続けるとしても、他の学習方法も考えないといけません。

アウトプットにはライティングとスピーキングがありますが、ライティングについてはやはり「Lang-8」でしょうかね。Lang-8については以前から気になっていたのですが、定期的に更新できそうな日記のネタがないのがネックで二の足を踏んでいました。ですが、細かいことをあれこれ考えずに、まずは始めてみましょうかね。そういえば今になって思うと、以前smart.fmのサイトで書いていた「どうぶつの森日記」はLang-8向けだったかも。あのゲームは海外のプレイヤーとの交流もできましたし。

スピーキングについては、現状では自分の言いたいことを英語にするのに時間がかかってスムーズに文章が出てこないという状態で、これについては「瞬間英作文」のトレーニングが効果的そうだと思っています。しかし、テキストは用意したものの、時折思い立ったときに取り組んでいる程度で、とても定期的に続いているとは言えない状態です。私は本当に書籍ベースの勉強が苦手なんですよね……。

studylog(スタログ)に登録するも……

書籍ベースの勉強を継続するため「スタログ」というウェブサービスにも登録してみました。これは、毎日の勉強時間を記録するようにして達成感を得られるようにしてモチベーションアップを図り、勉強を継続できる正のフィードバックを形成する、という趣旨で、まだ3月に始まったばかりのサービスです。私の勉強記録はこちらになります。<http://studylog.jp/en45masao/>

いまどきのウェブサービスにはソーシャルな要素は欠かせませんが、このスタログにも、Twitter等の外部サービスとの連動の他、「サポーター」というシステムがあります。サポーターは、ユーザー(学習者)の勉強記録を見たり、コメントを残したりすることができるとのことで、ユーザーを励まして、学習継続の支えにする役割のようです。

このシステムを知ったときは、今のsmart.fmのSNSみたいな学習者同士のコミュニティができるかも……と思ったのですが、あまりそういう感じではないようです。どうもこのサポーターというのは家族や友人などの身近な人を想定しているようで、サポーターになってもらうにはメールベースでの承認という(けっこう敷居の高い)プロセスが必要とのことです。ユーザー(学習者)同士が知り合うコミュニティも用意されていないので、知らない人同士が(「フレンド」や「フォロー/フォロワー」みたいな感じで)「サポーター」になるというのもあまりなさそうです。

それはさておき、studylogへの登録完了後、「瞬間英作文」のトレーニングとstudylogでの記録を開始したのですが、その直後に震災のゴタゴタなどがあり、学習時間の記録も「瞬間英作文」の学習継続も途切れたままになってしまっています(震災は本当は関係ありませんが……)。これも4月から再開したいところです。

最後に

smart.fm卒業の方も、iKnow!継続予定の方も、今後も継続して語学をがんばりましょう。

2011-03-30

Smart.fm Study Log Saver ~ 学習時間記録取得ツール

Smart.fm Study Log Saver

smart.fm終了まであと2日しかないタイミングなのに、この期に及んで何をやっているんだという感じですが、これまでのsmart.fmでの学習時間の生データをCSVファイルで取得する「Smart.fm Study Log Saver」というアプリをでっち上げました。Excelなどに取り込んで、好きに料理してください。

今までやってきたiKnow!アプリケーションの日々の学習時間については、新サイトのiKnow!にて学習履歴を見ることができます。しかし、新サイトのiKnow!ではDictationとBrainspeedがなくなってしまうため、これらの学習記録も見ることができなくなってしまいます。そういうわけで、睡眠時間を数時間ほど削って作ってみました。Dictationのスキルレベルの変動をExcelでグラフにプロットして見たりすると、けっこう面白いかもしれません。

ただし、smart.fmのサーバに残っている学習記録は2009年11月までのようで、そこより前のデータは取得できません。その点ご注意ください。

また、2月半ば頃から動かなくなってしまっていた「Smart.fm List Converter」ですが、先日raffaelさんにソースコードを修正していただいて、こっそり動くようになっています。一応お知らせまで。

2011-03-26

Windowsの「圧縮フォルダ」ではまる

先日公開した「Smart.fm Memento Maker」では、日記や画像のファイルをzipファイルにまとめて圧縮しているのですが、ユーザーの方から「ダウンロードしたzipファイルに何も入っていない」という報告がいくつか挙がってきました。自分の環境では(生成された)zipファイルを何事もなく展開できているので不思議に思っていたところ、どうもWindows標準の「圧縮フォルダ」でうまく扱えないということが判明しました。確かに、zipファイルをオープンしても、ファイルリストに何も表示されません。

ここで直感的に「パス区切り文字が原因に違いない」と考えました。というのも、zipファイル内の個々のファイルのパス文字列を設定する際に、ディレクトリの区切り文字として「スラッシュ(/)」を使っていたからです。コードとしては以下のような感じです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import zipfile

content = 'The quick brown fox jumps over the lazy dog.\n'
zipobj = zipfile.ZipFile('foo.zip', 'w', zipfile.ZIP_DEFLATED)
zipobj.writestr('/test.txt'.encode('utf-8'), content)
zipobj.close()

そこで、「Windowsだし、スラッシュではなくてバックスラッシュでないとだめなのでは?」と安直に考えて、パス区切り文字をバックスラッシュ('\')に変更してみました。が、やはり現象は変わらず。うーむ。

しかしその後の調査の結果、やはりパス区切り文字が原因だと判明しました。zipファイル内の個々のファイルにて、パス文字列の先頭にパス区切り文字(スラッシュ)を付けていたのですが、これを削るとWindowsの圧縮フォルダでも正常に扱えることが分かりました。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import zipfile

content = 'The quick brown fox jumps over the lazy dog.\n'
zipobj = zipfile.ZipFile('foo.zip', 'w', zipfile.ZIP_DEFLATED)
zipobj.writestr('test.txt'.encode('utf-8'), content) # 先頭のスラッシュを削ればOK
zipobj.close()

ファイルパスの先頭にスラッシュがある場合、内部では「名前が空文字列('')のディレクトリ」として扱われているのかもしれません。今になって考えると、なんで私はファイルパスの先頭にスラッシュをつけようとしたのか、ちょっと疑問に思います。

一応これで期待通りに動作できるようになったのですが、本件、ファイルパスの先頭にスラッシュを付けようとした私が悪いのか、あるいは先頭のスラッシュを扱えないWindowsの圧縮フォルダが悪いのか、どちらなのでしょうか? というわけで、ちょっとzipファイルの規格を調べたところ、以下のような記述が見つかりました。「MUST NOT」ではなくて「SHOULD NOT」ではありますが、いずれにせよ先頭のスラッシュは含まないのが無難ということでしょうかね。

file name: (Variable)
The name of the file, with optional relative path. The path stored should not contain a drive or device letter, or a leading slash. All slashes should be forward slashes '/' as opposed to backwards slashes '\' for compatibility with Amiga and UNIX file systems etc. (snip...)
http://www.pkware.com/documents/casestudies/APPNOTE.TXT
ファイル名: (可変長)
ファイルの名前(と任意の相対パス)。パス領域には、ドライブ文字・デバイス文字・先頭のスラッシュを含むべきではない。すべてのスラッシュは、AmigaやUNIX等のファイルシステムとの互換性のために、バックスラッシュ('\')ではなく、フォワードスラッシュ('/')とするべきである。(中略)

以上、備忘のため残しておきます。