2010年12月31日金曜日

ring^-27 ver0.5




http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/program/ring^L-27v05.zip
size: 14.6MB

 アンカー打ち込みSTG「ring^-27」の体験版です。
本編は6面構成の予定で、体験版では3面までプレイ可能です。
 
 
 
●動作環境
 Windows XP
 CPU 800MHz以上
 メモリ 256MB以上
 DirectX9.0c以上
 
 
 
●アンインストール
 レジストリは触っておりません。
 削除の際はフォルダごとゴミ箱へどうぞ。

2010年12月27日月曜日

ぬこちょん


 クリスマスケーキを作った際に残った動物性生クリームでケーキを作ったのだけど、これがなかなかおいしくない。
ホイップ入りシュークリームのホイップの味がする。
そういうとおいしそうだけどあれってカスタードがないときっついよね。
植物性とちがって混ぜても最初はぜんぜんかたまらないのに、しばらくして急激に固まるので扱いが難しい。
植物性と動物性を半分ずつぐらいで混ぜるとどういうわけかお店っぽい味の生クリームになる。不思議。
 

 なんか当たった。
コカコーラとかサントリーとかぜんぜん当たらないけど、丸美屋なんかは結構当たるからオススメ。
ほどほど名の知れた企業で、当選者数が多く、当たってもうーんって思う商品を狙うと割りとあたるっぽい。
The懸賞。

2010年12月25日土曜日

ぬくちょん

 3ボス実装なう。
画面9つ分ぐらいの大型ボスでべりべりはがすタイプになりそう。
もう割とコミケ直前だけど、まにあえー。
いかないけど。

2010年12月20日月曜日

にきちゃ


 免許の更新してきた。一日つぶれるねこれ。
それはさておき、
帰りにPCショップを冷やかしに行ったらノートPC用の中古メモリが安く売ってたので買ってきた。
512+128MBから512+512MBに。
中古ってあたりが超こわい。落ちませんように。
 わかってはいたけれどブラウザとかデータをいったんHDDに入れてから表示する類のものは、
HDDが足を引っ張って大して速くならない。
 
 大復活ワンコインしてきた。
ゲーセンのディスプレイでけー。でけー。

2010年12月19日日曜日

にきーちゃ


 レンジでポテチ作った。薄く切って4分ほどチンするだけ。
思いのほかぱりぱりでポテチっぽいが、塩をかけすぎたためかなりしょっぱい。
 
*作成注意点
 700Wのレンジで4分程度。
こげるとすごく苦いので焦がさないように気合を入れる。
スライスしたジャガイモを塩水につけると、あとで塩をかける手間が省ける。

2010年12月17日金曜日

にっちゃん


 いつだかに言っていた背景の遠景をぼかした感じにしてみたら、
ちょっとだけ雰囲気が違って面白い。
遠くにぼかした画像設置するだけの簡単なお仕事。
 STGは背景スクロールだから遠くのものが遠くにあるままのことがおおく、
処理自体はとっても簡単なのに最近なかんじのことを再現しやすい、かも? 
 よく考えたら、宇宙には空気がないからぼけないような。
宇宙が舞台なSTGでは無駄な小細工かもしれんね。
そんなこと言い出したら自機に羽もいらんが。

2010年12月11日土曜日

にっきち


 昨日ぐらいに40型の蛍光灯が切れてちかちかしてたので、
32型だけ点灯できないかなと本体のひもをひっぱたらパキッていって切り替えも不可能になった。
つまり本体壊れた\(^o^)/
25年ぐらい使ってたものなのでそういうこともある。
 ちなみに蛍光灯は一昨年入れ替えたものでNECのほたるっく。
電気けしてもうっすら緑に光るというもので地味にすきなのだけど寿命が短いねえ。
 
 そんなわけで買い換えたのだけど、いままでグロースターター方式らしかったのがインバータ方式に。
無駄に明るくてまぶしっ。
蛍光灯もすごく細いものになったのだけど、これコンビニで売ってんのかね? 
 
 それにしても\(^o^)/ とか、まぶしっとかちょっと時代錯誤。
 
#追記(101212)
 コンビニとスーパーを回ってみたが蛍光灯ないね。
切れたら電気屋にいかないといけないらしい。
片方切れると全体が使えなくなる仕様らしいからかなり面倒。

2010年12月10日金曜日

にきちぃ


 いつだかいってた3層を実現。
具がないので味がそっけない。
 
 
 昨日言っていた背景作成補助ツール。
デバッグ情報を出力するようにしたら、出力にCPUを食われて60FPS出ない。
 
Amazon.co.jp: Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES): スコット・メイヤーズ, 小林 健一郎: 本
http://www.amazon.co.jp/dp/4894714515
 最近勢いで買った。以前見たときは2版だったがいつのまにやら3版が出てた。
まだ読んでない。
 
Amazon.co.jp: How to Design Programs: An Introduction to Programming and Computing: Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi: 洋書
http://www.amazon.co.jp/dp/0262062186
 同じく最近、図書館にちょっと寄ってみたときに「ただであげるよ!」のコーナーにぽつんと置いてあったのでもらってきたのだけど、後から調べたらなかなかの本のようで。
全編英語でどうもこうもない。読めない。がんばる。

2010年12月9日木曜日

にきちぃん


 ステージ別にハイスコアを集計可能に。
いらん機能を詰め込むのだけは得意なんだ……。
本編のほうが3面道中の敵配置済み、ボス未実装で止まってる。
だらだらテストしてたらプレイ時間が30時間超えてて笑った。遊びすぎだ。


 背景作成補助ツールを仮組み。
スクリプト書いてからStartボタンを押すと、だばだば背景が表示されるだけ。
いまひとつな使い勝手なんだけど特にいい案もなく。
XYZ表示するとか表示してるオブジェクト一覧表示するとかすればすこしは実用的か。書きながら考えてるけど。
 
 作業中BGMにWebラジオ聞きだした。最近。
けらけら笑ってると少し気がまぎれる。
ケーキが水平に切れなくていらいらすんだよ! いらいらすんだよ! 

2010年11月18日木曜日

「いめーじぺたぺた」ver1.07b


いめーじぺたぺた Download
size: 1.01MB
 
■概要
  ゲーム用画像を作成するとき、一定サイズの画像を一定間隔に並べることがよくあります。
  「いめーじぺたぺた」は決まった大きさの画像を貼り付けていく作業をサポートするツールです。
 
  読み込み可能な画像はbmp, jpg, png, gif
  出力できる画像は32bitBitmap, 24bitBitmap,
    32bitPNG(アルファチャンネル付きPNG), 24bitPNG(アルファチャンネルなしPNG)
    またマスク画像の出力に限りグレースケールBitmapも出力可能です
 
  選択範囲を一定サイズ間隔で行うことが出来るので、大雑把なマウス操作でも綺麗に画像を並べることが出来ます。
  現在コピー中の画像のサイズが一目でわかるので貼り付けミスを防止。
 
 
 
 ■動作環境
  Windows XP
  CPU 800MHz以上
  メモリ 256MB以上
 
 
 
■アンインストール
  レジストリは触っておりません。
  削除の際はフォルダごとゴミ箱へどうぞ。
 
 
 
■更新履歴
  2010-11-18 ver1.07b
    読み込み可能なファイルを制限
    [.bmp][.dib][.png][.jpeg][.jpe][.jpg][.gif]のみ読み込み可能

メモリ不足

OleLoadPictureで画像データを読み込むためにまずGlobalAllocでメモリを取得するんだけど、
このときマシンのメモリ以上のメモリを要求したら処理にめがっさが時間がかかってフリーズ状態に陥るみたい。
でかい画像ファイルを読み込むこともありうるだろうから解決は無理そう。
 以前からときどきメモリを異常に食っててなんなんだろうとおもってたが、
メモリ確保中だからか強制終了もできないし、デバッガにも反応しないしで直すに直せなかった。
今日ようやく再現できて発覚。
 
 いめーじぺたぺたでは画像ファイルかどうかをチェックせずにOleLoadPictureにとりあえず投げてみるので、画像ファイル以外のサイズの大きなファイルでも上記の問題が発生する。
さらにファイルマネージャでコピーされたら、ソフトがそのファイルを自動で読みこむ機能がこの問題を暴発させる。
うっかりいめーじぺたぺたを起動中にファイルをコピーしようとしたら大惨事って流れ。ゲームの体験版とか。
 とりあえず画像ファイルかどうか拡張子チェックすることで対処しようとは思うが、
でっかい画像ファイルをよみこんだときはやはりこの問題が発生するので割とどうしようもない。
 
 メモリ不足つながりだが、
アンドゥバッファが増えてくるとメモリが不足して動作が遅くなる現象に何度か遭遇している。
いめーじぺたぺた以外のソフトでもなるのでPC側の問題だろう。
メモリ640MBで画像処理をしようというのが間違ってるのかも。

2010年11月17日水曜日

にきちゃん

 ケーキ作成。
どうもフワフワ感が足りない。
既製品を観察するとクリーム層が2層の3重構造になってた。
いままで間にクリームが挟まる2重構造してたんだけど、たしかに生地が薄いほうがやわらかそう。
ってことで作ってみたら、いままでよりはかなりやわらかくなった。
でもなんか硬いしぼろぼろ崩れるしで難しい。焼きすぎだったりするんだろう。
 
 クリームを低脂肪のものにしたらさっぱりしておいしい。安いし。

2010年11月1日月曜日

日記ちゃん

 半月ぶりぐらいの日記ちゃん。

 同じ移動アルゴリズムの敵でも移動方向を向いている敵よりも、
