fc2ブログ

ゲーム開発 本日11時間/GOOGLE CHROMEの実力/マルモリ

debugcrome
CHROMEの便利さ、使い心地のよさには本当に感心してしまいます。
ファイル更新の反映が速い。
もちろん、それもあります。

他には、Javascriptのデバッグがブラウザで出来てしまうというのが驚きです。
デバッガをダウンロードしなくて良いんです。

これは素晴らしい!!

これって大きいですよ。
だって、ダウンロード、インストールするってことはそれだけ時間と手間ヒマと、もっと大事なPCのメモリ領域がかかるわけじゃない。

ブラウザ右上のスパナマークをクリック→ツール→デベロッパーツール

これだけで、Javascriptのソースが見えて、ちゃんとデバッグまでしてくれるんです。
おいおい、なんなんだよーー
うれしくなっちゃうじゃないかい。
正月早々、クロームさんにはお世話になります。
IEはこういうのを見習って欲しいんだよ。

っていうか、ブラウザの性能の差、出過ぎちゃってるね。
IEとクロームの間には、

クロームは強力なインタープリターが後ろで動いている感じです。
とても速いです。
クロームの仕様は知らないんですがね。
でも、
逐次、今書いたソースのJS(Javascript 以下JS)のソースコードを解読して、デバッグしてくれちゃうってんだから、なんてったって凄いね。
YOUTUBEごときに足を引っ張られているIEとは別世界。

いやあ、GOOGLE CHROMEあっぱれです。

・・・・・・・・

さっきも書いたけどさ、
ダウンロードしなくていいってことはさ、極端な話、ネカフェでも職場でも開発が出来ちゃうってことよ。
それって、ホント、大きい。

それこそ、一億総プログラマーの時代が来ますよ。
一億どころじゃないな、ネットが世界中に行き届けば七十億総プログラマーだな。

だからさあ、GOOGLEの技術は前々から称賛しているんですよ。
自動運転する人工知能搭載の車の開発だってそうだし、
今回のクロームの開発だって、世界規模で老若男女がプログラムをやるようになったら、色んな人が色々なプログラムを書いて、人類総じての技術力のアップにもつながるでしょ。

人類が皆プログラマーになったら、底上げというか、職業プログラマーはもっと高度なプログラムを書くわけじゃないですか。

それこそ、人類総プログラマーって時代が来たら、レイカーツワイルの技術的特異点もそう遠くないんじゃないかと思うんです。
七十億のプログラマーが、もしくは、その中のチームが人工知能を、本来的な意識を持った本当の人工知能を開発してくれるでしょう。

・・・・・・

そうそう、
私の仕事でもね、
子どもに教えてますから、
パソコンは今どこの職場にもあります。
クロームを入っていれば、特別何かをダウンロードしなくても、子どもにプログラミングを教えてあげられるんです。
これは凄い。

battle3
はい、今作ってるドラクエモドキ。
一応、魔法が使えるようにしようとしています。
battle1
ま、属性とかも考えてますが、まずは、ファイアなりブリザドなり違う魔法を選択できるようにしようとしています。
それももう少し。
battle2
基本的な仕様は、あれだな。
今日の深夜3時からいじってきたんだけど、イベントの発生とかは、もう問題じゃなく。
あとは、音源を探したり、(もうあるけどね・・)
絵を描いたり、
ビットマップを描いたりと、
↓↓こんなの、それも実際は何百行×何百行もあったりする。

00000000000
00011101100
00111111110
01111211100
01110000000
00000000000

↑↑、2Dゲームのビットマップ書くのって、慣れても目がチカチカしてくるんよ。

結構、残りは労働力系の作業が多いかな。
知力系よりは。

って思ってます。
つまり、つまるところ、プログラミング系のお悩みってのはね、ほとんど、ずっとこの年末年始PCに向かいながら悶々と考え続けてきて、試行錯誤して解決しているから、

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

プログラミングのことなんだけどね。
思ったことなんだけど、
ちゃんとしたデバッガが無いと死ぬよね。
これは真実だよね。

今までJSで結構短文のプログラムを書くことは多かったけど、いやあ、人工無脳とかは結構短文なのよ。
JSの無脳はね、Perlで自動学習型のとか作った時は血を吐きそうだった(嘘、そんなことなかった)けど。
(前にも書いてますが、JS以外、つまり、JavaやPerlではちゃんとした開発環境をインストールしてますよ)

JSだけのは、学習型じゃないから。
IF-THENだけ みたいなソースは、どんなに長くても可読性は高いから。
Perl使うのは、色んなモジュールとか通すでしょ。学習とかさせようとすると。

今までメモ帳みたいなので書いてたんだけど、今回クロームにブラウザで出来るデバッガがあるって知って、本当良かった。
無かったら死んでたね。

いやはや、今午後3時、午前3時にPCに向かってプログラム始めたから、今立ち上がると完全に立ちくらみすることは想定内。

・・・・・・・・・・・・・・・・・

これからもそうするつもりだけど、
プログラムは実行可能な他人のソースを見て、何度も読んで(10回以上繰り返し通読して)、それで、改造して、動き方を見るのが一番ですね。

特に、長いソースはそうなんですよ。
自分の今までやってきた言語でもですよ。
この変数はいったい何なんだろう、って考えるより、その関数削ったらどうなるのかとか(まあ、エラーでるだろうけど)いろいろ試してみるのが一番なんです。

