1日か2日のJavaゲーム[終了]


9

私たちは学校のプロジェクトとしてJavaで簡単なゲームを作ろうとしている3人です(大学、初年度)。ゲームはオブジェクト指向でなければなりません。時間はあまりありません、10-20時間のトップス。私たちの誰もゲーム開発の経験はありませんが、Javaにはかなりのスキルがあります。

私たちは正確にどのような種類のゲームを選ぶことができます、そしてそれが問題があるところです。どれくらいの高さを目指すべきでしょうか?競争があるので、今の時間で最高のゲームを作りたいです。3Dゲームは非現実的ですか?ゲームエンジン/ライブラリを使用する必要がありますか?どのような機能を避けるべきですか?


4
3Dは、gamedevの経験がないことを考えると、時間に関係なく少し高すぎます。; P
共産主義者のアヒル

P:悲しいことに、私はそれを考え出し
Øyvind

ポン!パドル、ボールは独自のオブジェクトがあり、スコアを追加します。ボールはパドルに当たり、方向を-1倍します。ボールが他のチームのパドルポイントを超えた場合は、そのボールを他のプレーヤーに提供してもらいます。それとも簡単すぎますか?>
Spooks

私は...簡単なものを開発するのに多分私たちは、より良い、より創造的なコンセプトを目指すべきだと思う
Øyvind

1
ゲームを私たちと共有してみませんか?:)
ashes999

回答:


23

