imported>Administrator |
imported>Administrator |
1行目: |
1行目: |
− | [[Xamarin.Mac]]でも[[NLog]]を使えると捗る。
| + | '''リセットマラソン'''とは、ゲームにおいて、初期キャラクターなどが乱数で決定する場合に、目標物が出現するまでリセットしまくることをいう。 |
| | | |
− | ==実装1==
| + | リセットマラソンはウィザードリィなどで有名で、高いボーナスポイントが得られるまで延々とキャラクター作成を繰り返し数時間を擁するなどということもあった。 |
− | [[Xamarin.Mac]]でも[[NLog]]はなんら問題なく使用できる。[[NuGet]]から一発[[インストール]]である。試してはいないが[[MonoMac]]でも同じだと思う。
| |
| | | |
− | ただし[[ファイル]]に出力する場合に注意が必要で、[[Mac OS X]]ではあらゆる[[ファイル]]は[[アプリ]]の外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。
| + | 最近のiOSやAndroid向けのスマホゲームでのリセットは「アプリを消して再インストール」が基本となるため、リセマラ大前提の作りにするとアプリストアにおけるダウンロード数が伸びる(Androidではデータ全消しでもいける)。ただし、あまりの面倒臭さに利用者がゲーム本編を始めるまえに離れる原因にもなる両刃の剣である。 |
− | | |
− | ===ファイルに出力するNLog.configの設定例===
| |
− | そこで以下の例では[[Mac OS X]]では定番の「~/Library/Logs/」以下に出力してみた。
| |
− | | |
− | <source lang="xml">
| |
− | <?xml version="1.0" encoding="utf-8" ?>
| |
− | <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
| |
− | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| |
− | xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
| |
− | autoReload="true"
| |
− | throwExceptions="false"
| |
− | internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
| |
− | | |
− | <variable name="appname" value="monobook"/>
| |
− | | |
− | <targets>
| |
− | <target xsi:type="File" name="logfile"
| |
− | fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
| |
− | layout="${longdate} ${uppercase:${level}} ${message}" />
| |
− | | |
− | <target xsi:type="Console" name="console" />
| |
− | | |
− | </targets>
| |
− | | |
− | <rules>
| |
− | <logger name="*" minlevel="Trace" writeTo="logfile" />
| |
− | <logger name="*" minlevel="Info" writeTo="console" />
| |
− | </rules>
| |
− | </nlog>
| |
− | </source>
| |
− | NLogに設定するパスは[[絶対パス]]なので、ホームディレクトリのパスの取得は「[[MonoMac/特殊ディレクトリのパスを取得する]]」を用いてMyDocumentsを指定することで取得した。
| |
− | | |
− | また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。
| |
− | | |
− | ===備考===
| |
− | NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。
| |
− | | |
− | ===不具合===
| |
− | これは2015年8月3日の情報です。
| |
− | [[Xamarin.Mac]]において「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん[[不具合]]だと思う。
| |
− | | |
− | ==関連項目==
| |
− | *[[MonoMac/特殊ディレクトリのパスを取得する]]
| |
− | | |
− | ==参考文献==
| |
− | {{reflist}}
| |
− | | |
− | {{stub}}
| |
− | | |
− | [[category:Xamarin.Mac]]
| |
− | [[category:MonoMac]]
| |
リセットマラソンとは、ゲームにおいて、初期キャラクターなどが乱数で決定する場合に、目標物が出現するまでリセットしまくることをいう。
リセットマラソンはウィザードリィなどで有名で、高いボーナスポイントが得られるまで延々とキャラクター作成を繰り返し数時間を擁するなどということもあった。
最近のiOSやAndroid向けのスマホゲームでのリセットは「アプリを消して再インストール」が基本となるため、リセマラ大前提の作りにするとアプリストアにおけるダウンロード数が伸びる(Androidではデータ全消しでもいける)。ただし、あまりの面倒臭さに利用者がゲーム本編を始めるまえに離れる原因にもなる両刃の剣である。