14歳からはじめるHTML5 & JavaScriptわくわくゲームプログラミング教室Windows/Macintosh対応14歳からはじめるHTML5 & JavaScriptわくわくゲームプログラミング教室Windows/Macintosh対応
(2011/06/24)
大槻有一郎

商品詳細を見る
この本買おうかな。



個人的にというか(国民的に?)応援しているからさ、
マルモリの紅白、誰かUPしてくれるの待ってるんだけど、ニコ動の方にあるのかな?

昨日は、普通にプログラミングに明け暮れて、そのまま紅白なども見ずに寝てしまったので、マルモリが見たいです。

このCM好き。

マルモリの凄いところはさ、「一つになろう日本」とか、「絆」とかそういうキーワードを全く予想していないタイミングで、あの時期に放送されたってのが大きいよねー。

だって、企画・制作段階で、誰も地震とかこんな大変なことが起るなんて予想してなかったでしょ。
なんか、それだけに、嘘っぽさがなくてさ、、、響くよね。


今年は、平和な一年でありますように。
このブログを見てくださっている一人一人の皆さんに幸せな一年が訪れますように。

もう悲しいことは十分に起りました。

今年は笑って過ごせますように。

・・・・・

本当、こんな一個人の日記にブクマしてくれて、そういった人が何十人もいて、読んでくださる。
それはありがたいことなんですね。
だから、ブログってのは、読む人の心に届くようなことを書かないといけない。

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

とりあえず、今日深夜やってたところ、
さらに、さっきまでは、複数の魔法を選択できるように拡張していた。

case SCRIPTCODESTAGE_BATTLE_MAGIC_IN://道具と魔法も

// リターンキー解放を確認したら戦闘処理画面へ
if (key.getTrigger() == KeyStatusHolder.KEYFLAG_NONE) {

script_codestage = SCRIPTCODESTAGE_BATTLE_MAGIC;//魔法を選択させないといけない

dmg = Math.floor(Math.sqrt(statusHolder.at * 6) * Math.sqrt(statusHolder.at / event_enemy.def) / 2);//3=>6

dmg = dmg + Math.floor(Math.random() * (1 + (dmg / 4)));

msg = chr_name + "は魔法を唱えた<:br>" + event_enemy.name + "に" + dmg + "のダメージ!<:br><:br>";

event_enemy.hp -= dmg;//主人公のステータスホルダーからMPを引かないといけない

if (event_enemy.hp > 0) {

dmg = Math.floor(Math.sqrt(event_enemy.at * 3) * Math.sqrt(event_enemy.at / statusHolder.def) / 2);

dmg = dmg + Math.floor(Math.random() * (1 + (dmg / 4)));

msg = msg + event_enemy.name + "の攻撃<:br>" + chr_name + "に" + dmg + "のダメージ!";

statusHolder.hp -= dmg;

if (statusHolder.hp < 0) {//ここで死亡処理 新しいウィンドウ→リターンキーでinit()ゲームオーバー
statusHolder.hp = 0;
}

}

// 戦闘処理画面のメッセージ設定
scriptMeswin.setText(msg, viewContext);

}

break;

// 戦闘処理画面表示中
case SCRIPTCODESTAGE_BATTLE_MAGIC:

// メッセージ表示が終わったら次へ
if (scriptMeswin.process(key)) {

// 敵を倒したら勝利
if (event_enemy.hp > 0) {
script_codestage = SCRIPTCODESTAGE_BATTLE_COMMAND_IN;
} else {//勝ったら終わり、勝ってなかったら再びコマンド
script_codestage = SCRIPTCODESTAGE_BATTLE_WIN_IN;
}

}

break;


///
/////////////////

// 勝利画面待機中
case SCRIPTCODESTAGE_BATTLE_WIN_IN:

// リターンキー解放を確認したら勝利画面へ
if (key.getTrigger() == KeyStatusHolder.KEYFLAG_NONE) {

scriptMeswin.setText(event_enemy.name + "を倒した!", viewContext);

statusHolder.exp += event_enemy.exp;

if (statusHolder.exp > 999) {//999より上げる、ここでレベルアップ処理
statusHolder.exp = 999;
}

// 経験値に応じて主人公の能力値更新→ここを改良する必要あり
statusHolder.mhp = DEFAULT_MHP + Math.floor(Math.sqrt(statusHolder.exp * 2));
statusHolder.at = DEFAULT_AT + Math.floor(Math.sqrt(statusHolder.exp * 4));
statusHolder.def = DEFAULT_DEF + Math.floor(Math.sqrt(statusHolder.exp * 4));

// HP全快→ここを改良する必要あり
statusHolder.hp = statusHolder.mhp;

script_codestage = SCRIPTCODESTAGE_BATTLE_WIN;

// reg_battle()なら、指定変数を1に設定
if (exec_event.scriptList[script_pos].name == "reg_battle") {
i = getValue(exec_event.scriptList[script_pos].args[1]);

varList[i] = 1;

}

}

break;


悲しいことは十分に起きた。


Sad things has been fully happened.


슬픈 것은 충분히 일어났다
スルプン コッスン チュンブニ イロナッタ
슬픈・・・悲しい
것은・・・ことは
충분히・・・十分に
일어났다・・・起った


充分地发生了悲哀事
chong1 fen1 de fa1 sheng1 le bei1 ai1 shi4

活性ケイ素umo水溶液500ml家庭用【リンクスモール】
スポンサーサイト