2016-06-16 7 views
0

私はビデオゲームにクエストモッズの大きなセットを作る際に私を助けるために、非常に食料調達された特定の目的のためのプログラムを作りたいと思っていますElder Scrolls III:Morrowind。私はこれをExcelまたはVisual Basicのどちらかを使ってやってみようとしています。ここでは、ゲームの通常の作成プログラムで対話がどのように機能しているのかを少しまとめておきました。  MorrowindでDialogueを処理するアプリケーションをVisual Basicで作成するには?

Morrowind Dialogueはどのように機能しますか?

ゲームに精通している方は、NPCと話すことで一連のテキストが表示されることを覚えています。このテキストは対話です。 NPCに対話が設定されている場合、プレイヤーはそのトピックを見てクリックして新しい壁の壁を作り出すことができ、これは一般に対話がプレイヤーの最後でゲーム全体でどのように機能するかという異なる「トピック」があります。 Morrowind Modの作成では、ダイアログが実際に "Construction Set"(ゲームの作成と編集に使用されるプログラム)で実際に動作する方法は、データベースにテキストのすべてのエントリが含まれていることです。どのNPCが対話の所与のエントリを言うことができるかを示す。たとえば、「最新の噂」のような話題では、その中にたくさんのエントリがあり、NPCには何か言いたいことがたくさんあります。トピック自体は、潜在的に数十のエントリが付いた種類の条件であり、特定のエントリに設定された条件も適用できます。条件には、NPCが所与の都市にいるかどうかをチェックすること、ゲーム内の時間が夜間または昼間であるかどうか、プレーヤーが特定の番号付きステージ/所与のクエストラインのインデックスにいる場合などがあります。このシステムは、すべてのクエストを可能にし、ゲームをダイナミックにするものです。私は対話の多くのエントリ、多くの新旧話題、そして多くのクエストとクエストのステージを含むかなり大きなMODプロジェクトを始めています

を:私が作成したい

。私はここにすべての理由を列挙することができますが、本質的に私の問題は、建設セットには組織の面で大きなモッズの対話を難しくするという点で多くの制限があります。私はデザイン、トピックの設定、編集すべての私の対話エントリは、構築セットのプログラムの外にあり、私は執筆とクエストが完了したと確信しているときにそれらを実装します。

これはあまりにも複雑な場合、私はすべてのクエストと対話をMicrosoft Wordで書くことができますが、楽観的に私はライターとして、よりダイナミックで役立つ何かをしたいと思います。ジャーナル/クエストインデックスの保存と設定、クエストまたはNPCによる対話のフィルタリング、および通常のゲームの何千もの行の他の対話で失われることなく、対話とクエストを簡単に編集できます。

:私はここ以上の2つのリンクを投稿することはできませんが、私は建設の設定がどのように機能するかを示すギャラリーを持っていると私は、これまでのVisual Studioで作ったそこのreddit上に掲載し、*

 

https://www.reddit.com/r/learnprogramming/comments/4oap6w/making_an_application_in_visual_basic_to_handle/

だから、私の意図は、私は、書き込み、整理、および条件に基づいて対話とフィルタのテキストを設定することができますプログラムで私の葉のVisual BasicやPythonを使用してVisual Studioでプログラムを作ることです。

これは、Visual Studioでプログラム用のデータベースファイルを作成し、実行時にプログラム用に変数を作成する必要があります。これは、プログラムのユーザーが新しい対話トピック、新しいジャーナル/クエストを追加できるようにしたいからです。これらすべてのものは、それらに関連付けられた値を持つ条件を持ちます。

どのようなヘルプ、アドバイス、および方向性がありがとうございます。私はVisual Studioを再学習しています(私は2つのコースを受講しました)、残念ながら一般的にExcelとデータベースには非常に新しいです。

+0

この質問は**このウェブサイトとは全く関係がありません**あなたはこの種の質問をして素晴らしい答えを得ることができる** gamedev.com **を探しています。 – Fattie

+0

私は、このサイトとの関係が全くないため、この質問をトピックとしてクローズするよう投票しています。尋ねるgamedev.com – Fattie

答えて

0

何らかの種類のデータベースが必要であるという点で正しいです。しかし、あなたの快適さのレベル、お金、携帯性の要件などに応じて、いくつかの異なる方法にアプローチすることができます。

XMLを使用してデータを保存する方法があります。それは非常に移植性があり変換可能であるという利点があります。これは一人の人間だけがいつでもデータに直接アクセスするプログラムである可能性が高いので、あなたの最善の策かもしれません。

オフィスがある場合は、別のオプションとしてMS Accessを使用することもできます。これにより、基本的ではありますが、実行可能なリレーショナルデータベースが得られます。これは、おそらくあなたがそれで働くことができる2人または3人の人がいるなら、より良い選択でしょう。

3番目のオプションは完全なDBMSです。 MySQLは無料で、ローカルマシンやリモートサーバにインストールすることができます。リモートサーバーにインストールすると、多くの人がそのサーバーに接続してデータをトランザクションで変更できるようになります。しかし、それが1人または2人のシステムであれば、これは過度のことです。

XMLへの回り回り...これはおそらくあなたの最善の策でしょう。シンプルで、.Netアプリケーションと完全に統合されています。完成後(または進行中に複数回)、後で任意のデータストアにインポート/変換することができます。 .Netを介したXMLとのインターフェースにより、コード内のデータベースのように作業することができます。データレイヤーを適切に設計すれば、後でプロジェクトが大幅に拡張された場合でも完全なデータベースに移行することができます。 XMLの最大の欠点は、通常のDBMSのようにリレーショナルではなく、本質的にトランザクションではないということです。あなたはアトミックな更新をしていないので、複数の人が一度に変更すると、上書きされるとデータが失われる可能性があります。

XMLファイルとのインターフェイスのための高度なデータレイヤを作成することで、ある程度範囲を超えることができますが、1人だけがローカルで変更を行い、データファイルをたとえば後でリモートデータストアを覚えておく必要があるのは、いつ、誰がそのファイルを変更できるかを調整することだけです。その時点ではほとんど物流のものです。

+0

質問の全体的な調子は、gamedevに向けて調整されているかもしれませんが、その核心はデータの保存/構造について尋ねていました。私は同意する、askerは、ゲームの開発サイトでより良い運を持っているかもしれないが、ここから収集されるいくつかの知恵があり、私は彼らの質問から断罪しない。もし私が少しでも助けてもらえれば、それは私と大丈夫です。これが閉鎖されても、同様の答えを探している次の人は何かを学んで、別のサイトでさらに質問をするかもしれません。 – gmiley

+0

この有益な答えをありがとう。 Microsoft Accessは、私が探していたものの鍵です。私はそれを直接使う方法をもっと見ていきますが、それは最良の解決策です。 – InvestedHero

+0

また、私はテキストファイルを与えた構成セットからダイアログをインポートすることができました。それから、Excellにそれを送って、テキストが書かれていたフォーマットを認識し、その情報を再びデータベースに戻しました。そこからAccessに送ったのです。非常に役立ちます! – InvestedHero

関連する問題