「アナログゲーム」「ルール記述系」「ゲームメーカーサービス」についての覚書

本エントリでは、「アナログゲーム」「デジタルゲーム」を以下の定義で用いる(スパ帝が提唱した分類)。一般的な定義ではないので注意

1. ゲームルールがホワイトボックスであるものをアナログゲーム、プレイヤーに隠されているルールがあるものをデジタルゲームとする。ルールがホワイトボックスであれば、ゲームが行われる環境が電子的なものであっても「アナログゲーム」とする。

2. 以上の定義の同値として、アナログゲームのルールは原理的には曖昧性のない形で全て記述可能。

3. この時、アナログゲームのルールのうち一般的なメカニクスについては形式的な言語で記述可能なはずである。つまり、ルールを曖昧性のない形で記述可能な可能性が高い。このルール記述はテキストである必要はなく、GUIベースでも可能なはず。

4. アナログゲームのルールを記述する形式言語が定義できた場合、そのルール記述に基づき電子的なプラットフォーム上でルールの自動処理が可能。

5. つまりユーザがルール記述をしてアップロードすると、人間がGM業務を行わずアナログゲームがプレイ可能なサービスが作成可能なのではないか。

MegaCivプレイレポ(1) 先史時代編

ヘラス物語

 

 

第一部:先史時代

ヘラスの黎明の頃、文字はなく今に伝えられる内容は全て口承によるものである*1。このため、先史時代のヘラスの歴史は神話の霧に包まれている。それでもおおむね何があったのか、重大な決断については伝えられているので、まずは文明の曙から始めよう。

 

ヘラス人の故郷はギリシャ半島の北、マケドニア盆地にある。歴史時代には海上交易*2を大いに行ったヘラスだが、出自は陸の民なのだ。ヘラスはその歴史的領土の西にローマ、南にミノア、東にヒッタイトを抱える。先史時代のそれぞれの民族の移動には不明な点も多いが、この頃にヘラスの指導者が考えたことと、他国の指導者との交渉内容はある程度伝わっている。

 

まず、東のヒッタイトとは黒海ボスポラス海峡を挟んで自然な境とすることが速やかに合意された。黒海を越える行為は全面戦争の時のみ起こるであろうから、それを踏まえて自然な決定と思われた。唯一係争になる可能性があったのはクリミア半島であるが、ここはヒッタイト領として一歩譲ることとした。

 

南のミノアとの境界は難題だった。ヘラスから見て、ミノアは陸上で一番長く国境を接する形になり、譲りすぎるとヘラス人の土地が著しく減り、また安全保障上の問題も大きくなる。一方でミノア人は比較的北上を志向しているように見え、またミノア人はわりあい獰猛であると予想されたから*3、あまり押さえつけて紛争を起こしたくはない。結果としてはっきりした境界は定められず、都市を建てるのにふさわしい土地の分配のみが決められた。ミノアとはこの後、同じギリシャの民として全面戦争と同盟を繰り返しながら1万年の歴史を刻んで行く。

 

西のローマであるが、南へ大きく進出し、アドリア海を挟んだ東側への進出の意欲は薄いようだった。これはヘラスにアドリア海の東側を譲るというシグナルと解された。また、パンノニアは巨大な人口を抱えることができ*4ケルトが人の住めない土地であるこの星でここをローマが押さえることは、ヘラスの安全保障に許されない影響を与えるように思われた。上記のようにヘラス人の土地は南から押され気味であり、十分な土地を確保することは指導者にとって至上命題だった。そのため、ヘラス人はあくまで平和のうちに、陸づたいにパンノニアまで入植し、ローマ人に対してはイタリア半島に一歩も入らないことを固く約束して平和条約とした。

 

こうして先史時代の間に各民族の居住地はおおむね定まった。ヘラスは、西はパンノニア、東は黒海まで、南はギリシャの大陸側までがその歴史上固有の領土となった。

*1:最序盤はSkype通話でやっていたので、交渉のログが残っていない

*2:海上襲撃とも

*3:人メタ

*4:人口上限4のレアプロビ、このゲームで最大

CivBG

                       /: : : : : : : : : : : : : 
                   | : : : : : : : : : : : : : つれー 祈って文化6点しか 
                   | : : : : : : : : : : : : :  
                __    ゝ . __: : : : : : : : :  出ないからつれーわー