自機のほうを向いてる敵のほうがプレッシャーを感じるようだ。
弾が入っていないとわかってるエアガンでも銃口を向けられるとヒヤッとするのに似ている。
 そんなわけで魚っぽい雑魚敵を振り向かせるために、えらにプロペラをつけてやった。
生物的にどうとか、ひれがあるからプロペラ不要とかそういう理屈は消えてなくなれ。
 キャプをとってみたがプロペラって動いてないと超地味で、掲載断念。
 
 今日もケーキを焼いた。
焼いてから12時間程度冷蔵庫に入れておいたほうがしっとりしてておいしい。
ケーキは出来立てがあまりおいしくないのが意表をついてて面白い。

2010年10月12日火曜日

日記ちゃん


 レンズフレア。
写真家的には狙ってないレンズフレアは未熟!って扱いのようで使うかどうか迷う。
ゲームや映画では結構見るエフェクトだし、動きがあるのでぱっと見の印象は大分良い。
太陽の位置が3次元なのにレンズフレアは2次元での処理になるから、レンダリング前にひと処理いり、結構面倒くさい。

2010年10月6日水曜日

日記ちゃん

 バターが切れたのでマーガリンでケーキ作ったがこれはこれでうまいな。
後味がさっぱりしてる。
なんか前にも似たようなこと書いたような気もするが。

2010年10月2日土曜日

日記ちゃん

 たかだか100F分のカメラの動作のために半日弄繰り回した挙句全部没とか。
3D背景は製作ツールがないと話にならんね。効率が悪すぎる。
そんなツール(テキストエディタ)で大丈夫か。大丈夫だ問題ないウッウッウッ。
 
 ツール製作って地味に時間がかかるよね。
いめーじぺたぺたレベルでも半年、時間かけすぎか。
汎用性があればやる気にもなるが今作onlyともなると、うーん。
 
 昨日ケーキ作った。じぇのわーず。
今までバター10gサラダ油10gで作ってたのをバター20gのみにしたら異様にしっとりした。
てっきりシロップでしっとりさせてるものだとおもってたけど、サラダ油がしっとり感を飛ばしてたらしい。
考えてみればシフォンケーキはあんまりしっとりしてない。
でもバターのみだとクッキーと大差ない味になってがっかり。

2010年9月25日土曜日

日記ちゃん


 赤い刀みたく敵弾が自機の周りをぐるぐるまわるようにしたら面白いかなと思って。
見た目のインパクトは結構あるんだけど、身動きが取れなくなるのでゲームとしては微妙に。
ボス戦が待機げーになってしまうので没。
あと弾変換でプチフリーズする、まあこれはいいか。
 

 無音……。
音ずれがひどくて、やむなく音カットで録画。30フレーム。
最初と最後に黒フェードいれてそれっぽくしたものの、
解像度の問題かフレームレートの問題でぱっとしない。

2010年9月24日金曜日

日記ちゃん


 同じバージョンのVC++2005を入れたはずなのに前回といろいろ違うw
まずエラー一覧ウィンドウ。存在すら知らなかったがこれは便利ね!
前からエラーと警告の見分けがつかないと思ってたんだ。
 コンパイルがF7じゃなくなった。つい習慣でF7押しても何も起こらないのが悲しい。
 
 デバッグ用にOutputDebugStringでなにやったか表示してるんだけど
配布用実行ファイルにこのデバッグ関係の文字が入っててキモイ! 
ってことでどうにか存在を消せないかと試行錯誤。
可変引数なOutputDebugStringを作って利用してたので、ここら辺をいじくる。

#ifdef _DEBUG
  #define outputDebugString(...) outputDebugStr(__VA_ARGS__)
#else
  #define outputDebugString(...) outputDebugStr( )
#endif

 というように引数をばっさり切り捨てて対応した。
最初は_Releaseのときに可変引数なOutputDebugStringの関数の中身をまっさらにしてみたがうまくいかなかった。
意味のない関数ってことで最適化で消されるかとおもったが、デバッグ用の文字はばっちり残ってた。

2010年9月23日木曜日

FMV-7140MGドライバ

大体のドライバは
 
FMWORLD(法人):FMV > ダウンロード > FMV-LIFEBOOK/FMVバリューライン 2003年10月-2004年3月モデル(2003年下期) : 富士通
http://www.fmworld.net/biz/fmv/support/download/2003_2/lifebook/
 
からとってくれば解決するがサウンドドライバがないのでとってくる必要がある。
 
ダウンロードRealtek AC'97 Audio 5.37 - UpdateStar.com
http://www.updatestar.com/ja/detail/realtek-ac-97-audio
 
 購入時のときよりバージョンがあがったのかユーティリティの項目が増えてたりしてすこしうれしい。

 
 
 不明なデバイスが二つあるが、よくわからん。
キーボードについているアプリケーションボタンに関係したユーティリティがあったような覚えがある、あきらめるしかないか。
 
 
 
/** 101207追記 */
 ディスプレイのドライバが古いのかしょっちゅう「ialmrrt5 が正常に動作しなくなりました」とかいって操作不能に陥るので最新を当ててみた。
 最新のIntelドライバはこちらから
インテル® ドライバー・アップデート・ユーティリティー
http://www.intel.com/jp/support/detect.htm?iid=dc_spotlight_home1

日記ちゃん

 OS再インストールにものっそい大失敗してすべてのデータが跡形もなくぶち飛んでいった。
これは本格的にもうだめかもわからんね。
あとLANのドライバとかDLし忘れてネットにもつなげないという。
ただ、入れたての状態はとても軽くて快適!
 
 
 
 DirectXを入れてないので自分のソフトも動かない。すごく新鮮だ。
最新のVerが何か知らないけど(d3dx9_40.dllかな?)
いままで作ったソフトはdxsdk_dec2005だったかを使ってるのでそのころ以降にバージョンアップをしてれば動く、はず。
ring^-27は問題なく動いた。DirectSoundはここら辺かなり甘めなのか。
 
 
 大体復帰した。
まるまる1日かかったわ。
アンチウィルスソフトをAVGからMicrosoft Security Essentialsに乗り換えた。
普段は軽めだけど、ときどきCPU100%もってく。
AVGはときどきメモリごっそり持ってくからどっちとるかみたいな感じ。
半日使ってみたら、Essentialsのほうが大変なメモリ食いだとわかった。
200Mとか使いすぎだろ。
殺す! HDDから殺す! 撃滅!
 
 ライティングソフトないなと思ってとりあえずimgBurnを使ってみた。
一応は書き込めてるっぽいがCompletedとか出ないしなにやらはっきりしない。Warningでてるしね。
直感的で使いやすくはある、表面上は。
よく読んでみれば「ディスクチェックしたいけど、トレイ自動で閉められないから自分で閉めてね>_<」みたいな感じだった。
とりあえず正常に焼けるっぽいからいいか。

2010年9月22日水曜日

日記ちゃんだるい


パッケージの読み込みエラー
というのがでて解決するのに「vs2005_beta_cleanup_tool.zip」が必要なんだけど
リンク死んでて入手不可。
アンインスコしても直らないし\(^o^)/
 
 いまのところコンパイルは可能。デバッグも可。
ただ設定が変えられないので実行ファイルにデバッグ情報が混じった現状をどうすることも出来ずに困ってる。
別のPCにプロジェクトを送って、設定変えてから返してもらう案とかで回避自体は可能か。
 
 
 
■以下メモ
 
●「vs2005_beta_cleanup_tool.zip」入手先
Summary: using the VS 2005 beta cleanup tool to prepare a machine to use VS 2005 beta 2 - Aaron Stebner's WebLog - Site Home - MSDN Blogs
http://blogs.msdn.com/b/astebner/archive/2005/04/25/411974.aspx
 
●手段
Raushia:Visual Studio 2005 Express Edition Beta 2 のエラー対策 - livedoor Blog(ブログ)
http://blog.livedoor.jp/raushia/archives/20292316.html
  
 
 
●今試してるのはこれ。
VS 2005 Express Editionインストールの問題(ベータ2→正式版) - Visual Studio 2005 - Visual Studio User Group
http://vsug.jp/tabid/63/forumid/42/postid/2464/view/topic/Default.aspx
 
 「vs2005_beta_cleanup_tool.zip」のかわりに「vs_uninst_betas.exe」を使って殺そう! という趣旨。
で、ためしたが結局解決せず。
ただ、devenv /resetskippkgsうんにゃらって表示から
VCExpress /resetskippkgsうんにゃらって表示に変わった。
devenvと名前が付くファイルは存在しなかったのでちょっと前進。
でもresetしても何も変わらず。

 
  
●だめだったらこれ試す
Readme: Microsoft Visual Studio 2005 のセットアップに関する問題
http://msdn.microsoft.com/ja-jp/vstudio/aa718687.aspx
 そもそも「_9160_RTL_x86_enu_WH_ED_AppDesigner.cab」がディスクにない。
 
 
 最終手段としてOSごと殺害。
これはこれで面倒くさい。

2010年9月21日火曜日

日記ちゃん


 ぐねぐね系のレーザーを実装。
グラⅤとかパルムのびりびりとか。
 1個新しいレーザーオブジェクトに角度をあわせて描画するとグネグネ系っぽくなる。
オブジェクトの管理方法次第では糞面倒くさい処理になりそうだけど、
今回はさっくり2行ぐらいの実装ですんでラッキーだった。
 
 夕立で布団がやられた。
ファッキン夕立。
 
 大学で食べたチープなカツ丼が懐かしくなって、自分で適当に作ってみた。
