fc2ブログ

以前作ったゲームの最短ルート映像


以前プログラムしたゲームのプレイ画面。
1面から15面までの最短ルートを見ることができます。
(途中で何回か死んでるけど。)
ゲーム画面へ
http://dai-gokuh.sakura.ne.jp/game213/supertrek.html
ゲームはフルスクリーンで。↑↑

ゲームをプレイした友人が他にゲームを作って欲しいという。
やはり、人がプレイしてくれるというのが、最も大きなモチベーションだろう。

やってくれるから、また作りたくなるというものだ。

また、鉄拳チンミの格闘ゲームも作っているが、チンミのコミュの人からも応援してもらっている。
これは大きな力だ。
なんといっても、ゲームを作るのには膨大な時間と労力がかかるからだ。

たまに、勘違いされてツクールかなんかでちょいちょいと簡単に作ってると思われるけど、よくよく考えると、そういうソフトではアプレットは作れないからね。

さて、春休み。

中国語検定の勉強ももう少し頑張って。
数学検定も一通り、どんな問題が出ても解けるように勉強する。
ともに、1日1時間程度で良いでしょう。

あとは、ピアノ、書道、ジョギングあたりを休まずにやる。

残りの時間に少しずつゲームもプログラムしていきたい。

はあ、
風邪をひいてしまった。
つらい。
腹もつらい。
熱はあまりない。

さて、今日は風邪だし、雨だし走れない。

ピアノでも練習してから仕事に行こう。
スポンサーサイト



GIMPとnet.beansとMSfilemanagerとIEとアプレットビューアを同時に動かしていたらPCがとてつもなく重くなった。


とりあえず、鉄拳チンミのゲームは徐々に形になりつつあります。
目指しているのはストⅡレベルなのですが、現在のところ、まずは、スパルタンXかイーアルカンフーレベルを目指した方がよさそうでしょう。

さて、大量のアニメーション画像が必要となるのですが、イラストソフトであるGIMPやコンパイラであるNET.BEANSを同時に動かしていたらPCがとてつもなく重くなってしまった。
サイドバーを下げるのでさえ何秒もかかってしまう。

いったい誰なんだメモリを解放してない奴は!!

意味もないとわかっていながらやってしまう癖がある。
PCの動作が遅いと、キーを連打してしまう。しかもかなり強く。
いつかキーボード壊れるかもしれん。

今日は2時間ばかりピアノを弾いていた。
童謡などがメインなのだが。そのうちクラシックやジャズなども挑戦したい。
練習してたのは、「そうだったらいいのにな」「おばけなんてないさ」「ひょっこりひょうたん島のテーマ」
他に、1日1度は練習する曲は、ピクニック、おお牧場は緑、北風小僧の寒太郎、大きな古時計、ポーレチケ、ハッピーバースデー、クリスマス、きよしこの夜などなどなどなど・・・・。難易度はどれもバイエル75~100番程度。

2D格闘ゲームはアニメを描く作業が果てしない・・・・・・はぁ

gedankick
やっと下段キックのモーションを描いた。
かれこれ2時間か。

一つの技に2時間て、
あと、強パンチ、ジャンプ、上段キック、通背拳、ダッシュ、ダメージ、ピヨり状態、死亡・・・・16時間か。

もう一つ敵キャラを作ったとしたら、もう、24時間程度かかるだろうか。

果てしない・・・・・。

果たして完成するんだろうか。

プログラムの方はまだ行き詰ってない。

鉄拳チンミゲームについては、あと1ヵ月を目途に、チンミ VS COMPチンミの対決をアプレット上で実現したい。


鉄拳チンミ コミック編集映像

鉄拳チンミLegends(7) (講談社コミックス月刊マガジン)鉄拳チンミLegends(7) (講談社コミックス月刊マガジン)
(2009/03/17)
前川 たけし

商品詳細を見る

仕込みは処女の如く・・・・

chanim
今朝は早朝3時から3時間かけて動画用の画像を描いていた。
鉄拳チンミの格闘ゲームを作るためである。

デフォルト画像と歩行だけで3時間、いや、効率が上がればもっと早くできる。
まだまだ、攻撃が数種類と、ジャンプ、ダメージなど相当の数の動画を描かないといけない。
しかも、敵も動画を描かないといけないから、最低でもその倍ということになる。

来年度から仕事が忙しくならないことを祈っている。

ーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーー

さて、株は今日にも15万円を達成しようとでも思っていたのだが、持ち株が全て評価額マイナスになってしまった。
まだ含み損なので売らないが、今日は何も売るものがなかった。(おかげでゲーム作成のための時間が稼げたわけだが。)

駿威汽車、緑城中国、中国水務、アビチャイナ、キャップインフォ、ジャンスーエクスプレス全て値を下げている。
非常に珍しい状態だ。
まあ、明日にでも回復するだろう。
これ以上下がる理由がない。

仕込みは処女の如く、これは本当に教訓ですね。
無理して何かを買うくらいだったら、買わない。
というのも選択肢なんですね。
売りは脱兎。
売りだと思ったら迷わずクリック。
頭と尻尾はくれてやればいいのです。

鉄拳チンミ 格闘ゲーム作成への道

