Java 4K ゲーム プログラミング コンテスト( Java 4KやJ4Kとも呼ばれる) は、Java ゲーム プログラミング コミュニティがソフトウェア開発能力を競うために始めた非公式のコンテストです。
コンセプト
コンテストの目的は、4キビバイト(4096 バイト) のデータ内で可能な限り最高のゲームを開発することです。当初のルールでは、ほぼすべての配布方法が許可されていましたが、近年では、ゲームを実行可能なJARファイル、Java Webstartアプリケーション、またはJava アプレットのいずれかとしてパッケージ化することが義務付けられ、現在はアプレットのみとなっています。
Java クラス ファイル形式にはかなりのオーバーヘッドがかかるため、4K で完全なゲームを作成するのはかなり難しい場合があります。その結果、参加者は、グラフィック、サウンド、ゲームプレイに費やすバイト予算の量を選択する必要があります。これらの要素の最適な組み合わせを見つけるのは非常に困難です。多くの新規参加者は、印象的なグラフィックだけでゲームを成功させるのに十分であると考えています。しかし、より控えめなグラフィックでゲームプレイに重点を置いたエントリーは、そのようなテクノロジーのデモンストレーションよりも高いスコアを獲得しています。
賞品
当初、コンテスト優勝者の「賞品」は、Sun Microsystems の Java フォーラムで使用される仮想通貨「Duke Dollars」のセットでした。この通貨は、理論的には時計やペンなどの物理的な賞品と交換できます。4K コンテストの導入により、この人工通貨の重要性が薄れ、実際の賞品はまったくなくなりました。コンテストに賞品を提供するかどうかの議論はありましたが、賞品なしでもコンテストは盛況を続けています。
スピンオフ
Java4K コンテストの創設に続いて、8K、16K、またはLWJGLのような特定の API をターゲットにしたスピンオフが立ち上げられましたが、通常は成功していません。Java 4K コンテストがなぜこれほど成功しているのかについては多くの議論がありましたが、参加者の一致した意見は、非常に魅力的な課題を提供しているということのようです。参加者は Java プログラミングに関する知識を披露する機会を得られるだけでなく、アーティストやミュージシャンを起用すると簡単に他の参加者よりはるかに優位に立つことができる他のコンテストと比較して、4K サイズによって「均衡」が保たれます。参加者は、4K が個人ができることのバランスをとる「スイート スポット」であると考えているようです。4K コンテスト用に開発されたトリックのおかげで、1 キロバイトでも追加すると、1 人の開発者の能力を超えたはるかに複雑なゲームへの扉が開かれると考えられています。
歴史
コンテスト作成
Java 4K ゲーム プログラミング コンテストは、2002 年 8 月 28 日に、ハンドル名codymanixのユーザーがSun Microsystems Javaフォーラムに提案を投稿したことから始まりました。ゲームを 4K で実現できるかどうかについて少し議論した後、ハンドル名mlkのユーザーが2002 年 8 月 29 日に正式にコンテストを開催しました。
ゆっくりと、しかし確実に、コンテストへのエントリーが少しずつ集まり始めました。これらのエントリーの大部分はアプレットでした。これは、クラス ファイルから画像を分離すると、ファイル サイズが小さくなると考えられていたためです。その後のコンテストでは、ゲーム クリエイターが圧縮された JAR ファイルを使用してコード サイズを小さくするようになり、この傾向が逆転しました。
第 1 回コンテストで最も興味深い点の 1 つは、ゲーム以外のアプリケーションが許可されていたことです。参加者の 1 人が4K の Java でTelnetサーバーを作成しました。ただし、この第 1 回コンテストの成果物は保存されず、第 1 回コンテストの扱いが緩かったために許可されたと考えられます。初年度は公式に優勝者は発表されませんでしたが、Robin Chaddock (別名 Abuse/AbU5e) が提出した 4K レーシング ゲームが「優勝」したことは広く認められました。
コンテストは次々に組織化され、多くの参加者がコンテストの運営と宣伝に協力するようになりました。すべてのコンテストは公式の審査を受け、審査方法は毎年改良されました。3 年目までに、コンテストは JavaGaming.org フォーラムに正式に移行されました。4 年目には、コンテストの公式リポジトリとして JavaUnlimited Web サイトが導入されました。このサイトは、前年まで JavaGaming.org と forum.java.sun.com の公式スレッドに投稿されたエントリーを追跡するために使用されていました。
長年にわたる進化
- 2年目(2004年)
今年のエントリー作品の特徴は、事前にレンダリングされたスプライト、透明度、およびサウンド エフェクトの多用でした。最有力候補は、 Defender 4000、Abuse の Shooty-Transparenty Game、およびSpace Invadersでした。ただし、Space Invaders はサウンドが不足していたため、テクノロジーとゲームプレイを最も多く詰め込もうと激しく競っていた他の 2 つのエントリー作品に遅れをとりました。
特に興味深いのは、2 つの作品で使用された異なる手法です。グラフィックスについては、Abuse は貴重な少数の高色画像を使用し、実行時に透明化と回転を適用しました。一方、Jbanes は、21 枚の単色画像を保存できる画像パッキング技術を開発しました。回転と透明化を適用する代わりに、彼は多数の画像を使用して事前にレンダリングされたアニメーションを作成することを選択しました。サウンドについては、Abuse はMIDIサウンドバンクからクリアなチャイムやその他の楽器を使用しました。Jbanes は、1970 年代後半から 1980 年代前半のビデオ ゲームに似たサウンドの、 実行時に生成されるPCMサウンドを使用することを選択しました。
どちらのアプローチにも利点があったため、最終的に何が審査員の意見に影響を与えたのかは分かりません。わかっているのは、Year 2 がサウンドがゲームの決定要因となった最後の年だったということです。その後の年には、サウンドに割り当てられたバイトは、3D グラフィックス、レベル、ボスなどの他の機能に再割り当てされました。
2年目は、公式審査が行われた最初の年でした。その後の年とは異なり、唯一の審査員はコンテスト主催者のmlkでした。審査員は慎重に検討した後、 Prongに最優秀技術功績賞を授与し、Defender 4000 を総合優勝者にすることを決定しました。審査員は各ゲームに点数をつけたものの、この点数は優勝者の決定には使用しませんでした。Abuseの Shooty-Transparenty Game は、実際にはDefender 4000より 1 ポイント高い点数を獲得しました。
- 3年目(2005年)
3 年目は、プロの Java 開発者の大規模な流入、ゲームでの 3D グラフィックス、JavaGaming.org フォーラムへの段階的な移行が特徴的でした。JavaUnlimited は、競合他社のミラーリングを永久アーカイブに開始しました。ミラーリングは、手動で編集された HTML ページとして始まりましたが、最終的にはデータベース バックエンドを備えた完全なコンテンツ管理サイトに成長しました。
今年の審査は、コンテストに参加していないプロの開発者 3 名のボランティア パネルによって行われました。ボランティア審査員の 1 人は、Sun の最高ゲーム責任者であるChris Melissinos氏でした。使用された採点方法は、 mlkが前年に適用した 方法に基づいていますが、審査員が優れたゲームプレイや技術的な成果に対して賞を授与できるように更新されました。
応募作品のほとんどが並外れたクオリティーを誇る中、優勝作品として選ばれたのはKevin Glass (別名kevglass ) のT4XIでした。非常に独創的なゲームプレイに加え、建物に遠近感を与える疑似 3D 効果によって優れたグラフィックスを実現しました。
審査員が採点できなかったエントリーが原因で、ちょっとした論争が巻き起こりました。JM4KやIsOlation Netなどのエントリーは、審査員が起動するには複雑すぎるか、審査員がテストできないネットワーク コンポーネントを含んでいました。今年のコンテストの後、ルールが変更され、ゲームは自己実行可能であることが必須となりました。さらに、参加者はネットワーク ゲームの審査の難しさについて事前に警告されました。
- 4年目(2006年)
4 年目は、グラフィックスや技術的な達成よりもゲームプレイを優先する方向への転換期でした。ゲームの多くはデザインがかなりシンプルでしたが、それを魅力的で中毒性のあるゲームプレイで補うことを目指していました。
コンテスト史上初めて、コンテストを主催するための特別なフォーラムが JavaGaming.org 上に開設されました。さらに、JavaUnlimited.net サイトがエントリーと審査の公式サイトになりました。審査は当初 Javagaming.org コミュニティによって JavaUnlimited を通じて行われる予定でしたが、複数のメンバーからの反対により、より伝統的な審査システムに戻ることになりました。
結果が返ってきた後、Markus PerssonのMiners4Kが優勝者と宣言されました。2 位は Kevin Glass のRoll4K、3 位はWoogley のGoomba4Kでした。
4 年目の審査結果は 3 年目よりも大幅に改善されましたが、これは、エントリーを簡単に実行できる形式に合わせるようルールが変更されたためでもあります。しかし、これによって審査の問題が解消されたわけではありません。2 つのエントリー ( XeroとJSquares ) が技術的な問題により低いスコアを与えられたときに、論争が起こりました。将来のコンテストでこのような事態が発生しないように、トリム平均スコアリングや、受け入れ前の審査員のスコア検証など、いくつかの推奨事項が提示されました。
- 5年目(2007年)
Year 5 は 2006 年 12 月に開始され、2007 年 3 月 1 日まで続きました。3D や疑似 3D グラフィックスにはあまり重点が置かれず、いくつかの素晴らしいゲームが登場しました。ほとんどのゲームは 2D で、Pipe ExtremeとTrailblazerだけが注目すべき例外でした (他にも 3D のゲームがいくつかあると主張する人もいるかもしれませんが、明らかに 3D ではありません)。
4年目と同様に、コンテスト開催のためJavaGaming.orgにフォーラムが設けられた。JavaUnlimitedのシステムが再びゲームの開催に使用され、エントリーの公式サイトとみなされた。JavaUnlimitedのサイト更新が計画されていたが、実現しなかった。当初の計画では、一般投票と審査員団を設けることになっていた。コンテスト締め切り日の1か月後、主催者はさらなる説明なしに審査員団を辞退したため、フォーラムでは騒動が起こり、検閲の非難やスレッドのロックが発生し、2人の参加者がコンテストへのエントリーを取り下げた(合計65から58に減少)。[1]投票はjavagaming.orgフォーラムの参加者に限定され、割り当てられた時間内に25人が投票した。コンテスト締め切り日の約2か月後、公式結果が発表された。
優勝したのはBlaine Hodge 氏のMetro4kで、続いて Jojoh 氏のRoadfourkと Ulf Ochsenfahrt 氏のaichess4kでした。Metro4k はSim Cityのような都市シミュレーション ゲーム、Roadfourk はレース ゲーム、aichess4k は AI 対戦相手が登場するチェス ゲームです。
前年とは異なり、5年目は承認投票システムによって投票が約半分のゲームにしか与えられなかったため、「最下位」となったゲームはありませんでした。
- 6年目(2008年)
Year 6 は 2007 年 12 月に開始され、2008 年 3 月 1 日まで続きました。提出されたゲームの数は 2006 年と 2007 年に比べて著しく少なく、合計で 21 個しかありませんでした。ゲームのほとんどは 2D でしたが、3D または疑似 3D グラフィックを使用したゲームは合計 3 つでした。
コンテストは新しいウェブサイト Java4k.com で開催されました。過去のゲームも新しいウェブサイトで見つけることができます。コンテスト開始前に、woogley はコンテストの運営から撤退すると発表しました。そのため、コンテスト管理とサイトのホスティングは Arni Arent (appel) と Joakim Johnsson (jojoh) が引き継ぎました。過去数年と同様に、Java-Gaming.org の Wayback Machineに専用フォーラム Archived 2015-11-04 も設置されました。
その後、ゲームは 5 人の審査員 (Arni Arent、Joakim Johnsonsson、Kevin Glass、Matt Hicks、Chris Melissinos) によって徹底的に審査されました。審査員は各ゲームを、総合、技術、プレゼンテーションの 3 つのカテゴリーで審査しました。結果は 2008 年 3 月 28 日に発表されました。
- 7年目(2009年)
7 年目は 2008 年 12 月に開始され、2009 年 2 月 28 日まで続きました (当初の締め切り日は 1 月 31 日でしたが、延長されました)。提出されたゲームの数は以前のレベルに戻り、67 個になりました。この年には、JNLP デプロイメントを使用するという要件が導入されました (後に緩和されましたが、ほとんどのゲームは引き続きこれに従っています)。その結果、アプリケーションとアプレットが混在することになりました。
今年のその他の技術的初登場は、単語ゲームとマイクを使用したゲームの提出でした。Word Twister は組み込みレベルを使用し、Scr4mble はリフレクションを使用して J2SE API からクラス名を取得し、単語に分割して辞書を作成しました。Frequent Flier は、マイクに向かって歌うピッチによって制御されました。
ゲームは、Arni Arent、Chris Melissinos、Matt Hicks、Eli Delventhal、Mark DeLouraの 5 人の審査員によって審査されました。前回と同様に、審査員は全体、技術、プレゼンテーションの 3 つのカテゴリーで審査しました。
何人かの審判がいくつかの試合をプレーできなかったため、採点に関してちょっとした論争がありました。それらの試合の彼らの得点は当初 0 点であり、4 月 1 日に初めてスコアが発表されたときにそれらの試合に不利に働きましたが、3 時間後に平均はこれらの 0 点のスコアを差し引くように変更されました。
- 8年生(2010年)から12年生(2014年)
2009 年の Webstart の問題を受けて、2010 年以降のコンテストはアプレットのみでしたが、pack200 圧縮を使用するオプションが導入されました。2010 年以降、審査員は平均化される前に正規化された総合スコアのみを与えました。また、各投票者がゲーム間で割り当てる 50 ポイント (2013 年以前は 25 ポイント) を持つ別のコミュニティ投票システムもあり、ゲームごとに 5 ポイントに制限されていました。2013 年以降、投票者がフィードバック用に短い文章を追加するオプションがあります。
結果
外部リンク
- 元のスレッドの Web アーカイブ - 実際のスレッドは、通常のシステム パージ中に Sun によって削除されました。
- 1 年目のエントリーの不完全なリスト - Archive.org によって保存されました
- 2 年目のスレッドは 2005 年 5 月 24 日にWayback Machineにアーカイブされました- Sun の Java フォーラムで
- Java Unlimited - 2005 年以降に投稿されたゲームのリポジトリ。
- 4K ゲーム デザイン トリック - 新規参入者を支援するための Wiki 記事。
- 4K のヒントとソース 2007-06-24 にWayback Machineにアーカイブされました- 4K Java 参加者向けのヒント、チュートリアル、ゲーム ソース コードのセット
- JavaGaming.org コンテスト フォーラムは、Wayback Machineで 2015-11-04 にアーカイブされています- 各年 (3 年目から) に独自のサブフォーラムがあります。
- 4K ゲームの作成とプレイがなぜこんなに楽しいのでしょうか?
- サイズ制限のない Java ゲーム コンテストは必要か? 2015 年 11 月 4 日にWayback Machineにアーカイブされました
参考文献
- ^ 「JavaGaming Forum」。2007年9月28日時点のオリジナルよりアーカイブ。2007年4月30日閲覧。