めんつゆ沸騰させて卵いれるだけ。
家にたまねぎがなかった。悲しい気持ちになった。

2010年9月18日土曜日

日記ちゃん

 Cドライブぶっとんでますよ!って怒られたからディスクチェックなう。

 一回チェックしてもまったく直ってないようだったからこりゃもうだめかなーとおもいつつ、
もう一回チェックしたら直った。よくわからんが。

2010年9月17日金曜日

日記ちゃん


 弾の進行方向上に自機が存在する場合、弾が変色する機能を実装。
処理食うかと思ったけどそんなでもなかった。atan2。
意外に役立つ感触はあるんだけど、弾に横からぶつかる場合なんかは何の役にも立たずに普通に死ぬ。
あと弾のグラフィック管理が超面倒くさいことに。
 
 いくらかためしてみたが
かなり強力で、壁みたいな弾でもひきつける前に回避可能でちょっとバランスクラッシャ。
弾を回避するどきどき感とかは大きく減少するもののアシスト機能としては優秀だから扱いに困る。

2010年9月16日木曜日

LMMS 0.4.8

最近LMMSを知ったのでちょっと使ってみた。
とりあえずSynth1 v107とaquestone0720、デフォで入ってたキックを使用。
ぱぱっと15分ぐらいで8小節分。
testLMMS.ogg (227KB)
 調べてもぜんぜん情報が出てこないからかなり適当にぺこぺことうちこんだ。
wav出力が1ボタンでできるので超簡単。
MusicStudioProducerを昔は使ってたけどこれが超落ちるし、出力よくわからんしだったが、
それにくらべれば使いやすい。
 設定が保存されないのでその場限りの一回こっきり。

シルバーガン


 加算合成してると何か新鮮だな!

2010年9月11日土曜日

日記ちゃん


 キーボードかった。
ノートPCのディスプレイが壊れてから、
CRTディスプレイは右、ノートPCは左においたところ誤字率が大幅アップ。
ディスプレイとキーボードは正面にあったほうがいいね。
 しかし買うお金ないなー、と思っていたところ
ひょんなことからamazonポイント4000円分を入手したので、えいやっ、と買うことにした。
ついでにイヤホンも断線してたので新調。方耳で曲作るとかあほなことしてたので。
 
Amazon.co.jp: ELECOM コンパクトメンブレン式フルキーボード TK-FCM005シリーズ: 家電・カメラ
http://www.amazon.co.jp/dp/B001QXCZ8U/
 キーボードはこれかった。ノートPCのとほとんど同じ仕様だけど、左CtrlとFnキーが逆になってる。
打ち心地は悪くないし、打ち間違いもあんまりない。
それでも、おっかなびっくり打ってるが。BackSpaceとかDelキーあたりは間違えそうで不安。
 
Amazon.co.jp: SONY インナーヘッドホン [MDR-E931SP] L: 家電・カメラ
http://www.amazon.co.jp/dp/B0000C90IO/
 音の聞こえがかなりストレートで低音を強調するでもなく高音を強調するでもない素直な感じ。
イヤホンを変えた新鮮さはないが、変に飾ったのよりはいいのかなあ。
ケーブルが太めで断線に強そう。
 
 注文してから2日で届いたので吃驚した。
やたら大きなダンボールに入ってて笑ったけど。



/** 2010-10-21追記 */
 一月ほどキーボードを使ってみたが、
メニュー表示キーの位置、delキーの位置が違うのに途中で気がついた。それほど影響はない。
Fnキーと左Ctrlが位置違いなのがかなりうざく、1ヶ月たった今でも押し間違える。
それから全体的に、どこを押しているのかよくわからなくなる。原因は不明だが気がつくと指がずれててびっくりする。
ついでにCキーのインクがすでにはがれつつある。
 といった具合。正直あまりいいものではないかなあ。
うち心地は結構いいんだけどねえ。numLkがFn+F11と押し間違えることがなくなったのはうれしい。

2010年9月10日金曜日

日記ちゃん

 パイナップルの缶詰をつかってケーキを作ったが、
こりゃフォークで切れないからダメね。
味はさっぱりしてて悪くないんだけど。
 みかんなんかはフォークでも切れるからわりと良い感じになる。
いちごは高いからダメ! 絶対!
 
 小麦粉を混ぜる段階で溶けなくて困ってたんだけど、
小麦粉を3回振るったところ、割とよく溶けた。かなり気合と根性。
 

2010年9月8日水曜日

ビット単位のコピー

 あると便利かなーと思って作ってみた。
1Byteづつチェックするため速度かなり遅い。
ビットレベルの操作を広範囲に行うことはあまりないと思うからまあいいかなと。


#include <cstdio>
typedef unsigned char BYTE;
 
/*
 * @param dest コピー先バッファ
 * @param destBitPos コピー開始ビット位置
 * @param src 参照バッファ
 * @param srcBitPos 参照開始ビット位置
 * @param copyBitSize コピーするビット数
 */
void bitCopy(
  void* dest, int destBitPos,
  void* src, int srcBitPos,
  int copyBitSize )
{
  BYTE* destBin = static_cast<BYTE*>( dest ) + destBitPos/8;
  BYTE* srcBin = static_cast<BYTE*>( src ) + srcBitPos/8;
  destBitPos &= 0x7;
  srcBitPos &= 0x7;
 
  while ( copyBitSize > 0 )
  {
    int size = copyBitSize > 8 ? 8 : copyBitSize;
    size = min( 8-destBitPos, size );
    size = min( 8-srcBitPos, size );
    BYTE destMask = static_cast<BYTE>(0xFF >> (8-size)) << destBitPos;
    // trans copy
    *destBin = ((*destBin ^ (((*srcBin)>>srcBitPos)<<destBitPos)) & destMask) ^ *destBin;
 
    copyBitSize -= size;
    destBitPos += size;
    if ( destBitPos >= 8 )
    {
      destBin++;
      destBitPos -= 8;
    }
 
    srcBitPos += size;
    if ( srcBitPos >= 8 )
    {
      srcBin++;
      srcBitPos -= 8;
    }
  }
}
 
int main()
{
  int dest, src;
  src = 0xFFFF0000;
 
  dest = 0;
  bitCopy( &dest, 8, &src, 16, 13 );
  std::printf("%08x\n", dest);
 
  dest = 0;
  bitCopy( &dest, 8, &src, 12, 13 );
  std::printf("%08x\n", dest);
 
  dest = 0;
  bitCopy( &dest, 8, &src, 9, 13 );
  std::printf("%08x\n", dest);
 
  dest = 0xFFFFFFFF;
  bitCopy( &dest, 8, &src, 16, 13 );
  std::printf("%08x\n", dest);
 
  dest = 0xFFFFFFFF;
  bitCopy( &dest, 8, &src, 12, 13 );
  std::printf("%08x\n", dest);
 
  dest = 0xFFFFFFFF;
  bitCopy( &dest, 8, &src, 9, 13 );
  std::printf("%08x\n", dest);
 
  return 0;
}

[20110412]&lt;と&gt;逆にしてたのを修正。
 
output:

001fff00
001ff000
001f8000
ffffffff
fffff0ff
ffff80ff

日記ちゃんマルチロック


 アンカー対象を複数にできるようにした。
・ボタン1を押すと武器変更。
・だれかしらにアンカー刺しとけばいつまでも倍率維持。
・エネルギーが切れたら全員から強攻撃される。
 といった感じ。
使い勝手はいままでのアンカーとあんまり変わらんのはいいのか悪いのか。
自機基底の仕変が堪える……。

2010年9月6日月曜日

80bit浮動小数点数?

 行き詰った。
テスト用のaiffファイルの80bit浮動小数点数データは
0x400EAC44000000000000
で、前半16bitに符号と仮数。後半64bitが指数になる。
 対して普通のdouble、つまり64bit浮動小数点数は
0x40E5888000000000
で、前半12bitに符号と仮数、残りが指数となる。 
ちなみにこの数値は44100。
 こねくり回しても同じ値にならなくてこまってる。
そもそも指数部は違うパラメータにならないと思うがいったいどういう。
 
 でも仮数部は同じ値なんだよね。
0x400E - 16383 = 15
0x40E - 1023 = 15
で。かえってややこしい。
 さらにいえば80bitの指数0xAC44は44100で正しいはずだけど、
64bitdoubleの指数部をバイナリそのまま覗くと上記の数値なんだよなあ。
なんか不思議な力が働いてるのか? うーん。
 2進でみると
0xAC44 = 1010110001000100
0x5888 = __101100010001000
で、二桁ずらせば一部一致する。すごく怪しい。
 
 だんだん面倒くさくなってきた。
サンプリングレートなんて44.1Kとか22.05Kとか11.025Kとか大体固定だろうから、
10Byteデータが一致するかどうかでチェックしたほうが早いかも。
 
/** 2011-04-11追記 */
浮動小数点演算ではまった話 - bkブログ
IEEE 754 の 32ビットと 64ビットの浮動小数点数には仮数部の前に暗黙の 1 (暗黙ビット) が置かれることになっていますが、80ビットの浮動小数点数には 歴史的事情により 暗黙ビットは存在しません。
 と、半年たって知った。この辺がカギになるんだろうが今のところ手を付けてない。
 
 64bitのほう、44.1Kを手で計算した。
(2)0100 0000 1110 0101 1000 1000 1000 0000 ...
となり、0x40E58880...と実際に得られるデータと一致。
 それから80bitのほうを手で計算。そのとき仮数部の先頭1をカットしない場合