tekkennchinmi
格闘マンガ 『鉄拳チンミ』 の格闘ゲームを作っています。
スーパーマリオ的なゲームは作れました。
歩きます。
画面がスクロールします。
ジャンプします。
上から踏みつけると敵は死にます。

さらに、攻撃時に敵に触れると敵は死にます。
この原理を応答するとストⅡ的なゲームは作れます。

今日は、その大元となる原画を作成したいと思っています。
以前作成した原画の絵があまりよくなかったので、今回、図書館で作成しなおそうと思っています。

パンチ、キック、必殺技、ダメージ、死亡、ジャンプ、歩き、ダッシュ

正味6時間くらいかかるでしょうか。

ーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーー

今日はジョギング、ピアノをちょっとやって、図書館で中国語と数学を勉強しようと思っています。
そんなこんなで、今日も一日いっぱいいっぱい。

明日、早朝はこれをグラフィック化します。

ゲーム完成。 ~鉄拳チンミゲームへの道~


↑↑ゲーム制作中の非常に初期の段階の映像です。
たった2ヵ月前はまだこんな状態だったんです。それが、よく一人前のゲームになってくれました。
よかった、よかった。

完成したゲームはこのURLから行けます。。
↓↓↓
ゲーム画面へ移動
フルスクリーンでやってください。
プレーヤーが動かない時は、画面を一度クリックしてください。
上、右、左キーで移動、敵は上から踏みつけます。
最終面のボスを倒してゴールに行けばクリア。
もし、プレーした方、良かったらコメントとして意見をもらえればうれしいです。

さて、シューティングを最初に作って、アクションゲームが終わったら、次は格闘ゲームです。
念願の鉄拳チンミの格闘ゲームがようやく作れそうです。
問題は、あるキーを押すと動画が攻撃などの動画に変わり、当たり判定の範囲が変わるようにすること。
よく考えればできないこともないと思うんだが、そこらへんで苦労しそう。

それとメモリーの問題だ。
もしかすると、(というか当然)↑↑のゲームだって、スペックが低いPCじゃできないし、メモリー容量や処理速度の関係によっては、画面がしばらく止まったり、動きがぎこちなくなることだってある。

それを格闘ゲームでどう解決していくか。
それもアプレットで・・・。

このアプレットというのが難点で、上のアクションゲーム程度だったらまだ動くのだが、キャラクターの動きが早くなったりすると、とたんに動きがギクシャクし始める。
しかし、アプレットにこだわっている理由もあって、それは、より多くの人に簡単にプレイしてもらいたいから。
ダウンロード版だと動きが早いのだが、知らないだれかのプログラムを自分のPCに取り込むというのも面倒だし、ウィルスやマルウェアの問題もあって、あまりやってくれない。

格闘ゲームでは、動きも激しいし、キー動作も多くなる。
それをいかにコントロールするか、アプレット特有にチラつき感をなくさないとゲームとしての魅力は落ちてしまう。

しかし、まずは作ってみたい。
全国の鉄拳チンミファンが、誰かが格闘ゲームを作るのを待っている。
自分が作らないで誰が作るんだ。

ようやく、ゲームも完成・・・しつつある。

明解 C++明解 C++
(2006/09/16)
柴田 望洋

商品詳細を見る

やはり、なにかを技能として身につけるには、ある程度まとまった期間のあいだ、集中してやらないといけない。
それが、今回のプログラミングのことで分かった。
ゲーム一つを作るには相当の技術や知識が必要であること。
そして、時間や集中力、そして、センスも必要だ。
プログラミングを一つマスターするには、独学だと1~2年はかかる。
自分もほとんど独学だったので、かなり苦労しました。
本を何冊も買っては、理解できず、また、違う本を買う。

ここ1~2カ月はかなり集中してゲームプログラミングをやっていた。
早朝2時起きもあった。
毎日、仕事以外の時間はパソコンに向かっていた。
そんな生活が続いていた。

そうこうしているうちに、なんとかjavaはマスター出来たというレベルにまできたのかもしれない。

先日受けたサーティファイのjava検定もなんとか合格できた(と思う。)

この経験で一つ悟ったような気分になった。
それは、何事もマスターするためには、一定時間集中してそれだけに取り組む必要があるということだ。
私が絵をマスターしたときも、学校で毎日10時間椅子に座ってデッサンばっかやって、何度も壁にぶち当たって、そして、そこから逃げないで格闘していた。そうやって、2年間学校に毎日通いながらなんとか人から絵が上手いと言われるレベルにまでなった。

英語もそうだ。
仕事をしながら毎日NOVAにも通っていたし、カナダでは眼球から血がでるまで英語の練習をしていた。
その結果、なんとか、人からバイリンガルと呼ばれるようになった。(まだまだ、満足してないけどね。)

私がいつまでたってもピアノが上達しないのはここに理由があったかもしれない。
毎日弾いているが、ほんの気を紛らわす程度。
もし、ピアノを本当に弾けるようになるためには、やはり、8時間なり10時間を毎日集中して練習にあてなければいけない、それは確信している。

ゲーマーではない。クリエイターだ。マルチクリエイターだ。


GOKUHさんって、ゲーム好きなんですかぁ?
いや、べつに、好きじゃないし。
やらないし。
作って人にやらせる方専門だし。

いや、はっきり言うと。

ゲームやるの好きじゃない。

