前回の記事を書いた次の日あたりだるかったので15時間くらい寝ました。
寝れば体調もまぁ元に戻り、ヤル気もそこそこ戻るだろうと思ったんですが、
起きてしばらくしても、体調は変わらず。
で、気が付いたわけです。胃が悪い、と;
最初は疲れていたり、だるかったりが大きすぎて胃の悪さに気が付かなかっただけで、どうやらすべての原因は胃。ヤル気がでないのも胃がおかしいせい。
胃のあたり、痛いというか重いというかなんというか。
そしてゲップもでるという。これは、胃酸関係だろうか。
まぁとにかく今日胃薬をのんだところ、症状は割りと軽減されて、
なぜかヤル気がわいてきました;w(でも今はまたつらいorz)
■携帯でオンラインゲーム
今あるJavaの知識でもひょっとしたらケータイでの完全オンラインゲームをつくれるかもしれない、と、ふと思ったんで、折角だから復調の兆し記念に初のオンラインアプリをざざっと作ってみました。

携帯版花映塚つくるぜっという意気込みだったんで、送れるだけ相手に自分のキー状態を送信し続けるという簡単なアプリケーションです。受信したキー状態により■がそれぞれ動きます。■を二人でそれぞれ操作できるということですな。まぁ初オンラインなんでこれだけでもかなりおもしろかったですww
サーバーサイドはJAVAで使いやすそうだったんでSerbletを使用しています。Servletを使えるサーバーがなかったので、友人にPCにTomcatを入れてもらい、無料のドメインまでとってもらって実験しましたwドメインを取ってもらったのにも理由があって、.jamファイルのパッケージURLにIPアドレスを含ませることが出来ず、アプリのダウンロードが出来ませんでした。アプリはTomcatでアクセス可能なフォルダにいれそこからDLします。
クライアントサイドは2スレッドな簡単なもの。1スレッドは描画用、片方は無限ループでタイミングも計らずできるだけサーバーにキー状態を送る用。
同期とかまるでとってないので、相手と自分の画面の状態が同じということはまずありませんwwまた、使った感じですが、ラグは3〜5秒で更新は1秒に1回といったところです。httpなんでいちいちconnect()、close()ですからね〜、再接続に時間がかかってるというのは容易に想像できます;逆に再接続をなくせれば、ほぼ完璧なオンラインゲームの作成が可能です、多分。まぁ今のままでは花映塚は無理だなwwwFPS1とかありえないww
更新が1秒に1回ならば、1秒分のキー状態をまるまる記録して送信すれば無効なキー入力を減らせるのかな。
いや〜、でもオンラインですよ〜ww
リアルタイム、とはいかないもののNetVisionとか普通につくれそうだなぁww
(観戦機能とかもつけれます。)
wktkがとまらない!
(プレイには自宅鯖作成必須ってのが痛すぎるけどww内輪専用ならそれでいいや。)
■東方
次やることは敵の増量かも。
風神録にでてくるちょっと強い小さい妖精を描きます。
今の雑魚がいろいろ弾幕だしてると違和感が…
最近メッキリやる気が出ない〜orz
アプリのヤル気とかそういうのじゃなくて、全体的に。
めんどくせぇ状態なわけです。
特にコレというできごととかあったわけでもないんですが、まぁよくあることです。
冬休みのまったり期間からまだ大学生活のリズムに移行しきれてないのが原因かなぁ。
それとも先週がんばりすぎの燃え尽き症候群か。
思い切ってテスト勉強でもしてみればかえってヤル気が戻ってくるかも?w
まぁ確実に一時的なものなので、しばしお待ちを〜。
■どうでもいいことですが
カウンタが先日より400越えしてますが、これはケータイ側のレイアウトを変更して共用のカウンタを載せたためです。要はケータイからのアクセス数もカウントするようになったってことですね〜。いやはや、400人もの人が見ているとなると多少たりとも緊張するもんですね;(1日10000クラスのブログとかどういう気分なんだろうかw)
3DCGばかりやっているころは1日60程度だったのがなつかしいです。
すごいなぁ、東方効果;
作る気はなかなか起きないものの雑魚が付くような弾幕の実装方法というか再現方法を考え中。東風谷さんが使う通称「父」弾幕のようなものとか、ルーミアのなぎ払い系時機狙いとか、秋さんが使う円形配置で自機狙い発射、とか、全方向ランダム弾、速度の違う10個程度の弾を一直線に撃つライン系弾幕、このあたりを再現するとおもしろくなりそうですね。
結構東方みてると、敵の中心から出る弾幕の他に、円配置で弾を出すタイプが多い。弾に特殊な動きをさせずに直線移動だけで結構いろいろできるからだろうなぁ。円配置に時計回りで弾を出し、全部自機狙いだと結構綺麗。
あと、固定弾系か。
奥がふかーい!
Javaの基礎をもっと固めなくては今後どんどん厳しくなりそうだ。
前回いろいろごちゃごちゃ書きましたが、
作ろう!iアプリさん内の
http://homepage3.nifty.com/epg/iapp/2BattleCanvas.htmの記事がワタシにやりたいことに近い感じだったので、これを参考に改良してみた。
Canvasを継承しているのは場面クラスとは別のFPS制御を行うMainクラスのみにして(元からそうですが)、staticなCanvasとGraphicsをすべての場面クラスのスーパークラスに置くことで、すべての場面クラスで描画などが簡単に行えるようになりました。アプリ内のすべての描画は各場面クラス内で行われるので、なかなかやりやすくなったと思うが、どうなんでしょうwまだまだ改良の余地ありまくりかもしれませんが、今のワタシにはこれ以上の改良案がでてこない〜orz
しかも地味〜に高速化している…謎w
(修飾子というかそういうやつがいい加減だったのを大部分設定しなおしたのでそれのせい?)
でも速度に影響がないとなると、今回の大改造は成功かな、と。
個人的に見たすくなりましたし、拡張性もアップしたと思いますし。
これまでが全シーンMainのクラスに殴り書きでしたからね;;
書き忘れてましたが、
これによりシーン遷移が無事実装されました。
タイトルからランクセレクト、ゲームまでちゃんと行き来できます。
今日は大雪でした〜。なんとまぁ聞けば30cmも積もったとか。
それも短時間で降ったものだから除雪は追いつかず、公共交通期間もマヒ状態。
小中学校も臨時休校になったそうですよ。ひどいものですね。
そんなことも知らず9時くらいに家を出て、もう吹雪の中、外でバスを待っていた時間は1時間…さらにようやく大学にたどり着いたもののなんと午前はすべて臨時休講。orz。
ケータイを見るとそこにはメールが。「午前は全部休講だってさ」8:45着。…
もう今日は運がないというかなんというか。リアルに頭が痛い;風邪でも引いたんだろうかorz
■アプリ
シューティング部分のみに力を入れ続けた結果、他の基本的な部分が非常におろそかで、シーン転換というそういう部分が非常に拡張性のないこれからやりにくいものになっていた。このまま作り続けても大変なだけなんで、そのあたりを作り直してます。
もうばんばんクラス化してますよ;サイズの肥大化が激しいが作りやすさには変えられない。(クラス3つ4つで+2KBくらいになった。)
■Graohicsクラス
場面ごとにクラス化してみた。描画メソッドもそれぞれのクラスでもっているわけなんですが、Graohicsクラスを場面クラスの初期化時にCanvasの子クラスから渡して、それを使って場面クラスでは描画させようとしてみたが、なんのエラーも起きないが何も描画されないという状態になった。操作は出来ているみたいだが。同じく全場面クラスで継承しているスーパー場面クラスにstaticなGraphicsオブジェクトをおき、起動時にCanvas継承クラスからそれにGraphicsを格納しても、同様の状態になる。
Canvasを継承しているクラスからメソッドの引数として渡した一時的なGraphicsオブジェクトを使っての描画は正常に行われる。
ん〜、JAVAの知識とかDoJaの知識が足りないなぁ…
スーパー場面クラスにCanvasを継承させてそれでGraphicsオブジェクトクラスを作ればいいんだろうか。なんか改良のつもりが余計わかりづらくなってる気がしてきた;;;
あとstaticの有効的な利用方法も学ばなくてはいけない感じ。
どのオブジェクトも参照する必要のあるリストとか一度読み込んだらソレっきりな画像とかはstaticにしているわけだが、いいんだろうか、これで;
■クラス数
現在計23クラス。こんなにクラス作ったの初めてだw弾幕シューティング=オブジェクト指向でやるぜ!という意気込みだったので覚悟はしていましたが、作り出すとあっという間に増えますなぁ。自機クラスを継承した霊夢クラスとか魔理沙クラスとかわざわざキャラ別にクラス化せずとも、どうせ中身の数字が違う程度の違いなんだから、テキストファイルにデータいれたりして自機クラス初期時にその値をセットするだけにすりゃぁいいんだ…。ん〜、奥が深いな。
ストーリー考えるって難しいですなぁ;;;
国語力皆無だからより難しく感じる。
ある案でタイトル、あらすじからボス会話まで書いてみましたが、どうにもいまいち感がいなめない。うまい異変が考え付かないというのがでかいです。
異変ではない理由でいろいろやらせればいいのかもしれませんが、
東方二次創作デビューでもあるんで、まずは基本に忠実、東方の基本である異変というものからストーリーを進めたいところ。だけど大抵の大ボスは皆さん異変をすでに一回起こしちゃってて、それとかぶらない内容で再び異変を起こさせるのは、東方歴の浅いワタシには至難の業…
(多少かぶってもいいかも?またお前かーと思ったけど実は違った、みたいな内容でもいいかもなぁ…)
まだまだ公開には間がある。
もっと吟味してもっと東方世界を知って、よりよいものを作ろう。。。
尚、現在考え中のストーリーやタイトルはまだ公開できませんのであしからず。
■そろそろ
テストシーズン及びレポートシーズンという大波がやって来ます;
ひとつも落としたくない状況なので勉強を主にがんばってみるつもり。
なのでアプリ開発は2月上旬から2月中旬まで非常に低速になります。
そのあたりになってブログの更新がおろそかになったら察してやってくださいw

