Diablo IIと同様のインタラクションデザインを備えた2Dマップベースのアクションゲームを作成しています。つまり、プレーヤーはマップをクリックしてプレーヤーを移動します。プレイヤーの動きを終えて、パスファインディングに移ります。
ゲームでは、敵はプレイヤーのキャラクターを充電する必要があります。異なる移動ボーナスを与える5つの異なる地形タイプもあります。AIがこれらの地形のボーナスを利用して、プレイヤーに到達しようとします。
A *検索アルゴリズム(http://en.wikipedia.org/wiki/A*_search_algorithm)をチェックアウトするように言われました。私は、HTML5とJavaScriptでこのゲームをやって、そしてJavaScriptでバージョンを見つけたんだ:http://www.briangrinstead.com/blog/astar-search-algorithm-in-javascript私はそれを微調整する方法を把握しようとしていますでも。
以下は、私が変更する必要があるものについての私の考えです。他に何を心配する必要がありますか?
- グラフを作成するときは、渡した2D配列を、さまざまな地形タイプに対応するマップのトラバーサルで初期化する必要があります。
- graph.js:「GraphNodeType」の定義を変更して、5つの地形タイプを処理する必要があります。壁はありません。
- astar.js:gとhのスコアリングを変更する必要があります。どうすればよいですか?
- astar.js:isWall()はおそらく削除する必要があります。私のゲームには壁がありません。
- astar.js:これが何であるかわかりません。処理が有効でないノードを示していると思います。しかし、これはいつ起こりますか?
- 高いレベルで、このアルゴリズムを「ああ、そこに壁はありますか?」からどのように変更しますか?「この地形は、周囲の地形よりも速くプレイヤーに到達しますか?」
時間の関係で、私は敵にブレゼンハムのアルゴリズムを再利用することについても議論しています。残念ながら、さまざまな地形の動きのボーナスはAIによって使用されないため、ゲームは夢中になります。:/私はこれをプロトタイプに取り入れたいのですが、私は貿易開発者ではなく、コンピュータ科学者でもありません。:D
私が探していることを実行するコードを知っている場合は、共有してください!
このための健全性チェックのヒントも高く評価されています。