ゲームプログラマーが一概にゲーマーとは限らない。
というか、今までプログラマーに何人も出会ってきたけど、
意外と、プログラマーはゲームをやらない。
という傾向があるように思う。

teki
今回使用した敵キャラ

プログラムの現場で散々ゲームのバグ探しで強制的にゲームをやらされてるから、プライベートでまでゲームをやりたくない、というのが事実かもしれない。
ゲーム好きでプログラムをはじめて、プロになってもまだゲームをやってる人って相当なゲーマーだと思う。

自分は、中学生くらいまではゲームをやっていた。
真・女神転生Ⅱとかくらいまでかな・・・。
ハードはプレステまでもってます。
DBZの格闘ゲームは好きだったけど。本格的にやってたのはそこまでで、一応、自分的には卒業してます。

私のモットーとして、

創る者は、ただ遊ぶ者を超越する。

という基本概念がある。
音楽を聴くだけの人よりも、音楽を作曲する人は超越しているし。
絵を見るだけの人を、描く人は超越している。
習う人を、教える人は超越しているし、
ゲームをプレイする人をプログラムする人は超越しているといえる。

ゲームをプログラムすることによって、超越している者は、その下の人間の意識をコントロールすることができる。
私がプログラムしたゲームをやって、怒ったり、喜んだり、「くそっ」と言ってコントローラーを投げたり、興奮したりする。
その人は私の作為したプログラムに意識や感情を操られていることになる。
これは、音楽も絵画も演劇もなんでもそうだと思う。

創造する人は鑑賞する人の上位者なのだと思う。

私はキャラクターデザインや動画も自分で描いているので、自称「マルチクリエイター」を名のっている。
15歳からはじめるDirectX 9 3Dゲームプログラミング教室 C++編―Windows 2000/XP/Vista対応15歳からはじめるDirectX 9 3Dゲームプログラミング教室 C++編―Windows 2000/XP/Vista対応
(2007/04)
大槻 有一郎

商品詳細を見る

ゲーム制作画面を公開


現在制作中のゲームの画面です。完成したら面白そうですね。
後は、敵キャラ、効果音、別ステージなども用意したいところです。

javaprogram
私が使っているNETBEANSの画面です。