(2)0100 0000 0000 1110 1010 1100 0100 0100 0000...
となり、0x400EAC440...となった。やった!
 
 というわけで80bit浮動小数点数を64bitにするとき、
仮数部先端の1を除去すれば変換可能のようだ。

2010年9月3日金曜日

日記ちゃん

 先日
D&Dで.aifを.wavにリネームしつつ同フォルダに吐き出してく
といったが、今更にこの要求をみたすソフトを発見した。
もともとは動画から音声を抜き出すツールを探してたんだけど,
wavからoggまでいけるというからためしにaiffもドロップしてみたら変換された。

えこでこツールの詳細情報 : Vector ソフトを探す!
http://www.vector.co.jp/soft/winnt/art/se445019.html


 何日か使ってみたがやたら落ちて使えないよ!
と思ったらサイトのほうに最新版があった。
えこでこツール Wiki - SourceForge.JP
http://sourceforge.jp/projects/ecodecotool/wiki/FrontPage
 最新が2009年なのに、Vector登録されてないという。
とりあえず1個変換したが落ちなかった。

 
 
 

日記ちゃん

 エンディアンの変更はとりたてて特殊なことはせず普通に上下ひっくり返した。
汎用的なのが1個あれば十分かなあ、データ部分での速度を考えると2Byte用があってもいいかもしれない。

void changeEndianness( void* dest, size_t size )
{
  BYTE* destByte = static_cast<BYTE*>( dest );
  const size_t n = size/2;
  for (size_t i=0; i<n; ++i)
  {
    BYTE tmp = destByte[i];
    destByte[i] = destByte[size-i-1];
    destByte[size-i-1] = tmp;
  }
}

 
 問題は80bit浮動小数点数のほうだけど、
まずbitを操作して正しく値がちゃんと取れるかどうか検証すべく、
floatをdoubleにするプログラムを試作。キャストでなしにね。げた脱がせたり履かせたり。
結果うまくうごいた。理屈の上では問題ないらしい。
長いので乗せないが凄く環境依存コードです……。まあいまさらだけど。
 あとは書くだけか。
 
 テストにしてもなんでdoubleをfloatにするプログラムにしなかったんだろう……。
逆じゃね普通。
 
 そんなわけでdoubleをfloatに落とすプログラムを書いてテストした。

#include <cstdio>
#include <cstring>
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned int DWORD;
 
void print16( void* data, int size )
{
  BYTE* bin = static_cast<BYTE*>( data );
  std::printf("0x");
  for (int i=size-1; i>=0; --i) std::printf("%02x", bin[i]);
  std::printf("\n");
}
 
 
float doubleToFloat( double val )
{
  float ret = 0;
  BYTE* fBin = reinterpret_cast<BYTE*>( &ret );
 
  BYTE bin[ sizeof(val) ];
  memcpy( bin, &val, sizeof(val) );
 
  // s
  fBin[3] = bin[7] & 0x80;
 
  // exp
  WORD exp = (static_cast<WORD>(bin[7]&0x7F) << 8) | static_cast<WORD>(bin[6]);
  exp >>= 4;
  BYTE newExp = static_cast<BYTE>(exp - 1023) + 127;
  fBin[3] |= (newExp >> 1);
  fBin[2] = (newExp << 7);
 
  // fraction
  DWORD frac = (static_cast<DWORD>(bin[6]&0x0F)<<24) |
    (static_cast<DWORD>(bin[5]) << 16) | 
    (static_cast<DWORD>(bin[4]) << 8) |
    static_cast<DWORD>(bin[3]);
  frac <<= 3;
  BYTE* fracBin = reinterpret_cast<BYTE*>( &frac );
  fBin[2] |= fracBin[3];
  fBin[1] = fracBin[2];
  fBin[0] = fracBin[1];
 
  return ret;
}
 
int main()
{
  double val = -44100;
  std::printf("double: %f\n", val);
  print16( &val, sizeof(val) );
  std::printf("\n");
 
  float fVal = doubleToFloat( val );
  std::printf("float: %f\n", fVal);
  print16( &fVal, sizeof(fVal) );
 
  return 0;
}

 
output:

double: -44100.000000
0xc0e5888000000000
 
float: -44100.000000
0xc72c4400

 かなり力技だけど、でもビットいじくって何とかできることはわかった。
ちなみに円周率3.141592653589793238でためすとこうなった。floatでもわりと表現範囲が広いのね。

double: 3.1415926535897931
0x400921fb54442d18
 
float: 3.1415925025939941
0x40490fda

 
 ざっとしらべてたら同じようなこと考えてる人がいた。さすがにコードがコンパクト。
2007/06/24 HSP で float 型っぽい変数
http://sprocket.babyblue.jp/html/hsp_koneta3.htm#tofloat
っていうかd3mの人だ!
 
 0x38000000ってなんじゃいと小一時間ほど弄繰り回したところ大まかに把握できた、様な気がする。
doubleの仮数が20bit~31bitに存在するのでこの数値を、
20bitシフト(>>20)し、げたを脱がせ(-1023)た後に再びげたを履かせる(+127)れば、float用の仮数を生成できる。
速度を考えるといちいち>>20なんてビットシフトしなくても(-1023<<20) + (127<<20)、
つまり(-896<<20)をすればいいじゃない、となる。
ビット操作なんだからunsignedがいいよね! ってわけで-(893<<20)のほうがよいか。
doubleの上位4Byte - (896<<20)を16進数にすれば
doubleの上位4Byte - 0x38000000 といった具合で謎だった数値が出てくる。

2010年9月2日木曜日

411号

411号
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/music/no%20name^_411.ogg
size: 2.50MB
time: 2:28
 
ツール:ピストンコラージュ v0.9.1.4 + SoundEngineFree v4.51
デフォ音源
 
 気が付けば400 Over
ring4面用に作ったがボツ。
もりあげてからstringsだけにするのもありかなと試してみた。
MIXとかしてみてどれだけ他の曲に強引に移行できるか実験してみたいと思いつつ実行に移さない。
ReMixってレミXって読むととたんに謎の幼女吸血鬼Xになるなと思ったが、割とどうでもいい。

2010年8月30日月曜日

日記ちゃんaiff(2)

 mmioDescendが使えそうだなと試してたんだけど、これがぜんぜんうまく動かない。
ビッグエンディアンがいけないのか、関係ないのか分からんが
しょっぱなの'FORM'を'MROF'とかやっても無理だった。
 
 しかたがないので各チャンクの頭に飛べるよう以下みたいな、
4バイト一致するデータへのアドレスを取得する関数を書いて、自分でreadしてテストしてみたところうまく読み込めた。
高速化とかはしてない。変数名は自分でもどうかと思うがテストだったからつい。
最初はstrstr()を使おうとしたんだけどバイナリに0があったら終わるということ失念してたよ……。

char* memSearch( char* buf, int bufSize, DWORD bin )
{
  const int n = bufSize - sizeof(bin);
  for (int i=0; i<n; ++i)
  {
    DWORD now = static_cast(buf[0]) |
      static_cast(buf[1])>>8 |
      static_cast(buf[2])>>16 |
      static_cast(buf[3])>>24;
    if ( now == bin ) return buf;
    buf++;
  }
 
  return NULL;
}

 
 これで各チャンクのデータは取れるようになったはずなので、
バイトオーダーと80bit浮動小数点数をどうにかすれば読み込み可能になるかも。
CommonChunkが18Byteとサイズが半端でちょっとひっかかった。
構造体にすると20Byteに肥大化する。

2010年8月28日土曜日

日記ちゃんaiff

 ビッグエンディアンをリトルエンディアンに変更する必要があるのと、
80bitの浮動小数点数を用意するのが大変面倒だ。
80bitってどうするんだ……、ご自分で頑張れって感じか。
 
 80を64に落とすのは案外簡単かも分からん。
15bitの仮数部をげたぬがせたあと11bitにしてげたを履かせなおす、
指数は52bitだけコピーとかでいけないかな。
あふれちゃう部分はもとより表現不能だったんだといいわけして。






全体符号仮数指数げた
float321823127
double64111521023
extended801156416383

 
 ああ、データはそのままコピーすりゃいいやとか思ってたらぜんぜんバイナリ違うからどういうことかと思ったら、
無音がwavだと0x80なのに、aiffだと0x00なのね。signedとunsignedのちがいかなにかか。
(8bitの場合)
16bitはwavでもsignedだからバイトオーダーに気を使うだけでいいと思われる
 
 しかしこう勉強だの学習だのは
やればやるほど学習範囲が増えて次第に把握できなくなって、にぎゃーってなるんだけど、
普通の人はどう回避してるんだろうか。
自分の場合寝ると直るけど、いちいち睡眠とるのはかなりコストが高い。うむ。

2010年8月27日金曜日

日記ちゃん

 複数のaifファイルをwavに変換したい。
キーボードにも触りたくないし、アプリケーションのインストールなんてもってのほか。
アンインストールが面倒だからね。
という要望に答えてくれるソフトを探してみたが見つからなかった。
 D&Dで.aifを.wavにリネームしつつ同フォルダに吐き出してくれればそれでいいのに、
たいてい保存しますか?とかいってウィンドウ出してきて、
しかもファイル名が入力されてなかったり.aifまで全部入ってたりで超使いにくい! 
 
 午後のこ~だで変換できると記述をみつけたが、wavではなくmp3だった。
でも、これぐらいサクッといってくれるのはないものか。インストールいるけど。
 Winampでwav出力にすれば、同じくらい簡単に変換できそうだが、
