私は、Silverlight を使用して Web ベースのローグライク ゲーム (または WPF を使用した単なるデスクトップ ゲーム) を構築するというアイデアをいじっています。
ローグライクとは、テキストを使用してグラフィックがレンダリングされるグラフィック RPG の一種です。グラフィック エンジンは比較的単純なので、ゲームの機能を構築するのに時間を費やすことができ、1 人で楽しいものをすばやく構築することができます。
たとえば、典型的な画面は次のようになります (@ はプレイヤー、# は壁、その他のキャラクターはモンスター、階段、アイテムなどです)。
(出典: thangorodrim.net )
私は経験豊富な ASP.Net 開発者で、Silverlight を使い始めたばかりです。これに対して私が取るべき特定のアプローチはありますか?
背景を説明すると、Winforms ではほとんどの標準的なアプローチが遅すぎます。キャンバスを使用するのが適切かもしれないと考えていますが、何らかの方法で画面をバッファーに描画し、それを即座に画面に切り替えて、すぐに表示できるようにすることをお勧めします。
しかし、今のところ DirectX をいじりたくはありません。WPF を使えば、大きな学習曲線を必要とせずに必要な場所に到達できることを願っています。
何かご意見は?
更新:これは非常に困難であることが判明しました。私は多くの異なるアプローチを試しましたが、最終的に実際に十分に速くレンダリングすることができましたが、それを非常に速くするためには、おそらく使用したいフォントのスプライトマップを構築し、代わりにそれから作業する必要があると思います.組み込みのフォントレンダリング機能を使用しようとすること。私はそれをしませんでした。
コアレンダリングエンジンを完成させたとき、フォントレンダリングの癖に関連するいくつかの厄介なアーティファクトが発生しました(固定幅フォントでさえ、時には幅がわずかに広い場合があります... )。は、C# ラッパーを備えた非常に印象的なローグライク エンジンです。それはすべてコンソールベースです。少し遊んで、圧倒されました。
1.5.1 の時点で、私が libtcod で触れたものはすべて、マウス入力とキーボード入力モードの 1 つ (最近捨てられたと思います) を除いてうまく機能しますが、ローグライクを作成するために必要なものはすべてそこにあります。これには、いくつかの見通し線、経路探索、さらにはダンジョン生成アルゴリズムも含まれています。視覚的にかなり進んでいます。このような RL を見たことがありますか?
http://doryen.eptalys.net/files/screenshot0014.png
一言で言えば、Silverlight でローグライク ゲームを構築することは可能ですが、Silverlight やゲーム開発の経験が豊富でない限り、簡単だとは思いません。ゲームプレイに集中できる強力なツールキットを使用しても、やるべきことがたくさんあります。