ゲーム開発をどこから始めますか?[閉まっている]


65

stackoverflow.comのこのスレッドで以前にこれを尋ねました。初期のコメントの1つは、私をここでgamedev.stackexchange.comにリダイレクトしたため、ここに再投稿しています。

関連する質問を検索すると、いくつかの非常に具体的な質問が見つかりましたが、具体的には私にとっては役に立たないことがわかり、Googleで4時間経過した後、私は当初ほど近づいていないので、コミュニティに手を差し伸べることができると感じました順番に。

第一に、私の目標:私はこれまでにゲームを作ったことがありませんでしたが、その可能性を何度かいじっていました。私は最終的に座ってゲームのコーディング方法、ゲームエンジンの使用方法などを学び始めることにしました。そうすることで、いつか(できればすぐに)機能的な(単純ではあるが)ゲームを作ることができます。後で複雑さを追加し始めることができます。今のところ、キーボード制御のカメラを3Dの世界で動かして、それ以上のやり取りはしなくてうれしいです。

私の経歴:PHP、C ++、Java、ASMなど、いくつかのプログラミング言語で働いてきました。私は、新しい言語に固有の新しい構文または制限の学習に伴う課題を恐れていません。ただし、私の過去のプログラミング経験はすべて厳密に非グラフィカルであり、通常は実行中にほとんどまたは非常に簡単なやり取りがありました。論理的および数学的な問題を解決するためだけでなく、グラフ作成の問題のために、広範で素晴らしいアルゴリズムを作成しました。ただし、どの場合でも、入力はファイルで定義されるか、HTMLフォームから渡されるか、コンソールに入力されます。ユーザーとのリアルタイムのやり取りは経験のないものです。

私の質問:ゲームを作るにはどこから始めればいいですか?さらに良いのは、キーボードで操作可能な3D環境を作成しようとするとき、どこから始めればいいですか?オンライン検索で、ゲームエンジン、グラフィックエンジン、物理エンジンにリンクするリソースをいくつか見つけました。以下は、私が試したいくつかのエンジンでの私の経験の簡単な要約です。

Unreal SDK:チュートリアルビデオでは、3Dモデリング、グラフィックエンジン、アニメーションなどの詳細な知識があることを前提としています。「Getting Started」ページでは、ゲーム開発の正式な説明はありませんが、Unrealがプロセスを合理化する方法について説明しています。すでに慣れています。SDKをダウンロードして起動し、ツールが主張するほど直感的かどうかを確認した後、約60個のボタンと3Dモデリング用の空白が表示されました。「基本的なキューブを追加しようとする」「ボリュームを追加」をクリックすると、30のオプションのメニューが表示されました。パニック、エディターを閉じました。

Crystal Space:このWebサイトはかなり情報量が多く、Crystal Spaceはグラフィックス専用であり、コンパニオンソフトウェアであるCELがゲームを作成するためのエンティティロジックを提供していることを説明しています。デモゲームが提供されました。これは、ゲームプログラミングの知識がない人向けのシンプルなツールである「CELStart」を使用して構築されました。ゲームを立ち上げて、作成するのが楽しみなものを確認しました。それは数回凍結し、メニューにはバグがあり、数千のグラフィカルな不具合があり、敵はダメージに反応せず、ゲームを閉じたときにロックされました。そのエンジンをあきらめた。

IrrLicht:このチュートリアルでは、Visual Studio 6.0(Visual Studio 2010を持っている)を想定しています。彼らの指示に従って、ライブラリをVisual Studioに適切にインポートできず、使用し続けた関数を呼び出すことができませんでした。ヘッダーファイル、クラスファイル、およびDLLをプロジェクトのフォルダーに手動でコピーしました-プロジェクトは正しくコンパイルできませんでした。

明らかに、私は良いスタートを切ることができず、輪になっています。誰かが私を正しい方向に向けることができますか?Blenderのようなプログラムをダウンロードして3Dモデリングを学習することから始めるべきですか、それともグラフィックエンジンの使用方法を学ぶべきですか?包括的なゲームエンジンを探す必要がありますか、それとも自分のゲームロジックをコーディングする方が良いでしょうか?誰かが実際に自分のゲームを作ったのなら、彼らがどのように始めたのか聞いてみたい。

また、私の学校で授業を受けることは選択肢ではありません。何も提供されていません。


3
+1特定のニーズを探している優れたプログラミングのバックグラウンド。
ウィルマルクイラー

6
+1、これはゲーム開発の開始方法に関するよく考えられた調査済みの質問です。また、Unreal SDKに関する苦痛を感じています。
ジェームズ

Raven67854の UDK のチュートリアルを確認することをお勧めします。それらはビデオの下にリストされており、人々はそれらを好むようです。
ジェシードーシー

