テトリス

ほんとうになんの変哲もないテトリスです。


1秒ごとに1マス落下してきて、↑で回転↓で落下、←→で移動。落下と同じタイミングで行がそろったかをチェックして、そろっていればぱっと消えるだけです。これ自体は1日で作れるくらい簡単なものでした。それもあってか、初めてのゲーム作りにしてはなんの感慨もないです(・へ・)っていうかただのテトリスじゃなんも面白くない!見た目も美しくない!


そもそも、テトリスを作るためのテトリス作りではないのでただ単にこの程度のテトリスが完成してもなんの意味もないんですよね。他のゲームにも応用できるような知識を身につけ、システムを構築できないと進歩にならない気がします。


そういう意味でも独立したタイミングでの描画をしてアニメーションをしなければならないのです。そのためのタスクシステム(だと僕は思っているんですが)なんですが、4日考えてもうまくまとまらなかったので、結局Windowsプロフェッショナルゲームプログラミング2に載っているのをいじって使ってみようと思います。


404 Not Found
でもって、yaneSDK3rdのソースを見ながら実装の仕方とか見てるんですけど、ほとんどわかんないです・゜・(つД`)・゜・少しずつ使えそうなものを自分のソースに取り入れてみてます。


そういや、半透明合成(アルファブレンド?)を実装してみたんですけど

重ね合わせた色=重ねる色*α+元の色*(1−α)

をそのままやると浮動小数点の演算になってしまうんですよね。はじめはなにも気にせずfloatで計算してみたんですけど、640*480の画像の合成を毎秒30回やる程度でもたついてました。

重ね合わせた色=(重ねる色*α+元の色*(256−α))/256

と整数の演算だけにしたら驚くほど速くなったからすごいです。はっきり言って整数とか小数とか全然気にしてなかったんですが、目に見えて速くなると面白いですし、小数の演算は極力減らそうという気になります。


まぁ、このやり方はだめだってやね本2には書いてますが・・・。


さてさてこんなペースで11月頭の大学祭に間に合うことやら(;´Д`)