Hyper-V Server 2012 R2 をインストール

Hyper-V Server 自体のインストールは問題なく終わると思いますので、その後に設定する項目をメモしておきます。

Windows Firewall を適切に設定しておく

リモート管理を行う場合は必ず設定しておく必要があります。

Windows はリモート管理に COM+ と WMI を使用するため、それらがアクセス出来るように構成しておく必要があります。

ノーガード戦法でいくなら

netsh AdvFirewall set all profiles state off

 とやります。

Hyper-V マネージャを追加

管理側のサーバーに Hyper-V マネージャをインストールします。

Windows Server 2012 R2 であれば、サーバー マネージャーを開いて、管理メニューから「役割と機能の追加」を選ぶと、機能に「リモート サーバー管理ツール」というのがあるので、 Hyper-V 管理ツールを導入します。

Windows 7 / 8 の場合は、はじめに RSAT を導入する必要がありますが、導入後に役割と機能の追加から Hyper-V 管理ツールが導入出来ます。

Hyper-V マネージャだけでも個々の仮想サーバーを管理する事が可能なので、これで充分な気も。

 

Windows Azure Pack を試してみたい

Microsoft から Windows Azure Pack というのが公開されています。

これを導入すると、 Windows Azure と同様のサービスを独自に展開出来るようになるということで、試してみました…と言いたいところだったのですが、導入するには色々と準備が必要なのでまだ試せていない状態です。

導入に必要なソフトウェア

  • Windows Server 2012 R2
  • SQL Server
  • System Center 2012 R2
  • System Center 2012 R2 Orchestrator
  • System Center 2012 R2 Orchestrator: Service Provider Foundation

必要なサービス

  • Active Directory

結構多いかも。

Windows Azure Pack 「だけ」をインストールするだけなら、 Windows Server 2012 R2 + SQL Server Express という構成があれば、インストール自体は完了するのですが、意味のある機能が提供出来ません。(そもそも、小規模の環境にインストールする意味はないでしょうけど)

手元には System Center を構成する環境がなかったので、いまのところここで停止中。

その他の方法とか

仮想環境の管理を行うには、 System Center Virtual Machine Manager を使用する方法もあるのですが、こちらを導入するには SQL Server Standard や Windows ADK が必要になります。

Hyper-V の管理を行うのであれば、単純に Hyper-V Manager を使えば良いんだけど。(Windows 7 や 8 だったら RSATかな)

Office365 を契約してみました

The Microsoft Conference 2013 に参加して、 Excel 2013 の新しい機能を活用してみようと思ったのですが、 Conference でデモされていた機能のうち PowerPivot と PowerView に関しては Professional Plus を導入している必要がありました。

Microsoft Surface Pro 2 には、 Office がついてくるのですが、こちらは Home & Business という製品( Professional ですらない)でした。

ちなみによく見る製品は Professional という微妙に違うエディションだったりします。そもそも Professional の値段は ¥48,000 ぐらいするため、試しに Office 365 を契約する事にしました。

自分が契約したのは Office 365 E3 で ¥21,600(1,800 x 12)なのですが、 iMac も所有しているため1ユーザーあたり 5ライセンスまでインストールが可能なので、かなりお得かも。

Office 365 のエディションについて

Office 365 には目的にあわせて様々なプランが用意されています。比較ページ

office_chart Excel でつくってみました。

適当にまとめてみたのですけど、結局 Professional Plus を使用するには、

  • P2, M, E3, E4 のいづれかの Office 365 を契約する。
  • 別途 Office 365 ProPlus を契約する。

となります。

契約数が 10,000人といった規模になると話は別ですけど、個人で使用するライセンスであればあんまり差がないような気がしたので Office 365 の E3 で良いかも。 

The Microsoft Conference 2013 に行ってきました

The Microsoft Conference 2013 に一日目だけ参加しました。

