• VIVID Runtimeはじめました

    2011年02月19日 11時21分
    最近書いた記事のため下書きが残っていました。再投稿します。


    MacbookとiPod touchを買ってきてにわかにやる気だったのですが、
    依頼された仕事はAndroidでした。


    死亡フラグみたいなもんだったわけです。


    今回作ったのはアンドロイドやろうぜ!by GMO向けゲームでした。

    利用規約等を見たところ、特に守秘義務が無かったので、
    開発について覚えている限り書いてみようと思います。


    アンドロイドやろうぜ!by GMOのゲームは、GoogleのAndroid SDKではなく、
    AcrodiaのVIVID Runtimeという物を使います。
    詳細については公式ページを参照下さい。

    VIVID Runtime SDKはAndroid SDKと違い、C/C++/Objective-Cでの開発が可能です。
    これらの言語で書いたソースをgccでコンパイルます。

    ネイティブコード実行になるのでゲーム向きと言えるでしょう。
    ただ、ARM向けにコンパイルされるので、x86のAndroid端末だと動かないと思います。(未検証)


    開発環境

    開発を始めるには、VIVID Runtime SDKが必要になります。
    これは、@GMOゲームセンター デベロッパーサイトにCPとして登録するとダウンロードすることが出来ます。

    私が使用したのはバージョン 1.1でした。

    これを任意のフォルダに解凍します。


    C:\vivid_runtime_sdk_1_1


    以上で開発環境の構築は完了です。簡単。


    プログラム作成

    例によってHello work!!プログラムを作ってみましょう。
    最小限のコードは次の通りです。

    1#include <KD/kd.h>
    2
    3KDint kdMain(KDint argc, const KDchar *const * argv)
    4{
    5    kdLogMessage("Hello work!!");
    6    return 0;
    7}


    main.cppとして保存します。


    ビルドと実行

    ビルドを行うためには設定ファイルを書く必要があります。
    どのプロジェクトでもだいたい同じだと思うので、まずは下記のサンプルをまるコピしてみてください。

    <?xml version="1.0" encoding="shift_jis"?>
    <VisualStudioProject
    	ProjectType="Visual C++"
    	Version="9.00"
    	Name="Hello work"
    	ProjectGUID="{329BA7C7-513D-406D-BCC8-D813DCCD497A}"
    	RootNamespace="Platform"
    	Keyword="MakeFileProj"
    	TargetFrameworkVersion="196613"
    	>
    	<Platforms>
    		<Platform
    			Name="Win32"
    		/>
    	</Platforms>
    	<ToolFiles>
    	</ToolFiles>
    	<Configurations>
    		<Configuration
    			Name="Debug|Win32"
    			OutputDirectory="$(ConfigurationName)"
    			IntermediateDirectory="$(ConfigurationName)"
    			ConfigurationType="0"
    			>
    			<Tool
    				Name="VCNMakeTool"
    				BuildCommandLine="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs build &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				ReBuildCommandLine="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs rebuild &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				CleanCommandLine="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs clean &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				Output="hello_work.exe"
    				PreprocessorDefinitions=""
    				IncludeSearchPath="C:\vivid_runtime_sdk_1_1\tools\gcc_toolchain\arm-runtime-eabi\usr\include"
    				ForcedIncludes=""
    				AssemblySearchPath=""
    				ForcedUsingAssemblies="KD"
    				CompileAsManaged=""
    			/>
    		</Configuration>
    		<Configuration
    			Name="Release|Win32"
    			OutputDirectory="$(ConfigurationName)"
    			IntermediateDirectory="$(ConfigurationName)"
    			ConfigurationType="0"
    			>
    			<Tool
    				Name="VCNMakeTool"
    				BuildCommandLine="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs build &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				ReBuildCommandLine="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs rebuild &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				CleanCommandLine="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs clean &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				Output="hello_work.exe"
    				PreprocessorDefinitions="KD_NDEBUG"
    				IncludeSearchPath="C:\vivid_runtime_sdk_1_1\tools\gcc_toolchain\arm-runtime-eabi\usr\include"
    				ForcedIncludes=""
    				AssemblySearchPath=""
    				ForcedUsingAssemblies="KD"
    				CompileAsManaged=""
    			/>
    		</Configuration>
    	</Configurations>
    	<References>
    	</References>
    	<Files>
    		<File RelativePath=".\main.cpp"></File>
    	</Files>
    	<Globals>
    	</Globals>
    </VisualStudioProject>


    hello_work.vcprojとして保存します。

    main.cppとhello_work.vcprojを同じフォルダに置き、
    コマンドプロンプトでそのフォルダにcdします。

    ビルドは次のコマンドになります。
    C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs build hello_work.vcproj Debug


    実行は次のコマンドになります。
    C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe vs debug hello_work.vcproj Debug


    実行すると、「Hello Work!!」と表示されるはずです。
    (QEMUでエミュレーションしているようです。)


    hello_work.vcprojの内容については見覚えのある人も多いと思いますが、
    これはVisual Studioのプロジェクトファイルです。

    よって、もちろんVisual Studioで開くことが出来ますし、そこからビルドすることも出来ます。
    (Visual Studio Express Editionで確認。)



    Visual Studio上から実行する場合についてはもう一つ設定ファイルが必要です。
    次の内容をhello_work.vcproj.userとして保存します。
    <?xml version="1.0" encoding="shift_jis"?>
    <VisualStudioUserFile
    	ProjectType="Visual C++"
    	Version="9.00"
    	ShowAllFiles="false"
    	>
    	<Configurations>
    		<Configuration
    			Name="Debug|Win32"
    			>
    			<DebugSettings
    				Command="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe"
    				WorkingDirectory=""
    				CommandArguments="vs debug &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				Attach="false"
    				DebuggerType="3"
    				Remote="1"
    				RemoteMachine=""
    				RemoteCommand=""
    				HttpUrl=""
    				PDBPath=""
    				SQLDebugging=""
    				Environment=""
    				EnvironmentMerge="true"
    				DebuggerFlavor="0"
    				MPIRunCommand=""
    				MPIRunArguments=""
    				MPIRunWorkingDirectory=""
    				ApplicationCommand=""
    				ApplicationArguments=""
    				ShimCommand=""
    				MPIAcceptMode=""
    				MPIAcceptFilter=""
    			/>
    		</Configuration>
    		<Configuration
    			Name="Release|Win32"
    			>
    			<DebugSettings
    				Command="C:\vivid_runtime_sdk_1_1\tools\thrip\thrip.exe"
    				WorkingDirectory=""
    				CommandArguments="vs debug &quot;$(InputFilename)&quot; $(ConfigurationName)"
    				Attach="false"
    				DebuggerType="3"
    				Remote="1"
    				RemoteMachine=""
    				RemoteCommand=""
    				HttpUrl=""
    				PDBPath=""
    				SQLDebugging=""
    				Environment=""
    				EnvironmentMerge="true"
    				DebuggerFlavor="0"
    				MPIRunCommand=""
    				MPIRunArguments=""
    				MPIRunWorkingDirectory=""
    				ApplicationCommand=""
    				ApplicationArguments=""
    				ShimCommand=""
    				MPIAcceptMode=""
    				MPIAcceptFilter=""
    			/>
    		</Configuration>
    	</Configurations>
    </VisualStudioUserFile>


    ビルド(追加情報)

    Visual Studioの設定ファイルからだと、設定出来る項目に限界があります。
    そのため、追加の設定ファイルも用意することになります。

    追加設定については、hello_work.vcproj.configファイルで設定します。
    内容はこんな感じです。
    <?xml version="1.0" encoding="utf-8" ?>
    
    <!-- This is a VIVID Runtime specific configuration file. Please see VIVID Runtime SDK documentation for details.-->
    <config>
    
      <!-- Common properties for all configurations. -->
      <common>
        <!-- Verbose compiler and linker output. -->
        <verbose>true</verbose>
    
        <!-- General options. -->
        <!-- <warning_level>1</warning_level> -->
        <!-- <optimization_level>3</optimization_level> -->
        <!-- <include_symbols>false</include_symbols> -->
        <!-- <thumb>true</thumb -->
        <!-- <interworking>true</interworking -->
        <!-- <pic>true</pic> -->
    
        <!-- Determines whether the general options listed above are used. If false, you must supply the needed flags using compiler and linker options. -->
        <enable_general_options>true</enable_general_options>
    
        <!-- Determines whether the automatic options depending on the output target type (.a, .so, .exe) are used. If false, you must supply your own options. -->
        <enable_automatic_options>true</enable_automatic_options>
    
        <!-- Additional compiler flags passed directly to compiler. -->
        <compiler_options></compiler_options>
    
        <!-- Additional compiler flags passed directly to linker. -->
        <linker_options></linker_options>
    
        <!-- Postbuild action that points to an .exe or .bat -->
        <!--postbuild_action></postbuild_action-->
      </common>
    
      <!-- Configuration specific overrides for "release" configuration. You can also add other configuration names here if available in the project. -->
      <configuration name="release">
        <!-- You can put any of the property values in the common section here as well. -->
      </configuration>
    
      <!-- Configuration specific overrides for "debug" configuration. -->
      <configuration name="debug">
        <!-- You can put any of the property values in the common section here as well. -->
      </configuration>
    
    </config>


    この内容については完全に把握出来ていないので、マニュアルを参照してください。
    私が読んでもよくわかりませんでした。


    リリース時に使用する設定情報を記載するファイルもあります。
    これは、rpkという名前のフォルダを作り、その中にconfig.xmlという名前で配置するようです。


    また、この2つのファイルを設定するアプリが用意されています。
    コマンドプロンプトから次の様に起動します。
    C:\vivid_runtime_sdk_1_1\tools\thrip\config.exe hello_work.vcproj.config rpk\config.xml



    最後に

    以上が基本的な開発環境設定になります。
    まとめて見るとそんなに複雑ではないのですが、
    初心者がノーヒントの状態から内容を把握するのは大変でした。

    あと、Eclipseでも開発出来るそうですが、私はVisual Studio派なので調べませんでした。
    Eclipse派は自力で調べてください。

    コメントを書く

    名前
    本文
    編集用パスワード
    管理者のみ閲覧