2010年4月30日金曜日

日記ちゃん

 リプレイずれ地獄へようこそ。

2010年4月27日火曜日

日記ちゃんqsort

 qsortしてんのにぜんぜんソートされねえ何なの? とずっと引っかかってたんだけど、
比較関数の処理方法を変えたら正しく動作するようになった、っぽい。


int compare( const void* a, const void* b )
{
  int a = *((int*)a);
  int b = *((int*)b);
 
  return a-b;
}

 から

int compare( const void* a, const void* b )
{
  int a = *((int*)a);
  int b = *((int*)b);
 
  if ( a > b ) return 1;
  else if ( a == b ) return 0;
  return -1;
}

 のような感じに変えた。
キャスト周りはサンプルゆえ適当だから間違ってるかもしれんがふんいきが伝わればいいかと。
よく考えてないがオーバーフロー関係? 
 
 他にもテキストファイルを読み込むときに読込先バッファを初期化してなくて大暴走とか多数。

2010年4月20日火曜日

日記ちゃん


生産がす: 日記ちゃん
http://sumishiro.blogspot.com/2010/03/blog-post.html

 での背景操作を実際に使用しているのだけど、背景操作の情報だけで1MBちかく使って大変。
それだけのデータをロード解析するのも処理を食うし、データ量が背景操作だけで1万以上あるのは精神衛生に良くない。
製作も大変だし、デバッグしづらいし、修正も難しいしでいいことなしだ。
 いまのところそこらへんのテキストエディタで手打ちしてるが、1Fに1~2個は何かしら書く現状を考えると
何かエディタをつくったほうがいいのかもしれない。
具体案はさっぱり出ないが。
 あと、音楽と同期は思ったより難しくない。
テンポと小節数から何フレーム目か計算できるから、タイミングを合わせて敵をだしたりすればいいだけ。
ただ1箇所でも曲に合わせると、曲にあってない部分の不自然さが増して感じられるので一長一短かもしれない。
何より曲が先にできてないとならないので割りと座敷は高いのかもしれないね。

2010年4月14日水曜日

日記ちゃん


http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test100414.zip
test100414.zip (2.5MB)

 とりあえず動く版。
メニューとかリプレイ関係を実装。ここら辺はいつもどおり。
相変わらずリプレイを保存するときフォルダがないとファイルが生成できない問題にぶつかる。
ゲーム作るたびにここで一回引っかかる。
 
 打ち返しを、よくある自機に向かって飛んでくるタイプにすると画面サイズの関係でかなりきついので、
いったん上方向に向かって弾を飛ばし、画面端で跳ね返るようにしている。

2010年4月3日土曜日

日記ちゃんリーマンレーザー


 リーマンレーザー的な攻撃を実装。
実際はリーマンレーザーと違って、打ち始めからホーミングし始めるから挙動が大分違う。
本家レーザーはレーザーが敵に当たってからぐるぐる巻きだすイメージがあるから、敵の探索と接触判定を同時にやってるのかもしれないが、詳しくは分からん。雷電が身近にないし。
 
 今回のはホーミングレーザーの追跡部分のプログラムを1Fで全部行い、通過部分にグラフィックをおいてる。
最寄の敵にホーミングし、当たってもなおも先端は追いかけ続けるのでぐるぐると巻く感じになる。
ある程度長くなったらホーミングをやめてそのまま直線に飛んでいく。
 
 敵が画面に出ていれば追いかけるので、割と瞬殺してしまってバランスがやばい。
そのため威力を低くするんだけど、そうすると本家同様玄人は使わない武器になってしまう。
 

2010年4月1日木曜日

エイプリルフール

 嘘、嘘ねえ……。
カフェインの語源はコーヒーの中に入ってる、つまりcoffee inってところからなんだぜ! 
とか嘘っぽいほんとの話でも書こかと思っていたが、一応調べてみたところ本当に嘘だったという。

カテキン - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%86%E3%82%AD%E3%83%B3

  
 情報源がウィキペドさんだからちょっと怪しくはあるが。