ちょっと前にfoobar2000に乗り換えてしまったので実験できなかった。タイミングが悪かった。
 
 妥協案としてoggdropXPdで高音質なoggに変換後、wavに再変換というのが今のところ一番スマート。
インストールもリネーム作業もいらず、複数ファイルD&Dするだけ。
ただ、理屈の上では音がちょっと悪くなるのが気になる。
 
 自分で作ろうかとAIFFのファイルフォーマットを探してみたが、これが見つからない。
かなり単純らしいから頑張れば解析できそうではある。
が、半日頑張ってみたもののダメだった。根性値が不足してる。
とりあえずお昼ごはんだ。
 
 おお、ようやく生きてるサイト見つけた。
Sound File Formats
http://nagasm.suac.net/ASL/sound05/#aiff-1

日記ちゃんデモ


 デモ画面関係を作成、タイトルで放置するとデモ画面に移行する。
うっかり上下入力をスルーして選択直前にデモ画面にいっちゃうといった初歩的なミスもありつつ、
なんやかんやと実装してみればあっという間だわ。
どう組むか考える時間が一番長い。4日ぐらいかかる。

2010年8月26日木曜日

小節数から再生時間を計算する

 テンポ、拍子、小節数から演奏時間を計算します。
 
計算式は
 60*拍子*小節数/テンポ
 
*要javascript
 

BPM

拍子

小節





Frame



 

 テンポ120、拍子4、小節数8で計算すると16秒
 テンポ150、拍子4、小節数64だと102.4秒
となります。
 
 ゲームに使う場合はさらに60をかけて、秒をフレーム数に変換してから使う。
32小節目で中ボスをだそうとするとステージ時開始から3072F目に、
64小節目でボスをだすなら6144Fに、といった感じに使えます。
処理落ちを多少考慮する必要があるかもしれないけど。
 
/** 20110316追記 */
 Frame出力を追加。Frameは秒に60かけた値です。秒→FPS。

2010年8月24日火曜日

日記ちゃん

 メモリマップドファイルを使用したパックファイル読み込みを仮作成してみたが、
最初にパックファイル内のファイルリストを作成する部分がかなり遅くなった。
56個ファイルが含まれているパックファイルのリストを作るのに、
今まで50msかかっていたのが110ms程度と、2倍程度の速度低下。
ReadFileの代わりにMemoryCopyを使ったが却って遅くなるみたい。
 
 今、書きながら思いついたが、
ファイルマッピングするまえにリストを作ればこれまでどおりの処理速度を維持できそうな気がする。
ファイルマッピング後はReadFileとかが使えなくなるのだけど、
ファイルマッピング前に使えるだけ使ってしまおうという発想はどうかな。
msdnを見た感じ、開いた直後のファイルじゃないとマップしちゃだめよとは書いてないっぽいし。
 
 ファイル全体をいったんメモリに読み込んでそこから各種処理する場合にメモリマップドファイルは向いていると思われるが、
たとえばCSVデータの読み込みなんかだと1Byteづつデータにアクセスするから普通にメモリに読んでからのほうが速そうだ。
画像データとかある程度まとまりで読み込むデータだと恩恵がありそうだけど。
もっとシンプルにメモリの節約になるぐらいなのかね。ひょっとして。
うーん、思ってたより使いどころに困る。プロセス間で共有するでもなし。
 
 唯一恩恵を受けられる効果音の読み込み部分に使用してみた。
いったんメモリに読み込んでからoggをwavに変換、その後DirectSoundにデータを渡すという処理を
ファイルのままoggをwavに変換、という処理に変更したところ処理速度大差なしだった。
 ウィンドウズにメモリを貰わず、
あらかじめアプリケーションで確保した作業用のメモリに対して行うので、
メモリ確保の処理もほぼ最速。
結局ファイルを読み込む速度に引きずられるので差が出ないようで。
しかも効果音読み込みは起動時のロゴ表示中に裏で行うから別に速い必要はないという。
 メモリからの読み込みとファイルからの読み込みを統一できるから、
プログラムの記述面で楽が出来るとかそういう感じのありがたみは受けられる。
が、もういまさらなのが悲しい。

2010年8月23日月曜日

日記ちゃん

 -27乗のほう、
XPが出た直後ぐらいのノートPCでデバッグしてみたところ、
等倍表示で60fps、4倍表示では8FPS程度で動いた。
PatriotDarkより処理をかなり食ってるが、
固定小数点数を浮動小数点数にかえてるのが影響してたりするのかな。まあいいか。
 
 拡大すると遅くなるなあと実感したところで、
拡大表示に使用した関数を変えたら速度は変化するかな? と思いためしてみた。
DIBをHDCに描画するのに StretchDIBits
DIBSectionをHDCに描画 StretchBlt
を使っているがどちらでもいけるので、両方試してみたところ、差はなかった。
 
 音をまるっとカットするとどうなるかなと思い、
DirectSoundを使用しない版も作ってみたが処理速度に変化は見られなかった。
音はあまり影響を与えていないらしい。
 
 あれこれさわっていたら、時折処理速度がアップする謎現象が発生。
なんなの? といろいろ試してみてたら
マウスカーソルをウィンドウの上においておくと4倍表示でも60FPSを維持するらしい。
意味はわからんがこのPCは何かおかしいということはわかった。
 
 ちなみにLUXのほうは0FPSで、動くとかそういう次元じゃなかったな。
一応タイトルの表示までは出来たけど。
 
 
 メモリマップドの存在を今更思い出してちょいちょい調べてみてるが、これはいいな! 
ニヨニヨする。

2010年8月21日土曜日

「いめーじぺたぺた」 v1.07


「いめーじぺたぺた」v1.07
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/program/imgPt107.zip
size: 1.01 MB
 
 
■更新履歴
2010-08-21 ver1.07
  「範囲外を超えて貼り付け」機能を追加
  「半透明合成」機能を追加
  「下地を不透明で半透明合成」機能を追加
  「拡大縮小処理の動作」設定を可能に
 
 
 
 今回はどうにも気になってた機能を追加実装。
特に拡大縮小あたりはかなり不便だったので大雑把に4タイプ選択できるようにして幅を持たせた。
 あと半透明は割りと不要だとも思うが、
パーツもちの敵グラの位置を確認するときいちいち別のソフトで確かめてたのでデバッグ要員として実装。
プログラムでは大雑把な位置で表示するようにして、細かい位置調整はグラフィック側で行うのが吉だと最近気が付いた。
 さすがにグラフィックソフトとして計算誤差が大きいのは不味いかと思って、
不動小数点数を使い誤差を小さくしようと試みた所、思ったより高速に処理できて驚く。
 
 付箋紙に次にやること書いてをディスプレイにはりつけてるのだけど、凄い邪魔。
俺マジ頭悪いな!

2010年8月19日木曜日

日記ちゃん

 一人プレイ専用のゲーム場合、ゲームパッドのIDを設定できる必要ってあまりないなと今気が付いた。
入力されたパッドIDをそのままつかえよ。

2010年8月16日月曜日

日記ちゃん芋洗い


 某ゲームみたくオブジェクト同士がぶつかり合いつつも押し寄せてくる感じの実装を試験中。
画面に出したオブジェクトが画面内のオブジェクトにはじかれて画面から消えていく悪夢にどう立ち向かえばいいんだ。
 某芋は画面後ろに方向に重力がかかっているようで、うまいことやってる。
 
 組んでみたはいいが、これ使うの難しいな。
常時敵破壊状態でマンネリしやすい。敵がでてきてもプレッシャーがまぎれて半減する感じ。
 
 作用反作用の法則を馬鹿正直に適用してみたもののしっくり来ないので、
他のオブジェクトにあたったら自分だけ吹っ飛ぶってプログラムにしたらぼちぼちの動作で処理も食わない感じに落ち着いた。
 
 岩を大中小それぞれ作成し、大を壊したら中と小に分解するといったオーソドックスな部分を実装。
これだけしてようやくつまらなさが薄れてくるが、ゲームとして恥ずかしくないレベルにするにはさらに岩をつかむ敵だとか演出だとかを入れていかねばなるまい。
 でもまあ連続で敵を倒すと倍率があがるシステムと相性がよくて、
じゃんがじゃんが倍率あがる割りに点数は伸びない雑魚としての価値はありあり。
岩で自由に動けないから敵を出すとすぐ詰むので難易度調整的には なしなし。
 
 ときおりBGMのロードに失敗するのかBGMタイミングでフリーズするのが気になる。
50回に1回ぐらいで発生するからデバッグもろくに出来ない。

2010年8月14日土曜日

日記ちゃん


 録画テストとyoutubeへのアップロードテスト。
低解像度の恩恵をこんなところで受けるとは思わなかった。ノートPCでひょいひょい録画。
生成した生aviファイルをそのまま転送、youtubeはとりあえず2Gまで対応してるからエンコードいらずでこれはありがたい。
 録画にはカハマルカの瞳v3.3を使った。20F設定。
30Fでも試してみたが音ずれがひどかったのと点滅処理してる部分が不安定だった。
音はあとで自分で乗せないといけないもんだとおもってたから、ちゃっかり録音されてて吃驚した。手間要らず。
 
 たぶん携帯でディスプレイ越しに撮ったほうが綺麗なんじゃないかと思う。
あとyoutubeって検索しても動画全然でてこないよなと常々おもってたが設定で限定公開できるのね。
皆が知らないおもしろい動画があったりするのかもしれないと夢が広がるが、広がるだけで特に意味はないな見られないし。

2010年8月6日金曜日

日記ちゃんチカチカ

 いままで液晶ディスプレイだったから分からなかったけど、
