差分

ナビゲーションに移動 検索に移動

リセットマラソン

1,917 バイト除去, 2018年2月7日 (水) 04:52
ページの作成:「'''リセットマラソン'''とは、ゲームにおいて、初期キャラクターなどが乱数で決定する場合に、目標物が出現するまでリセッ...」
'''SL#リセットマラソン'''(えすえるしゃーぷ)とは、[[GPU]]で実行される[[プログラマブルシェーダー]]を、超高級言語である[[C Sharp|C#]]で書けてしまうという夢のような[[オープンソース]]の[[フレームワーク]]である。[[ライセンス]]は[[MITライセンス]]となっている。とは、ゲームにおいて、初期キャラクターなどが乱数で決定する場合に、目標物が出現するまでリセットしまくることをいう。
== 概要 ==SL#の一番の核となる機能は、[[.NET Framework]]の世界で使われている[[中間コード]]形式である[[共通中間言語]]([[CIL]])を、[[DirectX]]で使われる[[HLSL]]や[[OpenGL]]で使われる[[GLSL]]などの各種高級[[シェーディング言語]]に変換するエンジンにある。リセットマラソンはウィザードリィなどで有名で、高いボーナスポイントが得られるまで延々とキャラクター作成を繰り返し数時間を擁するなどということもあった。
この変換エンジンはSL#に同梱されるクラスライブラリを使用(継承)して作られた[[シェーダー]]を[[CIL]]の中から自動抽出し、対象となる[[シェーディング言語]]に変換する。これにより[[HLSL]]([[DirectX]])と[[GLSL]]([[OpenGL]])の非互換の垣根を超えることができる。 さらに[[HLSL]]や[[GLSL]]といった[[シェーディング言語]]に変換された[[ソースコード]]は、内部的に各種シェーディング言語の[[コンパイラ]]により暗黙的に[[コンパイル]]されたのち、自動的に[[GPU]]に送り込まれる。このため[[プログラマー]]は[[GPU]]を深く意識する必要がない。 また、[[プログラマー]]は[[Visual Studio]]や[[MonoDevelop]]、[[SharpDevelop]]といった使い慣れた[[統合開発環境]]を使用でき、[[コード補完]]や[[構文チェック]]などの恩恵を受けることができる。さらに[[シェーダー]]は[[C Sharp|C#]]の[[コンパイラ]]で事前に検証されるため[[実行時エラー]]を最小限に抑えることができ[[デバッグ]]が捗るという利点もある。 == 備考 ==SL#はまだ実験的な[[ライブラリ]]であり、将来的に[[構文]]が変わる可能性などもあるので注意する必要がある。 SL#に関する[[不具合]]などについては可能な限り[[GitHub]]上の同プロジェクト宛てに報告してほしいとしている。 現段階では[[ジオメトリシェーダー]]はサポートされておらず、また[[C Sharp|C#]]以外の[[プログラミング言語]]([[F#|F Sharp]]や[[Boo言語]]、[[Phalanger]]など)については完成度が高まってからのサポートとなる予定であるとしている。 == 関連ライブラリ ==SL#は下記のライブラリを使用している。* [[Mono.Cecil]]* [[ICSharpCode.NRefactory]]* [[ICSharpCode.Decompiler]] == 関連項目 ==* [[シェーディング言語]]* [[GPU]]* [[GPGPU]] == 外部リンク ==* https://github.com/IgniteInteractiveStudio/SLSharp {{stub}}最近のiOSやAndroid向けのスマホゲームでのリセットは「アプリを消して再インストール」が基本となるため、リセマラ大前提の作りにするとアプリストアにおけるダウンロード数が伸びる(Androidではデータ全消しでもいける)。ただし、あまりの面倒臭さに利用者がゲーム本編を始めるまえに離れる原因にもなる両刃の剣である。
匿名利用者

案内メニュー