<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>_sift-swift &#187; コンテンツ</title>
	<atom:link href="http://sift-swift.net/archives/category/contents/feed" rel="self" type="application/rss+xml" />
	<link>http://sift-swift.net</link>
	<description>IIDX,SaGa2,倉庫番とか</description>
	<lastBuildDate>Sun, 20 May 2012 11:47:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://sift-swift.net/archives/category/contents/feed" />
		<item>
		<title>IIDX問題集2012公開！</title>
		<link>http://sift-swift.net/archives/2381</link>
		<comments>http://sift-swift.net/archives/2381#comments</comments>
		<pubDate>Sun, 20 May 2012 11:00:10 +0000</pubDate>
		<dc:creator>sacrifs</dc:creator>
				<category><![CDATA[コンテンツ]]></category>

		<guid isPermaLink="false">http://sift-swift.net/?p=2381</guid>
		<description><![CDATA[IIDX問題集2012完成しました！

今回は難易度は2種類あって、あんまり詳しくない方でも楽しめるようになっています！問題制作担当は前回同様Feeling of Atmosphereの詩音さんです！(いろいろご迷惑をお [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sift-swift.net/flash/iidxquiz2012/" target="_blank">IIDX問題集2012</a>完成しました！</p>
<p><a href="http://sift-swift.net/flash/iidxquiz2012/" target="_blank"><img src="http://sift-swift.net/wp-content/uploads/2012/05/iidxquiz2012-300x180.jpg" title="IIDX問題集2012" width="300" height="180" class="alignnone size-medium wp-image-2384" /></a></p>
<p>今回は難易度は2種類あって、あんまり詳しくない方でも楽しめるようになっています！問題制作担当は前回同様<a href="http://www.fa-sion.com/">Feeling of Atmosphere</a>の詩音さんです！(いろいろご迷惑をお掛けしました…。)</p>
<p>上級編はちょっと長めなので暇な時に楽しんでもらえればと思います。基本のルールはリンク先にて説明がありますのでそちらを見てもらえればと。かなりとてつもない量の問題数あるので、高スコアを目指しながら何度もチャレンジしてもらえたら制作した側としては嬉しい限りです。</p>
<p>不具合とかあればお知らせいただければ早めに直します。</p>
<p>あ、ちなみに動作環境はFlashPlayer10以上の動く環境です。試してみたらAndroidでも該当していれば動作するみたいです。ただ、一部文字が文字化けするかもしれないので、PCでのプレイを推奨します。</p>
]]></content:encoded>
			<wfw:commentRss>http://sift-swift.net/archives/2381/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://sift-swift.net/archives/2381" />
	</item>
		<item>
		<title>IIDX全曲表Lincle仮対応</title>
		<link>http://sift-swift.net/archives/2325</link>
		<comments>http://sift-swift.net/archives/2325#comments</comments>
		<pubDate>Mon, 19 Sep 2011 16:19:10 +0000</pubDate>
		<dc:creator>sacrifs</dc:creator>
				<category><![CDATA[全曲表関連]]></category>
		<category><![CDATA[音ゲー]]></category>

		<guid isPermaLink="false">http://sift-swift.net/?p=2325</guid>
		<description><![CDATA[対応しました。
beatmaniaIIDX 19 Lincle 新曲　全曲 携帯版
BEMANIWiki 2ndさんを参考にしています。
]]></description>
			<content:encoded><![CDATA[<p>対応しました。</p>
<p><a href="http://bm2dx.s41.xrea.com/iidxAMD/iidxamd.php?v=ac19&#038;d=n">beatmaniaIIDX 19 Lincle 新曲</a>　<a href="http://bm2dx.s41.xrea.com/iidxAMD/iidxamd.php?v=ac19&#038;d=a">全曲</a> <a href="http://bm2dx.s41.xrea.com/iidxAMD/iidxamd_i.php">携帯版</a></p>
<p><a href="http://bemaniwiki.com/">BEMANIWiki 2nd</a>さんを参考にしています。</p>
]]></content:encoded>
			<wfw:commentRss>http://sift-swift.net/archives/2325/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://sift-swift.net/archives/2325" />
	</item>
		<item>
		<title>IIDX全曲表のデータをとりあえずダウンロードできるようにしてみた</title>
		<link>http://sift-swift.net/archives/2291</link>
		<comments>http://sift-swift.net/archives/2291#comments</comments>
		<pubDate>Sat, 02 Jul 2011 14:44:28 +0000</pubDate>
		<dc:creator>sacrifs</dc:creator>
				<category><![CDATA[全曲表関連]]></category>
		<category><![CDATA[音ゲー]]></category>

		<guid isPermaLink="false">http://sift-swift.net/?p=2291</guid>
		<description><![CDATA[IIDXでもSakuraReflectionが隠し曲として出るせいか、いろいろサクリフサクリフって言われてて、HNがサクリフスという自分としては何だか不思議な気分なのでありました。sacrifsです。
IIDXの曲表にも [...]]]></description>
			<content:encoded><![CDATA[<p>IIDXでもSakuraReflectionが隠し曲として出るせいか、いろいろサクリフサクリフって言われてて、HNがサクリフスという自分としては何だか不思議な気分なのでありました。sacrifsです。</p>
<p>IIDXの曲表にもう追加はないだろうと思っていて、じゃあ新全曲表のテーブルを作り始めようかしらウフフとか思って作業を始めた瞬間にこれですよ！REFLEC BEATとのコラボ企画！</p>
<p>→<a href="http://www.konami.jp/bemani/linclelink/">LincleLINK</a></p>
<p>まあ曲増えるのはいいことなんですけどさ。Lv30行ってない自分にLv95とかLv100とか無理すぎるので、多分頑張りません。リフレク前はそんなに混んでなかったからちょこちょこやってましたけど、これのためにやりだす人多そうですし。</p>
<p>さて、これで新全曲表を新曲追加に間に合わせるか、現行バージョンで行くのかを考えなければならなくなったのですが、とりあえず仮データで新全曲表は進めて、現行バージョンはそのまま使う感じにしようかと思います。変換SQLできればそれでいいわけですし。</p>
<p>話は変わりまして、先週。忙しかった仕事が一段落して、久々のお休みの中、「beatmaniaIIDX ツール・アプリ開発者座談会」という会に参加させていただきました。</p>
<p>あんまり喋るのは得意ではないのでお話を聞くばかりでしたが、皆さんいろいろ考えてるんだなぁと思うことばかり。そして音ゲーが好きなんだなぁとも。</p>
<p>自分に関連することとして印象に残ったのは、元データとしてIIDX全曲表のデータを使っているという方が結構いたということ。AC/CSの全部のデータがあって、テーブルの形も割と普通だから取りやすいのかもしれないですね。</p>
<p>で、</p>
<p>以前からIIDX全曲表のデータを任意の形式でDLできたら結構便利なんじゃない？と思うところがあったりしたので、<del datetime="2011-07-02T13:42:06+00:00">新曲追加確定により若干やる気が低下した</del>新全曲表の手を一旦止めて、昔隠し機能でそれっぽい機能を付けていた旧新全曲表の方をちょっとだけ整理して、ダウンロード機能を見えるようにしてみました。(ちなみに以前にやった<a href="http://bm2dx.s41.xrea.com/iidxAMD/iidxammw.php">これ</a>はこの機能で作ったXMLを使ってます。)</p>
<p>→<a href="http://bm2dx.s41.xrea.com/iidxarc/iidxamd/">IIDX全曲表ver.4.1β(開発版)</a></p>
<p>Twitterにも書いてましたが、こいつは開発途中・・・というか開発断念したものなので、機能的に足りてない部分があります。またバグもあります。(データは現行のIIDX全曲表と同じです(が間違ってても知りません))</p>
<p>とりあえず曲表として表示するには上のリンクで飛んで、どこか表示したい曲表のリンクをクリックします。すると、曲名しか出ないと思うので、「表示設定」を選んで、「表示内容選択」というところで「オススメ」を押して、下にある「設定を保存」をすれば曲表が表示できます。</p>
<p>曲表の右上あたりに「XML」と「JSON」というボタンがあるので、それらをクリックすると、現在表示している曲表のデータを取得できます(そのままだと同一ウィンドウ内に表示されるので注意)。</p>
<p>ちょっとこのままでは不十分なのと、&amp;等の文字列変換を一部ちゃんとしていないので、その辺は直す予定です。(データ形式もCSVとかタブ区切りとかあったほうが便利そう？もっとこういう形式でデータをくれよ！という方がいれば希望は伺います。実装するかは別ですが。)</p>
<p>というわけで、使う方がいれば便利に使って頂けたらと思います。</p>
<p>新全曲表の方でも同じような機能は実装予定です。新全曲表の方では使ってる方がデータを修正できるようにしたいなと思っていますが、はたしてうまく実装できるのか・・・。(というかそもそも完成させられるのか・・・)</p>
]]></content:encoded>
			<wfw:commentRss>http://sift-swift.net/archives/2291/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://sift-swift.net/archives/2291" />
	</item>
		<item>
		<title>IIDX全曲表の作り方2　DB設計と更新方法について</title>
		<link>http://sift-swift.net/archives/2226</link>
		<comments>http://sift-swift.net/archives/2226#comments</comments>
		<pubDate>Sun, 06 Feb 2011 16:20:11 +0000</pubDate>
		<dc:creator>sacrifs</dc:creator>
				<category><![CDATA[全曲表関連]]></category>

		<guid isPermaLink="false">http://sift-swift.net/?p=2226</guid>
		<description><![CDATA[さて、1回目が面白かったかどうかはさておきとして、ちょっとは見てくれた方もいたようなので続きを書いていきます。
→その1はこちら。
続きは↓から。
まずはDBについて。
テーブルは以下のような感じになってます。
ac** [...]]]></description>
			<content:encoded><![CDATA[<p>さて、1回目が面白かったかどうかはさておきとして、ちょっとは見てくれた方もいたようなので続きを書いていきます。</p>
<p>→<a href="http://sift-swift.net/archives/2186">その1はこちら。</a></p>
<p>続きは↓から。</p>
<p><span id="more-2226"></span>まずはDBについて。</p>
<p>テーブルは以下のような感じになってます。</p>
<p>ac**<br />
cs**<br />
music<br />
detail<br />
m_all</p>
<p>それぞれのテーブルの中身は以下のような感じです。</p>
<p><strong>[ac/cs(各バージョン別の曲表管理)]</strong></p>
<p>no(曲ID)<br />
msc(曲名)<br />
spn(SP NORMAL難度)<br />
sph(SP HYPER難度)<br />
spa(SP ANOTHER難度)<br />
(spd)(SP DARK ANOTHER難度)<br />
dpn(DP NORMAL難度)<br />
dph(DP HYPER難度)<br />
dpa(DP ANOTHER難度)<br />
(dpd)(DP DARK ANOTHER難度)<br />
n7(SP NORMAL NOTES)<br />
h7(SP HYPER NOTES)<br />
a7(SP ANOTHER NOTES)<br />
(d7)(SP DARK ANOTHER NOTES)<br />
n14(DP NORMAL NOTES)<br />
h14(DP HYPER NOTES)<br />
a14(DP ANOTHER NOTES)<br />
(d14)(DP DARK ANOTHER NOTES)<br />
score(n:新曲, o:旧曲, r:復活曲)<br />
change(譜面変更とかがあれば、DAとか書く(この場合はDoubleのAnotherが変更))</p>
<p><strong>[music(全体のアーティスト名ジャンル名他の管理)]</strong></p>
<p>no(曲ID)<br />
msc(曲名)<br />
ver(収録バージョン,　半角スペース区切り)<br />
bpm(通常bpm)<br />
bpmn(最小bpm)<br />
bpmx(最大bpm)<br />
genre(表記上のジャンル名)<br />
artist(表記上のアーティスト名義)<br />
japan(日本語ソート用の数値)</p>
<p><strong>[detail(詳細データ)]</strong></p>
<p>no(曲ID)<br />
bpmd(bpm変化詳細)<br />
dspn(難度変更SPN)<br />
dsph(難度変更SPH)<br />
dspa(難度変更SPA)<br />
ddpn(難度変更DPN)<br />
ddph(難度変更DPH)<br />
ddpa(難度変更DPA)</p>
<p><strong>[m_all(全部JOINするより全曲入った表があった方がいいんじゃない？と思って作った表)]</strong></p>
<p>ac/csと同じ。(ただし全てのデータを含む)</p>
<p>こいつらをNATURAL JOINして使っています。</p>
<p>新曲だけを抽出したいときは、scoreがnになってるのを拾ってくればいいわけなので、例えばResortAnthemの新曲なら</p>
<blockquote><p>SELECT * FROM ac18 NATURAL JOIN music WHERE score = &#8216;n&#8217;;</p></blockquote>
<p>ってな感じで取ってきてます。旧曲も含めたらWHERE句以降を捨てればそのバージョンの全曲になります。復活曲ならscore=&#8217;r'、と。簡単ですね。</p>
<p>さて、既にここで重大な問題があります。</p>
<p>musicとac/csの各バージョンのテーブルをよく見てください。noとmscが両方に含まれています。NATURAL JOINしているわけですから、noとmscが両方一致しないといけないわけですが、曲名はまれに修正が入ります。手作業でやってると、<strong>間違って片方しか更新しないとかっていうのは十分にありえます。</strong>十分にありえます。</p>
<p>データはこれらをExcelで管理してます。</p>
<p>こんな感じ。</p>
<p><a href="http://sift-swift.net/wp-content/uploads/2011/02/iidxexcel.png" rel="shadowbox[post-2226];player=img;"><img src="http://sift-swift.net/wp-content/uploads/2011/02/iidxexcel-300x173.png" title="iidxexcel" width="300" height="173" class="alignnone size-medium wp-image-2227" /></a></p>
<p>修正の手順はこんな感じ</p>
<ol>
<li>Excelでデータ修正</li>
<li>tab区切りテキストで書き出し</li>
<li>データはEUC-JPなので書き出したテキストをEUC-JPに変換</li>
<li>普通に書きだすとSpookyのbpm変化が激しすぎて(Excelのテキスト形式の制限文字数をオーバーしてる？)バグってしまわれるので、公開している全曲表からコピペ</li>
<li>Excelから書きだすと20,Novemberなどカンマがある曲は二重引用符が勝手に付くのでこれを除去</li>
</ol>
<p>で、ようやくデータをインポートします。(Spookyの件とかどうすればいいの・・・)</p>
<p>・・・まあよく考えればこの一連の流れは毎度同じなので、バッチ処理なりなんなりすれば良かったんですが、<strong>「今回はいいか」と全てスルーしてました。</strong></p>
<p>さらに、</p>
<p>さらにですよ、</p>
<p>それに加えて面倒だから、とExcelの方をいじらずにPHPPgAdminから直でいじったりしやがったりするものですから(<strong>大概この更新はExcelに反映するのを忘れる</strong>)データがあっち行ったりこっち行ったりで・・・もうねアホかと。</p>
<p>そりゃ、先祖返りもするよねヽ(´ー｀)ノ</p>
<p>面倒なことになる前に少々の面倒は買って出るべきなのですよ。</p>
<p>マズイところ：</p>
<ul>
<li>データが2重に管理されている</li>
<li>正規化されていないDBのテーブル</li>
<li>detailやm_allなどが管理されていない(全然データ更新してないです)</li>
</ul>
<p>改善：</p>
<ul>
<li>データは一元管理し、バックアップを取る</li>
<li>DBのテーブル構造を見直す</li>
</ul>
<p>データが更新されてないのは、上の2つをちゃんとしておけば治るでしょう。あとはやる気だけです。治ればやる気も少し出るかな。少し。</p>
<p>データをどこで一元管理するか、というのが難しいところですが、Excelで正規化したデータを管理すると見た目よく分からない気がするので、サーバ側のデータを最新として、cronとかでバックアップできるようにすればいいんですかね。あとは更新しやすさの問題があるけど、ここはうまいこと管理ツールが作れれば良さそう。</p>
<p>報告があったら、ボタン一つで採用！ってのができればステキなんですけどね。報告機能は前のは携帯版しかないのでパワーアップしたいところ。</p>
]]></content:encoded>
			<wfw:commentRss>http://sift-swift.net/archives/2226/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://sift-swift.net/archives/2226" />
	</item>
		<item>
		<title>IIDX全曲表の作り方</title>
		<link>http://sift-swift.net/archives/2186</link>
		<comments>http://sift-swift.net/archives/2186#comments</comments>
		<pubDate>Sun, 16 Jan 2011 07:53:22 +0000</pubDate>
		<dc:creator>sacrifs</dc:creator>
				<category><![CDATA[全曲表関連]]></category>

		<guid isPermaLink="false">http://sift-swift.net/?p=2186</guid>
		<description><![CDATA[
IIDX全曲表なるものをずっと管理しているわけなんですが、そろそろ本気で手直ししたいところなので、現状と更新についてblogの新しいネタになればいいかなー、という具合でなんか書いてみます。

歴史。最初は全曲表はIID [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sift-swift.net/wp-content/uploads/2011/01/iidxamd_image.jpg" rel="shadowbox[post-2186];player=img;"><img src="http://sift-swift.net/wp-content/uploads/2011/01/iidxamd_image-300x155.jpg" alt="" title="iidxamd_image" width="300" height="155" class="alignnone size-medium wp-image-2194" /></a></p>
<p><a href="http://bm2dx.s41.xrea.com/iidxAMD/latest.htm">IIDX全曲表</a>なるものをずっと管理しているわけなんですが、そろそろ本気で手直ししたいところなので、現状と更新についてblogの新しいネタになればいいかなー、という具合でなんか書いてみます。</p>
<p><span id="more-2186"></span></p>
<p>歴史。最初は全曲表は<a href="http://bm2dx.s41.xrea.com/yougo/iidxwss.php">IIDX用語集</a>において、曲の解説もやりたいよね、という話を<a href="http://rbb.s27.xrea.com/rbb/">PGKの人</a>としていて、そのなかで曲名と各データが一覧で見れる物凄くでかい曲表をPGKが作ってきたことから始まる。(正直、よくこんなの作ろうと思ったなぁと感心したものです。)</p>
<p>自分はその曲表にbpm変化の表をつけたかったので、その辺を調査して付け足して公開したのが初代全曲表。公開したのは10thstyleの頃だったかと思います。</p>
<p>超巨大曲表はまさに圧巻という感じだったんですが、やはり巨大であるがために使いにくいなぁと思うところもあり、指摘もあり、プログラムをちょっとばかりかじっていた自分が見やすくするためにいろいろ改造していって、まあ現状の奴があるわけです。</p>
<p>最初はJavaScriptオンリーで作っていたんですが、当時のブラウザでは重すぎたり、クロスブラウザ対応に四苦八苦することになってしまったので、たまたま大学でさわっていたPHP+PostgreSQLにて作り直しすることにしました。これがver.3.1？だったかな。</p>
<p>詳細表示を使ってる人がどれほどいるのかわかりませんが、これを実装するのにちょっと頭をひねりました。曲の詳細を表示したいけど別のページには飛ばしたくない。でも全データを読み込ませると重い・・・という感じでした。</p>
<p>たまたまAjaxが当時流行り始めるあたりで、「これ使えばいけるじゃん！」ということで使ってみたりしたのです。当時はライブラリも充実してなかったですが、今ではもうAjaxなんてあたりまえな話ですね。</p>
<p>現状の詳細データは<strong>難易度変更がさっぱり更新されておらず</strong>、微妙な立ち位置なわけですが、これについてはまあどうにかなるように設計し直したいと思います。</p>
<p>で、本題。現状の全曲表。</p>
<p>全曲表はPHP4とPostgreSQL7.4で動くように作ってます。借りてるXREAのサーバの仕様。XREAはMySQLも動くんですが、使ったことがあったのでPostgreSQLにしました。</p>
<p>PHPはこんな感じ。</p>
<ul>
<li>iidxamd.php(PC用メイン)</li>
<li>iidxamdlib.php(DBパスワード他)</li>
<li>iidxamd_i.php(携帯用メイン)</li>
<li>iidxamd_detail.php(PCの詳細表示用)</li>
</ul>
<p>中身を見ていくと、ずいぶん昔に作ったものなので、今見ると大変残念な仕様が多分に含まれておりまして、なかなか面白いことになっています。<strong>曲表を普通に表示するのと、検索結果を表示するのとで、ほとんど同じHTMLを分けて書いてたり</strong>ｗ　まあ当時は表示さえ出来ればよかったのです。</p>
<p>テンプレートなどという考えは全く頭になく、MVCなんてあったもんじゃありません。HTMLとPHPが完全に混在していて、直すのすら一苦労という感じになってます。マジックナンバーも当然の如く使用されています。パッと見よく分からないです。<strong>悪いプログラムとはすなわちこういうものだなぁと感心する次第です。</strong></p>
<p>まあ、そうは言っても昔に作った物なんてそんなもんでしょうね。多分今作ったものでも分かる人が見れば鼻で笑うようなもんでしょう。それでも少なくともいい勉強にはなりました。</p>
<p>とりあえず作り直すのに問題になりそうなDBのテーブルの奇妙さについて次回があれば書いていきたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://sift-swift.net/archives/2186/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://sift-swift.net/archives/2186" />
	</item>
	</channel>
</rss>

