2012年9月27日木曜日

cocos2d-xをダウンロードして試した

タイトル通りcocos2d-xというandroidやiphoneなどマルチプラットフォームで動かせるゲームエンジンを動かしてみました。

ダウンロードは以下

http://www.cocos2d-x.org/projects/cocos2d-x/news

セットアップは以下を見てやりました。

http://www.jesusbosch.com/2012/06/how-to-set-up-android-and-win32-cocos2d.html

http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started


セットアップして動かしてみた感想はとても面倒くさいです。

まず、andoridでやる場合はandroid-ndkが必要なので今までは、javaでプログラムを組んでいましたが、C++で組まないといけないので別途勉強が必要。
また、jniについても勉強しないといけないのでndkをはじめて使ってプログラムする自分みたいな人間には、色々やることが多くて敷居が高いです。


そして、さらに困ったのは公式?のチュートリアルのソースを実行しても動かない場合があることです。

具体的には、chapter5とchapter7はそのままソースを入力しても動かないので、ネットで原因を調べてから実行しました。

chapter5に使用するCCMutableArrayは自分がダウンロードしたversionには存在しないため、
c++のlistかvectorを使うか、自作するしかないようです。
自分はlistを使いました。

chapter7もソースを入力してもエラーがでて実行できません。
stackoverflowを見て直してから実行しました。


こんな感じで、想定以上に時間がかかりイライラしたため、気になっていたwebGlを調べ始めて今はそれを使ってなにか作ろうとしています。

調べたら、html5でdrawimage関数で描画するよりもかなり描画が早くなるならしいです。
後webglのサンプルを見たら、どれもすごくてこれは使いこなしたいと思いました。
とりあえず、2dで高速描画を試してみたいです。

cocos2d-xはせっかくセットアップして、苦労してtutorialまでやったのでなんか作りたいと思ってますが、またつまずくと思うと気がのらないっす。


2012年9月17日月曜日

html5でゲーム作った

一週間くらい前にhtml5で簡単なアクションゲームを作ったのでアップしたいと思います。
自分のhtmlべた書きの素人ホームページにアップしました。どうせスキルなんかございません。


↓顔文字の冒険(踏み潰しアクションゲーム)

http://www.geocities.jp/shenronkixs/html5/Kaomoji/kaomoji.html

↓サザエバード(box2dを使用したゲーム、反応を楽しめるだけ)

http://www.geocities.jp/shenronkixs/html5/Sazae/sazae.html


今回物理エンジンを使ったゲームを作るのが目標でしたが、大体使い方が理解でしました。
途中くだらないところでつまずいたりしましたが、とりあえず使えるようになってよかった。


今回使ったBox2dのライブラリーが古かったようで、最新のライブラリーは新しい関数が追加されていたり、初期化とかオブジェクトの作り方とかも随分違うようなので、またやらなければいけないでしょう。


せっかく物理エンジンがとりあえず使えるようになったので、
今度はandoridの物理エンジンの使えるゲームエンジンを利用してandroidのゲームを作りたいと思います。


具体的なエンジンはcocos2dかandengineを使ってみたいと思います。


期間目標は9月いっぱいにしよう、なにもなければいけそうですが、
忙しかったら無理だなー、つまずかないことを祈る。




2012年9月11日火曜日

物理エンジンと格闘

物理エンジンと格闘してます。 わかったことがあったので残しておきます。


□物理エンジンの種類

○Box2dJs

現在のBox2DFlashと比べて古いversionを扱っている。
Exploer9でも実行できる


○Box2dWeb

2011年に更新されていて、新しいversionのBox2DFlashを使用している。
欠点として、exploer9で起動できない。 これはでかい

□html5のエディター

○VS Express for web

よく考えたら当たり前のことですが、Exploer環境でしかdebug機能が有効になりません。

○AptanaStudio

こちらは、FireFoxでのデバックが可能みたいです。
メッセージに今のところFireFoxのデバックしか対応してませんとでていました。


そんな色々な制約があって、肝心なプログラム実験に方になかなか集中して取り組めていません。 だんだん概要がわかってきた感じです。


はじめからわかっていたことだけど、多くのことを理解するのは相当大変そう。
自分で作ることのできる知識と知恵があったらどれだけいいことか、この分野は敷居が高いです。


とりあえず今はいろいろあって、Box2djsのほうで色々試しています。 まだJavaScriptの方も細かいルールとかわかってないです、使い慣れている人のcodeを見ると新しい発見があって面白いなあ。


2012年9月7日金曜日

javascript物理エンジンを調べて、試した。

html5のアクションゲームが一応完成したので、次のステップとして物理エンジンについて調べる&試してみました。

物理エンジンの種類については、

box2djs

box2dWeb

などがあるみたいです。

ネット上にサンプルが豊富そうなので、Box2dWebの方をダウンロードして、解説のサイトを見ていたのですが、サンプルプログラムのexampe.htmlが実行できなくて、デバックを使って調べてみたら
Box2DWebのソースでエラーが起きていました。
原因をネットで調べてみたら、最新のversion2.1.a.3はインターネットエクスプローラーに対応していないみたいです。

実際GoogleChromeで起動したら問題なくできました。
これはいまのところ駄目じゃないのか、そのうち対応すると書いてありました。

なので使うのは、box2djsになりそうです。


flash用のbox2dをjavascriptに移植したエンジンのようなので、他のチュートリアルでも大丈夫なのかはこれから調べます。
たぶん大丈夫でしょう。


現状は、サンプルを実行して少しいじってみただけです。
忙しくなければ来週中までになんか簡単なのを作ってみたいです。
物理エンジンは動きが楽しい、作った人はすごいわー

2012年9月1日土曜日

Microsoft Visual Studio Express 2012 RC for Webをダウンロードした。

html5のエディタ環境を整えるために、Microsoft Visual Studio Express 2012 RC for Webをダウンロードしました。expressなので無料です。
他にもいろいろhtml5用のエディターがあるみたいですが、窓の安定感を求めてこれにしました。

自分の編集の仕方は

1メニュー画面から

2ファイル

3ファイルを開く(任意のhtmlのファイル)

で開いてhtml5のコードを書いています。


コーディング機能としては、ifなどの補完や定義された関数を呼び出すときに、
関数名がでてくるなどの機能があるので、メモ帳で書くよりもはるかに効率がいいです。
(当たり前か)


しかし、定義していない関数をコードに書いたり、定義していない変数に間違えて値を代入したりしても、エラーがエディタ上にでないのでわかりません。

デバックして、そんなものはない、ということがはじめてわかるので、大規模なものを作るときは
相当大変だと思いました。

普段androidとexlipseという恵まれた環境の中でやっていたのでこれはつらいです。

そして、canvasは思ってよりも重い感じです、でもこれは書き方でかわるかもしれない
まだはじめたばかりなのでなにもわからない、とりあえずなんか形になるものを作るという目標でやってます。


あーごちゃごちゃ