線画完成!フリル多すぎて大変だった〜w微妙にまだフリル描いてないところがあるし、フリルの筆圧はろくに変えてないような気がするけど…手の位置なんかも直した。だいぶよくなったかも?さぁ次は色塗り。色はグラデーション塗りじゃなくてアニメ調塗りでいきます。その方が256色にしたとき綺麗。
□効果音
700さんからコメントで教えてくださった
Beam2002を使って効果音を作ってみてます。目指すはもちろんぴちゅーん!まぁそんなに簡単にできるわけはなく、ぱしゅーんにはなるがぴちゅーんにはならないのが現実;ZUN氏に許可依頼メールを出した方が確実で速いか…
□次回更新予定
どこまでやるか予定をメモっておく。
予定はホイホイ変わると思うんで目安程度に。
・タイトル画面からゲームまでの一連の流れの完成。(グラフィックは適当)
・東方っぽいテストステージの完成。(ステージスクリプトのテスト。一面のみ。)
・東方STGシステムを8割くらい完成させる。
・グレイズ項目の追加。
・ボムは一応使えるがボムが減るだけ。
・オプションは従来のまま。
・自機撃墜あり。残機減少あり。くらいボムあり。
・オプション変更内容の保存とか。
・内容は描画周期とあとなんかあったかな〜。
・リザルト画面の作成。
・ボスがいないのでチーターマンのごとく…
・魔理沙の追加
・高速化
・グラフィック強化。
・リプレイ機能。

