人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

Javaでゲーム作りますが何か?

Javaを使ったゲームプログラミングについて書いてます。

  • プログラムはJAR形式で公開しているのでダブルクリックで実行してください。
  • ソースファイルはJARファイルの中に入っているので解凍してご覧下さい。基本的に全部ソースファイル入ってます。著作権を主張することはないので自由に使ってください。
  • リンク切れやリンク先がおかしいなどありましたらコメントをいただけると助かります
  • ブログはその他雑多な記事も多いため、記事下にあるナビゲーション機能はほとんど役に立ちません。このページを起点としてリンク先へ、読んだら戻るといった使い方が楽だと思います。
  • リンク先がない項目は面倒くさくなって解説を書いておらず、ソースファイルの提供のみとなっています。ご了承ください。
  • かなり昔の記事なので細かい内容に関する質問に私からはお答えできないと思います。もっと人が多いサイトで聞いた方がよいかもしれません。
  • NEW! 全ソースコードをGitHubのリポジトリとして公開しました。右下のDownload ZIPからまとめてダウンロードできます(2014/9/3)
  • NEW! GitHubの全ソースコードをEclipseにプロジェクトとして読み込みたい場合は、Javaでゲーム作りますが何か?のGitHubリポジトリをEclipseで読み込む(2014/9/6)を参考にしてください。

基礎

部品

  • ファイアボール - クリックとドラッグでマウスの位置にファイアボールを発射(2006/1/29)
  • テレポート - Tキーでマウスの位置にテレポート(2006/2/4)
  • ブレゼンハムアルゴリズム - 直線を描画する方法、直線経路探索でも使う(2005/4/2)
  • メタボール - 何か気持ちいいメタボール。Javaでピクセル操作は少し重いかな(2006/4/30)
  • 大砲発射 - マウスクリックで弾を発射します。弾は放物線を描いて飛んできます。CTRLを押しながらだと正確にマウスポインタの位置を撃ち抜きます(2006/6/3)
  • - マウスクリックで矢を発射。CTRLを押しながらだとマウスポインタを正確に射抜きます。矢の長さが一定になるように少し工夫してます(2006/6/11)
  • スポットライト効果 - ドラクエ1の洞窟とか(2006/12/29)
  • 円運動 - くるくる回転(2007/2/4)
  • サンダー - マウスボタンの長押しでパワーをためて話すと稲妻が落ちます。もっとかっこいい稲妻にしたいですね(2006/2/4)
  • 稲妻 - リアルサンダー(2006/8/18)
  • 爆発エフェクト - TimerTaskを使った爆発エフェクト。クリックとドラッグで爆発(2006/1/29)
  • くだけちるエフェクト - スライムはくだけちった。アニメーションの速度を遅くすると楽しいかも(2005/12/3)
  • フェードアウト効果 - だんだん見えなくなる画面効果(2007/5/4)

ブロック崩し

インベーダー

テトリス

横スクロールアクション

RPG

マップエディタ

オセロ

ミニゲーム

  • Nibble - 制限時間内に蛙を食べまくれ(2004/12/15)

人工知能

人工無脳

ネットワーク

Java Sound

Java3D

(注)Java3Dがインストールされている必要があります。起動が遅い場合があります。

関連書籍

Killer Game Programming In Java (Fan Book)

Killer Game Programming In Java (Fan Book)

現在出版されているJavaゲームプログラミングの本では最強です。PDFの草稿、ソースコードは全部、Killer Game Programming in Javaで公開されてます。今はこれで勉強してます。どなたか翻訳しないのでしょうか?

Developing Games in Java (New Riders Games)

Developing Games in Java (New Riders Games)

Java Gamesでも推薦されているBrackeenさんの本です。Javaでゲームを作るための必須技術が解説されています。横スクロールアクションゲームの作成は必見です。Javaゲームの基礎的な内容だけではなく、マルチプレーヤー、Java3D、衝突検出、最短経路探索、人工知能など応用技術も幅広く解説されています。海外の本は充実度がものすごいです。ソースコードとフレームワークは、Developing Games in Javaで公開されてます。

Javaゲームプログラミング 第2版 アルゴリズムとフレームワーク [NEXT CREATOR]

Javaゲームプログラミング 第2版 アルゴリズムとフレームワーク [NEXT CREATOR]

入門編と実践編に分かれています。入門編はJavaでゲームを作るためのフレームワークが解説されています。実践編は落ちモノパズル、シューティング、戦略シミュレーション、ネット対戦ゲームが解説されています。実践編、特に戦略シミュレーションの作り方が面白かったです。

15歳からはじめるJAVAわくわくゲームプログラミング教室―Windows98/2000/Me/XP対応

15歳からはじめるJAVAわくわくゲームプログラミング教室―Windows98/2000/Me/XP対応

読んだことはないのですが評判はよかったです。

Javaゲームプログラミング―ゲームで引き出すオブジェクト指向言語のパワー (Programmer’s SELECTION)

Javaゲームプログラミング―ゲームで引き出すオブジェクト指向言語のパワー (Programmer’s SELECTION)

  • 作者: ジョエルファン,カリンテニッチ,エリックリース,武藤健志,Joel Fan,Calin Tenitchi,Eric Ries,スリーエーシステムズ
  • 出版社/メーカー: 翔泳社
  • 発売日: 1997/12
  • メディア: 単行本
  • クリック: 7回
  • この商品を含むブログ (1件) を見る

Java学習の初期に読んだ本です。8年も前の本でJavaのバージョンも1.0ベースなのでいまでも通用するのかは少し疑問です。まあAPIは変わってもゲームのアルゴリズムを理解するようにすれば参考になるかもしれません。後半のゲーム集は魅力的です。

やさしくわかるJava3D (Software Technology)

やさしくわかるJava3D (Software Technology)

Java3D本の中では一番いいかも。ただこの本以外である程度Java3Dの基礎を勉強してないとつらいような気がします。3Dジャンプアクションの作り方が面白いです。

Java3Dグラフィックス―Web上で動く3DCG 基礎から立体アニメーションまで

Java3Dグラフィックス―Web上で動く3DCG 基礎から立体アニメーションまで

こっちは上の本と違ってゲームプログラミングでないけどJava3Dの基礎がきっちり学べます。上の本と合わせて読むといいかも。Java3Dフレームワークは彩画3Dで公開されてます。

リンク集

  • Javaで RPGを作ろう! - JavaでRPGを作る方法が解説されています。スクロール処理の実装方法が参考になりました。
  • 安永ノリカズの公開ゲーム制作 - 魔法使いの街を舞台にした生活シミュレーションゲームをアプレット形式で公開しています。人工生命手法を用いた社会構造テストプログラムがとても興味深いです。またJavaの入門者を対象に愛のJava256本ノックという面白い試みもしています。
  • WAKU WAKU JAVA - 画像効果を利用したすばらしいアプレットが多数あります。稲妻(2006/8/18)はここのソースコードを参考にさせてもらいました。他のもソース公開してくれないかな・・・
  • Javaゲームはじめました。 - Javaでさまざまなゲームを作られてます。シミュレーションゲームの作り方講座が楽しい。今度作るとき参考にさせてほしいと思います。向こうからもリンク貼っていただいたようです。ありがとうございます。
  • Javaで Action Game作ってみました!! - Javaで魔界村っぽいアクションゲームを作られてます。ここのサンプルと違って最後まで遊べます。Javaでここまでできるとわかって感動しました。