3D避けてください。3Dモデルを作成する方法や適切なモデルを見つける方法を知る必要があるため、そのようなモデルをロードする方法(多くの場合それ自体が叙事詩的なタスク)と画面に描画する方法(例: OpenGLやDirectXは多くの作業を少しの利益のために取り、jMonkeyEngineのようなエンジンでさえ、基本的な3D知識とともに、エンジンの利用方法の知識が必要です。画面上で2D画像をブリットして移動するのは、頂点、マテリアル、ビューマトリックス、変換などを処理するよりもはるかに簡単です。要点は理解できたと思います。

組み込みのJavaライブラリーおよびクラス(Graphics2D、ImageIO、AWTマウスおよびキーボードリスナー、Canvas、Java Sound APIなど)を使用します。他のライブラリを見つける代わりにこれらにこだわる利点には、(ある程度)すでに知っていること、十分にテストされ、安定していて、一般的に理にかなっていることがわかっていること、オンラインのドキュメントとリソースが豊富であり、移植性があることネイティブライブラリと一緒に追加のライブラリをインストールすることを心配する必要はありません。

コードスニペットの小さなライブラリを事前に作成します。これらには、画像の読み込み、画面上の位置への画像の描画、画像とその他の効果のスケーリング、サウンドの再生、BGMのループ、境界ボックスの衝突検出、テキストの描画などが含まれます。また、Frame(またはアプレット)を開き、それにCanvasを追加するスケルトンアプリケーションがあり、キャンバスのpaintおよびrepaintメソッドはオーバーライドされ、スレッドはcanvasのrepaintメソッド(またはそれを呼び出すタイマー)をループする必要があります。を検索すると、これらのことを学ぶことができますJava 2D game programming。大学の図書館にアクセスできるとすれば、多くの優れたJavaゲームの本を自由に利用できるはずです。それらをチェックアウトして、上記のスニペットや、見逃した他のスニペットを調べてください。

事前にチームとソース管理と作業の分割を練習します。Subversion、Git、Mercurialなどを使用しますか?全員のコンピューターが同じ最新バージョンのJavaに設定されていますか?リポジトリを作成し、いくつかのファイルをcommit / pushし、すべての人がリポジトリをチェックアウトして、システムに移行する準備ができていることを確認します。「hello world」アプリをコミットして、全員がそれをプル、変更、コミットできることを確認してください。そして、マージを処理する方法を知っていることを確認してください(通信またはペアプログラミングで完全に回避するか、マージツールの使用方法を知っているか)。または、ソース管理に慣れていない場合は、機能する解決策を見つけてください。サードパーティがアートやサウンドを行う間のペアプログラミングであろうと、何か他のものであろうと、最初から組織化されていることを確認してください。

無料のメディアを提供するWebサイトへのリンクをブックマークします。これらのタイプのサイトの多くは、他の質問にここにリストされています。freesoundのようなサイトゼロから作成する時間がないときに、ゲームで使用する有用なメディアをすばやく見つけるのに最適です。もちろんこのサイトをブックマークしておけば、何かに行き詰まった場合に質問できます。gamedev.netフォーラムなどのフォーラムをブックマークして、回答を検索できるようにします。サードパーティのライブラリを使用する場合は、そのウェブサイトをブックマークしてください。これらのブックマークをフォルダに整理し、できるだけ多くのフォルダを取得して、それらを共有して、3人すべてが同じ便利なブックマークライブラリを使用できるようにします。これらのブックマークを調べて収集し、タイプ/主題別に整理するのにそれほど時間はかかりませんが、プロジェクトの途中でこれらのWebサイトをすべて覚えておく必要がない場合は、時間を大幅に節約できます。

その他の提案については、「ゲーム開発コンテストの準備方法」という質問の回答を参照してください


残りの質問に対処するには...一般的なアドバイスは次のとおりです高い目標を立てないでください。ただし、どれだけ準備ができているか(つまり、上記の提案)とJavaでのスキルによって大きく異なります。これは主にあなたの履歴に基づく個人的な判断ですが、ゲームを作成したことがなく(したがって、必要な時間を判断できない)ので、本当に低い目標を設定します。高度な概念なしで2Dに簡単に実装できる本当に基本的なアイデアを思いつきます(たとえば、ピクセル単位の衝突、クレイジーな物理計算、パーティクルエフェクトなどを避けます)。しかし、優先度の高いリストを作成します可能な限り詳細にゲームの機能を説明します(たとえば、各機能をできるだけ多くの個別のタスクに分割します)。このようにして、できるだけリストの下の方に移動し、優先度の低いタスクに到達しなくても、大したことはないはずです。これは慎重に行う必要があります(まだ機能的なゲームが必要なので、実行する必要のあるタスクの最小セットがあり、一部のタスクは他のタスクに依存しています)が、一般的にこれは物事にかかる時間がわからない場合に最適な方法です。


それは素晴らしいアドバイスです。
Alexander Gessler、2011年

1
良い点。ソース管理は初心者にとっても物事をより複雑にする可能性があると思います(誰かがリポジトリをめちゃくちゃにすることを想像してください)。時間が重要な場合は、新しいツールの使用を開始すべきではありません。ただし、VCSに既に慣れている場合は、VCSを使用する必要があります。
bummzack

4
低を狙って優先リストを使用するというリケットのアドバイスは素晴らしいです。リスクを最小限に抑え、反復を増やすことです。何かを実行する前に8時間作業しなければならないような状況は避けたいです。うまくいかない場合や、それよりも時間がかかる場合は、何もない状態になる可能性があります。代わりに、1時間未満でゲームを実行し、残りの10時間を使って、物事を追加し、テストを行い、改善してください。プレイするにつれて、追加するものを見つけていきます。
amitp

@bummzack同意した!それは本当に邪魔になるので、練習してそれを確実にすることが重要ですが、正しく使用すれば、それは非常に素晴らしくて便利になることもあります。
Ricket

物事を高速に動作させる最良の方法は、極端なプログラミング方式(svnsより優れている)でそれを実行することです。つまり、チーム全体が1台のコンピューターの前に集まります。小規模なチームで最適です(最大2〜3)。あなたはお互いをサポートし、問題はより早く解決されます-イライラしないでください。
Notabene 2011年

2

高すぎないようにしてください。興味のあるものを選び、その周りに簡単なものを作成します。例:物理エンジンについて学ぶことに本当に興味があるかもしれません。totem-destroyerのような物理パズルを作ってみませんか?コア要素を中心に展開し、AI、高度なレンダリング/グラフィックス/シェーダーなどの他の複雑なものは含めないでください。

1つの側面に焦点を当て、それに合ったゲームメカニックを見つけてください。3Dに興味がある場合、ゲームは三目並べのように単純ですが、画面上で優れた3Dグラフィックスを取得することに重点を置いています。

一度にたくさんの新しいことを学ぼうとしないでください。既存のフレームワーク/ツールをできるだけ活用します。

これをまとめるために、「始めましょう」ゲームのアイデアをいくつか紹介します。「翼を稼ぐ」ための良いゲームは何ですか?

更新:あなたは本当に時間が足りないので、「学ぶべき新しいこと」を最小限に抑えたいと思います。物理エンジンは、これまで一度も使用したことがない場合、すでにやり過ぎになっている可能性があります。また、よく定義された小さなルールセットと限られた量のゲームステートで、すでに知っているゲームメカニックを選択してください。


2

3Dゲームを作成した経験がない場合は、すぐに3Dのアイデアを削除します。代わりに、単純なゲームプレイの概念に焦点を当て、単純な2Dグラフィックを使用してそれを実装してみてください。最初にゲームの仕組みを実装するようにしてください。以前に完了した場合でも、洗練された視覚効果を追加できます。

しかし、ゲームプレイのないゲームはゲームではありませんが、見事なグラフィックスのないゲームは楽しいものです。

20-30労働時間あなたはので、良いゲームのために非常に少しの時間で、本当に計画する必要があり、慎重にあなたのタスクに優先順位を付けたり、正しい結果を得ることは決してないだろう。


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