センター試験3連休でがんばりすぎ+今日の大学で気力が続かなかった〜。これだけやるのにもやっとでした。まだ筆圧変えてないし、右腕の袖、左腕の飾り、スカートの飾り、リボンについてるヒラヒラをつけてないなど未完成感たっぷりですが、一応載せときます。
ひじの位置を少し上にあげて、頬を少しふくらませ、眉毛の感じを変えてみたり、いろいろ変更。目の左右差も前より減ったと思う。。。手を重ねる場所はもうちょい左、すなわち体の正面にないとおかしいか…
線は前回細すぎてアプリサイズまで潰すと線がまるで見えないくらいになってしまったので若干太くしてみた。
まぁ今日は疲れたし明日は早いからさっさと寝ようっと。
本家東方からぴちゅーん音を録音してmld化してみた。
16KHzじゃないと使い物にならなそうなので16KHz。
サイズは8KB。重いなぁw効果音入れるとしたらそんなにたくさんは乗せれない。
それでもさすがは16KHz。音質に関しては劣化してる様子はほとんどなし。
だけどあたりまえですが録音物は使用禁止なんですよね〜;;
上海アリス幻樂団創作物の二次創作・使用関連ページ を参照のこと。
となればZUN氏本人から許可を頂かなくてはならないわけで。
そ、そう簡単にとれるものなんでしょうか?許可って;;;
ぴちゅーん音も自作できればそれが一番なんですがね〜。効果音ってどうやってつくるんだ…

またも同じ顔になっちゃってますが星巫女の下書き完了。もっと目つきとか表情を変えないとだめですな。左腕太いとかいろいろありますが、線画では直します。ってか手が描けないorz
早苗はゲーム中では多分ステージ2くらいで出すと思うんですが、いきなりあの星弾幕って難易度高いのでは、と思い始めましたwまぁその辺はスカスカにするなり、星の動きを交わしやすくするなりすればいいか…
描いてて気づきましたが、髪飾り(?)は蛙と蛇の二つで早苗の神社の二人の神をあらわしているんですね〜。いや〜今まで気づかなかったwこの辺にExの伏線を張るとはさすがZUN。

簡易ですがランクセレクト画面を作成。全部内蔵フォントで一枚も画像を使っていないません。風神録のランクセレクト画面を強く意識したものになってます。背景画像はまだ容易していません。
意外にそれっぽく見えますが、多分機種によってはレイアウトが崩れると思う;なんで最終的には全部文字とかも画像しないといけない。でも先を急ぐのでこの辺はあとまわし〜。
次はキャラセレクトだ!

主に構成案1で進めることにします。多分。
というわけで鍵山雛の下書きをしました。構成案どうこうというか、コイツはどのみち出したい思っていましたしw niffyさんの運命のダークサイドが素晴らしかったので勢いに乗って描きました。
いや〜、毎回同じ顔ですがwだめだなぁ、もっとキャラの特徴をつかまなくては…こう、なんというか雛はもっと見下ろす感じで、うふふ、という微笑みが重要だとおもうんですよね;
ってか目が違うのかね〜。原作ではパチっとしたデカい目なわけですが、2次絵では半開きというか、そんな悪そうな雛が多いような気がするwwあと輪郭が若干細いなぁ。
腕がぁ腕がうまくかけねぇ〜。
■追記
けーねとかうどんげとかの立ち絵見直したら目がでかすぎる…けーねとかこのままのバランスだとお子様じゃないか。少なくともけーね「先生」の雰囲気ではない。ってか何故雛から急にこれまでより目が小さくなったのか。それは友人の依頼で長門とか象とかを書いたからでw
あと立ち絵は霊夢の書き直し、魔理沙、早苗、咲夜さん、パチェ、レミー、えーりん、てるよ書き直し。いや〜いっぱいいますなぁ。果たして描き終えることができるのか!
■アプリの容量
さー何KBになるんでしょうね。
立ち絵一枚8KB程度(256色)で顔変更用の差分画像をそれぞれ3枚くらいで、一人あたり10KBくらい。これが8人分くらいで80KBになる。
BGMはMLDを使うとすると一曲10KBくらい(単体圧縮での値)?で、7ステージ計14曲、OPとEDで+2曲で合計16曲。となると計160KB。(経験的にはまとめるともう少し圧縮されると予測。)
ボスグラフィックは一人2KBくらい(自機のような常時アニメーションはなし)。10人分くらい描くと20KBくらいか。
雑魚グラフィックは妖精でアニメーション込みで一枚500バイトなんでビビたるもの。10KBいくかなってくらい。
タイトル画像が20KBくらい(240x240程度256色)。
合計すると、80+160+20+10+20=290KB。
残りにはスペカ背景とかそういうのに全部使うつもり。これは16色で120x120のものを引き伸ばして使うので一枚8KBくらい。10枚はいけるだろうか。
残りをスコア管理に使ってぎちぎち400KB。
今現在ボスグラ2枚と簡易OP、その他もろもろをつんでたった60KBなのでアプリ本体側にも画像仕込めるんで、なんとかいけそうですね;;
902i以降全対応を目指してがんばりますよ〜w
SD使えばなんぼでもいけるわけだがソレは反則ということでw
おもったよりMLDが食うみたいだからなぁ〜。
結構ギリギリなってしまうんだろうなぁ。
逆にコレが奇跡の圧縮率を見せたらまだまだいけるぜ!ということでw
■追記2
うお!背景CG忘れてた!これ1ステージ分で10KBくらい。計7ステージで70KB。
まぁアレだ、気合だぜ!BGMが100KBに収まればもっと余裕だぜ!
いや〜おもしろくなってきたw
■追記3
参考までに東方音楽サークル
幻奏旅団さんのところの永夜抄MLD(40KB級MLD)を14曲適当に選んでZIP圧縮してみたところ90KB!!やはりまとめるといいことがあるようですな。
というわけで、油断はできませんが、容量問題はなんとかクリアできそうですw
■追記4
けーねをためしにアプリで使用するサイズ(幅100)まで落としてみたら5KBだった。立ち絵分でまだまだ余裕が出来る可能性あり。

魔理沙用通常弾もザザっと描いたんで、アプリで魔理沙を動かしてみた。なんか弾の長さが霊夢弾より短いのでだいぶ画面が過疎ってみえますが、描画周期が20だとこれ以上の間隔で打ち出すとアニメーションしていないように見えちゃうのでこのくらいで;30だとまだいけるんですけどね〜orz(N904iをうらむw)
あと進行方向により向きが変わる弾も修正してある。
次は魔理沙オプションといいたいところですが、早めにシューティング部分以外のところ完成させたいので、まずはキャラセレクトを。
おまけの自機で咲夜さんでも載せましょうかね〜;まぁ2機いりゃ十分だけど、おまけは大事だよー!

