ゲーム制作入門

2017年7月 1日 (土)

ディープラーニング

ディープラーニングの勉強しました!
基本のニューロンとかニューラルネットワークは概ね理解できたので、今後のゲーム作りにも応用していこうと思ってます^^

2017年4月 3日 (月)

日本のゲームエンジン

カプコンのゲームエンジンの話↓
https://persol-tech-s.co.jp/i-engineer/human/capcom

任天堂のOSやSDK等の話↓
https://www.nintendo.co.jp/jobs/introduction/soft/work.html

 

最近、自社エンジンを作る会社が減ってきてる気がしますが、
こういうのを読むと頑張って欲しいな&自分も(規模は全然違いますが)頑張らねばと思います。

因みに、スタジオギウのゲームエンジン(NT2+V12エンジン)は、異なる小さな絵を沢山描画するのに適していて、(最近調べ直した結果)条件次第ではDirectXの6倍以上速く描画できました^^

2017年2月24日 (金)

思考の集中化

<メモ>
「ライブラリ志向」によって、「思考の集中化」が生まれる。
思考の工数を減る為、考える必要のあることに集中できる。

2017年2月15日 (水)

ふわふわアクション

今度、塾で教える予定のゲーム画面、ふわふわ飛ぶ感じのアクションゲームです。

Ws000001  
SELという独自ライブラリで動いてます。
ProcessingとC++に対応。(画面はProcessing版)

学校でのプログラミング教育について

全員にプログラムを教えても意味は無いという意見があり、その通りだと思うのですが、
そもそも、他の教科も実社会で使えることは稀なので、その中に「プログラミングという教科が加わるだけ」という印象です。

今の学校制度は人間に分かりやすい順位を付ける為のものなので、その意味では(上の人達的には)問題ないのかもですね。

 

因みに今の私が考える理想の教育は、
小4くらいまでに最低限の教育を行ったあと、TENTOみたいな寺子屋式の各分野に特化した専門教育機関が沢山あって、それを選択式で複数選べる(&いつでも変えられる)みたいな社会が来たら良いなと。

その方が子供も楽しく学べるでしょうし、いじめ問題も今よりは良くなるでしょう。

2017年2月 3日 (金)

プログラムのライブラリは魔法書

プログラムのライブラリは魔法書みたいなもの。
魔法名を唱えれば、魔法書が複雑な呪文の詠唱を代わりにやってくれる。
Sel
この画像は教育用に作ったSELというライブラリの表紙です。
ヴァスタークロウズの絵を使って魔法書風にしてみました^^

2017年1月31日 (火)

ライブラリ志向とは

「ライブラリ志向」

ライブラリ志向とは、現在、世の中にあるライブラリの不満点を踏まえて、新しく作った(又は昔からある)プログラミングの考え方です。

ライブラリというのは、ファンタジー世界で例えると、魔法使いの一団が共通で使う「魔法書」のようなもの。

魔法書に書かれている「呪文(関数名)」を唱えれば、それに応じた処理が実行されます。

良い魔法書とは、「手続きが簡単で、短い呪文で魔法を使える」もの。
面倒な魔法書とは、「手続きが複雑で、長く呪文を唱えなければならない」もの。

もし「良い魔法書」を持った一団と、「面倒な魔法書」を持った一団が戦った場合、どちらが勝つかは言うまでもないですね。

同じようにプログラムの世界でも、「良いライブラリ」を使ったプロジェクトチームの方が良い成果(工数&人数&バグを少なくできる)を出すことができます。

「ライブラリ志向」とは、「プログラマが使い易いライブラリを作る」ということを最優先にする考え方です。
凄く当たり前のことですが、多くのライブラリでそれができていません。

尚、ライブラリ志向は、オブジェクト指向等、他の哲学と対立するものではなく、
まずは「使い易いライブラリ」を作ることを優先し、その後は、プロジェクトリーダーの思想に合わせて、プログラミングしていけば良いと私は考えています。

ライブラリを作る立場にある人は、オブジェクト指向の圧力に屈せず、是非この「ライブラリ志向」を導入して頂きたいです。

 

※関連記事はこちら↓(ゲームプログラミングで目指すべき方向性)

 http://giw.cocolog-nifty.com/blog/2017/01/post-78ce.html

2017年1月26日 (木)

アルゴリズム(プログラミング技術)の歴史

<メモ>