.      r‐-==ニ二     `ヽ_____  Τニi┬- 
       `>‐┬――- 、 ∨       `ヾ=L}  
      /⌒ヽ | 、_ __   ヽ |         \}  たった6点しか出ねーから
      /    \ | rq __   ||ニ=-       ヽ 
.    /-‐=ミ ヽ|  ノ     リ^i-‐      Y   |ヽ、 マジつれーわー
.   {7 ̄\  `|   ‐ァ    〃―-      | }  ,′: 
. ー--/     ヽ_,∧     / -‐=ミ    j/ /:::::::  
.   ′    /    ー--‐く/     ∧  ∠..__/::::::::::  
      /           /    /__{/      ̄ ̄ 
     /         , '      /         
.    /             /     ′       
.  /             /     /          
                /    / 
             /  / 
.             /   ′ 
           ,イ   / 
         〃/// 
        {/イ 

     ノ    ./:::ヽ、               l
   r''"´    〈::::::::::`丶、__,,,.. -ォ   、   \   これがPの夢! Pの望み! Pの業! 
   l    /´ヾl「 ̄ ̄`Τ´   ,'    \   ヽ
  ノ    ノ::.r'7^゙、     l:   ,'\ l:....:. ヽ:.....:./   他者より強く、他者より先へ、他者より上へ! 競い、妬み、憎んで、その身を食い合う!
. /    ゙y´ :{  ヽ    /ヽ   ?...}イ |:::::λ:l::::::j
. 〈       {l N-‐''゙   〈  〉    ヽl::::/リノ::: (  これは結果だよ…だから知る!
  ヽ!:     リ、|  ,.-‐-、. `Y:| ィ'" ̄ヽリノ /:::::::: i
   |l:    / ヽ_イ......._ノ   |:l ヾー┬''゙  /:::::::::: |   自ら育てた運営に喰われて、モバマスは滅ぶとな!
   |l   ∧  ``T´     |!   _,」   〈:::::::::::: ',
.   }!.   { l',     ゙r──‐┬'"´ レ''"`7!::::: :: ヽ  知れば誰もが望むだろう! あんたんのようになりたいと! あんたんのようでありたいと!
  ノ::.  l ドf ̄`ヽl ,_,. ===-、,   。 ,'::|!::    \
 (:.:::::}    ト-゙、    {l::r'"`:i:'"`lリ  ゚ ノ::::'、:      ',   故に許されない…あんたんと言う存在を!
.  ヽ::l:    !:::::::ヽ    ヾ、__,〃   ,イ:::::::::\   ト、i  
 /:::|:: | l:::::::r=辷_、  `二二´  /_」`!::::::::〈`   | リ  いくら叫ぼうが今更! これが定めさ! 知りながらも突き進んだ道だろう!?
./::::::::|:: |{ |::::::::ト----:\    ,ィ'゙二..イ::::::::::::ヽ   ,'
.{_|:::::::l:::. ヾ`ー':::l:.:.:.:.:.:.:.:.:.、`''''''''i゙| 「:/| :.:.!:::::::::::::_ノ /  そして、滅ぶ…。 モバマスは、滅ぶべくしてな!
  `>::ヽト、 `ー、::|:.:.:.:.:.:.:.:.:.:ヽ\:.|.| |(_」:.:.|::::::::::f´:::::::'- 、  
  (:::::::::::::`ヽ l{く:.:.:.:.:.:.:.:.:rへノ:.|.| |:.:| /:.: ̄`ー!、_:::::::::、_)
  `ヽ;:;: -''"|ノ`ー.:.:.:.:.:.:.:.\「:.:.:|.| |:.l/:.:.:.:.:.:.:.:.:.:.:.:`'':: 、|
  ,. -''":.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:|_|」:.:.::.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:``''::..、

尾てい骨テスト

文字列の処理が一貫してUTF-8で行われているかのチェック方法。「尾てい骨」(本番は全部漢字)を入力にして、出力が化けたり「てい」が抜けていないかを確認する。正しく処理されていない場合、Shift_JISEUC-JPでの処理が混入していることが疑われる。
「てい」の字はJIS第三水準のため、Shift_JISEUC-JPでは表現されないことを用いたテスト。「てい」の字が選ばれたのは、多分IMEで変換しやすいからでしょう。
asin:4797361190 より。

まっさらなUbuntu 12.10 にOpenCV 2.4(git版)を入れたメモ

  • curl, git, g++とか使いそうなのは適当に入れた
  • pythonzでpython 2.7.3をグローバルにインストール
  • python-develを確かapt-getで入れた
  • numpy を普通ににインストール
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavformat-dev libswscale-dev
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
sudo apt-get install cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..

Ubuntu 12.04にAndroid開発環境を構築

Androidの開発はEclipse+ADT+Android SDKでやるので、WindowsだろうがMacだろうが開発環境構築の手順はだいたい同じです。というわけで、Ubuntu 12.04(64ビット)でも同じように出来るだろうということでやってみました。

おおまかな流れ

どのOSでも大枠は一緒です。

  1. JDKをインストール
  2. Eclipse, Android SDKを入手
  3. ADT(Googleが提供するEclipseプラグイン)を追加
  4. Android SDK ManagerでSDK toolsをインストール*1

大雑把な流れは画像入りで丁寧に解説しているサイトがいっぱいあるので略。WindowsMacの環境構築記事でも参考に出来ます。

Ubuntuに特有なこと

JDKのインストール

UbuntuではJDKのインストール方法が複数あります。

  • Oracleのサイトからrpmなりなんなりを落としてきてインストール
  • レポジトリを追加してapt-get

今回はレポジトリを追加してapt-getする方を選びました。Ubuntu的にはこっちがいいかなーって。
インストールしたてのUbuntuでは apt-get install jdkとかやっても引っかからないため、レポジトリの追加をしてやる必要があります。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
Eclipseのインストール方法

apt-getでも取ってこれますが、バージョンが古いようなのでEclipse公式から落としてきた方がいいです。エディションはいろいろありあすが、Java classicが一番シンプルでいいと思います。
Eclipseはポータブルな形で配布されているので、/home以下にでも置けばいいと思います。私は~/bin以下に配置しました。
Eclipseには日本語化したものもありますが、何かとトラブルがある・メッセージは英語の方が検索しやすいので、日本語版は非推奨。

ひと通りインストール後にすること

無事Eclipseが立ち上がりSDKも入った、Androidプロジェクト作れてさあ実行!しようとすると、エラーが出るので下記の手順が必要になります。

sudo apt-get install ia32-libs

32ビット版では多分不要。

あと、ANDROID_SDK_ROOT/platform-tools に手動でPATHを通してやらないと、adb(デバッガ)が動いてくれません。


以上です。Android開発をUbuntuでやると、少なくともWindowsでやるよりは幸せだと思いますよ。

*1:配布サーバが貧弱なせいでこの手順は毎度猛烈に時間がかかりますが、そういうものだと思って諦めてください