前の記事の画像に間違ってpngあげちゃいました;pngはドコモみれないんですよね;;今度はjpgにしたので見れるかと。
気合で一気に移動とかの自機グラも描いてゲームで使える程度にはできましたwいつものようにMSペイントで描いてるんで無駄に色数が多くなっているので16色に減色してからが勝負のような気がする;
まだアニメーション表示をしてないので綺麗に見えるかは不明。移動中のマントのヒラヒラ感がどうにもダメな気がするが、まぁ動かして見ないことには〜。あ、移動中の方は背中のリボンをヒラヒラさせる忘れてたorz
さぁ次は魔理沙弾だ!レーザーだ!
■追記
移動時よりも通常時のアニメーションの方が変だった;まぁよく考えるとあたりまえといえばあたりまえ。マントのたわみ(?)が左→中→右→右となっていて、ループ時右から左へ急に変わるのが原因。右をたわみの無いものにすればよさげ。ってか移動時のもしょぼいorzやっつけ仕事はやるもんじゃないな〜。
気を取り直してレーザーレーザー

キャラのセレクト画面を作るのに、霊夢一人しかしないのでは寂しいので魔理沙を描いた。
霊夢よりクオリティが高いwまぁ霊夢は紅白で色が結構作りにくい上、霊夢は結構服が細かいデザインでドットドットな感じになってしまっているからです。魔理沙はマント着てるんでその分楽です。原作の自機画像は髪が銀っぽかったんですが、黄色がいいので黄色にしましたw
さて、今日は魔理沙の全アニメーション書いて、マスタースパークまで作ってしまおう。

様々な弾幕を作成中。弾自体が途中で軌道が変わらないものは基礎弾幕と名づけて、汎用性をある程度もたせてちまちま作成中。
途中変化するものは特殊弾幕と名づけて、多分簡易スクリプトを渡してその通り動かす、というものになる予定。基礎弾幕は基本向きと速度と種類しか持っていないませんが、雑魚が使う弾幕は全部これでいいと思う。
基礎弾幕は今のところ
・nWay弾(1方向込み)
・全方位弾
・画像の三角撃ち
まだランダム系ばら撒き弾はない。
発射方向のロックなんてもできるので、これだけでもいろいろ表現できます。
弾速は弾幕シューティングらしく、画像のような三角撃ちなどは十分に弾幕の合間を低速に設定してます。
■実装するSTGシステムを考える
現行は完全に風神録のシステムですが、Grazeとかもやりこみ要素として導入したいですし、自機スペルカードも再現してみたいので、全体的には妖々夢のようになるかもしれません。
○いろいろな考え一覧
・自機は霊夢と魔理沙の二人の選択式。装備は二種類ずつ。(妖々夢っぽく)
・妖々夢のような形式のオプション(2個)を採用。(風神録ではMAX4つになり、弾数が多くなりすぎてしまう可能性があるため。)
・スコアは8桁。
・残機は変更可能。変更した場合ネットランキング対象外。
・Powerは風神録の表記。(パワーアップのタイミングが直感的でわかりやすいと思うから)
・霊撃ではなくボムを採用。(使用によるパワーダウンはない。自機スペルを再現したい。)
・Grazeを採用。(やりこみ要素。MAXは9999。)
・エクステンドは得点基準。
・決死結界搭載(永夜抄)。ラストスペル有り(二個消費)。(通常の食らいボムはケータイじゃやりにくいと思うので。ケータイの精度で平等なくらいボム判定ができるかも微妙なため。ただ単機出撃なのにラストスペルってどうなんだろうかw)
・コンティニュー回数に制限はないが、コンティニュー時はステージ最初から。(風神録。ボス戦途中からコンティニューはなんだかズルイ。)
こんな感じがワタシの案なんですがどうでしょうか〜。
東方歴の浅いワタシではどれを採用するとおもしろくなるのかよくわからない〜〜。
■左のやつが出している弾の向きがおかしい件
弾の傾きはプログラムで画像を傾けて表示しているんじゃなく、回転した後の画像を作って、対応するものを抜き出して描画しているだけなんですが、向きを表す角度がどこを0度とするかというのを、絵、敵の動き、弾の動き、自機の動き、すべて統一してないので、ややこしいことになってこんな風に正しく描画しづらいという事態になってます;(一番初期は真上を0度として作っていたのにいつのまにか真右を0度にするようになってたw)
この場合は絵の方に修正を入れたほうが速そうだ…
↓
直りました
niffyさんがフォグが与える負荷は+1ms程度だと描かれていたので、
ウチのアプリもフォグを実装してみます。

こんな感じ。ついでに描画量を増やしてぶちっと切れているところとフォグをなじませたので、前より断然綺麗に見えるようになりました。コレによる負荷は+1msないくらい。十分いける。
ただフォグの線形モードがなんだかおかしいような…視点からの距離しかフォグに影響を与えるものはないはずなのに、描画物を手前に移動させていくと、いっしょにフォグも手前に来る感じがある。指数モードではそういうのはないんだが〜。
あと、描画量を3倍くらいにしているわけですが、それもあまり速度に影響しなかった。やはりフラッシュ作業が一番時間がかかるものらしく、レンダリングは意外にも速い模様。
ペンタブ特訓中。
今日は下書き後ペン入れをしないで色塗りををやってみた。
色はレイヤー一枚でガリガリ重ねながら塗ってみたり、いろんなことを試してみてる。
まぁまずは量!いっぱい描いてペンタブを意のままに操れるようになるぞー!

やはり向かって左の目が右と違いすぎるのが問題。影もいまいちどうぬればいいかわからない…やるならもっとガッツリ影入れたほうがいいのだろうか。

