ゲームプログラミング考
もしかしたら、死ぬまでゲームプログラミングを続けるのかも知れないので、効率の良いゲームプログラミングを模索しながらゲームを作ってますが
思ってたよりも難しく無いのかも知れない。ゲームプログラミング・ポエムを語らせて貰うぜ!
まず、データ指向プログラミングで
・全てのデータをグローバル変数
として扱う。それだと、データの改変によるバグが発生するので
・扱いやすくデータを分類してDAOパターンでメソッドを実装する
イコール、似非オブジェクト指向でプログラミングを行う
変数を直接扱わないで、メソッド越しで変数を扱う事によりバグを減らす工夫な訳です
その後、処理の優先順位でデータベースの優先順位を決めて、move()→drow()と普通にプログラミングを作る
処理が間に合わなくても、メソッドをデータベースへ追加すれば間に合う
なので、
・データベースに『状態変移変数』もある
と言うので、普通に
データ指向プログラミングでゲームが作れるよなー
と
今回の落ち物パズルでは落ちてくるブロックが主役キャラではなく、ブロックが並んでいるフィールドその物が主役キャラだったんだ、と見えてから、実装をまとめやすくなりました
やっぱり、ゲームプログラミングは独特な面白さがありますよ
(≧▽≦)
いろいろと、Go言語にもゲームライブラリがあるのですが、明示的なガベージコレクタの実行を実装しているライブラリがほとんどないので、それが来れば、Go言語でもJava=i-appli程度のゲームなら、いくらでも作れるのに、と
思ってたよりも難しく無いのかも知れない。ゲームプログラミング・ポエムを語らせて貰うぜ!
まず、データ指向プログラミングで
・全てのデータをグローバル変数
として扱う。それだと、データの改変によるバグが発生するので
・扱いやすくデータを分類してDAOパターンでメソッドを実装する
イコール、似非オブジェクト指向でプログラミングを行う
変数を直接扱わないで、メソッド越しで変数を扱う事によりバグを減らす工夫な訳です
その後、処理の優先順位でデータベースの優先順位を決めて、move()→drow()と普通にプログラミングを作る
処理が間に合わなくても、メソッドをデータベースへ追加すれば間に合う
なので、
・データベースに『状態変移変数』もある
と言うので、普通に
データ指向プログラミングでゲームが作れるよなー
と
今回の落ち物パズルでは落ちてくるブロックが主役キャラではなく、ブロックが並んでいるフィールドその物が主役キャラだったんだ、と見えてから、実装をまとめやすくなりました
やっぱり、ゲームプログラミングは独特な面白さがありますよ
(≧▽≦)
いろいろと、Go言語にもゲームライブラリがあるのですが、明示的なガベージコレクタの実行を実装しているライブラリがほとんどないので、それが来れば、Go言語でもJava=i-appli程度のゲームなら、いくらでも作れるのに、と