私のアドバイスは、何かを作り始めることです。通常、この種の質問をした人は、直線的に道を切り開きたいと思います(私はかつてこの種の質問をするので)。しかし、私の過去の経験から、ゲーム開発の学習曲線は非線形曲線です。私は通常、問題から問題へと移行します-行き詰まったら、答えを求めます。したがって、試してみて、試行錯誤から学んでください。通常、チュートリアルから始めます。ただし、これらのチュートリアルでは十分な詳細が提供されていないため、回答を求め/検索/実験する必要があります。
user1542

回答:


38

GDに参加したとき、私はそのような質問をしました。以下は、あなたが興味を持ちそうなリンクで、あなたの目的に向かってあなたを導くことを願っています。

要するに、私はXNA Game Studioゲーム開発を理解するために一緒に行きます。次に、知識/技術として達成したいものに進みます。XNAスプライトの操作について教えてくれ、学習曲線の最初から自分の知識の一部を適用できるようにしました。依存性注入など。だから、私はあなたをもう待っていない。

  1. ゲーム、チュートリアルなどを書き始める場所はどこですか?
  2. ゲーム開発の基本は何ですか?(興味深い質問、私見)
  3. 物理学とゲームロジックをUIコードから分離する
  4. クラスを使用してXNAでスプライトを移動する

なぜXNAに尋ねるのですか?単にJavaのバックグラウンドが原因です。XNAは、いくつかの方法でJavaに似たC#を使用します。また、重要なことに集中できるように、ゲームループなどを抽象化する単純なフレームワークでもあります。

これがあなたの出発点になることを本当に願っています。=)


1
応答が遅れて申し訳ありません=)リダイレクト先の各投稿を読んでいた厳密には2Dゲーム用でした)。これは良い出発点だと思います。ありがとうございました。今晩XNAをダウンロードして就寝し、明日はポンか何かを作ってみることができればいいのですが。
-stevendesu

@スティーブン:問題ない!私は、ガイダンスを求めた私のような熱狂的な開発者を助けるために、この回答を投稿しました!楽しんでいただければ幸いです!私の最初の課題は、宇宙船、エネルギーボール、レンガごとにクラスを1つずつ作成しながら、衝突を検出するための方法を模索しなければならない単純なアルカノイドのようなゲームを開発することです。それから、私のGame1クラスはゲームコントローラーとして使用されます。それは私の意見では、他のクラスに何をすべきかなどを制御し、伝えるクラスです。リンク#4と#5について少し説明します。
ウィルマルクイラー

もうすぐ(明日)別の質問をするかもしれませんxx XNA Game Studio 4.0をダウンロードしてインストールしました。そして、次に何をすべきかについての明確な指示はありませんでした。XNAの公式Webサイト全体では、「Windows Phone 7向けのゲームを作成する」というだけで、Windows用のゲームを作成することについては何も書かれていません。私は午前中にそれを把握するか、できない場合はここで尋ねます。
就寝

1
Visual Studioを使用して新しいプロジェクトを作成し、プロジェクトの種類を選択できる場所でXNAを選択します。次に、Windows用のゲームの作成を開始します!XNAゲームプロジェクトテンプレート(新しいプロジェクト)は、Windowsでネイティブにコンパイルおよび実行されます。XNAはゲーム開発用のMicrosoftライブラリです。そのため、WindowsおよびXBox用のゲームを開発できます。
ウィルマルクイラー

1
将来のために、XNAは本質的に廃止されましたが、Monogameは存続していることを指摘する価値があります。ほとんどの場合、同じコードが機能します。
メイガス14

8

あなたは試してみてくださいユニティ3Dをするので、

  • JavaScript、C#またはBooでプログラムできます
  • ここに良いチュートリアルがあります
  • その学習曲線はそれほど急ではありません
  • そこにあるユニティ回答あなたも、より多くのリソースを見つけ、。

(免責事項:私はUnityのメーカーとは一切関係ありません。自分で使用するだけで、基本を学ぶのに最適なツールであることがわかりました)。

しかし、ええ-あなたはかなりのタスクに自分を設定します。私は今、6学期でゲームデザインを勉強していますが、それでも表面以上に傷を付けた気がしません。業界がゲームを作成するプロセスのほとんどすべての面で専門家を抱えているのも不思議ではありません。

編集: Unityが「適切な」ゲームエンジンではないと見なされているというコメントがありました。それどころか、Unityを使用して適切なゲームデザインを行うことができないことを示唆するつもりはありませんでした。私は自分で使っていますが、気に入っています。;)


3
それについて不適切なことは何ですか?
lathomas64

私も興味があります。
ジェシードーシー

たぶん(FlashやJavaのように)コンテナプログラムを実行する必要があるので、手間をかけずに大勢のユーザーにコンパイルして配布することはできないという点で、彼はそれを「不適切」と考えていますか。いずれにせよ、私は今XNAを検討しています。XNAが難しすぎると判明した場合は、Unity3Dを確認することがあります。
-stevendesu