次にインド人です。はい。
それは嘘で、、、コレは・・・もう似てなくて似てなくて。画力のなさを痛感する。色もなんかどす黒いというか、完全にミスってます。塗りも口周りとか全然足りてません。もっと精進せねば。目線も一応真正面を向くせる気で描いたのにじゃっかん左下を見てると言うひどさ。どうやっても左の目がうまくかけないーー!
自分の画力のなさと影の塗り、影の入れ方とか経験不足と技量不足を痛感したなぁ。やっぱ下書きで止めてるとこういうのに気づけないから色塗りは適当でもやってみるものだ…
昨日作った新可変長配列クラスを現行の東方アプリに載せてみた。
正常に動作したのでどうやら新クラスに目立ったバグはない模様。
さらにほぼ無負荷時の1ループに要する時間がN904i(20Hz)で
25ms→23ms
まで高速化。(無負荷時でも目に見えて高速するってどういうことよw;)
オブジェクト100個時で29ms程度。(多分はやくなってる?)
50msまで許容範囲ですから、300は3DCGの背景でも出せそうw
他の機種でも多分速くなってるはず。
いやはや、新造してみてよかったよかった。
アプリのポテンシャルを底上げすべく、割と高速化できるであろう可変長配列を新造してみた。
今度は正真正銘のArrayListクラスの仕組みだと思う。
前回のはLinkedListクラスの仕組みで、参照で鎖を作っていく感じだったが、今度の中身は配列。配列のやりくりで可変長配列のようにしています。
ただ、配列容量が足りなくなったら要素を収められるサイズでnewされるので可変長の機能としては非常性能が悪い;;;
ただ初期容量を多めにとるとかなり高速に動作させることができるみたい。
niffyさんのブログのArrayListTestクラスでテストしてみたところ、
前回のLinkedListクラスにくらべ所要時間が、
順アクセス・順書き込み→3分の1に!
ランダムアクセス・ランダム書き込み→12分の1に!
任意の削除→3倍に…
任意の削除は配列のコピーをしまくるため仕方ない;実験では要素数2048でさらに先頭から順に消していくため配列のコピーが膨大な量にも及ぶため。(任意箇所から最後までをコピーしようとするから遅い。任意から最初までをコピーして任意箇所を消す、という機能もつければ、まだ倍以上早くなる?かも。←配列の開位置を可変にする。リストの終端が配列の終端に達したらまた配列を作り直せばよい、かも?知らんけど。)
とりあえず先頭削除以外かなりの高速化!
基本削除よりアクセスの方が多いゲームなんで、こっちを使ってみよう。
ms単位で速くなってくれたらうれしいな。
■追記
内部のListの管理を循環キュー構造っぽくしてみた。
これで先頭を可変させても問題ない。
んですが、めちゃくちゃ遅くなったw
原因はSystem.arraycopyが使えなくなったため。うーん。
キュー使わないでやはり終端達したら配列を作り直す、とやったほうが安定するのか。
それともこのままがいいのかw
■さらに追記
キューじゃないバージョン作ったら見事高速化成功。
LinkedListと変わらないくらいになりました。
まぁ先頭削除しか試してないのでいいのかわるいのかわかりませんがw

トップメニュー的なものをつけてみた。
一応項目は、
・Game Start
・Extra Start
・Spell Practice
・Practice Start
・Player Data
・Music Room
・Option
・Quit
の計8個を用意しといた。さて、何個実装できるやら。
リプレイはなんだかややこしそうなので載せない方向で;
適当にトップの背景も描きましたが…まぁ、あれです、その場しのぎのもので、ひどいのなんのw絵のモデルはウサテイFLASHの何週目だったかのゆかりん★。霊夢にしてみた。タイトルが決まり次第ちゃんとしたものを描きます。
次はオプションか…
そろそろ登場キャラについて本気で考える。
好きなキャラ、人気のキャラをだけをいれればおもしろいということでもないのでここは重要。そして、そのキャラを使ったストーリーも考えないとなぁ。
1面、2面はある程度異変とは関係ない人、3面はExボスと関係のありそうな人、4面はレベルの高い特に関係ない人、5面はラスボスの直接の部下、もしくは関係者、6面で異変の大本。Exで6面となんらかの関係があるが、異変にはかかわっていないつわもの。ってな感じが東方の基本構成かな。そして異変はほぼ興味本位で起こされるものが多く、憎しみとかそういうネガティブな要素を前面に押し出してくるような相手は誰一人としていない、というのもポイントか。
ではワタシが考える構成案をぼちぼち書いていきます。
■構成案1
舞台は主に昼。最後には夜になる。
自機:霊夢・魔理沙
1.鍵山 雛(通りすがり)
2.八坂 神奈子間違えた→東風谷 早苗(巫女同士の腕試し)
3.てゐ(中ボス)-鈴仙・優曇華院・イナバ(永遠亭に立ち寄るついで)
※この辺で異変の原因がわかる。
4.紅 美鈴(中ボス)-十六夜 咲夜(流れで)
5.パチュリー・ノーレッジ(これ以上行くのは危険ということで)
6.レミリア・スカーレット(なんかたくらんでる)
Ex.八意 永琳(中ボス)-蓬莱山 輝夜
■構成案2
舞台は夜。最後には朝方になる。
自機:霊夢・魔理沙
1.ルーミア(暗すぎて何も見えない)
2.十六夜 咲夜(レミリアと散歩中。本気は出さない。)
3.リグル・ナイトバグ(中ボス。たまたま。)-上白沢 慧音(また勘違い)
※けーねに異変の原因を教えられる。
4.河城 にとり(夜での光学迷彩テスト中)
5.魂魄 妖夢(幽々子に命じられて)
6.橙&八雲 藍-八雲 紫
Ex.レミリア・スカーレット(妹の遊び相手を頼む)-フランドール・スカーレット(遊ぶ)
なんか結局人気どころを集めてる感が;;;
もっと本編で地味だったキャラを有効に使いたいところ。
あくまで案なので〜。
もっとイイ案があるぞ、このキャラをぜひ!と言う方はコメントまで〜。
成人式が終わりました。
区で分かれての成人式だったので必然的に同じ中学校の人たちと顔あわせるわけですが、いや〜〜〜、、、ぜっんぜん名前が出てこないwwwなんせ最後にあって5年という人ばかりですからw
顔をあわせて、向こうから「あーー!○○!」とか言ってくれるわけですが、こっちは「おー!ひさしぶり〜(誰だったかなw;)」ということが結構多かった。まぁその逆もあったかもしれない。でも大抵の人はばっちり名前で呼んできたなぁ。
あるとき手を振ってきた茶髪のパーマ男がいたわけですが、そいつは絶対オレの知らない奴だ!あっちは勘違いをしている!と思い首をかしげて勘違いであることを悟らせようと思ったら、近寄ってきて、「○○だよ〜」といってきた…豪快に知っている奴でしたww(だって、坊主だったやつが茶髪で髪のびてるんでっせ?wわからんよw)。
いや、ホントすまない、名前を呼ぶことの出来なかった人たちよ…
それでも時間がたつにつれてどんどん思い出し、終盤ではどんどん名前がでてくるようになりましたwよかったよかった。
式?そんなもんいつ始まっていつ終わったのかわかりませんでしたよww
中1と中3クラス会にそれぞれ呼ばれたんですが、残念なことに大学のある田舎に戻らなければならなったので両方いけなかったorzいきたかった〜。
そういや、中学で見たことあるやつが華麗に妊婦さんになってましたが。。そうか〜自分ももうそんな年になったのか〜、と思いましたが、いやいやいやいやいやwww
さて、どうしようかw
東方の第二(?)の売りは音楽なわけで、東方にはなくてはならないもの。
ってかないとあまりにも寂しいアプリになってしまう。
もちろんBGMは本家の曲のアレンジ等にしたい。
■案
1.全力で耳コピしてみる。
2.ネットで公開されている譜面を元にMIDIを作成する。
3.すでにネットで公開されているMIDIを借りる。
4.友人につくってもらう。
5.有志を募り見知らぬ人に作ってもらう。
6.ユーザーそれぞれがSDから曲を指定できるようにする。
7.あきらめて無音。
1は無理だ〜〜。できるならBGMの用意とかは問題にならん。。。
メロディをなぞるのもできなそ…
2はほしいすべての曲の譜面が手に入るとは限らないし、公開者の使用許可が取れるかもわからない。大概がピアノ用譜面でドラムをつけられないのも問題。
3。許可が取れるんならこれがいいなぁ。2と同じくほしい曲がすべてあるかどうかは問題になるだろうけど、このアプリ用に曲を作ってもらうより、すでにできているものを作ったほうが気が楽。
4と5、、、作ってもらえればもちろん最高。。。だが、そこまでこのアプリを応援してくれる人がいるのか…作ってもらえるとしても、ワタシが共同開発の重圧に負けてしまいそうなのが怖い〜…一人で全部やるのが一番気が楽なんですよ。募るならゲーム側が完成したあと。
6。何もしないよりマシだろ!という案。PCと連携がとれる人ばかりであるはずがないので却下。機能はあってもいいかも、だけど…
7。これだけは避けたい。でもホントに手段がなくなったら…
■アプリ開発状況
霊夢の移動中グラフィックを追加。
自機撃墜時のピチューンって音そのまま使いたいんですが、使ってもいいもんなんだろうか。
遅れてしまいましたがようやく時間ができたので公開を開始しました。
ちゃんとアップロードできているんだろうか;いつもミスるわけだが;;
同時にワイド仕様のこれまで公開していたびーもばはβが外れましたが、何も変えていないのですでにDLされている方はバージョンアップの必要はありません。
対応機種は
「SDバインディングに対応するすべての機種」のはず。
ワイド画面仕様が動かなかったP903iをはじめ、902iS、P902iも動作できる、はず。
MobileDJ1.2.0が動いていた機種では問題なく動作するかと。
DLは物置のびーもばのページからできます。
1.2.0より対応BMSが増加していたり、音色を改良したりしているので、1.2.0を使っている方はこちらを使ってみてください。
↓物置

