WarCraft 3がプログラミングにどのように役立ったか

読者の皆さん、こんにちは。 この記事では、有名なコンピューターゲームWarCraft 3がプログラミングの学習にどのように役立ったかについての話を共有したいと思います。 すぐに言いたいのですが、このゲームを使ってプログラミングを学び始めて、私の道を繰り返すことを誰にも勧めないでください。 たまたまこのゲームのカスタムスクリプトの作成に夢中になった後、プログラミング(学校や大学で)のさらなるトレーニングが信じられないほど簡単に与えられました。



興味のある方、猫へようこそ。



始める前に



子供の頃からコンピューターは私にとって興味深いものでした。 残念ながら、私はかなり遅れてしまい、以前に持っていたのは、録音したローカルラジオサークルのBASICを備えた古いコンピューターと、既に述べたWarCraft 3をプレイしたコンピューターカフェで友人とハイキングをすることだけでした最後に、夢が実現しました-8年生でコンピューターを手に入れました。 もちろん、私が最初にしたことは、3つ目のWarCraftのあるディスクを友人にすぐに走らせたことです。 インスタレーションの後には、数日間のキャンペーン、オークの戦い、同盟、ナイトエルフ、アンデッドが続きました。 同じ友人が同じディスクに記録した多くのカードも試しました。 それでも、この素晴らしいゲームのエンジンでどれだけのことができるかに驚いた。 すぐに戦闘に悩まされ、好奇心eighth盛な8年生のように、ハードドライブのフォルダーを調べました。



WarCraft 3でフォルダーを開いたとき、「World Editor.exe」というファイルアイコンに注意が向けられました。 心が沈むと、それをダブルクリックしました。 このプログラムの開始は私の将来を変えました。



インターフェースに精通している



画像



プログラムを実行して、私はこれを見ました。 ボタン、パネル、ドロップダウンリスト、地形を変更したり、さまざまなプレイヤー、木、家、その他の装飾用のユニットを配置したりできるエリア。 もちろん、私はこれらすべてで遊び始めましたが、私が作成を始めたとき、標準的な戦いが始まりました。 私はすぐに、ゲーム内のイベントの管理を開始し、戦士の行動を変更し、非標準の能力セットを持つ非標準のヒーローを作成したいと考えました。 World Editorをさらに調べてみると、スクリプトエディターに出会いましたが、非常にわかりやすいことがわかりました。



画像



GUIトリガー



マップスクリプトは、いわゆる トリガー。イベント、条件、アクションの3つの部分があります。 対応するボタンをクリックして、各パーツにポイントを追加できます。 ゲーム内の指定されたイベントと指定された条件が満たされると、示されたアクションが実行されると推測するのは簡単です。 かなり便利なGUIを使用して、マップ作成者の必要に応じてこれらのイベント、条件、アクションを構成できます。 このゲームは私にとって非常に興味深いものだったので、ループ、ブランチなどの概念をいつの間にか学習して、このすべてをもう一度プレイし始めました。その後、特定のイベント中に必要なユニットでアクションが発生するように、トリガー間のユニットを何らかの方法で保存する必要がありました。 変数エディターを見つけました。



画像



ここで、ユニットだけでなく、数、ライン、能力、イベント、特殊効果、プレイヤー、バフ、マップ上のポイントなど、ほぼすべてのものを保存できることを発見しました。 必要なオブジェクトを配列に保存できます-プレイヤーの数は配列内のヒーローのインデックスに対応するため、配列内の各プレイヤーのヒーローを保存するのは非常に便利だとすぐに思いました。 繰り返しになりますが、私にとってはいつの間にか、変数とは何か、その型、配列とは何か、どのように、いつ使用できるかがわかりました。



オブジェクトエディターを開いて、新しい戦士、能力、バフ、装飾、アイテムを変更および作成するツールを発見しました。 もちろん、オブジェクトの特性のほとんどの目的は私には理解できませんでした。特に、それらの一部の英語からの翻訳には、多くの要望が残っています。



次に起こったこと



熱意を得て、私はすぐに自分の何かをしたかったです。 数日間、地図を「3つの廊下」にした。 私はスクリプト部分にもっと興味を持っていたので、ほとんどすべてのヒーローが標準でした-当時の人気のある「ホタルヒーロー選択システム」を作成しました。 )、ゲームの過程でのクリープの増加、およびランダムな場所にあるルーンまたはオブジェクトの形のボーナスのランダムな出現。 インターネットがなかったので、すべてのラインに敵のヒーローを設定し、定期的に呪文を唱えることで楽しまなければなりませんでした。 もちろん、これはAIではありませんが、少なくともある程度の関心を追加しました)



どのように私を助けましたか



翌年、学校でプログラミングの勉強を始めました。 学習言語はパスカルでした。 変数、条件、ループ、配列の学習のレッスンは退屈に思えました。これはすべて知っていました。組み込み関数の構文と名前を覚えるだけでした。 そして、単元、アイテム、呪文のプログラミングは、退屈な白黒のコンソールを見るよりもはるかに興味深いものでした。 すべてのタスクは簡単に完了し、数分でクラスの半分になりました。 教師はこれに注目して、より難しいタスクを提案しましたが、私も簡単に対処しました。 その結果、私は1位を獲得したオリンピアード市の学校の名誉を守るために行きました。 それから彼は共和党に行きました、私の記憶が私に役立つならば、彼が取った、200のうち15位。特にあなたが準備なしでそこに行ったと考えるとき、良い結果です。



それだけではありません



すぐにインターネットにアクセスできました。 WarCraft 3のマップ作成専用の膨大な数のリソースにアクセスできました。シンプルな3Dモデルを作成してマップに挿入し、呪文やアイテムのアイコンを描画し、他の保護されていないマップを開いて、すべてがどのように実装されているかを見ました。



ボタンをクリックしてスクリプトを実行するのは退屈になりました。もっと「プログラム的」なことをしたかったので、これらのGUIフォームはJASSスクリプト言語の単なるシェルであり、マップ開発者により多くの機会を与えることがわかりました。 さまざまなシステム、呪文、特殊効果の作成-これらはすべておとぎ話に変わり、プログラミングにさらに興味を持つようになりました。 しかし、別の記事でJASSについてお話したいと思います。



WarCraft 3用のカスタムマップの作成について多くのことを話すことができます。 美しい風景の作成、アイコンの作成、モデルの作成からシステムの作成、完成したマップのオープンまでの保護など、多くの側面が含まれており、3Dモデリングとアニメーション、ランドスケープデザイン(面白い)音)、プログラミング、描画、テスト(はい、マップもテストする必要があります)。



今、私は大学の4年生で、プログラミングが好きです。 大学では、DelphiとVisual Basicに触れ、次にJavaに触れ、Cに触れました。 私が研究したすべてのPLは簡単に私に与えられました。 ありがとう、WarCraft 3。



All Articles