自分の仕事では Windows Server を使用することはあまりないのですけど、仕事として行かせて貰えました。(ダメだったら有給を使って行くつもりでした。)

Hyper-V, SQLServer 2014, PowerBI 関係の話を聞いてきました。どれも試してみたいものばかりなのですが、仕事で使うことがありそうなのは PowerBI ぐらいかも…

二日目は Windows Storage Server 2012 関係で見たいのがあったけど、仕事の都合で参加出来ず…残念。

関連リンク

GarageGames の Torque

GarageGames が販売していた Torque が、 Torque2D, Torque3D という名称になり、ソースコードが github にて公開されました。

また、ライセンス形態も MIT License となりました。ソースファイルには、 VisualStudio と Xcode 用のプロジェクトが含まれていて、依存関係のあるモジュールも全て付属していますので、ビルド環境さえ用意すれば、 Windows用、 MacOSX用、 iOS用(手元の環境では未確認)の実行ファイルが手に入ります。

Torque2D 上で Torque Script を弄ってみたところ、構文にクセがあるように感じました。(とはいえ、これは自分が Python プログラマだからそう感じているだけかもしれません。)

基本は、 SceneObject を生成し、そこに Sprite や Particle をぶらさげていくというシンプルなものです。コリジョンは Box2D が提供されているので、必要に応じて Sprite に割り当てるだけで実現出来ます。実際に付属しているデモは、ほとんどが Sprite と Box2D を使用したものとなっています。

機能的な比較をすると、 cocos2d-x の方が高性能だと思うのですが、前述のようなシンプルな仕組みの方が Python を組み込み易そうだったもので…

ちょっと気になったのは、 Torque2D の時間管理が Time ベースに見えるところ。ドキュメントには Time と Tick があるような記述があるけど、 Torque Script からはどうやって指定するんだろ…フレーム固定のゲームというのは好まれないという事なのかな。

iMac 27-inch, Late 2012 に VMWare Fusion をインストール

開発環境として VMWare Fusion をインストールしました。

Windows Score を調べたところ、以下の様な結果となりました。本体はカスタマイズオプションは使用していない店頭モデルです。

  • 2.9 GHz Intel Core i5
  • 24 GB 1600 MHz DDR3
  • NVIDIA GeForce GTX 660M 512 MB
  • OS X 10.8.4

windows_score

VMWare Fusion 5 の設定は「割り当て CPU 1」「2048MB」にしています。

NebulaDevice2 用のパッチ

どの程度の需要があるのかわかりませんけど、 NebulaDevice2 for Windows 用のパッチを作成しました。

Sourceforge で公開されている revision 3307 をベースにしています。

変更点

ビルドシステムに VisualStudio2008 を追加。

NebulaDevice2 に付属の buildsys3 では VisualStudio2005 までのソリューションとプロジェクトしか生成出来なかったのですが、新しく VisualStudio2008 の形式で出力されるようにしました。

DirectX SDK(June 2010) 以前の DXErr 表記を修正。

2軸以上のゲームパッドに対応。

具体的には PlayStation2 や XBOX360 のコントローラーが接続された際に認識されていなかったアナログスティックが認識されるようになります。

マウスホイールの入力に対応。

ホイールの回転を Z 軸として受け取る事が出来ます。

 ■

[wpdm_file id=17]

HDInsight 用のインスタンスが立ち上がらないです…

昨日 HDInsight をセットアップ使用としたのですが、自分のアカウントだと作成に失敗してしまいました。

作成しようとしたのは、以下の様な感じです。

  • Storage Accout を East US に作成。
  • Cluster Size を 4 data nodes に設定。
  • Storage Account を East US のものを指定。

[ Create HDInsight Cluster ] を押すと、作成がはじまるのですが、 Safari だとそのまま何事もなく終わってしまいました…( IE や Chorome だとまた違った挙動なのですが、やはり失敗してしまいます。)