今週の土日にサークルのちょっとしたイベントがあるので今日は寝れてません。あーきもちわるいwしかも今日から大学スタート。月曜日には成人式といろいろと忙しい期間です;;;
今日も部室にこもるかもしれないので、びーもばアップできるかわかりません。
(いや、あと1時間いないで気合で…うわ、きついw)
ちなみにびーもばはSDバインディングの関係で902iSからの対応になります。Pは902iからだったかな。
東方アプリの方もいろいろやりたいことがあるのだがなぁ。
やりたいこと一覧↓
・テストステージの完成
・リザルト画面の実装
・タイトル画面の実装
・オプション画面の実装
・ポーズ画面の実装
・霊夢の横移動時のアニメーション追加。
・低速移動の当たり判定表時。
・無敵状態の解除、および撃墜時のアニメーションの作成。
ざざっとこの当たりをやってしまい、次のテストアプリを出したい感じ。
BGMも付けたいところですが、まだ出すキャラも決まってないし、作れないし…
このくらいの実装を済ませた後、ボス、ボスとノ会話、スペカに代表される弾幕群の作成と続いていき、見事完成になります。
敵の横向き画像も描かないと、ちょっと物足りないな…
この調子で作っていくと、1面のみをボス、会話まで再現したとしても余裕で100KBに収まりそう。500KBもあれば5面+FinalAとB+Exはすんなり入るかも。MLDとか圧縮率めちゃくちゃ高いし。
ああ、一番大変なのはドット絵だ…


WQVGA仕様→QVGA仕様移植作業はほぼ完了。今日か明日には公開を開始します。同時に何も変えていませんがWQVGA版びーもばを正式版と改めます。
※WQVGA版びーもばをすでにお持ちの方はバージョンアップの必要はありません。
■MobileDJ(仮)ver1.2.0→非WQVGA版びーもばver2.0.0更新内容ワイド画面以外すべてWQVGA版びーもばとまったく同じです。
・グラフィック強化。
・判定方式を固定時間幅方式に変更。
・対応音色の追加、修正。
・ハイスコアの記録。
・以前に比べ3倍のサイズのBMSに対応。
公開を開始したらまたお知らせします。
掲示板で292さんよりリクエストがあったので
びーもばを非ワイド画面機種でも遊べるように改良を加え、非WQVGA版びーもばとして公開したいと思います。
東方を作り始めてしまい、びーもばに予定機能を載せ切れず非WQVGA版まで手が回っていませんでしたが、ここは思い切って現在ベータ版のびーもばを正式版としてしまい、同時に非QVGA版も公開しようと…
違いは画面サイズの違いだけなので、プレイヤー画像を作り変えるだけ対応できたも同然、といった感じ。半透過などの画面効果もそのまま残せます。
BPMは表示するスペースがないので、またカットの方向で。
できるだけ早急に仕上げるので、もうしばらくお待ちを。