・昔は、プログラムのアルゴリズム(目的を達成する為の設計)は、1人又は数人の職人がベストな方法を編み出して作っていた。

・時代が進むと、数十人規模のプロジェクトが必要になってきて、全員が職人ではなく、実力のある人と、そうでない人で、差がでるようになった。

・実力差を埋めつつ、途中で誰かが抜けてしまっても(実力者が会社を辞めても)、プロジェクトが動けるような仕組みが求められた。

・そこで編み出されたのが「オブジェクト指向」。1つのルールで統一し、特殊な処理を排除することで、理想としては「誰が抜けてもプロジェクトを存続できる」アルゴリズムが生まれた。

・実際にその理想が100%達成されているわけではないが、高・中・低のプログラムが入り混じった状態よりは遙かに良い、ということで広まっていった。

・そのアルゴリズムは、難易度的には「中」のプログラムである必要がある。
 新人は「中」を目指して精進し、実力者は「中」に合わせたプログラム(「中」としての完成度を高める)を書く。

・結果として、「高」である職人的なプログラミング技術は失われていった。

・現在の問題点は、実力のある人が「中」を極めようとするあまり、「高」のプログラムとは別の分かり難さが発生してしまっていること。

・「高」をアセンブラ等を使って極めたソースを「極高」だとすると、実力者がオブジェクト指向の範囲内で極めたソースは「極中」と言える。

・「中」を基本としてる人から見た分かり難さで言えば、「極高>極中>低>高>中」という感じかも?

・この順序が正しいとすると、「極中」よりも「高」の方が分かりやすいということになる。

2017年1月25日 (水)

ゲームプログラミングで目指す方向性

===================================================================

「ゲームライブラリ制作で目指べき方向性」

1.ライブラリ制作者は、ライブラリ使用者が使い易い構造を目指す。
 ※”使い易い”とは、「見やすく、バグが出にくく、覚えることが少なく、少ない工数」で組めること。

2.1を可能な限り達成しつつ、ライブラリの中身も、なるべく簡素にする。
 ※簡素な方が、作成時の工数が減るだけでなく、バグ修正や拡張も行い易い。

3.1と2を可能な限り達成しつつ、コンピュータが効率良く動くようにする。
 ※目的に合わせて、実行速度&消費メモリ&消費電力等をより良い状態にする。


「個人のゲームプログラミングで目指べき方向性」

1.基本、好きなように書けば良い。
 ※楽しいことが重要。楽しくなければ続かない。

2.綺麗に書くことに拘り過ぎず、自身の精神的ストレスも軽減すること。
 ※疲れや眠気のある時にプログラムを組むとバグが生まれやすい。


「複数人でのゲームプログラミングで目指べき方向性」(仮版)

1.睡眠不足は最大の敵。
 ※バグの元であり、喧嘩の元にもなる。

2.共通ライブラリは、「ゲームライブラリ制作で目指べき方向性」を踏まえて作る。
 ※また、チームからの要望を踏まえて、より良い使い心地を目指すこと。

3.他人と連携する箇所のコメント説明や、意思疎通を怠らないこと。
 ※最もバグが発生し易いのは、他人のプログラムとの連携部分である為。

4.コーディングルールは、緩めに設定すること。
 ※各個人のストレス軽減と、厳しくすることによる不和を避ける為。

5.どういう思想で作るかは、プロジェクトに合わせて臨機応変に決める。
 ※最適な作り方はプロジェクト毎に異なる為、1つの思想に拘り過ぎると逆に効率が悪くなる。

===================================================================

 

■余談

人は、自然の仕組みを理解し、効率よく利用しながら生きています。

プログラマも同じで、自然=コンピュータの仕組みを理解し、効率よく利用することがプログラマの目指すべき姿ではないでしょうか。

自然を無視し、「コンピュータを奴隷のように働かせるプログラム」ではなく、
自然を重視し、「コンピュータと人間を上手く繋いだプログラム」こそ最良だと思います。

また、そこから生み出された作品も、最終的な使用者(ユーザー)にとって、より良いものとなるでしょう。

 

StudioGIW(スタジオギウ)/ 祇羽(ぎう)
http://www.studiogiw.com/

2016年11月22日 (火)

StudioGIWゲーム制作法メモ

企画を作り始める時、「思いついたアイデアのメモは取らない」
頭の中で練って行き、その過程で忘れてしまうものは不要なアイデアだったということだから。

より以前の記事一覧