まあ、「適切な」ゲームデザインのために、Unityを真剣に受け止めてはならないと人々が言っ​​ているのを聞きました。前に言ったように、私は自分でそれを使っていますが、とても満足しています。場合によっては、Unityによって疑わしいほど簡単になります。;;)Unityに言及したときに人々がどのように反応するかわからなかったので、私は単にヘッジしていました。たぶんそれが下票を引き起こしたのでしょうか?
-xeophin

@steven_desu:実際には、webplayerのコンテナプログラムのみが必要です。WindowsまたはMacで実行するようにコンパイルされたゲームは完全に自己完結型です。
-xeophin

2

irrlichtで問題が発生した場合は、Ogre3Dも試してください。簡単ではありませんが、少し時間をかけるとうまくいくかもしれません。あなたが理解しなければならない重要なことは、フレームリスナーとは何か、最後のフレームが表示されてからの時間を取得する方法であり、あなたが話しているこのアプリケーションを作りたい場合、あなたが理解しなければならないことはほとんどそれだけです。

また、irrlichtでいくつかの問題が発生しました。チュートリアルは最新ではありませんが、サンプルを試してみるべきです。

また、私はpanda3dやpygameなどのその他のものをいじり始めて、最初は円を描いて走りました。ゲームのアイデアに集中して、一度に1つのことを実装してみてください。

そして、いくつかの数学を覚えてみてください、それは3Dでいくつかの用途があります!


2

私は最近あなたと同じ追求を始めました。私はjMonkeyEngineと呼ばれる純粋なJavaエンジンに遭遇しました。これは素晴らしいチュートリアルのセットを案内してくれました。それが本当にゲームデザインを大規模に説明しているかどうかはわかりませんが、グラフィカルな面から始めることができます。

モデリングに使用する可能性のあるツールを提案/リンクし、コピーして貼り付け可能な、わかりやすい例を使用して、画面にボックスを配置して物理エンジンを設定します。

間違いなく読む価値があります-私はほんの数時間後に何をしていたかについて良い考えを持っていました。


チュートリアルは、エンジンを使用していない場合でも読む価値があります。いくつかの3D数学に関する素晴らしいチュートリアルもあります。
DMan

2

Flixel http://flixel.org/ を試してみてください。flixel を使用して最初の「デモ」ゲームを作成しました。素敵なコミュニティ、素敵なチュートリアル。

3Dではありませんが、ゲームプログラミング環境への最初のステップを簡単にする多くの優れた機能があります。

何千もの動いているオブジェクトを表示するオブジェクト
間の基本的な衝突オブジェクトを
グループ化して
簡単にするパーティクルを簡単に生成および放出する
タイルマップを使用してゲームレベルを作成する
テキスト表示、ゲームを保存、
マウスおよびキーボード入力
数学およびカラーユーティリティ

また、商用利用は無料です。これは素晴らしいことです。


1

グラフィックスをまったく使用したことがない場合は、単にopen glまたはdirect xを学習するだけです。最初のゲームをそのようにプログラムしました。当社のエンジンは社内にあり、ほとんどのシステムは何らかの形でオープンGLをサポートしています。仕事をしながら、仕事を始める前に書かれたコードを調べました。いくつかのオープンソースプロジェクトを見て、ゲーム構造がどのように設定されているかを確認し、自分の作業を開始することに慣れるまで、それらを変更することをお勧めします。また、適切なファイル構造やリソース管理など、あなたが気付いていないゲームプログラミングのあらゆる小さな部分への優れたリファレンスとして、「Game coding complete」をお勧めします。


1

Source Engineを試してください。それでゲームを開発するのは簡単であり、Valve Corportaionとの契約に署名すれば、配布プラットフォーム(Steam)を入手してゲームを無料で販売できます。


1

シンプルなゲームを作成するために必要なものがすべて1つのパッケージに揃っているため、フラッシュゲームから始めることをお勧めします。エマニュエル・フェロナートなど、ウォークスルーのブログがたくさんあります。彼は10の完全なゲームかそこらで本を出しさえします。

開発に十分なFlashDevelopを使用しています。

クリスモーラーの「Creating a Asteroids Flash Game」は、フラッシュ開発を使用した完全なステップバイステップアプローチによる優れた事例です。

Tileベースのゲームについては、Ironcodingに優れたチュートリアルがあります。

それをすべて備えた上で、ゲームを構築する人々のコミュニティとともに、ビデオゲームの課題がある場所を見つけることをお勧めします。1か月に1つのビデオゲームを作成し、次のプロジェクトに進む前に、完成、洗練、提示できる小さなことに焦点を当てます。ここで毎月のビデオゲームチャレンジに参加しています

あなたがそれを終えて、それをリリースできるように、それを小さくしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.