自分の環境に問題があるのかもしれないけど、ちょっと残念…

 

Microsoft Azure上でHDInsight

 

Microsoft Azure上でHDInsightが使用できるようになったという事で、申し込んでみました。

HDInsight というのは、Windows Server上で稼働するようにした Hadoop 環境です。

今回申し込んでみたのは、それをMicrosoft Azure上で稼働させられるようにしたものなのですが、私自身はHadoopを使用するのは初めてだったりします。

Hadoopを使用してみたいな…とは思っていましたので、今回はちょうど良い機会だったのかもしれません。

hdinsight こんな画面から開始します。

ただ、趣味で使用するにはお金がかかりすぎてしまいそうなので、時間がとれるときにあらためてチャレンジしようと思います。

ところでCUSTOM CREATEが正常に動作しませんでしたけど、これはプレビュー版だから???

今日一日 SurfaceRT を使ってみた感想

日本語版の SurfaceRT を使い始めてみたわけなのですけど、いまのところ、画面分割モード(正式名称はなんていうんでしょ?)で使用しています。

例えば、デスクトップと Twitter といった感じです。

買った後から気になったところとか

ACアダプタは同梱でした

ACアダプタが必要かと思って購入したのですけど、元から同梱されてました…

これは自分が確認しなかったのが悪いのですけど、ちょっと悲しかったです。

Touch Cover の裏面が想像と違っていました

自分は Touch Cover 同梱版を買いました。同梱版の Touch Cover は色が黒固定…なのは良いのですけど、なんだか黒とそれ以外でキーボードの裏(カバーとしては表)の素材が違うようです。

黒は裏面の素材がフェルトの様な感じで閉じたときにいまいちかっこ悪いです。

これなら単体のものを買って、 Touch Cover を別途買った方が良かったかも。

SurfaceRT を買ってみました

国内でも発売が開始された、 SurfaceRT を買ってみました。

まだ使い始めたばかりですけど、操作感は結構良いかも?

付属の Touch Cover は、便利そうに見えたのですけど、思っていたよりも打ちづらいかも…

 

と、Surface から更新してみました。

Nebula Device 2 の描画順序について

SceneNode内でソートしないようにするにはどうすれば良いのかと以前から気にしていたのですが、偶然見つけたのでメモ。

場所は nsceneserver_main.cc 内でした。

nSceneServer::RenderScene()
  nSceneServer::SortNodes()
    qsort(indexPtr, numIndices, sizeof(ushort), (int(__cdecl*)(const void*, const void*))CompareNodes);
      nSceneServer::CompareNodes(const ushort* i1, const ushort* i2)

Nebula Device 2 は、描画順序に以下の様なルールで処理されます。

描画は XML で定義された render path 順に処理される。

使用するシェーダーによっては、レンダリングされた結果を読み取りたい場合があったり、デバッグ用のメニュー表示を行うために、 render path の順番はとても重要です。

ひとつの path は、その中で定義されたシェーダー順で描画される。

アルファ値を使用した描画をZ値を参照しながら描画をするときに前後関係によってはおかしくなる時があります。ですので、ひとつの path に列挙された順に描画されます。

SceneNodeはプライオリティが高いものほど手前に描画される。

表現方法によっては、本来みえないはずのものが見えた方が望ましい場合があります。(例えば、壁の向こう側が透けて見えるとか)そういった本来の前後関係をどうしても無視したい場合は、プライオリティの値を大きくすることで一時的に手前にする事が出来ます。

同じプライオリティの場合はカメラからの距離に応じて描画順序が並び替えられる。

不透明な物の後ろに配置された物は見えなくなります。描画される空間がどんなに広くても、それをディスプレイ越しに見る限りは、結局は見えている物がすべてとなります。

そこで

  • 全く見えないのはそもそも描画しない。
  • 一部分しか見えない物は、見えている部分だけを描画する。

といった方法で、必要な物だけを描画します。