ショットもスクリプトからコントロールできるようになり、ステージスクリプトエンジンがまもなく完成。順次テストステージも開発中。とりあえず東方でよく見るような配置で作ってます。(っていっても簡易なスクリプトで融通が効かないので書くのがめちゃくちゃ大変。)
どうやらルナでは基本のような、開始直後、列をなして出てくる敵による大量の自機狙い弾も再現。画面のサイズ的に道中ではMAX50程度しか弾はでないようなので、動作は問題なさげ。まぁまだ大きな妖精による大量の弾発射のテストをしてないからどうなるかわからないけど、同時150発は超えないように設計しようと思ってます。途中重くなったら事故っちゃいますからねw
文字だけでは寂しいところなので適当に絵を描いてみたので載せときますw鉛筆ツールによる一発描き。あ、眉毛ないやw

眉毛をかき忘れたのが悔しかったのでもう一枚。ツールを筆に切り替えてみた。こっちの方がいいな。自分で書いといて何だが、このチルノ、一体何がしたいのだろうか。つららを目を細めてみて、「まだまだね」…うーん、わからんw

具合悪い…原因はよくわからんけど多分軽い風邪。
というわけで対したことができたず、中サイズの米弾のチェックのみやってみた。
サイズはこのくらいじゃないとやっぱ見づらいかも。
斜め45%の画像がちょっと小さすぎるので要修正。

米みたいな弾追加。16枚の画像で進行方向にちゃんと向くようになってる。
まぁ実際このサイズの弾は少しでかい敵がある程度の規則を持って撃たせるのにしか使わない。こんな小さいのをランダム撃ちされたら見難くてやってらんないでしょうwそのために一応でかい米も用意してるから大丈夫。
規則のある弾幕といえばスペルカード!
具体的な例はでてこないけど、自分の周りに弾クルクルまわして、直線的につらならせて撃つタイプのとかに使えると思う。小さいから規則を綺麗に見せれると思うし。
■弾幕制御方法
まだまだ悩み中。敵の制御を意外にうまくできたので、敵と同じく個々の弾にスクリプトを叩き込んで制御するのもありかも。もともとは弾幕制御クラスを作って、そこから弾の発生からの経過時間を毎フレーム監視し、特定のフレーム数に達したら抜きとか回転速度なんかを変えるような感じ。
ん〜。
まぁ両方つめばいっかw

色分け作業終了。線取りよりも時間かかってしまった…パスツールでやったんだから塗りつぶしでやればよかったものの筆ツールでのってしまった。ちょっと後悔。これで元画像の半分のサイズなんですが100%のサイズでみるとかなり縁は汚いことになってる。うどんげの色分けのときは気をつけないと…
あとは透明度をロックして影を塗って終了です。手がないですが、この辺は最後には見えなくなるので気にしない気にしない。

描きたかったので描いてみた。別にアプリで使うのでもなんでもない絵です。要は完璧気晴らしの絵、ということですな。
十六夜咲夜。これで「いざよい さくや」と読む。なんという難しい名前w
ニコニコとかでの二次絵の影響で完全にアサシンなイメージしかこの人にはないんですが、こんなイメージであってるんですかね。
絵は勢い中の勢い。腹から胸に描けてのラインなんて描いた本人にもどんな感じだかわからないくらいw右手もどうなってんだ、これ。まぁご想像に任せます。
アプリの方はもう絵を描かねば進まぬ状況。絵は絵でも必須なのはドット絵です。今日は風神録の妖精のでかい妖精をチマチマと。あとそいつが出す米みたいな弾の絵も作りました。アニメーションはまだありませんが、まずは数ですよw
niffiyさんがすごく綺麗な耳コピをなさっていたので、
気になったので耳コピがどんなものなのか体験してみたw
竹取飛翔をがんばってみたが、メロとベース(?)を2音のみでたった数秒のものですが、これくらいできました↓
竹取飛翔、オレの限界(MIDI)(注:とんでもなくチープです。)
はい、無理ですwこれがワタシの限界。1時間もこんなのにかけてしまった…
あってるかも微妙です。
絶対音感なんてもちろんありませんし相対音感もないので、完璧総当りで音さがしましたww
それでも曲の入りの音がすくなーいところのみしか聞き取れませんよ〜。
この中盤あたりからメビウス(?)くさい速い音が続くのですがもう完璧無理ですw
いやはや、やってみて尚耳コピ職人さんたちのすごさを思い知ります。
■追記
えーりん!えーりん!の部分も挑戦してみたが、最初の音すら発見することはできずに撃沈wのちにニコニコで楽譜動画みましたが、えーりん!のえはファのようです。へ〜。
ってか譜面あるのか〜。。。ピアノ譜面だがテケトーにドラムとかベースつけたらそれっぽくなりそうですなぁ。

けーねをペンツールを使って線画にしてみた。だんだんすばやくなぞれるようになってきかも。ペンツールでも筆圧の変更が可能であることを知って早速変更しまくってみた。角を細くすればいいんだろうという簡単な考えでやってみたものの、どうやらそれだけではダメな模様。要工夫。でも変更前と後ではあきらかに雰囲気が変わるので必須。
さて次は色塗り。
今日はいっぱい描きましたぞ〜。全三枚サクサク2時間ちょっとくらいで描きました。あーつかれた。でもこれも修行!絵をうまくなるには絵をたくさん描くべきに違いない!昨日は正月を満喫したんで今日はいろいろやってみてます。

まずはてるよさん。正面ということでワタシの限界丸見えの絵になってしまったorzこの絵を見てすぐわかるとおり曲がりまくってます。どうやら左側全体をねじらせるというか沈み込ませてしまうクセがあるみたい、左右反転させたらもう見るに耐えないものになりますwってか左側を描くのがヘタすぎる。うどんげもこのクセ丸出しで、顔がゆがんでますorz Ikasさんご指摘ありがとうございます。努力してこのクセをなくします。(とりあえずコレはひどいのでアングル変えてもう一枚かこっと…)

で、次はキモくないほうのけーね。3枚のうちでこれが一番作業量短いですが、これが一番うまく描けたと思ってます。実際てるよに一番かけてるわけですが、ヘタすぎて泣けるorzてるよの反省を活かそうとして左目を気持ち上に描いてみたが、それでもまだゆがんでるのがつらいところ。前髪はもっとモッコリしてると思う。