CRTだと1Fおきの点滅ってかなりちかちかしてうざいのね。
液晶が残像してるのをまじまじと体感したわ。
大昔に音ゲーをプレイしてたときはオブジェクトに残像がのこっててこりゃ厳しい! と思ったものだ。思っただけ。
 
 一応対策しないと不味いかなと思うが、16色じゃあ半透明不可能だし、
点滅しないようにすると敵が隠れて見えなくなるしで打つ手が余りない。
ネスケ全盛期の頃ややはやった、画像を格子状にする擬似半透明とかどうだろう。
まあ、やってみないとわからんか。

 ああああ、格子状だと上からちょっとずらして描画しただけで穴がうまっちゃうからだめかも。

 

 低解像度だと1ドットが大変重要なので除去してしまうと大変に大変なことになる。
ということがわかった。
何が書いてあるか分かるようにするため、除去しないパターンも組み込み、
格子A → 格子B → 格子なし と、3フレームでパターンにすることにした。
格子Bは格子Aを横に1ドットずらし、格子パターンをかえたもの。
 つまり
■□■
□■□
■□■

□■□
■□■
□■□
の違い。
 
格子A → 格子Bだけではいまひとつ文字が読めない。
格子A → 格子なしではあまり下が透けて見えない。
と地味に試行錯誤が必要だった。
 
 それなりにがんばったものの結局ちかちかするので無駄だったなあ。
なかったことに。
 

 2面を実装中。
宇宙は表示物が余りなくて背景作成が難しい。
地球、月、太陽ぐらいしかないんじゃないか、周辺だと。
カメラワークで何とかごまかすしかないが、ぐりぐりうごかすとそれはそれで邪魔になるから、
大きいは正義でごまかす。
 
 

2010年8月3日火曜日

日記ちゃん

 ここにきてノートPCのディスプレイが死亡!
マジいい加減にしろよ富士通といいたいところだけど、6年稼動じゃあしょうがないか。
物置からCRTもってきてつないだ。
おもしろいことに電気とおして少し暖めないと表示されない。80年代か!

2010年8月1日日曜日

日記ちゃん

__argc, __argvだとリンクにスペースが含まれたファイルで地味に誤作動するのね……。

 修正しようと思ったら再現性がなくなった。なんなの。

2010年7月19日月曜日

「いめーじぺたぺた」v1.06


「いめーじぺたぺた」v1.06
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/program/imgPt106.zip
size: 1.09MB
 
■更新履歴
2010-07-19 ver1.06
  「マスクのコピー」機能を追加
  「マスクをファイルに出力」で横幅が4の倍数でないときに正常に保存できないのを修正
  「使用色カウント」が範囲外を選択中でも使用可能なのを修正
  コピーデータビューアでホイール押し込みでも画像の表示移動が可能なように修正
  起動→「開く」の場合は更新マークが付いてしまうのを修正
   更新マークがついてないときに「開く」を行っても、更新マークが付かない
 
マスクのコピーを実装ついでに目に付いた部分を修正。

2010年7月16日金曜日

「いめーじぺたぺた」ver1.05c

「いめーじぺたぺた」ver1.05c
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/program/imgPt105c.zip
size: 1.0MB

■更新履歴
 2010-07-16
  起動直後の「開く」のときは更新マークをつけないように修正

日記ちゃんCAVE新作情報 ヵ

赤い刀
http://www.cave.co.jp/gameonline/akaikatana/
 まったく中身が想像できねえ! エロい!
今回の戦車の形状が気になるね。デススマⅡは戦車不在だった気がするし。

2010年7月14日水曜日

「いめーじぺたぺた」ver 1.05b

「いめーじぺたぺた」ver 1.05b
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/program/imgPt105b.zip

size: 1.00MB
 
■更新履歴
  2010-07-14
   「指定色を変更」の指定色の透過率を維持するよう修正
 
 使ってて不便だったので修正。

日記ちゃん


 弾に発光エフェクトをかける。
全弾の発光エフェクト→全弾本体
と順番にレンダリングしないと弾がエフェクトで隠れて見えなくなるので、手加減不要の全力レンダリング。
 爆発画像に自動生成のものをつかったが、いまひとつインパクトというかパワーが足りない感じがする。
なんかもやっとしてるというか。
個人的に爆発はSTGでの主役の一つだと思うので力を入れたいところ。
と、記事を書いた後に画像を確認したら爆発が載ってないチョンボ。チャンポと結婚したい。

2010年7月12日月曜日

日記ちゃん


 途中まで復元したが、こりゃつまらん。
 
 考えてみれば、敵配置が完了してないSTGはハリボテ相手の格ゲーみたいなもんだな。
とりあえず1ステージ分は組んでみないことには評価しようもないか……? 

2010年7月11日日曜日

日記ちゃん


 雑魚敵は64x64だったが、
中型機は256x256はいるかもしれない。
128x128だとちょっと大きめの雑魚敵ぐらいの印象にしかならなかった。
 

 ところでアイテムの発光エフェクトを手抜きして、半透明合成にする実験を行ってみた。
作り方はみてのとおりで、マスクの適用には手前味噌だが「いめーじぺたぺた」を使った。
発光エフェクトについては
生産がす: 物体と背景について
http://sumishiro.blogspot.com/2009/11/blog-post_13.html


生産がす: 壁の設置
http://sumishiro.blogspot.com/2008/09/blog-post_22.html

ですこし触れたが、手間の割りに見た目の印象がいいので重宝する。
このときには発光エフェクト→オブジェクトと2度レンダリングしたが、今回は1回のレンダリングで済ませているのでコストも低い。

2010年7月10日土曜日

「いめーじぺたぺた」v1.05

いめーじぺたぺた ver1.05
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/program/imgPt105.zip
size: 1.0MB


■更新履歴
 2010-07-10 ver1.05
   ドロップ起動に対応
   ファイルリストウィンドウのサイズを大きく
 
 
 
 今回はバグ修正なし。
ファイルドロップ起動機能の追加だけ。
__argcと__argvでさくっと実装。

日記ちゃん

 ハードの仕様でテクスチャ2048x2048まで可とあるから読んでみたら読まないでやんの。
ビデオメモリも10MBぐらいを実験段階で使っててすでに許容範囲を超えてる……。
 初期のXPのころのノートPCはビデオメモリ4MBとかだけど、よくゲームが動いたなまじで。
ギルティゼクスの体験版なんかはキャラが写ったり写らなかったりしてたが、ぎりぎりだったんだろうなあ。


 画像を使いまわすに当たり、敵と敵弾の表示サイズを2倍にしたら既存のに近い感じなった。
敵は雑魚が64x64。
敵弾は小さめなのが16x16といった具合。
画面が縦長だとバランスをとるのが凄い難しい。
画面上にいるときと下にいるときで難易度に差がで過ぎる。
背景を結構うるさくしないと画面スカスカになるし。
思い切って敵をもう一段階大きくしたほうがいいかもしれない。
 

 爆発画像をでっち上げる。
メイン爆発サイズは128x128px
小さい爆発が64x64px
自機も64x64で、この解像度だとだいたいのオブジェクトは64x64が基準になるかと思う。
 鉄粉は解像度4倍になったから8x8pxぐらいかなと適当に作ってみたらでっかくて笑った。
1pxの表示物は解像度がいくらか大ききなっても1pxのままのほうがいいみたい。
 爆発なんかは大きいほうがいいんだけど、
128pxでも16コマ並べるだけで2048pxになって読み込み不能になるのである。死ね!
2列に並べるとかすればどうとでもなるが先が思いやられる。
特にボスなんかは大きい画像を使うことが多いから下手なアニメーションをすると詰む。
1コマに画像1枚つかうとかエロゲみたいなことすれば大丈夫かもしれない。
ハード的には何枚可能なのかよくわからんが。メモリがあれば何ぼでもいけるのかな? 
 
 解像度800x600だとメインの縦画面のサイズが450x600。
これは縦置きのディスプレイ比率3:4を基準にしている。
横の余った領域はそれぞれ175x600。

2010年7月6日火曜日

日記ちゃん本末転倒

 よくよく考えたら高解像度にするなら素直にDirectXに戻ったほうが問題が少ないと今気が付いた。
何で16色なんかでやってたんだっけとおもったら、
生産がす: 日記ちゃん
http://sumishiro.blogspot.com/2010/01/blog-post_23.html

もとはといえば、
GBサイズで作ろう!
どうせだから色も少な目がいいな!
ってのが発端だったんだ。
フルカラー高解像度にするんならGDIは捨ててもいいか。
 ところがPDのときよりはプログラム技術が向上してるのか、
640x480でも昔よりぜんぜん高速にレンダリングできるという……。
 いめーじぺたぺたを作るときに1から作り直したのが利いてて、
1ピクセルごとに半透明率を分けられるとかいろいろ特典も満載。
回転描画とか不必要だった実装は行ってないからゲームへの流用はやや不向きか。
 
 背景3DをDirectXのカメラで行って数学的な不都合を少なくすべきか、
自前のカメラで処理を軽量にするかでやや悩む。
 
 あああああ、DirectXだと座標が上下が逆になるの忘れてた。これは面倒だ! 

2010年7月5日月曜日

日記ちゃん


 解像度を160x144から640x480に変更するときに、
ついでにゲームオブジェクトをスクリーン座標系からワールド座標に管理方法を変えた。
画像サイズはそのままだからスカスカ。
 今まで、敵やエフェクトの座標が100なら画面上でも100ドット目にレンダリングしてたけど、