手前のものから描くことで、そこに隠れているもの自体を描画しないようにします。

説明が長くなってしまいましたが、こんな感じで便利な機能が内蔵されているのですが、 2D の描画を行う際にはこの処理が問題となります。

Nebula Device 2 では nRpPhase に None, FrontToBack, BackToFront というのが選べるのですが、一時的にソートしないようにするにはどこをいじれば良いのかわからなかったので…

ゲーム向きのマップ作成ツール

2Dゲームを作成するには、プレイヤーが動かすキャラクターや敵キャラクターの画像を用意する必要がありますが、それとあわせてそれらのキャラクターが活躍する舞台を用意してあげたいところです。

ゲームによっては、単なる一枚絵の場合もあるのですが、ゲームによっては見た目以上の情報が必要となります。

例えば、

  • 通過出来る
  • 触るとライフが減る
  • アイテムの隠し場所
  • ここまで来たらゴール

といったものがあります。

こういった情報を埋め込むには、手作業で頑張っても良いのですけど、見た目を確認しながらゲームに必要な情報を埋め込めるツールがあると便利です。

というわけで、 Tiled Map Editor というのを見つけたので使用してみました。

tmx こんな画面です。(メニューがさりげなく日本語化されていて嬉しい)

ブロック単位で画像を貼付けていく事が出来るだけでなく、オブジェクト毎にちょっとした値を書き込んでおく事も出来ます。出力は XML, CSV, JSON に対応してして、レイヤーを一枚の画像として出力する事も出来るので、わりと使えそう。

 

 

Nebula Device 2 のビルド方法 (win32)

