2013年のまとめとこれから

去年は個人的な面でものすごく動きのあった1年だった。

このブログでは、生物を再現したゲームの作成過程を書いていたが、途中であることを悟ってしまった。

これが完成する頃には僕はおじいちゃんになってるなと。

こんなん仕事の合間にできるようなもんじゃないやい。

というわけで一旦方向転換をしたり、いろいろ試行錯誤していた。

 

ひとまず、2013年に自分の中で起こったことを、メモっておく。

  • 生物を再現し、物理エンジンで動くゲームを作成しようと思い立つ。
  • ゲーム作成の過程を記しておこうと思い、このブログを作成。
  • Sony製の物理エンジンEasyPhisicsをゲームに導入してみる(未発表...)。
  • ここまでやって、生物ゲーム作成がとても片手間でできるような問題でないことに気づく。
  • ひとまず、以前から画策していた、もっと小さなプロジェクトを進めることを決める。
  • プロジェクトのプラットフォームとしてはWEBに決める。
  • javascriptをいじり、使えない言語だと誤解する。
  • 仕方ないので、google製の言語dartでアプリケーションを作り始める。
  • 一方、本業では色々なLL言語を渡り歩く(perl->python->ruby
  • 結局ruby信者になった。
  • ruby関数型言語の考え方を取り入れていることを知り、関数型言語に興味を持つ。
  • 関数型言語であるLispプログラマとして有名なPaulGrahamの本を読み、Lispに興味を持つ。
  • Lispの入門書LandOfLispを買ってきて、CommonLispをかじり、オブジェクト指向信仰から目を覚ます。
  • そろそろWEBアプリ(ゲーム)を自分で作ってみようと思い立ち、自宅のWindowsマシンにLinuxCentOS)を導入してサーバーを構築(途中)。
  • javascriptを関数型的に実装すれば、気持ちよくプログラミングできるんじゃないかと考え、一度は使えない言語だと思ったjavascriptで作り始める(<-いまここ)

 

特に関数型プログラミングを知ったことが大きく、自分がいかに小さな世界でプログラミングしてたかにびびった。

ひとまず、去年dartで作っていたアプリケーションは、早々に出そうと思う。

 

今年の目標も。

  • dartで作ったアプリケーションをChromeWebStoreで売る。
  • WEBゲーム作成(ゲームのアイデアは既にある。サーバー関係がさっぱりなので、ここを勉強する目的も兼ねて。)
  • CommonLispでなんらかのアプリケーションを作成。
  • CommonLispでOpenGLを動かす。
  • 小さくても何らかの成果物を作成した時点でブログで紹介してみる。

次の記事ではdartで作ったアプリケーションの公開を報告したい。

スケルトンの作成

当面はラグドール(ぬいぐるみ)の実現を小目標とします。

その後、物理演算を導入します。

 

参考にしている書籍です。

Computer Graphics Gems JP 2012 -コンピュータグラフィックス技術の最前線-

Computer Graphics Gems JP 2012 -コンピュータグラフィックス技術の最前線-

  • 作者: 三谷純,五十嵐悠紀,井尻敬,梅谷信行,安東遼一,原田隆宏,岩崎慶,徳吉雄介,吉澤信,高山健志,岡部誠,向井智彦,山本醍田,辛孝宗,加藤諒
  • 出版社/メーカー: ボーンデジタル
  • 発売日: 2012/08/27
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 95回
  • この商品を含むブログ (6件) を見る

 

開発の現状

以下のようなスケルトンを設定します。

f:id:masatoko:20130615181944j:plain

 

すると、以下のようなモデルを自動生成します。

f:id:masatoko:20130615201356j:plain

しかし、このモデルが物理演算のためのモデルとして適当なのかどうかはまだわからないし、まだ深く考えてないです。

あと、個人製作なのでモデリングに時間をかけてらんないから自動生成ってのもあります。

でも自然な動きを再現できれば、十分生きている雰囲気を出せると踏んでいます。 

 

節の種類

再度スケルトンの図を掲載します。

丸の部分を「節(Joint)」、矢印の部分を「ボーン(Bone)」または「スケルトン(Skelton)」というのだそうです。

f:id:masatoko:20130615181944j:plain

 節には種類があります。

人間で言えば、肩関節は色々な方向に動かせますが、肘関節を動かせる方向は限られています。大雑把に言えば、そんな感じ。

 

現状では、自由に動かせる種類しか実装していません。 

これから様々なタイプの節を実装していきます。

具体的には、ボールジョイント、ヒンジ、ユニバーサルの3種類を実装予定です。

f:id:masatoko:20130615203929j:plain

 

今回は、記事の最初で紹介した以下の書籍の、

Computer Graphics Gems JP 2012 -コンピュータグラフィックス技術の最前線-

8章「インバースキネマティクス」から スケルトンの作成方法を、

10章「物理エンジンを利用した多足クリーチャーの制御」から ジョイントの種類を 参考にしました。

こんな貴重な情報がまとまってて、しかも3000円ちょいで見られるなんて幸せだ。感謝です。