移植するときとか別作品に使いまわしたいときに、
解像度が違うと1から組みなおしだったので結構大変。
特に摩擦係数とか加速度なんか毎回変更してチェックしてと時間がかかってしょうがない。
 ワールド座標で管理するとスクリーン座標に変換する部分を変更するだけで対応できるので、
動作周りなんかはコピペできて少し手を抜ける。
見てのとおり画像の表示サイズは変更されないので、結局手を入れないといけないのだけど。
 
 考えてみれば、複数パーツもちの敵なんかだと、
画像的には32ドットずれた位置表示するには、ワールド座標上で256ほどずれてるとかいう面倒なことになるのな。
逆算すればなんとでもなるがそれはそれで気持ち悪いような。
 
 それにしてもオブジェクトが小さい割りに画面が華やかなのは経験ゆえかたまたまか。
個人的に大きいは正義だと思うんだけど、メモリがそれをゆるさないという。
 表示はフルカラーにして画像データは256色ぐらいで管理するのがほどほどのドット感が出つつも、
メモリを節約できていいんじゃないかと思わなくもない。懐古主義かもしれないが。

2010年6月25日金曜日

日記ちゃん

 リプレイずれ地獄に陥って何が原因なんかと凄い悩んだが、
結局打ち返しに再現性のないランダム使ってたのが原因だった。
毎回死ぬ位置が違うからおかしいなとは思ったんだよ。

2010年6月20日日曜日

日記ちゃんシフォン

 紅茶の。シッフォーン。
間違えて油の量を4倍にしちゃったが、見た目何の問題もない。
味も紅茶風味は悪くないが、茶葉の食感がなんかきもい。
 
 ポーズボタンとボタン2を同時押しすると操作不能になるバグを発見。
ポーズ移行とポーズのキャンセルが同時に行われてステータスがおかしくなるんだと思う。
 
 マウスがまた壊れた。
接触不良かちょっと持ち上げたらぴろんぽろん。
まだ1ヶ月たってないのにどういうことなの。
落としてもないのにこれだから初期不良の類なのかもしれないが、なんにせよ500円マウスでよかった。
これが4000円越えとかだったらショック死してる。

2010年6月14日月曜日

日記ちゃん共立て3

たまご2個
薄力粉60g
上白糖50g
牛乳大さじ1
サラダ油大さじ1
バター20g
 で作ったら、ぼちぼちしっとりな感じのスポンジケーキが出来たが、ふわふわとは程遠い。
食感は悪くても味はケーキだからまあいいか。
 
1.たまごに砂糖いれて混ぜる
2.牛乳いれて混ぜる
3.薄力粉混ぜる
4.溶かしたバターとサラダ油を混ぜる
5.型に流す。落とす。
6.170度で30分焼く
7.落とす。
8.完成
 
 手順は簡単だけど加減が分からんのだ。
誰かに教わるでもしない限り正解パターンにたどり着くまで時間と材料費がかかりすぎる!
もういや!
 あと炒飯も、鶏がらスープとかこだわってみても出来るのはそれっぽい焼き飯だし。
やはり焼き豚を入れないとダメか。
度重なる試行錯誤の結果、ねぎは入れないと不味いということは分かったが。
 
/** 追記 2010-06-14 */
 いくらか動画をあさったりして原因を考えてみたが、
たまごの混ぜが足りない
バターを入れた後混ぜすぎた
焼く前にとんとんしすぎた
オーブンの温度が高い
 あたりが思い当たった。
他の手順は大体あってるっぽいが、それにしてもシビアすぎる。
職人さんとか毎日同じ出来具合に出来るんだろうからすごいわ。
天気や室温に左右されるレベルは素人にはどうしようもなくね?
「夏のたまごは水分が多いので注意しましょう」とか、マジで!? って感じ。
グラⅢの2面復帰ぐらい難し……あれ、たいしたことなくね?
もうちょっとだけがんばるんじゃよ。
/** 追記ここまで */
 
 
 扇風機を掃除したので、いつ夏が来てもよい。
糞虫糞虫糞虫ぃ


/** 追記2010-06-15 */
 桃の缶詰を使った。
スポンジに桃をはさむのはもちろんだけど、缶詰のシロップをスポンジにぺたぺたと塗りたくったら、
かなり雰囲気のある味になった。なんか安っぽくもあるが。
 出来立てを食べたときはなんか硬いなとおもったが、
半日ほど冷蔵庫で冷やしてたらしとしとになって食べやすくなってた。
 ちょうど薄力粉も使い切ったしここらでケーキ製作を終了しようと思う。
食べても太らないから食べ過ぎてるのかどうかも良く分からないが、
1kgの薄力粉を全部ケーキにしたのを考えるとかなりやばいんじゃないか。
たまごも週に30個ぐらい使ってるし。
 今回160度で30分焼いた。
うちのオーブンではこれがベストだろう。

2010年6月12日土曜日

日記ちゃん共立て2

たまご2個
薄力粉60g
砂糖60g
バター20g
牛乳大さじ2
バニラエッセンス4振り

で共立てでケーキ作った。じぇのわーず。
パサパサした感じはなくなったが、もはやおいしいのかどうかよくわからない。
なんか外側がクッキーみたいにぱらぱらと崩れるのだけど、大丈夫なの? 死ぬの?
 
 
 
 プラクティスモードの画面を作成中。
すごい地味な作業の割りに時間もかかるし調整も面倒という。
 PDではステージ選択しかできなかったけど、
今回はランクとか残機とかエクステンド回数とかエネルギー残量とかを細かく設定可能にする、つもり。

2010年6月11日金曜日

日記ちゃん共立て

 共立てでスポンジケーキ作ってみたが、すごいぱさぱさになった。
たまご2個
薄力粉50g
上白糖50g
牛乳大さじ1
サラダ油大さじ1
バニラエッセンス4振り
 バターじゃないからあまり香りは鮮やかではない。
次に作るときは大さじ2にしようと思う。

2010年6月10日木曜日

日記ちゃん

 図書館のケーキ作りの本によるとスポンジケーキは普通共立てのようで、
材料の分量をちょいちょい調べてみたが、なかなかにばらばらで困った。
 大体、たまご3つに薄力粉90gが相場で、砂糖と薄力粉は同じ分量なことが多い。
問題なのが牛乳とバターで、牛乳大さじ1~3、バターも大さじ1(13gぐらいのようだ)~3あたりとばらばら。
バターの変わりにサラダ油を入れる場合もあるみたい。
 逆に言えば、牛乳とバターの量は適当でもケーキっぽくなるのかもね。そう考えると気が楽。
 たまごは湯煎で温めながら混ぜると良いとあった。
メレンゲは氷で冷やしながら混ぜると良いらしいが、なんで同じたまごでこんな違うのかと、統一しろ!
 
 
 
 ここ最近、シフォンを山ほど作りは食べてきたが、どうにも真ん中がへこむんだよなあ。
水分が多すぎるのかもしれん。

たまご2
薄力粉40g
砂糖40g
牛乳40cc
サラダ油大さじ1

の分量で作ってきたが、牛乳を半分にすべきかもしれない。
このレシピだとベーキングパウダーをいれても失敗する。
今日は薄力粉50g、サラダ油大さじ2で作って失敗した。夜食美味しいです。
 
 反面、ホットケーキはえらい牛乳いるよね。差が分からん。
しかも牛乳すごい使うくせにすごいぱさぱさしてるし。
飲み物がないとのどに詰まって死ぬ。

2010年6月9日水曜日

日記ちゃん

 SkyDriveExplorerでsigninしても正常に表示されないからどうしたのかとおもったら
SkyDriveExplorerのサイト


06-08-2010
SkyDrive™ service interface has been changed, so you can have some problems accessing your account using SDExplorer. We're working on this issue and will release updated version soon. Thank you for your patience.


とあった。6/8あたりにSkyDriveの仕様が変わったらしい、たぶん。
とりあえずSkyDrive自体はブラウザで使えば問題ないからいいか。
javascriptをoffにしてるとログインも満足にできないWindowsLiveの仕様はいかんともしがたい。
 

2010年6月6日日曜日

日記ちゃんいちご


 生ゴミ作った!
味は普通だが、いちごがややすっぱい。
時期がちょっと遅いしね。
 生地がえらいぼそぼそだ。
粉をふるう回数を2回にしたほうがいいのかも。
あるいは卵の混ぜすぎか。
 家で作ると保存に困る。
ラップするとホイップくっつくし、そのまま入れるにはかさばるし。

2010年6月3日木曜日

日記ちゃんしふぉん


 サラダ油をよくみるやつに変えたら、ぼちぼちしぼまなくなった。
多少はしぼんだが、そこらはもう技術力の問題だろう。
いつになったら全うなケーキが作れるようになるのか見当も付かない。
 ちなみに今まで使っていたのは「日清 キャノーラ油」
「さらっとすっきり」とうたってるだけあったかなりさらさらしてる。
揚げ物なんかに向いてるんじゃないかな。
 
TEMPERANCE LANCE
http://temperancelance.under.jp/
 いつのまにやら復活しておられる。
今だから言うけど、効果音の音質が音によってばらばらだし、何よりモノラルなんだぜ!
いまどきモノラル!
 後に作られたLu.はちゃんとステレオに……なってない! まだモノラルだよ!
いつの時代の人なの、この人!

2010年6月1日火曜日

日記ちゃんシフォン


 こりずにシフォンケーキを作成するも、やっぱりしぼむ。
バター使ったときはぜんぜんしぼまないのに、
サラダ油にしたとたんきゅーっとしぼむのはどういうことなんだい。

 側面に限らず底もしぼむんだ。ケーキを焼いてるのに出来上がってみればクッキーだよ!