The Nebula Device 2 というゲーム開発用ライブラリがあります。かなり古いライブラリで更新がとまっている[1. 後継ライブラリとして http://code.google.com/p/nebuladevice/ があります。]のですが、内部仕様が好みで使っています。

自分用のメモとして以下にビルド方法を記述してみたりして。

以下のソフトウェアをインストール

  • VisualStudio 2008
  • DirectX SDK June 2010
  • Python 2.7
  • wxPython
  • ドキュメントの生成を行う場合は、追加で以下も必要です。
    • doxygen
    • HTMLHELP Workshop

SourceForge からソースをチェックアウト

svn co https://nebuladevice.svn.sourceforge.net/svnroot/nebuladevice/trunk

依存するファイルを追加でダウンロード

Nebula Device 2 は幾つか依存するライブラリ[1. ogg と sqlite3]があります。自前で持ってきても良いのですが、SourceForge から以下の名前でダウンロードする事が出来ます。

  • nebula-vc8-deps-20070409.zip
  • mangalore が必要な場合は、追加で以下も必要です。
    • mangalore-vc8-deps-20070407.zip

nebula2/buildsys3/generators に vstudio9 用の設定を追加する。

_WIN32_WINNT=WINVER; を vcproj に書き出さないようにするためと、Visual Studio 2008 でも build が行える様に、以下の Python コードを追加で配置します。

[wpdm_file id=12]

update.py を実行

python update.py

みたいな感じで実行すると、 Nebula 2 Build System が立ち上がりますので、 vstudio9 を選択した後に、ビルドしたいものにチェックを入れます。

基本部分だけなら nebula2libs, nebula2tools のみにチェックを入れてから、 RUN ボタンを押します。

VisualStudio に DirectX SDK のパスを追加

  • #include <dxerr9.h> の箇所を #include <dxerr.h> に変更。
  • DXGetErrorString9 を DXGetErrorString に変更。

ソリューションを開いてビルド

正常にビルドが完了していれば、 build/vstudio9/inter フォルダにライブラリが生成され、 bin フォルダに実行ファイルが生成されます。

Windows の環境設定

VMWare 上に OS を導入した後、自分は以下の様なソフトウェアを導入しています。

VisualStudio 2008 Professional

そんなの入れて使いこなせてるの?みたいな気もしますけど、まずはこれを入れています。DirectX の開発や Python モジュールの作成であれば Express Edition でも良いのですが、ごく稀に Crystal Reports を使用する事もあります。

DirectX SDK June 2010

手持ちのライブラリが DirectX 9.0 ベースですので、こちらも必要になります。

Windows8 では、個別提供はされずに Platform SDK に纏められて提供されるようです。

Altap Salamander

愛用している二画面ファイラーです。

EmEditor

スクリプトの作成は大抵このエディタを使用しています。

Python 2.7.2

スクリプトを書く際は大抵 Python 言語を使用しています。世の中は Python 3 系なのかもしれませんが、手元のライブラリや組み込みで使用している Stackless が 2.7.2 なので、バージョンを合わせています。

  • ちなみにインストールしているライブラリは以下のような感じです。
    • setuptools
    • Python Image Library
    • PyOpenGL
    • wxPython

 

以前であれば、デザイン関係のツールとして CorelDraw もインストールしていたのですけど、現在は Mac に移行してしまったので、 Windows 環境にはプログラム関係がインストールされています。

VMWare Fusion5 に Windows7 をインストール

自宅で使用している PC は iMac 一台だけなのですけど、DirectX のアプリケーションを開発する時には Windows 環境が必要となります。

intel Mac であれば Boot Camp を使用することで Windows を導入する事が出来ますが、再起動が必要となるため、自分は VMWare を使用しています。

VMWare はエミュレータですので、 Boot Camp に比べると当然重くなってしまうのですが、いまのところ作成しているアプリケーションは動作してくれているので愛用しています。重いといっても、自分が使用するには十分な性能が出ています。

vmware_score エクスペリエンス インデックス は 4.7 でした。

OS のインストールよりも、その後の環境設定の方が大変だったり。

 

今日の RapidMiner

今日もすこしばかり RapidMiner を使用してみました。

前の記事ではデータが何も無いと言う事で Google Trends を使ってデータを生成していたのですけど、 Utility -> Data Generation に色々なデータをランダムに生成してくれる機能がありました。(しかも、チュートリアル用のサンプルデータも幾つか付属してます。)

というわけで…前回よりもまともなものを組んでみました。

s1

やっている事は、

  • Generate Direct Mailing Data を使用してデータを生成。
  • Naive Bayes, Naive Bayes (kernel), Decision Tree のモデル精度を比較。
  • Decision Tree を使用して学習モデルを生成後、別のデータを与えて正答率をチェック。

といったことをしています。

s2s3

自分が組み立てたプログラムでは、100件のサンプルを使ってモデルを生成し、別の100件の予測をしています。

(正解率は 85 〜 90% ぐらいでした。)

使い方がわかってくると面白いかも。

RapidMiner を使ってみました

RapidMiner というのは、データマイニングを行うソフトウェアで、無料版を rapid-i のウェブサイトからダウンロードする事が出来ます。

java で書かれているアプリケーションなので、 MacOSX 上でも動作させる事が出来るのが個人的にも嬉しいところ。また、無料のソフトウェアのわりには便利な GUI が存在しています。(MacOSX 上だと、微妙に動作がおかしいところがあるみたい)

ちなみにこんな画面です。

rm4 rm3

適当な CSV が無かったので、Google Trends から「魔法少女リリカルなのは」「田村ゆかり」「水樹奈々」「植田佳奈」で検索した結果を使用しています。

上図でやっているのは、CSVを読み込んで、Naive Bayes、Decision Tree の結果を確認しているところです。(ネタをリリカルなのはにしてみたかっただけで、実際に何かを調べているわけではないです…)

検索しても日本語のページがほとんど出てこないけど、これを使いたい様な人は R や SPSS といったものを利用しているから、あんまり需要はないのかも。

おまけで使用した CSV ファイルを貼付けておきます。

[wpdm_file id=8]