2012年8月24日金曜日

日記ちゃん


 最大往生360版がでるとかでないとか。
陰蜂ちゃんの有無が先にはっきりするかと思ってたが。

/** 追記2012-08-31 */
EVAC REPORT 最大往生開発ブログ
 陰蜂きてるね。
ノーミスノーボム蜂パフェに加えて機体別の条件*2とか。
ありえそうな条件だとコンボ数、ハイパーレベル、ランクあたりか。

『怒首領蜂最大往生』移植決定記念緊急インタビュー(前編)【よりぬきファミ通Xbox 360 10月号】 - ファミ通.com
『怒首領蜂最大往生』移植決定記念緊急インタビュー(後編)【よりぬきファミ通Xbox 360 10月号】 - ファミ通.com

2012年8月21日火曜日

ring^-27 ver1.1a updater


ring^-27 ver1.1a Updater
size: 88.8KB

 ring^-27 ver1.1からver1.1aにアップデートするプログラムです。
ゲーム実行ファイル[ring^-27.exe]と同じフォルダに
[ring^-27ver110a.EXE]をおいて実行してください。
ver1.1aにアップデートされます。
 お手数をおかけします。



■確認方法
 ウィンドウメニューからヘルプ→バージョン情報でバージョンウィンドウを開いてください。
ver1.1aとなっていれば正常にバージョンアップされています。



■修正点
 HomingAnchor射出パーティクルをオブジェクト数が多い場合は生成しないよう修正
 実績no.29が解除されないのを修正
 バージョンウィンドウが2010-2011になっていたのを修正
 モードセレクトにてdeviceまで開放されている状態でAnotherをクリアすると、
   Another隠し機体の5体目が画面外に表示されてしまうのを修正



 主に実績に関する修正のみなので特にやりこまない方はアップデートをスルーしても問題ありません。

2012年8月20日月曜日

にっきちゃんあんどろ


GL10PrimitiveEx1.apk
size: 1.64MB
ソースコード: GL10PrimitiveEx1.java

テクスチャは以下を使用。

 
 半透明に対応したり、回転表示のミスを修正したり。
あとonTouchEvent()がたくさん来て処理落ちするので1フレームに一度だけにしている。たぶん。
 ソースコードを1ファイルに無理やりつめこんでるが、
さすがにどこに何が書いてあるかぜんぜんわからないから別ファイルに分割すべき。
 メモリ管理まわりがまだ不十分で、
初期化関数でメモリの確保をしないと
メモリ回収されて動かなくなりそうな気がする。
プログラム復帰後元に戻そうと思うならファイルに出力するなりが必要かもしれないが、よく調べていない。


 SkyDriveが仕様変更してて重くなった。
Windows8よりになったのはまあいいんだけど。

2012年8月17日金曜日

にっきちゃんBlueStacks


 AndroidアプリをWindowsで動かすソフト「BlueStacks」を導入し、
自作のアプリを動かした。
.apkが関連付けされるため、ダブルクリックすれば自動でインストールされ便利。
またエミュレータで動かすより高速なので、実機により近い動作速度を期待できる。
Run Android on Windows with BlueStacks :: Android on PC :: Android Player for Windows | BlueStacks
 
 30FPSで動くようにしていた気がしたがそんなことはなかった。
どっかまちがってんのかな。
詳しく調べてないが、Thread.sleep()一回だと指定時間ちゃんと待ってくれない感じがする。
30~45FPSぐらいをうろちょろする。
long now;
for (;;)
{
  now = System.currentTimeMillis();
  if ( now-this.prevTime < 33 )
  {
    try
    {
      Thread.sleep( 33 - (now-this.prevTime) );
    }
    catch ( Exception e ) {}
  }
  else
  {
    break;
  }
}
 
this.prevTime = now;
 とかなんとかやって何回かまわしてあげるとある程度正確にループするようになった。
でも30FPSを想定してるのに25FPSぐらいで安定しちゃう、計測方法が悪いのかそれ以外かよくわかってないが。
sleep使わずに空回ししても25FPSぐらいになるから計測方法が悪いんだろうなあ。
 時間きっちり待ったあと、さらに垂直同期を待つために指定より低いフレームレートになるんじゃないかと予想したがどうかな。
根拠? ない。

 ためしになんも停止処理いれずに動かしてみたら100FPSでた。
垂直同期とかないんだなBlueStacks
こうなるとゲーム用スレッドを別に作ってレンダリングは都合のいいタイミング任せにしちゃったほうが楽かもしれない。
 あれ、となると30FPSにならないのはやっぱりおかしいのか。


 
 ふと思い返したらring^-27のAnotherの解禁フラグを立ててないかも。