3枚目はもこう。姿は幼いという設定なんでうんと子供くさくしてやろうとおもったのに結局けーねとあまり変わらない見た目にガックシ。線も3枚目でもう眠くて力が入らず線がサッパリまとまらないwってかこれも顔曲がってないか?うわ〜〜。それにしても皆おなじ顔だなぁ。もっとバリエーションを増やさねば!
プログラムの方は敵が等速回転移動ができるようになりました。
等速っていうのがポイント。これでなめらかに曲がってどっかにいくといった動きができるようになりました。これつかった設計メンドイけど。
もうちょいで道中スクリプトエンジン完成だ!
□PSP
先日PSPのツール配布ページの更新を久方ブリに行いました。
といっても見た目の整理程度で内容はかわってません。
で死んでいたアクセス解析を生きているものに付け替えたんですが、
すごいですね。
まだこのページ一日1000アクセス超えてますわw(ブログの6倍来てますw)
多分皆さんいろいろなブログからのリンクからなんでしょうなぁ。
いやはやこんなにくるなら[ちょいとPSP]残しとけばよかったな。記念に。
一体PS3-Free popstationは累計何DLなんでしょうかね〜。
↓PS3-Free popstationの後継popstationが登場!
作者は以前の常連イレブナーさん!PS3-Free popstationのソースを改良して、全機能を継承し新たな機能も備えた素晴らしいツールです。
PopstationMD Free GUI(ブログ[-BAD END-]内)
やっと敵を任意のタイミングで出現させ、、任意の座標へ任意の速度で移動させれるようになった。まぁやたらと中途半端なつくりなんですけど。。。
道中スクリプトは前に書いた感じで、ひとつのイベントに一行使うような簡易のスクリプト。一般のスクリプト言語のように柔軟性はない。
120:UNIT:CREATE(0,20,-10)&SPEED(3000)&MOVE_A(20,100)>N(THIS_X,THIS_Y,JIKI_X,JIKI_Y,0,1,1000,3,5)&MOVE_C(40,100,90)>MOVE_A(260,120)
前も書いけど一行はこんな感じ。
コロン区切りで
発生フレーム:イベントタイプ:イベント内容
って感じで、この場合は敵クラスをつくりイベント内容それに送る意味。
敵クラスではさらに送られてきたイベント内容を逐次理解させて、実際に動きに変える。
という二段構造。文字列データのまま読み込むので全然速くないけど、バイナリに変換とかめんどくさいのでコレでw

ペンタブも慣れてきたので立ち絵用グラフィックの作成を再開。正月早々なにやってんだオレ。
立ち絵用といってもアプリに何出すかは特に決めてないんで、とりあえず永遠亭のCGを作ったので折角だからそこに住むうどんげを。
一応、原作の雰囲気を残そうと描いてます。いかがでしょう。
変えたところといえばブレザーをスリムなものに変更して、左手を腰にあてたくらいのもの。
今は修正をいれつつペンレイヤーでひたすらなぞっている最中です。
これが一番疲れますな…
Saiにもなれてきたんで前作霊夢とは結構違う仕上がりになってしまうかも。あぁ霊夢書き直しかw
■追記
下書きだけなら数分でできるので、修行がてら永夜抄メンバーをほとんど描いてみようかな。
けーね、もこう、てゐ、えーりん、かぐやの計5人くらい。
niffyさんは耳コピの技能までお持ちらしい。
耳コピできる人あこがれますよね〜。。。
ワタシも昔はピアノやってたのでなんとなくな音感はなきにしもあらず、なんですが、耳コピは無理ですわぁ。でも今度やってみよっと…おもしろそうだし。
あけました!あけましておめでとうございます!
早いもので2008年!平成20年だそうで〜。
なんかもう年越しとかで全然喜べないんですけど…
時間立つの速いなぁ〜、としかw
紅白をはじめ大晦日番組が年々おもしろくなくなってきてるというのでかいですよ;;;
さっぱりおもしろくない〜w
(去年はオズマがおもしろかったですけどねw)
今年もとりあえず去年と同じくまったり過ごすぞ〜!
下手に去年以上にがんばるとかいってもどうせ無理だし!
例年通り、例年通りw
ということで(?)、今年もどうぞよろしくお願いしますm(_ _)m
□去年を振り返る
去年作ったものを大体だがリストアップしてみるw
タイトルクリックでその記事に飛びます。
○1月
1.
ランスロット(3DCG、完)
2.
紅蓮弐式 (3DCG、1号機、未完)
○2月
3.
ガウェイン(3DCG、未完)
○3月
4.PS3-Free popstation v5(ツール、完)
※その他PSP用ツールもこの当たり
○4月
5.
ブリタニア皇帝(3DCG、未完)
○5月
6.
アーバレスト(3DCG、完)
○7月
7.
MobileDJ(仮)(iアプリ、ver0.8.0、公開開始)
○8月
8.
MIDIシーケンサ(iアプリ、未完)
9.
マリオシーケンサi(iアプリ、開発終了)
○9月
10.
紅蓮弐式(3DCG、2号機、未完)
○10月
11.
レーバテイン(3DCG、完)
12.
ガンダムエクシア(3DCG、完)
13.
レイジングハートエクセリオン(3DCG、完)
14.
ユニオンフラッグ(3DCG、未完)
○11月
15.
フリーダムガンダム(3DCG、未完)
○12月
16.
びーもば(iアプリ、ver2.0.0β)
大体こんなところでしょうか。
いや〜いろいろやってますね。全部思いつきでやってるので未完が多いorz
(完とか書いてるやつも、なんかもういいや、と思っただけのものw)
他にもPICをやり始めたり、イラストもやり始めたり、、、
なによりMobileDJ(仮)の存在、製作が大きいですなぁ。
8月くらいからずーっとコレを弄ってました。
このアプリでいろいろ試したからこそ他のアプリが作れるようになってます。このアプリを通してプログラムを勉強してきたようなものです。東方アプリもこのアプリが元といっても過言ではありません(過言かも。)。
3DCGはレーバテインかアーバレストに一番力が入っているような。
こっちは別にあまり進歩してないなw