ゲーム用のCGを作っているところです。
勘の良い方だったら分かると思うんですが、一部間違った画像をペーストしているところがあります。
もちろん、この後すぐ直しましたが。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.Thread;
import javax.swing.*;
public class Game115 extends JApplet implements Runnable,KeyListener {
public Game115(){
MainPanel panel = new MainPanel();
Container contentPane = getContentPane();
contentPane.add(panel);
}
↑↑↑↑↑

ちなみに、これがメインクラスで、この後に主にキープレスドイベントやキーリリースドイベントなどを記述。
別ファイルにプレーヤークラスやマップクラスを作ってあります。
今回はSWINGでやっているのですが、アプレットだけでやるよりも画面の動きが早いように感じました。
アプレットでは、動きの多いアクションゲームなどだと画面が滞ってしまう難点がありました。

やはり、動きを早くする技術は欠かせないですね。
画像の容量を小さくする。
画像をまとめる。
クラス化する。
容量の多い変数は使わない。
基本Javaではint型か、boolean型で処理する工夫をする。
変数とも関連することですが、画像の大きさ(ピクセル)を8の倍数にすることの大切さに気付きました。
演算の結果が簡単な整数になるようにするんですね。
15歳からはじめるJAVAわくわくゲームプログラミング教室―Windows98/2000/Me/XP対応15歳からはじめるJAVAわくわくゲームプログラミング教室―Windows98/2000/Me/XP対応
(2005/03)
大槻 有一郎

商品詳細を見る

↑↑↑
この本は良いですね。
ゲームプログラムの基本が細かく書かれています。
15歳でゲームプログラムできる人は優秀な人だと思いますが、(15歳でこの本を理解できる人は頭良いね。)普通のゲームプログラム入門書として最適だと思います。
基本的な入門書を1冊くらい読んで理解した人が読むと良いと思います。

net.beans トラブル多すぎ

netbeans
朝からJavaでプログラムしてて本当に頭にくるのが、NETBEANS(コンパイラ=プログラム言語をマシン語に書き換える機械のこと)の動きが本当に遅すぎる。
一体なんなんだとか思ってしまう。
トラブルシューティングとか見ても、パソコンの性能のせいだとか、・・・・、おいおい、他のプログラムは普通に動いてるのに、こちら側のパソコンの性能のせいにするなよ。

コンパイルすると、意味も無いのにクラスパスをスキャン中です、とか出てくるし。
そんなに長いコードじゃないのに、延々と滞っている。

画面が白~~くなる。

再起動しても動きが遅いまま。
はあ、最初からECLIPSEにしておいたらよかったのかな~~。

プログラムひとつするのにこんなに滞っていたんじゃ時間がかかりすぎてこまる。
使うの辞めようかな~~。

早朝起きでプログラマー生活

gamegamen
開発中のゲーム画面

仕事は本業はゲームプログラムとは全く関係無いのだが、毎日早朝2時か3時に起きてパソコンに向かう生活が続いている。
これがまた、心地よいのだ。

仕事と全く違うことを趣味にすると、仕事のことを完全に忘れられる。
仕事がどんなにきつくても、6時ギリギリまで寝ていたら時間のロスです。
自分の大切な時間は大切にしなければ。

毎日早朝2時間から、長くて4時間はプログラムをしている。(深夜2時から6時までやった場合)
今日は3時起床で、さっきまで↑のゲームを作っていた。
スーパーマリオ的なものを作りたいのだが、動作不具合との戦いである。
(これを私は一人デスマーチと呼んでいる)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

話は違うが、図書館で借りた韓国語の観光ガイドブックについていた地図を捨ててしまった。
何を考えていたんだろう。
ゴミだとでも思ったんだろうか。

つまり、弁償ということである。
昨日、アマゾンで本を見つけたので注文しました。
まったく、何を考えていたのでしょう。

少しずつ進化していくゲーム・・・・メリー フォン・ノイマン


またまた、今日もゲームを進歩させていました。
↑↑画面を一度クリックしてENTERキーを押すと始まります。
スペースキーで発射、上下左右で移動します。
今回は、宝の玉を5個取るごとに1機増える(1回当たってもしなない)ことにしました。

そろそろ、BGMや効果音が欲しいころです。
追加予定:

追尾してくる敵キャラ、違う動きをする敵キャラ、ボスキャラ
BGM、効果音
パワーアップした武器
スクロールする画面
ステージ

posthuman
唯物論・無神論者なので、クリスマスはやらないのですが、我らが唯物論者の神といえば、コンピュータの生みの親ハンガリーの数学者ジョン・フォン・ノイマンでしょう。

ということで、無神論者のクリスマスは、俗のクリスマスと区別してフォン・ノイマンの誕生日の12月28日に行うこととします。これを高踏なクリスマスと言います。
俗のクリスマスというのは、キリスト教とでも無いのに祝うクリスマスで俗に言う「性なる夜」のこと、敬けんなキリスト教徒が祝うクリスマスに茶々はいれません。どうぞお祈りください。

今回買った本は、12月28日に届きました。
レイ・カーツワイルの「ポストヒューマン」です。
2045年までに、人間は文明の一大進歩を遂げるというものです。
人工知能の発明、人間の脳のリバースエンジニアリング(構造を解明してアルゴリズム化する)、遺伝学の進歩、ナノテクノロジー。
これらが人間の知能を各段に増大させ、人間の文明は今よりも一段高い段階になるというのです。

強い人工知能(強いAI)、人間と同じように考え、自律的に判断し、行動する。このような知能ロボットが発明されれば、宇宙開発も各段に早いスピードで進むでしょう。
現在は火星の探査は無人のクローラーが行っていますが、これは、あらかじめプログラムされた動き以上のことはできません。
自分で考えて、判断できるロボットが発明されれば、火星の探査だけではなく、居住可能な施設の建設、宇宙ステーションの建設、果ては、ダイソン球殻なども可能になって、人類の文明は飛躍的に進歩するのではないでしょうか。

毎日少しずつ改造、JAVAのシューティングゲーム


↑画面をクリックして、ENTERキーを押すと始まります。
上下左右ボタンで移動、スペースキーで発射、玉を2個とると、Aボタンで弾丸を横発射、玉を3個とると、Sボタンで弾丸を斜め発射できます。

昨日アップしたゲームを再びアップします。
改造点は、アイテムの玉を取ると弾丸の発射バリエーションが増えるということ。
しかし、ここでNGが。
斜め発射の弾の飛ぶ方向がおかしいのだ!
試してみれば分かります。

さて、明日は、このゲームの斜めの発射のときのNGを改善して。
敵も増やしたいと思います。
明日作る敵のタイプは、自機に近づいてくるタイプのモノを作ろうと思います。

このくらいのゲームはなんなくプログラムできるようになってきた。


Javaでプログラムしたゲームです。
画像は飛行機の絵はオリジナルではないです、アイテムの玉はオリジナル画です。
玉をとるとだんだんスピードがあがります。
まだまだ単純なゲームなので、もっとグレードアップしたら載せていきます。

画面をクリックするとフォーカスが合います。
エンターキーでスタート、上下左右キーで移動、スペースキーで弾発射です。

ハングル検定 合格してた!!


ハングル検定5級 合格!!

今朝、4時にハングル検定の解答を速報サイトで確認した。
自分で採点した。
リスニングについては、解答が無いのだが、リスニングは楽勝だったので、敢えて採点しなくても合格だと思う。
問題は、書きとりの方。
で、自分で採点したら、6問ほど間違っていた。失点は10点程度。
リスニングがほぼ満点として、90点くらい取れている計算になる。(/100点満点)

いやはや、ハングル検定で検索すると、このブログがかなり上位に来てしまうのだが、申し訳ない、私が受験したのは5級なんですね。
なんか、初学者のくせに上位ランキングされてすみません(汗

でも、5級とは言っても、勉強しないと落ちますから。(当たり前)
1年前は5級すらチンプンカンプンでしたから。
韓国語学習歴15ヵ月にて、やっと初心者の仲間入りをさせてもらいました。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

あ、あと上のゲームですが、
今朝、JAVAでプログラムしました。
参考書見ながら書いたプログラムですが、動いています。

レースゲームですね。

壁に当たらないようにどんどん進んで行けば得点が上がっていきます。
ゴールは無いです。
永遠に続きます。
プレイしてみてください。

Javaゲームプログラミング 第2版 アルゴリズムとフレームワーク [NEXT CREATOR]Javaゲームプログラミング 第2版 アルゴリズムとフレームワーク [NEXT CREATOR]
(2007/09/20)
長久 勝

商品詳細を見る

上のゲームの出典はこの本です。
とても参考になる本ですが、全くの初心者にはお勧めしません。
ごく簡単なプログラムができる程度の方にはお勧めです。

シューティングゲーム このソースは参考になります。


PONKさんが作ったゲームです。
画面をクリックして、ENTERボタンを押すと始まります。
左右ボタンで移動、スペースボタンで弾発射です。

自分のJAVABEANSでコンパイルして、ドキュメントフォルダからクラスファイルとJAVAファイル、HTMLファイルをアップしてみました。
IFRAMEでアップ先のURIを参照してこのブログからプレイしています。

やりたいことは、私がやっていることと同じなのですが、弾が1つずつしか出ませんね。
弾を5発ぐらい定義、敵機も3機ぐらい定義しておけばもっと派手なゲームになりそうですね。

ソースです。

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Shooting1 extends Applet implements Runnable, KeyListener {
Image jiki; // 自機画像
int jx, jy; // 自機の座標
boolean keyLeft; // 左キーが押されていればtrue
boolean keyRight; // 右キーが押されていればtrue
Thread gameThread; // ゲームスレッド

// 初期化
public void init() {
// 自機の初期座標を設定する
jx = 134; jy = 352;
// キーフラグをクリア
keyLeft = keyRight = false;
// 背景色を黒色に設定
setBackground(Color.black);
// 前景色を白色に設定
setForeground(Color.white);
// 自機画像読み込み
jiki = getImage(getDocumentBase(), "jiki.gif");
// キー入力の受け付け開始
addKeyListener(this);
// フォーカスを要求
requestFocus();
}

// ゲームスレッドの開始
public void start() {
if(gameThread == null) {
gameThread = new Thread(this);
gameThread.start();
}
}

// ゲームスレッドの停止
public void stop() {
gameThread = null;
}

// ゲームスレッドのメイン
public void run() {
while (gameThread == Thread.currentThread()) {
try {
Thread.sleep(20);
} catch (InterruptedException e) {
break;
}
// ゲームメイン処理
if (keyLeft) jx -= 8;
if (keyRight) jx += 8;
repaint();
}
}

// キーが押されたときの処理
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
// 左キーが押されたとき
case KeyEvent.VK_LEFT: keyLeft = true; break;
// 右キーが押されたとき
case KeyEvent.VK_RIGHT: keyRight = true; break;
}
}

// キーが離されたときの処理
public void keyReleased(KeyEvent e) {
switch (e.getKeyCode()) {
// 左キーが離されたとき
case KeyEvent.VK_LEFT: keyLeft = false; break;
// 右キーが離されたとき
case KeyEvent.VK_RIGHT: keyRight = false; break;
}
}

// キーがタイプされたときの処理
public void keyTyped(KeyEvent e) {}

// 描画
public void paint(Graphics g) {
// 自機の表示
g.drawImage(jiki, jx, jy, this);
}
}