あー。
 確認したらぎりぎり開放してた。はー、ひやっとした。
しかし実績29番目を解除できないバグを見つけてしまった、デバッグが不足してんなあ。
申し訳ないです。

2012年8月12日日曜日

にっきちゃんあにめ


 ドロイド君のような何かをつくって歩行アニメーションをさせてみるテスト。
アニメーション部分の製作時間は5分ぐらいだけど、
動画に20コマぐらいで出力させるのに10分程度かかった。
その後ムービーメーカーで10秒程度に伸ばして出力。音なし。
 ドロイド君って名前ではないらしいが、本当はなんていうんだろう。
えっ!Droidじゃないの?『残念ながら、Android のロボットについては正式名称はありません。』byグーグル・広報部ご担当者さま。:破壊的イノベーションでキャズム越え:ITmedia オルタナティブ・ブログ
正式名称なしだそうだ。
 
 どうも1200行のソースコードがブログの表示速度を落としているようなので、
適当に雑記で流す方針。

2012年8月11日土曜日

日記ちゃん

 Blenderのお勉強なう。
プログラムで同じことをしようとすると死ぬほど大変なことが
ワンボタンで出来ちゃうとすごいを通り越して悲しくなってくるね。

2012年8月7日火曜日

ring^-27 ver1.1 updater




 使い方に合わせて2種類のアップデータを用意しました。
お好きなほうをどうぞ。

WDiff版アップデータ

ring^-27ver110updater.zip
size: 42MB
■使い方
 「ring^-27ver110updater.exe」をring^-27.exeと同じフォルダに置いて実行してください。



PatchWise版アップデータ

ring^-27ver110Updater_.zip
size: 31MB
■使い方
 「ring^-27ver110Updater_.exe」を実行し、
ring^-27.exeのあるフォルダを指定しアップデートボタンを押してください。



■ver1.0 -> ver1.1 変更点
  Anotherモード追加
  自機5機追加
  実績36個から40個に変更
  実績で自機E表記になっているのを修正
  実績Extra2関係を全削除
  自機Fのアンカーで弾けししたときの加算点を修正
  一部ボスでシールド表示オブジェクトが多重に生成されていたのを修正
  image: gbが開放されないのを修正。
  PutLaserの旋回方向をきっちり計算するよう修正
  一部雑魚的の移動処理を変更
  LongLaserの距離増加判定式が間違っていたのを修正
  非アクティブでも動作メニュー追加
  雑魚敵が画面下32ドットで弾を打たなくなるよう修正
  常に残機表示可能に
  モードセレクト、レベルセレクト画面での位置を記憶
  破片オブジェクトの初期化ミスを修正
  機雷キャッチャーの発射角度を機雷の移動方向に先読みするよう修正
  デモを1~3stから1~4stに
  敵弾が2048以上のときはかすりエフェクトを出さないよう修正
  敵弾が2048以上のときに弾けしを行うと、全エフェクト出現までのディレイ時間が半分になるよう修正
  スコアアイテム取得時の「+xxxxx」エフェクトを、ゲームないオブジェクトが2048以上のときは出さないよう修正
  Circle展開中にパーティクルをばら撒くよう修正
  ...ほか難易度調整

 コンフィグやスコア、リプレイに互換性がありません。ご了承ください。



 ver1.1aのアップデータを公開しました。
生産がす: ring^-27 ver1.1a updater
ver1.1のアップデータを適用後にver1.1aのアップデータをあてる形になります。
ご面倒をおかけします。

2012年8月1日水曜日

日記ちゃん

昔にも思ったことはあったけど、
javaさわるとc++がこんがらがってくるね。
class ClassName
{
};
でセミコロンがいるのかとか。

 eclipseつかってると{や(を入力すると自動で}や)の閉じ括弧が入力されるが、
VCにもどると自分で打たないといけないのにあれ? と思ったり。
 あとはかねがね同じだけどjavaで
class ClassName< T >
{
  T[] array = new T[ 10 ];
}
とかやりたかったができない。
テンプレートが根本的にc++と違うと設計段階で躓く。c++脳。

javaで配列を用意する場合は、
ClassName[] array = new ClassName[ 10 ];
for (int i=0; i<array.length; ++i) array[i] = new ClassName();
c++なら、
ClassName* array = new ClassName[ 10 ];
と一行ですむ。
 慣れないうちはミスしまくりだった。
javaの配列はlengthがあったりと、配列管理をするクラスが存在してるのか
配列専用にnewをしなければならないらしい。