2012年11月25日日曜日

このJavascriptをどうすりゃいいの、あとSublime Text 2とか

チョット前までJavaやってたんすけど、なんかやんなきゃならなくなったのでJavascriptやってます。やってますがなんか名前空間やクラスのようなものをやろうとするといろいろ面倒(できなくはないがObjectを◯◯だと思い込むとか動的にしかチェックできないみたいなのばっかり)のようで、なんか文化が違うなぁと思いながらどう書こうか悩んでおります。ので悩んだ結果をちょっとだけまとめました。余力があったらテスティングとかの話もあとで書くかもしれません。
以下、macと言ったら10.7.5、winと言ったらWindows7 home 64bit だと思って下さい。

Javascriptの書き方について

名前空間やクラスの書き方については、衝突回避をどれぐらい頑張るかとかによって無数の書き方があるようでした。ので困ったんですが、とりあえずTypeScriptが生成するコードを参考にしようかな、基本的にはGoogle先生のコーディングガイドラインに従おう、あとドキュメンテーションはJsDoc3で書こうかな、と思った結果が以下。

 

Sublime Text 2 について

何も入れなくてもJSのハイライトしてくれてなんかしら便利機能あったりとそこそこ便利なのですが、Linterとかは後からパッケージとして入れる必要があったので入れました。また、キーバインドとかも設定ファイル直接いじりまわして追加してね!というスタンスのようなのでなんぼか弄る必要があります。
パッケージはPython(2.*系列)で書けるようなので気が向いたらなんかしてみても面白いかもしれません。わりとお手軽に作れるものなのか、新しいツールや変なツールを叩くパッケージとかもすぐ見つけられたり、似たような機能のパッケージがたくさんあったりして、わりと活気のある感じです。入れたら便利そうかもレベルのパッケージや、jQuery等の個別のフレームワーク向けのパッケージとかもあるのですが、今回はそういうのは行きませんでした。
あと日本語及び日本語入力の扱いがわりと雑で、winだと変換候補がなんかぶっとんだ位置に出たり(そんなに困らない)、macでは変換確定のEnterを改行と認識して動いちゃう奴がいたり(例えばコメント内での確定するとDocBlockerが確定した文面ぶっ飛ばして改行入れたりする 困る)しますがそれ以外はいい子なんです。
以下入れたパッケージについて。

・Package Control