Javaゲームプログラミング―プログラムの基本からゲーム作りまで (I・O BOOKS)Javaゲームプログラミング―プログラムの基本からゲーム作りまで (I・O BOOKS)
(2003/06)
片山 幸雄

商品詳細を見る

できたっ! 基礎の基礎・・・・やっとゲームっぽいものがブログで出来そう!


↑キーボードの上下左右ボタンで動きます。
動かない場合は画面をクリックしてフォーカスを与えてください。

DOJAでずっとプログラムしていたゲームと同じことをブログ上でも再現したかったが、やりかたがようやく分かった。

キーリスナーの仕組み(キーボードのキーを押すとキャラクターがその方向に動く)がDOCOMOの携帯アプリと通常のアプレットでは違ったのだ。

この馬鹿みたいに基本の基本のプログラムは↓↓

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;  ←キーリスナーの仕様がDOCOMOアプリとアプレットでは違うことに気づいてなかった。

public class KeyGuruGuru1 extends Applet implements KeyListener {
int x, y; // 円の中心(x,y)座標

public void init() {
x = 150;   ←楕円の場所の初期化
y = 50;
addKeyListener(this); // KeyListener を登録
}

public void paint( Graphics g ) {
g.fillOval(x-10, y-10, 20, 20);←楕円の描画、ここで自分で描いた画像をアップすることもできる。
}

public void keyPressed(KeyEvent evt) { // Keyを押している時
switch(evt.getKeyCode()) { // Keyコードによる場合分け
case KeyEvent.VK_UP: // カーソル↑
y -= 2; ←Y座標がマイナス2、つまり上方向に動く
break;
case KeyEvent.VK_DOWN: // カーソル↓
y += 2;←今度は下方向に動く、以下X座標も同じ考え。
break;
case KeyEvent.VK_RIGHT: // カーソル→
x += 2;
break;
case KeyEvent.VK_LEFT: // カーソル←
x -= 2;
break;
default:
break;
}
repaint();
}

ゲームボーイのプログラム・改造マニュアルゲームボーイのプログラム・改造マニュアル
(2001/03)
大橋 修

商品詳細を見る

鉄拳チンミゲームへの第一歩


鉄拳チンミゲームへの第一歩。

パソコンのキーボードの「P」「O」「L」「K」で動きます。
動かない場合は、画面をクリックしてフォーカスを与えてください。

(そうでない場合は、JAVAが動かない環境である可能性があります。もしくは、非常に重くなっている。)

パソコンのキーボードのPボタンでパンチ、Oでパンチ2、Kでキック、Lで普通に立ちます。

この画像も、古いペイントで作ったもので、透過されてないので、作りなおさないといけないのですが、どうせなので、一からクオリティの高い動画を作りなおそうかと思っています。

立つ、歩く、ダッシュ、よける、ダメージ、死亡、ジャンプ、ダッシュジャンプ、パンチ、パンチ2、キック、キック2、ジャンプキック、ローキック、ローパンチ、通背拳。

前回は、図書館にトレーシングペーパーを持ち込んで4時間ほど動画を描いてました。
今回は、これを再利用して、動画のクオリティを高めるので、もっと早くできそう。イラストレータもGIMPを導入したので、効率も良さそう。

さて、これから、当たり判定を導入しないといけません。
これは、DOJAを使ってプログラマー学校で習ったのですぐにできると思います。
敵の動きも、当初はスパルタンXのザコ敵と同様にまっすぐ向かってくるタイプ。
スパルタンのボス程度も、簡単なIF文とFOR文でプログラムできそうです。

目標、チンミ対ボル将軍戦を自力でプログラムする。
新鉄拳チンミ 10 (講談社漫画文庫 ま 7-36)新鉄拳チンミ 10 (講談社漫画文庫 ま 7-36)
(2008/12/12)
前川 たけし

商品詳細を見る

キーボードの操作でキャラを動かすプログラム


パソコンのキーボードの 「a」 「s」 「d」 「f」 をタイミングよく押すとこのキャラクターを動かすことができます。動かない場合はキャラクターの絵をクリックしてフォーカスを与えてください。

a s d f のキーボードのボタンをタイミングよくタッチすることで歩いているように見えます。

絵が荒いのは、古いペイントソフトを使っていたときの絵なので勘弁を。現在はGIMPを使ってます。

では、ソースです。
JAVAです。

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Dance extends Applet{
Image MyImage;
public void init(){
enableEvents(AWTEvent.KEY_EVENT_MASK );
MyImage = getImage(getDocumentBase(),"kyara1.png");
}
public void paint(Graphics g){
g.drawImage(MyImage, 0, 0, this);
}
public void processKeyEvent(KeyEvent e){
if(e.getID() == KeyEvent.KEY_TYPED){
char c = e.getKeyChar();
if(c == 'a'){
MyImage = getImage(getDocumentBase(),"kyara1.png");
}
else if(c == 's'){
MyImage = getImage(getDocumentBase(),"kyara2.png");
}
else if(c == 'd'){
MyImage = getImage(getDocumentBase(),"kyara3.png");
}
else if(c == 'f'){
MyImage = getImage(getDocumentBase(),"kyara4.png");
}
}
repaint();
}
}

以前、プログラマー学校でならった、DOJAで作ったゲームをJAVABEANSでコンパイルできない。DOJAで作ったゲームを普通のアプレットで動かすのが取り敢えずの目標。
それができれば、かなり凝ったゲームをこのブログ上で動かすこともできる。

テトリスのオープンソースアプレット プレイするためには、↓画面を一度クリックしてください。


プレイするためには、一度画面をクリックしてフォーカスを合わせてください。
方向キーの↑ボタンで向きを変えます。→で右移動、←で左移動、↓で下移動です。基本的に方向キーしか使いません。

以前公開したJavascriptのテトリスがあまりにも高難易度だったので、今回は簡単なものをアップします。これはマルコさんが、プログラムしたもので、オープンソースだったのでいただきました。

現在やっているのは、DOJAを使用しての携帯画面上で動くゲームの制作、そして、他人が作ったゲームのソース(公開可能なもの・著作権フリーのもの)を実験的に自分のサイトに公開して動かす。
基本的に、一度、ソースをダウンロードして、その中にあるJavaファイルを自分のPCのJavaBeansでコンパイルする。そして、問題無くクラスファイルができたら、HTMLファイルと、クラスファイルとJavaファイル及び、GIFファイルその他諸々をアップロードして自分のサイトで遊んでみる。

なぜ、ダウンロードしたクラスファイルをそのままアップしないかというと、、、JavaBeansを使ってて、自分でソースを書いて、あまりにもコンパイルエラーが多すぎて困惑していた。
いまいち、自分の中でコンパイラの使い方が理解しきれてないところがあって、どんなファイルだとエラーが出ないか学習をしたいからだ。

現在ダウンロードしたファイルをコンパイルしてもエラーは出ていない。
ということは、こういった書き方をすれば良いのかと分かる。
そういうやり方で学習している。

そして、最後には、Javaファイルを読んで、自分で理解して、納得するという方法。
この学習方法が一番ストレスが少ない。
とりあえず、シューティングゲームをアプレットで動かして、それをこのブログ上で公開するのが直近の目標。
もちろん、GIF画は自分で描く。

iframeでアプレットを動かす。


iframeを使用して、別サイトで作ったJAVAアプレットを動かしています。
このゲーム自体は私のオリジナルではないのですが、オープンソースだったので、いただきました。

プログラムのオープンソース化というのはとてもありがたいことで、誰でも、極端な話、小学生でもプログラミングを学べてしまうんですね。

小学生というのは極端ですが、理系や工業系の高校生だったら作れてしまいますよね。
ソースを開いて解析して、
入門書も充実していますから、誰だって作れてしまう。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

話はずれますが、
大学時代の情報処理テキストを見ていた。

当時は難しい・・・とかって思ってたけど、今見ると、

。。。レベル、低!!!

ワードで文章を書いてみましょう。
保存して印刷してみましょう。
エクセルで成績表を作ってみましょう。

う、むむむむ・・・・。
なんなんだ、このレベルの低さは。

考えてみれば、
当時はこの低いレベルの授業を取るのに、必至になって履修届を書いて、抽選に受かるのを願っていたんだなあ~~。。。

明解Java 入門編明解Java 入門編
(2007/08/08)
柴田 望洋

商品詳細を見る

ゲームプログラマー養成学校に通い始めました。

programinglanguage
ゲームプログラマーの養成学校に通い始めました。
いったい、私は何を考えているのでしょうか。

転職?

いや、今の仕事は当分辞めません。不況だし。

ゲームを作りたい、ということです。

実は、今の仕事は嫌いなので、辞めたいというのも本心なのです。しかし、このご時世、仕事にはしがみついていかないといけません。生活が第一ですから。
そこらへんは、大人なのです・・・。

しかし、ゲームは作りたい。

いままでも、独学でJava や Rubyを勉強してきましたが、やはり、限界点にたどり着きました。
誰かに教えてもらう必要性がでてきました。

仕事は平日はそれなりに忙しいですが、土日のどちらか1日だったら学校に通える。
ということで、休日に学校に通うことにしました。

今日が授業初日でした。
感想としては、とても良かったです。
先生の教え方も丁寧だし。分かりやすい。

今後も毎週通い続けます。
仕事は忙しいけど。
これを楽しみに平日も頑張れます。

さて、宿題も出ています。
今日の学習事項を覚えて、次週に備える。
画像をキー操作で動かすことを学習したので。
次回までには、GIFで画像を作成して(キャラや背景といった)おくことです。これは得意分野ですが。
次回は、当たり判定などを学習して、本格的にゲーム作成に入っていきます。

楽しみです。

ゲームプログラマになる前に覚えておきたい技術ゲームプログラマになる前に覚えておきたい技術
(2008/11/15)
平山 尚(株式会社セガ)

商品詳細を見る


Javaの絵本 増補改訂版Javaの絵本 増補改訂版
(2005/02/16)
(株)アンク

商品詳細を見る

↑↑この本、定番のアンク翔泳社の“絵本”シリーズはJavaを理解する上で本当に参考になります。
プログラミングを勉強する初心者にとって、この、絵本シリーズが一番理解しやすいのは言うまでもないでしょう。
当然、超おススメです。

図解でわかる Javaのすべて―ネット時代のプログラミング図解でわかる Javaのすべて―ネット時代のプログラミング
(2000/09)
山下 関哉

商品詳細を見る

↑↑私が最初に買ったJava本です。
オブジェクト指向について、これでもかというぐらいに書かれています。テキストとしての難易度としては、絵本シリーズと同程度でしょう。
しかし、この本の見どころは、クラス、インスタンス、オブジェクト、パッケージ、継承といった、オブジェクト指向言語を知る上で大切なことが詳しく説明されているということです。
やはり、初心者におススメ。

1KB以下で動くテトリス(高難易度)  by Javascript



enterボタンで向きを変えます。左右ボタンで動かします。
反応しない場合は、テトリス画面をクリックしてください。
再プレイしたい場合はブラウザの更新ボタンを押してください。

Javascript や Javaを使ったゲームを勉強しているところ、テトリスのソースを見て、マネしてうってみました。どうやら、上手く動くようです。
■をpng画像とかに変えればもっと、見栄えのするテトリスになりそうですね。(あ、でも、もっと遅くなるかな。)バッファリングが上手くできてないのか、動きがもっと滑らかだったら、と思います。
FLASHやJavaにはゲームの点では勝てないのでしょうか・・・。

さて、JavascriptをOFFにしている環境や、mac環境では(多分)動かないので注意です。

早朝4時作画生活 5日目 鉄拳チンミ格闘ゲーム作成への道


少しずつ増えていくアニメーション。
今回はキックも入れてみた。


chimmigetumaga
鉄拳チンミ

yosendousi
チンミの最大の師匠、ヨーセン道士

鉄拳チンミ (第2巻) (講談社漫画文庫)鉄拳チンミ (第2巻) (講談社漫画文庫)
(2002/07)
前川 たけし

商品詳細を見る

早朝4時作画生活 しつこく鉄拳チンミ ちょっと早いパンチの動画


鉄拳チンミの格闘ゲームを作るための早朝4時起き生活。

再び、パンチ2の動画を作画。

速くゲームのアルゴリズムを書く段階にまでたどり着きたいです。

鉄拳チンミLegends 3 (月刊マガジンコミックス)鉄拳チンミLegends 3 (月刊マガジンコミックス)
(2007/09/14)
前川 たけし

商品詳細を見る

鉄拳チンミゲームプログラムへの道(続) ゆるいパンチ動画


引き続き、鉄拳チンミ格闘ゲーム実現のための、早朝4時起きの、ペンタブで動画を描いていく生活。
一日1枚、動画を描いていったとして、あと2週間はこの生活が続きそう。

その後は、
敵キャラや背景も描いていかなければいけない。

敵キャラは当面は、チンミ(自キャラ)の反転、色違いバージョンで間に合わせようかと思っている(悪チンミバージョン)が、いずれは、ボル将軍や、オウドウ、ヨーセン道士、シ―ファンなどのキャラクターも作っていきたい。

各キャラクターの動画をトレーシングペーパーに描くのに、動画数20枚で2時間程度。
それを修正してPCにグラフィック化するのに、1動画1時間。
・・・・時間がかかりすぎる。・・・・・
(本来、ゲームなんて、素人が一人で作るべきものじゃないんだけど・・・・。)

新鉄拳チンミ 10 (講談社漫画文庫 ま 7-36)新鉄拳チンミ 10 (講談社漫画文庫 ま 7-36)
(2008/12/12)
前川 たけし

商品詳細を見る

チンミの歩行アニメーション


今日は朝4時に起きて、アニメーション作成。
ペンタブと描画ソフトを起動。

絵を描くのは得意なので、時間はかからないが、アニメーションにすると、一枚一枚の絵では気づかなかったちょっとした違いが明確になり、描き直しが必要になるときがある。

描画の輪郭線の太さ、体のちょっとした大きさが違う、といった微妙なところが、動画にしたときに可笑しな揺れやブレになって見える。だから、動画を描くときは、一枚一枚の絵のクオリティよりも、他の絵との整合性を気にしながら描かないといけない。

この動画を再生しながら横座標をずらしていけば、歩いて見えるかな。
なんて思いながら描きました。

鉄拳チンミLegends 2 (月刊マガジンコミックス)鉄拳チンミLegends 2 (月刊マガジンコミックス)
(2007/05/17)
前川 たけし

商品詳細を見る



PRINCETON ペンタブレット PTB-ST5





チンミ 大林寺拳法の構えによる、屈伸運動アニメーション



図書館で、2時間かけて、休日にアニメーションを描画していたためか、自分が絵が上手いためか、いずれにしても、単純なチンミの動きのアニメは出来てきている。

一日一枚、出勤前に、早起きして描画して、動画の画数を増やしていけば、2週間で、チンミ(キャラクタ)の主な動きは網羅できることになる。

さて、なんとかなりそうだ。っと。

しかし、一番の問題がこの先にはだかっている。
当たり判定ではない、イベントハンドリングでもない、スコアーでもない、
的がCMP操作だったとき(つまりPLAYERではなく、コンピューター戦だったとき)の敵機の動かし方。
今、頭の中で、あれこれとアルゴリズムを働かせています。
格闘ゲームの敵がどう動くかってどうやってプログラムするんだろう。
これからの勉強の課題である。

鉄拳チンミLegends 3 (月刊マガジンコミックス)鉄拳チンミLegends 3 (月刊マガジンコミックス)
(2007/09/14)
前川 たけし

商品詳細を見る

鉄拳チンミ格闘ゲーム 作成への道 その1

chimmi
ペンタブで描いたチンミ

コアなファンが多いマンガなのに、いまだにゲーム化されていない鉄拳チンミ。
多くのファンが格闘ゲーム化を望んでいる。

じゃあ、自分で作っちゃおうと思った。
鉄拳チンミ格闘ゲーム化プロジェクト発動。

tuuhaiken
昨日、図書館にこもって、20枚近くの動画をトレーシングペーパーに描いていた。
これをPCにグラフィック化していく。
時間がかかる作業だが、できる日を楽しみにして一つ一つやっていく。

鉄拳チンミLegends 5 (月刊マガジンコミックス)鉄拳チンミLegends 5 (月刊マガジンコミックス)
(2008/07/17)
前川 たけし

商品詳細を見る

ペンタブ人間復活 ゲームプログラマーを目指す日記


動画を作ってみました。
似ていますが、サ○ヤ人ではありません。

久しぶりにペンタブ復活。
自分でキャラクターをデザインして、PNG動画にしてみました。
ペンタブをにぎったのが久しぶりなので、ちょっと時間がかかりました。

さて、さて、ゲームプログラマーへの道も着実に進んでいます。
サイト上で鉄拳チンミの格闘ゲームができないかな、なんて、意見を聞いて、こりゃ誰かが作らないかんと思って、あれこれとゲームプログラミングの本を読んでイロイロと勉強しましたが、結局行きつくところは2Dの動画が作れないと話にならないと。そのあとに、イベントの発生とか、当たり判定とか、ゲームの要素が入ってくる。

楽しくなってきた。
シスアドも合格したし、PCいじる時間が否応なしに増えてきた気がする。
以前は、Javascriptをこのブログに直接書いていたので、リロードのたびに画面がチラついたが、今回は大丈夫だろう。

シューティングゲーム プログラミングシューティングゲーム プログラミング
(2006/09/28)
松浦 健一郎司 ゆき

商品詳細を見る