ここのところ1日1回シフォンケーキを作ってるが、一度もうまくいっていない。


 あんまりうまくいかないから、かっとなってホットケーキを作った。
どうだいこの焼き色、今年に入ってもう50回は作ったから手馴れたもんだよ。HMだけどね!
最近フライパンを買い換えたから油をひかずに焼ける。
意外にホットケーキが油を吸っちゃうから、少ないほうがいいというのが最近分かってきた。
 
 これから全部食べる。
ホットケーキ一枚でおなか一杯だけど。
かっとなったらやる男だ俺は。
 
 どうもシフォンケーキに向いてるサラダ油と向いてないサラダ油があって、
今使ってるのは向いてないほうのサラダ油の可能性もちょっとある。
乳化剤とか入ってないから大丈夫だと思ってたけど、バターだとうまくいくあたりかなり怪しい。

2010年5月29日土曜日

日記ちゃんマウス


 凄くまぶしい! 
マウス買ってきた。
高いのかっても壊れるだけだと思って、やっすいの買った。
500円。
有線赤外線3ボタンで、フレームがスケルトンだから光が漏れる漏れる。
全部プラスチックでできてて頑丈そう!
 
 さすがにマウスパッドの必要性を感じたが、手持ちにマウスパッドはなかったので、
ハンドタオルで代用することにした。
汚れても洗濯機にポイするだけで楽だし、手触りもなかなか良い。

2010年5月28日金曜日

nikkichan

 バターの変わりにマーガリンでケーキ作ってみた。
事前調査ではバターよりあっさり目でこれはこれでおいしいと見かけたが、
作ってみると、へんてこな味であんまりおいしくない。
ただの入れすぎなのかもしれないが。

2010年5月26日水曜日

コロコロカービィ

 コロコロカービィをワールド1だけプレイした。
画面を傾けるから画面見づらくなるジレンマ。
効果音なんかは既存のGBカービィの使いまわしなのか新鮮な感じはないが、カービィだなぁとは思える。
音とキャラクタ以外はカービィっぽさはないあたり、かなりすれすれのような気がする。
 センサーが結構優秀なのか設定したときの角度をちゃんと水平として扱ってくれる。
加速度センサーって移動量しか計測できないのかと思ってたけど、調べて納得。
案外素直な仕様なんだなーと思った。
加速度センサ - Wikipedia
http://ja.wikipedia.org/wiki/%E5%8A%A0%E9%80%9F%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5



 はね上げと呼ばれる動作をするとカービィがジャンプしたりする。
画面をガッと動かすのだけど、動かした方向にジャンプするから割と難しい。
たぶん加速度が一定以上だったら、はね上げ処理になるんだろう。
接触の悪いGBを使っていた場合これで死ぬと思う。電池外れたりね。



コロコロカービィ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%AD%E3%82%B3%E3%83%AD%E3%82%AB%E3%83%BC%E3%83%93%E3%82%A3

コロコロカービィ
http://www.nintendo.co.jp/n02/dmg/kkkj/index.html



コロコロカービィ
http://www.1101.com/nintendo/nin15/index.htm


新幹線の加速と減速の時に実験したり。
電車のなかでは、ブレーキかかると
影響受けますね

 なるほど。
 
 GBカービィは
・星のカービィ
・星のカービィ2
・カービィのピンボール
・カービィのブロックボール
・コロコロカービィ
・カービィのきらきらきっず
の6種類が発売されていてらしいが、ブロックボールだけは見たことも聞いたこともない。
カービィがゲシュタルト崩壊してきた。カービィってなんだ。
 
 ちょいちょいプレイしているが、
2-3の雲を乗り継いでいくステージと、
3-1の狭い道を風に飛ばされながら進むステージで残機没収されてつらい。
このゲーム難しい! 

2010年5月25日火曜日

にっき

「ペプシバオバブ」季節限定発売 2010.4.27 ニュースリリース サントリー
http://www.suntory.co.jp/news/2010/10746.html

 ペプシバオバブがコンビニにあったので飲んでみたが、
いつものペプシの後味をさっぱりさせた味。炭酸は変わってないっぽい。
何がバオバブなのかはよくわからなかった。
 
 コロコロカービィが150円で売ってたので衝動買い。
加速度センサー付いてるのに安くなったものだ。
 ポケットカメラなんて50円で売ってた。
当時持ってたのでさすがに今回は買わなかったが。
ミニゲームのSTGが好きだったなあ、たしか全3周。
カラーverが出るかと思ったが、ついに出なかった。
DSにカメラ搭載してるから、受け継がれてはいるんだろうか。まあ携帯からだろうなあ。
 
 紅茶の懸賞に当たった。ティーパックゲット。でもいまはバオバブに忙しい。
あと車に轢かれた。都会は怖いのう、あんちゃん。
 

2010年5月24日月曜日

385号

385号
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/music/no%20name385.ogg

size: 2.2MB
音源: ピストンコラージュ0.9.1.4 デフォルト
 
 不法投棄。
最近、コンプレッサー→イコライザ→リバーブのコンボを覚えて音が近代化した。

2010年5月23日日曜日

日記ちゃん

 今日もケーキ焼いた。
水平に3分割して間にクリームをぬった、まではいいんだけど
クリームがするするしてうまく八等分に出来ない。
クリームだけじゃダメなのかな、
なんか接着剤的なものがいるのかも、はちみつとか。
 一度に食べられないからと冷蔵庫にいれておいたら、
いつマニやらしっとりして、がっちりくっついてた。
ちょっと放置するのがいいのかも。
 
 ちなみにいつのマニやらのマニはマニアックのマニだな。
普段何を入力してるかが垣間見えた瞬間だわ。
ノービスとかウルトラとか極弩とか烈怒とか。

2010年5月21日金曜日

n


 シフォンケーキとやらを作ってみたがすごくしぼんだ。
しょんぼり。
 なんか焼いた後ショックを与える(落として衝撃を与える)と縮まないそうだが、どういうことなの……。 
 2月にかったマウスがもうおしゃか。2代目なのに。
ホイール下に回しても上にスクロールするし、左クリック判定出っ放しだしで。
この商品はだめな商品なんじゃないか。
無線レーザーは高いの買わないとダメかも。

2010年5月19日水曜日

日記ちゃん

 ホットケーキを作るとき卵をメレンゲにしたら超ふわふわりになった。
味は変わらん。
ちゃんとバターで焼かないとダメかな、でもバターだとこげるこげる。

2010年5月17日月曜日

日記ちゃんデカキャラ


 デザインのほどはともかく、画面に入りきらないほどのデカキャラは心が躍るよね。
解像度が低いからでっかくてもメモリに乗り切るし、レンダリングも無理なく行えてラッキー! 

日記ちゃん


 最近ホイッパーを良く使うのだけどさすがに10分もがしゃがしゃ混ぜるのはしんどい、
と、イオンの1000円のハンドミキサーを買ってみたんだけど、これがすごい。
超うるさい。
掃除機かってぐらいにぎゅんぎゅんぐいーんぐいーん。
発熱防止のためかファンがついてて中から風がびゅうびゅう出てくるんだけど、これがどうにも掃除機さながら。
自分で混ぜるよりはかなり楽で、無いよりは全然ましなんだけど、これはさすがに。
 

 そんなわけでバターケーキというのを作ってみた。
クッキーのやわらかい版だなこれ。食べられなくはない。
混ぜて焼くだけの簡単お菓子でオススメ。
ホットケーキのほうが難しい、個人的には。

2010年5月14日金曜日

日記ちゃん

 月刊Windows100%の6月号に「いめーじぺたぺた」がのったようです。
今月の新着フリーソフト特集みたいな記事。完全に自分用のソフトだったので意外。
ちなみに4月27日の段階でver1.04のDL数は12。ver1.02が13だった。世の中分からん、まじで。

2010年5月2日日曜日

日記ちゃん

 ホットケーキミックスをHMと略す事実に驚きを隠せない。
 

http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test100502.zip

size: 3.69MB

 それはそうとリプレイずれを解決。
ランダム関係かと思いきや、自機武器ショットの一部がおかしくて、
敵を倒すタイミングが狂う → アイテムの出現タイミングがずれる →
回収範囲に自機がいない → 回収できず点が一致しない。
という感じだったようだ。1箇所直すのにすげえ時間がかかった。地獄だ。
 
 ついでにポーズの実装。
こっちも長引くかなーと思ったが、割とあっさり実装完了。
リプレイもずれないっぽい。
  
 ネームエントリ、コンテニュー画面未実装。
あとリプレイ再生したらスコアがハイスコアに登録されちゃうとか言うありがちな問題とか。

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

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

2010年3月30日火曜日

日記ちゃん


 関節持ちの敵を実装中。
画像データが画像の中心を支点に回転するので、接続点とか回転角度とかのつじつまあわせが偉い大変。
汎用的なプログラムにできそうにないが、3Dの人なんかはみんな実装してるんだよね……。どうなってるの。
 
 それはそれとして株式会社晋遊舎「iP」にLu.が掲載されるようです。
驚きですね。
 
 javascriptなんてひっさしぶりに触ったわ。
parseIntがあるんだからparseDoubleもあるよね! と意気込んで記述したら動かなくてなんでだ! と調べたらそんなものはなかった。
かわりにparseFloatを使うらしいが、floatなんだ……。中身はdoubleだったりするのかな? 
型がない言語はややこしいわ。変数宣言がいらないとかもやもやするし。