を入れないととにかく始まらないようなのでcontrol + ` ( = JISでは control + shft + @ )でコンソール開いて、公式に書いてあるインストール用のコードをコピペってきて実行すると入る。入れたらsublimeを再起動すると有効になる。
再起動後にcommand + shift + P してinstall くらいまで入力すると「Package Control : Install Package」が候補に残ると思うので、これを使って以降のパッケージの追加をしていく。たまには別の手段で入れなきゃならない子もいるが、Githubにコードがある場合はAdd RepositoryでPackage Controlの管理対象に追加できる。

SublimeLinter 

コードの静的チェック機能が追加される。Javascriptにおいてはjshintによるチェックが行われているらしい(インストールしとけばclosure linterによるチェックも出来るらしい)。結構いろんな言語に対するチェックが出来る様子。Install Package起動後にLinter くらいまで入力すれば多分出てくるので選択してEnterでインストールです。
あとこれ、Macで確認したら日本語見つけ次第Unsafe Characterを叫んでるのですが、これは全然解決策がわからんで、v1.5.4で直したっぽい話もあるのですが、出るよ、余裕でめっちゃ出るよ(v1.6.11で見た)。jshint_optionsとしてencodingなりunsafeなりそれっぽいのをいじれたらいいんですが、jshint自体にはそういうオプション無さげでどうしたものやら。
のでめんどくさいけどgjslint( = closure linter)をpython入れてからeasy_installして、そんでPreference->Package Settings->SublimeLinter->Setting-Default を選択して設定ファイルを開き、javascript_linterを定義している箇所を

"javascript_linter": "gjslint",

にしてあげるとバッチリです。バッチリですと素直に言いたいのですが、こいつはこいつでJsDoc3のつもりで書いてるドキュメントコメントをClosure Compilerのアノテーションとして解釈して、namespaceってナンダヨとかmemberofってナンダヨとか言ってくるのですが、まあ気分的には日本語全部にunsafe character出るより大分マシだし疲れたのでいいことにします。できれば誰かがjshintの方を頑張って処理してくれるといいなあと思いました。winではそんなこと無かったと思うのだが…。

DocBlocker(sublime-jsdoc)

JsDoc等のドキュメンテーションの入力補助をしてくれる(要は/**まで入れてEnterしたらなんとなくテンプレ入れてくれたりする)ツール。普通程度に便利だけどmacで日本語入力時に前述の難あり。

・javascriptのformatter

 Closure Linterも入れちゃったことなので素直にsublime-closure-linterのfixjsstyle呼び出し機能を使おうとしたのですが、処理を実行した風のログを吐いた後にファイルの内容を全消しするという珍挙動しかしないのでまずこれは諦めました。あと有名ドコロのJsFormatはぐぐる先生とちょっとポリシーが違っててアレ(制御構文と条件式入ったかっこの間にスペース入れる入れないとか)なんでやめました。んで仕方ないのでどうしたかというと以下のとおり。
この設定を完了すると command + b でfixjsstyleをキックし、command + shift + r で結果を読み込んでこれる環境になります。
1. build systemとしてfixjsstyleをキックするやつを作り、javascriptに割り当てる
Tools->Build System->New Build System… を開き、以下のコードを入れます。

{
    "cmd": ["fixjsstyle", "$file"],
    "selector": "source.js"
}

これはcmdで始まるやつはほぼ見たまんま(開いてる最中のファイルにfixjsstyleを実行)で、下のはjavascriptのためのビルドシステムですよとsublimeに対して明示するものです。これを適当な名前で保存してあげると、javascriptファイルを開いてる最中にcommand + bするとfixjsstyleが走るようになります。
2. (ホントは再読み込みも一連の流れでやりたかったけどせめて)再読み込み操作にキーバインドをあてる
例えば外部ツールを複数回叩くとかだと外部にシェルスクリプト置いといてソレ叩くcmd書いてとか出来るらしいのですが、sublimeになんかやらせる方法がわからんでした。
今回はcommand + shift + r にファイルの再読み込みを割り当てます。Preference->Key Bindings - Userを開いて以下を入力します。

[
    { "keys": ["super+shift+r"], "command": "revert" }
]

これを保存すると前述のキー入力でファイル再読み込みが走るようになります。GUIのメニューで言うとFile->Revert Fileに当たる操作です。

2012年11月18日日曜日

2012-11-18ごろの日記とMoH:Wの感想

'Medal of Honor: Warfighter' photo (c) 2012, Joshua Livingston - license: http://creativecommons.org/licenses/by/2.0/

 

大したことは何もなく、相変わらずゲームしたりパソコン触ったりしてます。

 

最近クライアント側のウェブっぽいのやってるけどJavascriptが好かん

だいぶしばらくの間クラスベースで設計してJavaで実装する星の人間だったので、アレが無いコレが無いこう書けば出来るというが動的にしかチェックできねーじゃねーかフンギーみたいな感じです。詳細は別途まとめたい。中長期的にはクラスとモジュールをサポートするECMA6がやって来てみんな救われるといいんじゃないかと思いました。

 

3DSとぶつ森買った

BDFFとか他にやりたいゲームもぼちぼち出てきたしいいかなーと思って買いました。とりあえず海釣りして小銭集めてたぬきちを金でしばいて家の拡張などの日々。

 

MoH:Warfighterの感想

安くなってから買おう安くなってから買おうと思ってたけど、ついOriginで定価で買っちゃったので感想。

よかった

  • 銃声や効果音がよい
  • 銃器メーカーが協力したという装備類がオシャレ
  • 何選んでも同じだけどなんかいろいろ選べてうれしいドアブリーチング
    • 例えば、ドアの種類によって適切な手段を選択すると有利とかなら意味あったのでは
  • 妙に本格的な車の運転するミッション(ただ隠れながら移動する後半のやつはキーボードだとだるかった)

よくなかった

  • なんかテカテカした画作りがMWっぽすぎる気がする
  • ヘビーガンナーっていうジャガノっぽい敵が出てくるが好かん
  • 敵味方ともにやたら真っ直ぐ突っ込むAIがあんま賢くない感じで、たまに不思議にスポーティーな動きとかする
  • だいたい大丈夫だけど時々不安な日本語訳(「これがアメリカ海軍だ!武器を捨てろ!」は無いべ)
    • あと、英語音声+日本語字幕に出来ない(吹替と字幕どっちも同じ言語にしか出来ないらしい)

結論から言うと、出来はそこまで悪くないけどなんか妙にMWっぽくて個人的に嫌です。前作のMoH(2010)をやった時に「やった!落ち着いた現代戦ができるシリーズが来たような気がする!」と思っていたので、その点でMoH:Wはほんのり残念でした。でも長い目で見ればオナーってCoDみたいなゲームだから本来こっちだよねと言われればそうかもしれない。

シナリオやロケーションがそれほどひどく浮ついているかというとそこまででもなくて、何がそんなに気に入らなかったのかなと考えてみると、グラがなんかテカテカしててAIがバカっぽいところがなんとなくMWっぽいなぁと思ってたところに、トドメとしてジャガノもどきの重装甲ムジャヒディンが出て来て、あれでだいぶ気分を害したのではないかという気がしてきた。他にも爆発する謎のドラム缶や車とかあって、そういうそれっぽいモノは控えて欲しかった。出来が悪いわけじゃないけど現代戦もの大作FPSを一通りやってる人にとって「またこういうのか」と思う要素に溢れたゲームのように思われた。

銃声や装備類、突入時等のスクリプトされたモーションとか、細部のこだわりはわりといい所もあったけど、先に挙げたような欠点から全体として雑な印象を受ける場面が多かった。あとせっかく特殊部隊推しなんだし実際の特殊部隊の訓練っぽいトレーニングモードとか充実してたらうれしかったかもしれない。ベータでなんか察したのでマルチはほぼやってない。COOPはそもそも存在しない。

2012年10月6日土曜日

はじめてのAoDシングルプレイ:ソビエトは衰退しました

導入編の続き。実際にシングルプレイしてみました。

意外とシナリオ沢山あるネ

AoD201210051139

開始年度がいっぱいあるのは予想の範疇だけど、ある作戦にフォーカスしたやつとか別の戦争のやつとかいろんなシナリオがありました。大きく分けると、全世界が部隊の大規模キャンペーンと、短期間で終わる戦闘シナリオの2種類が用意されているようです。

とりあえず36年スタートでいいかな?

 

とりあえず36年スタート

AoD201210051142

なるほど。勝利ポイントって何だ? → 勝利ポイントを持ったプロヴィンスが各地にあり、チェックされるタイミングでそれらを占領していると勝利ポイントになるらしい。

中断する場合は日付ボタンのとなりのメニューボタンから保存して降伏でいいようです。

とりあえず陸軍を育てて育てて独逸に勝つことだけ考えてやっていきます。

 

36年〜

  • 装甲と火砲及び産業、陸戦ドクトリンの研究をしてみる
  • 工場を立てまくる
  • 時々少将を中将にしてみたり歩兵と戦車ちまちま作ったり
  • スペイン内戦には介入した
  • 中国は支援した
  • 大粛清は回避してみた
  • モロトフ・リッベンドロップは史実通り締結
  • なんかフィンランドと戦争始まったナリよ

 

39年(フィンランドと冬戦争)〜

ScreenSave15

ほぼ空き地をぼこぼこ取られてアワアワと戦力持ってくるの図

  • ロクに準備してなかったのでぽこぽことフィンランドに領土をとられる
  • 慌てて各方面からひっこぬいてきてフィンランド方面に移動させる
  • とりあえずヘルシンキ抑えたので冬戦争は集結し、既に要求している条件で講和し、ほぼ元々の国境ラインに戻る
  • 対独の準備にせっせと西側に戦力を集める
  • 石油の精錬技術とか戦略爆撃機とか核とかも開発する
  • 超重列車砲!の研究が終わったのはいいがどうやって作るんだコレ
  • 工業力を改良にも回してじゃんじゃか更新されるようにする
  • ドイツにスパイ送れないカナーと思ったけど結構失敗する、何人かは送り込めた
  • ドイツから宣戦布告されちゃったけど正直まだあんまり戦車作れてないよ…

 

41年6月(ドイツから宣戦布告)〜

ScreenSave22

あ、フィンランドも来るんですね!まあドイツ軍単独に十分ボロカスにやられてるけど!の図

  • ホントの最前面のプロヴィンスに詰めてなかったのでサクっと何個か取られる
  • シベリアに工業力を移動を実行
  • ん、ああこれフィンランドとルーマニアも攻めてくるんだ?
  • フィンランド待てや
  • あっあっ
  • あー
  • 3ヶ月ちょいでモスクワ陥落しましたね?

 

最終的に諦めたタイミング(41年 9/25)

ScreenSave31

 

反省点

  • 結局陸軍以外のも手ぇ付けちゃってるじゃないか
  • 序盤はとりあえず工場作るか―とかやってたけど軍事ユニットもりもり作ってなくちゃいけなかった気がした
  • 序盤の工業力足りなくなるからやっぱ大粛清は回避しちゃダメか?
  • ドイツ以外もせめて来るのでそのつもりで戦線引こう(史実ろくに知らないとダメだね)
  • 戦線綻ぶと回りこまれて補給線絶たれる展開が多かったのでそういう展開になった場合用の予備兵力を少し後方に積んどく

もうちょっと死んで覚えてうまく回るようになったらまたなんか書くかも。

2012年10月5日金曜日

アーセナルオブデモクラシーがお家にやってきた(導入とチュートリアル編)

 

AODGame 2012 10 04 02 43 24 065

 

ほしい物リストしてたアーセナルオブデモクラシー完全日本語版を送ってもらった(ありがとうございました)ので、ちょっとやろうかなというところでして。

このアーセナルオブデモクラシー(以降AoD)というのはWW2の時代(1936-1964)の国家の指導者になって軍隊からなにから自分で切り盛りして頑張る(特に勝利条件とかはない)というゲームです。もともとハーツオブアイアン2シリーズてのがあって、それの最新の拡張版にあたるらしいです。敷居はスゴイ高そう。 

 

事前にやったこと

慣れるまではバニラでやる方針で準備。HoI2 Data wikiさんとかをちょこちょこ参考にさせてもらっています。

  • インストールする:した。
  • 1.0.7にアップデートしとく:サイバーフロントの公式からダウンロードしてきて素直に放り込む。ちなみに1.0.7入れるとディスクチェックなくなって便利がいいです。
  • インストールファイルを書き込み可にしとく:なんか権限まわりでまずいことになることもあるらしいので一応いじっとく。
  • 1.0.7の非公式バグ修正MODもあてとく:こちらから日本語版1.0.7用を頂いてきて上書きコピー。
 

最初はなにをやってみよう 

とっかかりをググって探したところ、4gamerの記事のおまけコラム部分が参考になりそうなので、これに従ってやってみようカナという方針で。

  • ソ連スタート
  • 陸軍の事だけ考える
  • 生産と技術タブ以外は見ない
  • 指揮統制値には気をつける
  • 部隊の合流/分割の方法はちゃんと覚えておく
    • お勧めは3個師団を1部隊にし、指揮官は中将以上にしておくこと
  • 一応チュートリアルもやっておく
  • 国が滅んでも泣かない

よくわからないけどやってみますね。

 

そのまえに一応チュートリアル消化

1. ゲームの概要とインターフェース

ゲームの基本的な説明。

  • 地図っぽい画面はメインマップ画面と呼ばれ、各区域はプロヴィンスと呼ばれる
  • 上部のまんなか辺りにある日付が表示されたボタンの押下やPauseキーで一時停止できる
  • 日付のボタンの右クリックからとか+キーや−キーでゲームスピードの変更が出来る
  • 左上にあるのは情報パネルというもので選択中のやつの情報とかがいろいろ出る
  • 情報パネルの上部にはクイックボタンてのが並んでいて、すべてのプロヴィンスや陸海空軍の一覧などへのショートカットになっている
  • 左下にはミニマップがあり、移動やマップモードの変更(政治・経済など、マップ上に表現する内容の変更)等が出来る
  • 重要な出来事があると下のメッセージログに表示される
  • トップバーには自国のリソースや国民不満度等が表示される他、色々な画面にアクセスするためのタブが表示される
    • 諜報画面:国家間の関係や諜報活動
    • 技術画面:産業や兵器、作戦ドクトリンの開発
    • 生産画面:兵器や設備の生産
    • 貿易画面:他所の国との貿易
    • 外交画面:内政と外交の両方を含み、同盟・貿易協定・宣戦布告・和平交渉・クーデターの画策・プロパガンダ流し等
    • 統計画面:国家別や国内の情報、ゲーム内のあらゆるデータの確認
 

2. 基本的な戦争

Aod201210050326
 
中央3つのプロヴィンスがポーランドに占領されてるので、とりま真ん中のやつを制圧してElbingへの補給線を確保したのち、ポーランドの本国プロヴィンスであるDanzigを押さえ、後は残った一個をチョイチョイするというチュートリアル。自分がやった限りではElbingの部隊は補給線確保する前に確実に全滅するのがウケる。
  • ユニットの選択はマウスドラッグでできるボックスで囲むことで行う
  • ユニットを選択した状態でプロヴィンスを右クリックすると、移動や攻撃などのアクションを命令できる
  • このチュートリアルの自ユニットではKustrinの部隊がいちばん強い攻撃部隊である
  • まずKustrinの部隊で攻撃を行い、他の部隊で支援攻撃を行う
    • 支援攻撃を命令されたユニットから戦闘の開始を行うことはないが、指定されたプロヴィンスへの攻撃が始まると参加する
    • 支援攻撃を命令されたユニットはプロヴィンスの攻略時に移動しない(攻撃を命令されたユニットは攻略したプロヴィンスに移動する)
  • 次にElbingの部隊で攻撃して他は支援攻撃しろと言われるが、Elbingの部隊は全滅してあげくポーランドに占領されたりしているのでとりま手持ちの部隊で上のDanzigを占領し、次に下のPoznanを占領する。
  • そこまでやったら一休みさせてからElbingを総出で攻撃すると何回か敗北してからだいたい勝てる、ような。
 

3. 生産

主に生産画面で行う活動。

Aod201210050507

  • 工業力(以降IC)とは、基本的に領土内の前プロヴィンスにある工場の総数。
  • 工場を稼働させると、1日あたりエネルギー2ポイント・金属1ポイント・希少資源1/2ポイント消費する。
  •  プロヴィンスを選択するとそのプロヴィンス内の工場やら資源生産能力やらが左上の情報パネルで見れる
  • トップバーの生産タブから開ける生産画面でいろいろできる
    • 資源パネルでは備蓄量と増加量が確認できる
    • IC配分スライダーでは各項目へのIC配分を操作できる
      • 消費財:たくさんつくると国民の不満が和らいだり資金を生み出したりする
      • 生産:新しいユニットの生産
      • 物資:軍事ユニットが必要とする物資の生産
      • 戦力補充:戦闘で損害を受けたユニットの回復
      • 改良:既存ユニットの改良
      • プロヴィンス修復:説明は無かったけど読んで字のごとくでは
    • 生産スペースは左半分以上を占めるいちばんでかいパネル
      • 上部の師団とかなんとかのボタンをクリックすると生産できる
      • 生産命令を行うと生産待ち列に積まれ、☓ボタンでキャンセルできる
        • 資源不足で生産できない場合は黄色い表示になり中断される
      • ほぼ完成したユニットは生産待ち列から未配置部隊プールに移動する
      • 未配属部隊プールに移動したユニットは、情報画面からプロヴィンスや展開中の部隊に配属できる
      • プロヴィンスの情報画面から生産を実行した施設については自動的にそのプロヴィンスに配置される
    • 変換率と各種支出:ツールチップ見ろとのこと
 

4. 研究

Aod201210050520

  • 工業力によるが、最大10チームに研究を行わせることが出来る
  • 技術画面の左側のリストで黒い丸をクリックすると任命可能な研究チームの一覧が表示され、そこから選択するとアクティブな研究チームになる
    • 各研究チームにはいろいろ得意分野とかスキルレベルとかがある
  • 右上の項目を選択すると技術ツリーが表示され、研究済みのものは緑、研究可能なものは青、研究できないものは灰色のノードで表示される
  • 青色のノードを選択すると詳細が右下に表示され、研究開始をクリックすると研究開始(中止可能)
  • 秘密兵器については研究を開始するには必須技術以外にも条件が存在する項目がある
  • 概要を選択するとこれまでの研究によって得られた効果を見ることが出来る
 

5. 外交と政府

初回は見ない方針だし後でイイや。
 
 

6. 高度な戦争

任務とか部隊編成とか強襲作戦とか。

Aod201210050620

  • 前提知識としての地方・地域の概念
    • 地方は多くのプロヴィンスを含むエリア
    • 地域はもう少し小さい同様の概念で、含まれるプロヴィンスは3~4個程度
  • 任務機能
    • 任務を用いることで、ユニットを自動的に行動させることができる
    • 任務期間の完了又は一定以上の損耗で任務を完了し当初のプロヴィンスに戻る
    • ユニットを選択し、初期状態では「任務は未設定です」と書かれている任務ボックスをクリックすると実行可能な任務一覧が表示される
    • 任務で例えば海上戦闘哨戒などを選択すると、対象は東シナ海等の地域単位となる
    • 期間などの終了条件を設定してOKを押すと任務が実行される
  • ユニットの再編成
    • 分割:ユニットを選択した状態で情報パネル右下の編成アイコンから
    • 合流:複数ユニットを選択した状態で情報パネルの右下の編成アイコンから
  • 強襲作戦
    • 実行するユニットは1個師団に編成しておく必要があるっぽい
    • 空挺強襲:空挺兵を選択した状態で情報パネル右下のパラシュートのアイコンをクリックすると、輸送機が自動的に選択され強襲作戦が実行出来る状態になるので、目標のプロヴィンスを右クリックで選択して実行する
    • 強襲上陸:だいたい同じで、兵隊ユニットを強襲上陸アイコン(お船+人の絵のアイコン)をクリックすると出来る
 
次はソ連で実際にプレイしてみる予定。

2012年8月29日水曜日

20120828頃の日記

R0010672

箇条書きが楽だ。書き出してみたらゲームばっかりやってた。

SIG用のホルスター買った…が

マルイの昔のガスブロのSIG P226用にDYTACのやつを。合いはとても良いんですがなんか、がしがしやってると徐々に矢印のところのストッパーのピンが飛び出してきて最終的にポロってなります。瞬着かなんかで飛び出ないようにうまいことできないか考え中。

ゲーム:SpecOps The Line やった

スンゴイ砂嵐でたいへんなことになったドバイで、ベッタベタの地獄の黙示録風のお話やる感じのサードパーソンのシューター。ロケーションとお話は良かったけどシューターとしちゃ普通って感じでした。セールで買う分にはわりとオススメ。

ゲーム:Skyrimたぶん半分ぐらいやった

カジートで弓で暗殺したり、だいぶあとになって気づいた素手攻撃補正を生かして殴ったりとかしてます。ハイフロスガーの上の方まで行った辺りで放置中。

ゲーム:Arma2ちょっとだけ触った

頭揺らされすぎて気持ち悪くなったのでそれだけ設定で切ったけど、素直に戦場を再現したゲームとしてこれはイケてる。OAのヘリミッションで折れて放置中。

これから出るゲームのやりたいやつ

リンク先はYoutube辺り。

  • MoH Warfighter:特殊部隊推しの現代戦モノシューター、エンジンはFrostbite2、マルチは前作やBF3よりさらにCoD風になったように見える。わりと面白そうだしマルチやる人がいるとイイナ。
  • CoD BO2:今度はちょい近未来に行ったBO。まあなんだかんだ面白いだろうし買う予定。
  • Hawken:メックゲーだよメックゲー。ねんまつこんなにオンラインタイトルやるつもりで大丈夫か。
  • Borderlands2:前作結局やらんかったけど2はやりたい。
  • Arma3:Arma2の正統進化版って感じですげえリソース食いそう。新しいグラボ買わなあかん……。
  • Project C.A.R.S.:NFS shiftとかやってたところが作ってるらしい、なんかスゴイ綺麗なレースゲー。一応13年リリース予定らしい。グラボ買わなその2。
  • Grid 2:前作は挙動のリアリティとカジュアルさのバランスがよかったレースゲー。コクピットビューなしらしいというのがすごい引っかかるが、まあ安くなったら買うかなぁ感。
  • Day Zのスタンドアロン版:Arma2のゾンビサバイバルなMODで人気らしいやつのスタンドアロン版が出るらしいので、出たら触りたいなーくらいの感。
  • Halo 4:安くなってからでいいかなーくらいの感。
  • BF3の大型MODもあと3発くらい残ってるよ:なんだかんだで買うとは思うけどクロスクオーターはあっという間に人いなくなったなー。

2012年8月27日月曜日

最近のAndroid開発環境(v20)は新規プロジェクトがちょっとオシャレに

Jelly Beans(4.1)登場時に行われたアップデートにより、SDK Tools及びADTが20.0.*になっておりました。ので世間からやや遅れてアップデートしたところ、新規プロジェクト作成時のウィザード及び生成されるひな形が結構変わってらっしゃったのでなんとなくまとめました。

 

新規作成時のウィザード

adt20_1

電球マークのとこにフォーカスあたってる設定項目の説明が表示されるようになっています。ほかは前もだいたい設定できた項目だった気がします。

次にアイコンの設定ができるウィザードも追加されたのですが、わりとどうでもいいので省略します。

 

adt20_2

その次にテンプレート選択画面が表示され、従来のとだいたい同じBlankActivityテンプレートとは別にMasterDetailFlowというのが選択できるようになっています。ただしMinimum Required SDKが11(=3.0、Honeycomb)未満の場合は選択できません。

 

adt20_3

BlankActivityを選択した場合、Navigation Typeがいろいろ選択できるのですが、これもMinimum Required SDKが14(4.0、ICS)未満の場合はNoneしか選択できません。使えないッスね。

 

生成されるプロジェクトのひな形について

adt20_4

ウィザードについてはよく見たら結局ランチャーアイコン選べるようになった以外大差なくねというオチだったのですが、生成されるひな形プロジェクトは結構変わっています。

ざっくりいうとマルチデバイス対応の方法についてサンプルが示されるようになったりした感じです。

 

・libs配下に問答無用でSupport Packageが追加される

Minimum Required SDKの設定内容にかかわらずv4.jarが放り込まれてきます。使ってもいないのにMainActivityに最初からimportされていて、Warningが発生しています。Androidプラットフォームの断片化問題に対する意識の高まりを感じます。

 

・最初からmenuが実装されている

 

device-2012-08-27-222634

最初からGingerbread以前(API Level 10-)とHomeycomb以降(API Level 11+)の両方でちゃんと機能するメニューが実装されています。だいたい以下の様な関係者の尽力によってこのメニューが実現しています。リソース名等はデフォルト値でプロジェクトを作成した場合のものです。

バージョン毎の見栄えの違いは、ちゃんとバージョン別にstyles.xmlが定義されていることに起因します。

- src/MainActivity

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

によってメニューを生成しています。MenuInflater自体は別に最近思いつかれた仕組みではない(API Level 1から存在)です。

- res/menu/activity_main.xml

MainActivityでメニューリソースとして指定されているやつです。個人的に見慣れなかったandroid:showAsActionというitemのパラメータは、Honeycomb以降で可能ならアクションバー上に独立して表示されたいかどうかというパラメータです。

ということで、別に新しい互換性のための仕組み使ってるとかじゃないのですが、Honeycomb以降で実行された時に救われないmenuの実装方法もあったので、コレでやってくれたらちゃんと動くよというサンプルがあるのはいいことだなとおもいました。

 

・画面サイズごとのdimens.xmlが定義されている

padding_mediumというdimenについて、large以上の場合16dp、それ以外の場合8dpで定義されています。これ自体は大したことないですが、こんな感じでマルチデバイス対応してね!という事でしょう多分。

 

・バージョンごとのstyles.xmlが定義されている

AppThemeというstyleが存在し、v10以下(Postfixなし)/v11-13(-v11)/v14以上(-v14)でそれぞれ無難なスタイルが設定されています。これも最初からマルチデバイス対応の見本が入ってくるようになったところです。

 

・このプロジェクト直下のic_launcher-web.pngというのは…

マーケットもといGoogle Playの各所で表示される用の高解像度アイコンらしいです。なんか昔apkと別個にアップしてたようなおぼろげな記憶があるけど、-web.pngて尻につけて含めておくと勝手に読んでくれるみたいな感じなのかな?

2012年7月9日月曜日

GR:Future Soldier感想

日本語版でキャンペーンをベテランでクリアしてマルチを一人で何回かやった時点の感想です。ざっくり言うと走りまわって撃ち合うのはあんま楽しくないけど、スプリンターセルの亜種としてこういうのもアリかなって感じでした。

プレイした印象は、前述のとおりなんとなーくスプリンターセル コンヴィクションに近いものがあって、カバーからカバーへボタン一つで猛ダッシュ出来たりします。あと弾が当たると結構すぐ行動不能になって死にます。Aボタンがカバー/ダッシュなのですが、カバー乗り越えアクションやダッシュが暴発してちょくちょく死にます。センサーとかX線スコープとか心拍センサーとにかく敵の居場所がスケスケになる装備がたくさんあって、近未来装備すげーを演出しつつあんまりクリアリング楽しくないのを隠蔽しています。クリアリングが楽しくないってのは、そも少し視野が窮屈なのと、なんか感度最大にしても視点移動に変なタメがあって素早くキョロキョロ出来ないのでそういう印象になっています。ARMA2みたいな変なリアリティ根性の臭いがします。そういや寝そべって横に転がれるし。

キャンペーンはボリュームがそこそこあって、中盤は良かった気がします。ステルスしなきゃなんないエリアと好きに銃撃戦やっていいエリアがあって、ステルスはほぼ他のグループに見つからずに殺せる4人を探そうゲームと化してて特に面白くはないんですが、距離とって撃ち合うのはぼちぼち楽しい感じでした。マップは結構凝った作りの広めのマップが多くて楽しかったです。

お話は例によって盛り上がりとかそういうのはなしで、こいつが重要なターゲットの何々だぞなんとしてもやるぞーって言われても誰このおっさんみたいな。毎回新しい思い入れのないおっさんを助けたりシメたりします。

マルチは、そもそも走って殺して死んでというフツーのFPSっぽいゲームプレイにはそぐわない操作系なので、リスポンのコストが高いSIEGE(マッチ終了までリスポン不可)がベストなゲームタイプのような気がします。すごい慣れればまた違うのかもしれないですが、大急ぎで移動しながらクリアリングするのにかなり困難を感じたので、お互いなるだけ死なないように丁寧にクリアリングし合う感じのほうが個人的にはいい感じでした。

マルチを実際やってみると、曲がり角でカバーしてると体晒さなくても向こうみえちゃうんで基本待ち有利で、光学迷彩張ってずっと寝そべってる人とかいてなんかサツバツとした感じです。大抵撃たれ始めたらすぐ死んじゃうので撃たれないかドキドキしながらカバー変えてって前進して適当なとこで待ち伏せてチョメチョメして、待ってても来なかったらまた移動して死んでみたりみたいな感じです(SIEGE以外のルールではもうちょっとみんな走りまわってました)。CoDやBFと比べられてそれらみたいに撃ち合えないからクソみたいな言われ方するとかわいそうな感じするけど、じりじりした撃ち合いのほうが好きって人もそんないない気がするので過疎らないか心配だなーと思いました。あと近接がどの角度から入っても死んじゃうようなので早押し勝負です。だいたい負けます。

他には個人的にボタンアサインが変更できないのがちょっと気になってて、例えば左スティック押し込みがカメラサイドの切り替えで、Aボタンがカバーアクション/ダッシュなのですが、これ逆にしたいなーとか。コーナーのクリアリング時に適切なサイドを選択していたほうがたぶん有利という自分の仮定が正しいとして、それを緊急に変更しなくちゃなんない事って基本無いので、そんなんより通常ダッシュがあるところにダッシュ置きたい気がするんすよね。あと最初はAでダッシュだとダッシュ中に右スティックで視点移動出来ないじゃん!と思ったりもしたのですが、頑張ってやってみたらダッシュ中は視点移動効かないみたいなんで別に問題ないようです。

予約してフルプライスで買っちゃったからすごいがんばっていい所探したのにディスってるみたいな文章になっちゃったのが不思議ですが、面白い切り口のTPSだしまあやってみてもいいんじゃないかなと思います。多分。

ゲーム内容とは関係ないですが、大昔に公開されてた歩兵が肩ミサイルで戦車チョメチョメ的な実写ムービーとはわりとかけ離れた印象になってたり、2011年のE3で初めてプレイ映像が出た砂浜でなんかやるキャンペーンがすっかり無かったり、結構迷走したんじゃないかという雰囲気がアレでナニなような。

2012年5月6日日曜日

20120506頃の日記

Bf3 2012 05 05 22 24 12 622

 

GWもそろそろ終わりなので放置してたブログ書こうとおもいました。去年末からなんも書いてないのでそこから今までのトピックをちょろちょろと。

 

X51買っちゃった

Alienware X51ちゅうミドルクラスのゲーム用PCを買ったりしてました。スタンダード/プレミアム/プラチナの3構成あるうちのプラチナで10まんえんちょいでした。トップに貼ったスクショの通り、BF3とかもぼちぼち動きます。BF3の推奨環境のグラボはGTX560以上なので、X51プレミアム以上に搭載のGTX 555はギリギリアウトだったりしますけど。

箱◯比で言うと720pの30fpsでプレイしていたものが、より良いライティング等でフルHDの40〜50FPSで遊べるようになり、ぼちぼち満足です。ただ、24インチ以下くらいのモニタでやってる場合は解像度は720pでも十分だろうし、おそらく次世代据え置き機もX51に迫るくらいの性能になんじゃねえかなという気がなんとなくするので、あと数年我慢出来る方はそうしておくと何万円か節約できるんじゃないかなという気もします。でもPCである事によるメリットは性能面だけでなく、modの利用やPC向けのみのゲームのプレイとかいろいろあるんで、そういうのも判断材料になるかと思います。PCだとあとはスチムーの利用なども出来て良かったりします。originは念入りに滅べ。

 

Androidのナニガシはやってたりやってなかったりする

2012 05 06 18 07 00

 

お勉強用になんかつくろうかなーと某所でネタを乞うたら、寝っ転がってAndroidデバイスで画像整理出来るのあったらいいんじゃないの持ってないけどというのとか貰ったので、それなら自分のニーズもあるしじゃあそれでとやってるところです。もうちょっと形になったらなんか出したい(ならないかもしれない、ならないんじゃないだろうか、ならない可能性が大きい)。

・UIの互換性用のサードパーティ製ライブラリは触ってみたりしている

上のやりかけスクショの通り、Android本体では3.*以上から導入のUI要素であるActionBar表示用のライブラリ、ActionBarSherlockてのを使ってみたりしています(テスト端末がICSなのでホントに使ってんのかよって感じでアレですが)。これはぐぐる先生本体がメンテしてる互換性の為のSupport PackageがActionBarサポートしてないから、当面はサードパーティの使うしかないじゃないのよ頼むよ先生ブーブーとディスった時に使えそうだねと挙げたてたものです。今のところ良い感じに使えそうかなという感触です。たぶん。

Support Packageの方もそこそこ更新されてるので、UIコンポーネントについてのサポートも拡大していけばそっちを使うようにしたいけどまあそれまでは…という感じで。あとスクショに表示されてるリストの切り替えにもちょっとライブラリ使ったりしてて、横フリックで切り替え出来るようにしたりもしてるんですが、それはやる気が出たときにまた何か書けたら何か。