タグ

ブックマーク / yaneurao.hatenadiary.com (18)

  • 曲をクラシック風にアレンジするには? - やねうらおブログ(移転しました)

    まらしぃさんが新作の動画を見たのだが、なんかひどく単調なアレンジだなぁと思った。 【進撃の巨人OP】「紅蓮の弓矢」を弾いてみた【ピアノ】 もちろん、一曲にかける時間にはムラがあるわけで、あまり編曲や練習のために時間をかけて撮影していない動画に対して、時間をかけて編曲し、十分に練習したのちに撮影された動画と比較してどうのこうの言うのは来間違っていることではある。 まらしぃさんがうまいだの下手だの言うつもりは私には毛頭なく、もう少し音楽的な可能性を考えてみたいという意味において、ここでAnimenzさんの同じ曲に対するピアノ演奏動画を参考のために挙げる。 Guren no Yumiya - Shingeki no Kyojin OP [Piano] Animenzさんは日では無名に近いかも知れないが、アニメ曲を中心にピアノアレンジをしてYouTubeに動画を数多くアップされていて、動画の再

    曲をクラシック風にアレンジするには? - やねうらおブログ(移転しました)
    gfx
    gfx 2013/07/08
  • 古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)

    最近、ゲーム界隈ではプロシージャルテクスチャー生成だとか、プロシージャルマップ生成だとか、手続き的にゲーム上で必要なデータを生成してしまおうというのが流行りであるが、その起源はどこにあるのだろうか。 メガデモでは初期のころから少ないデータでなるべくど派手な演出をするためにプロシージャルな生成は活用されてきたが、ゲームの世界でプロシージャル生成が初めて導入されたのは、もしかするとドルアーガの塔(1984年/ナムコ)の迷路の自動生成かも知れない。 なぜ私が迷路のことを突然思い出したのかと言うと、最近、Twitterで「30年前、父が7年と数ヶ月の歳月をかけて描いたA1サイズの迷路を、誰かゴールさせませんか。」というツイートが話題になっていたからである。 この迷路を見て「ああ、俺様も迷路のことを書かねば!俺様しか知らない(?)自動迷路生成のことを後世に書き残さねば!」と誰も求めちゃいない使命感が

    古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)
  • 3Dプリンターをブートストラッピングできないのか? - やねうらおブログ(移転しました)

    自己記述型のコンパイラで、最初にそのコンパイラをどうやって生成するのか、卵が先か鶏が先か、みたいな問題(ブートストラップ問題)があるのだけど、3Dプリンターって、加工精度の悪い3Dプリンターで出力した部品を使って加工精度の良い3Dプリンターって作れないのだろうか。 最初はレゴとか汎用パーツで作った3Dプリンターで、それで出力した部品を使って…。あるいは、それで出力した材料加工用の器具を使って、その器具で加工した部品を使って…。 のようなメタプログラミングみたいなことは出来ないんだろうか。

    3Dプリンターをブートストラッピングできないのか? - やねうらおブログ(移転しました)
    gfx
    gfx 2012/12/19
  • クロージャーだと苦労するんじゃ?(ダジャレ) - やねうらおブログ(移転しました)

    closureで継続(continuation)を実現する技法ってあるじゃないですか。 例えば次の記事は私が5年以上前に書いてますね。 C#2.0時代のゲームプログラミング(49) 〜 delegateを用いたcontinuation http://d.hatena.ne.jp/yaneurao/20070207 上の技法は私は10年ぐらい前にclosureを使い出したころに自力で発見しましたが、まあ、いまや常識ですよね。それで最近、それに似た話題があったので取り上げてみます。 ここで再度認識して欲しいのは、node.js の素晴らしさは「クライアント側で皆が使っているJavaScriptでプログラムが書ける」という部分などにあるのではない、という点だ。node.js がこれほど多くの支持者を得ているのは「来記述が煩雑になりやすい非同期処理をJavaScriptの無名関数を利用して書きや

    クロージャーだと苦労するんじゃ?(ダジャレ) - やねうらおブログ(移転しました)
    gfx
    gfx 2012/10/30
    jsthreadというものもありますが、こちらも普及はしないでしょうね…。
  • そろそろ死にたくなってきた人に捧げる雑文 - やねうらおブログ(移転しました)

    昨年、小学校で教える「掛け算の順序問題」がインターネットで非常に話題になった。*1 *2 簡単に言えば、小学校で「リンゴが3個置かれた皿が5枚ある。リンゴは全部で何個か」という問題が出題されて、「式: 5×3 = 15 答:15個」と書いたら先生にバツをされた、先生の用意していた正解は「式: 3×5 = 15 答:15個」だというものだ。 ぶっちゃけ、その教師は頭がおかしいと私は思うのだけど、まあ、その教師にはその教師なりの主張があって、この話は突き詰めていくと「掛け算の交換則が成り立つことを証明していないときに交換則を使っている」(それが解答として許されるのか)ということに行き着く。つまり、「まだ授業で習っていない事項を使ってはならない」という考えかたが根底にあることがわかる。 最近では、「習っていない漢字は使ってはならない。(ひらがなで書かなくてはならない。自分の名前さえも) 」だとか

    そろそろ死にたくなってきた人に捧げる雑文 - やねうらおブログ(移転しました)
  • Native Clientの仕組みはどうなっているのか? - やねうらお−よっちゃんイカはしばらく買わずにiPhoneだけに注力する男

    Googleが、Webブラウザ上でネイティブバイナリコードを実行する「Native Client」を公開した。 Native Client http://code.google.com/p/nativeclient/ Google Earth,Quakeなどがすでに動いているようだ。 これはすごい!ブラウザ上でX86バイナリを動かす「Native Client」 http://www.moongift.jp/2008/12/native_client/ サンドボックスで安全性確保、オーバーヘッド5% ブラウザでx86バイナリ実行、グーグルが新技術 http://www.atmarkit.co.jp/news/200812/09/nacl.html あと、サンプルのlife.ccにSDL_surfaceと書いてあるのでSDLの描画まわりが既に動いているのだろうから、今後、たくさんのアプリがN

    Native Clientの仕組みはどうなっているのか? - やねうらお−よっちゃんイカはしばらく買わずにiPhoneだけに注力する男
  • 合議アルゴリズムはインチキだ - やねうらおブログ(移転しました)

    昨年の10月11日に開催された清水市代女流王将とコンピュータ将棋「あから2010」との対局は記憶に新しい。 あから2010は、169台676coreを使った合議によるコンピュータ将棋マシンだった。 「文殊」の論文*1が発表されたときから、私は「合議は全く意味がないし、普通にクラスター並列化したほうが強い」と主張し続けてきた。 「1台のマシンと、そのマシンを3台使って合議させたものとを対局させて、3台合議のほうが有意に勝ち越したから合議は意味がある」みたいな結論を出すのはおかしい。3台のマシンで普通にクラスター並列化したものと、3台で合議したものとをなぜ真っ先に比較しないのか? 3台のマシンで単純にクラスター並列化したものより3台のマシンで合議したもののほうが圧倒的に弱ければそれは単にマシンリソースの無駄遣いに他ならないし、その比較すらせずに169台のマシン用意しましたって馬鹿じゃないの。大

    合議アルゴリズムはインチキだ - やねうらおブログ(移転しました)
    gfx
    gfx 2011/07/18
  • 六目並べを考えた奴は天才 - やねうらお-よっちゃんイカを食べながら、息子語録を書き綴る

    iPhone/iPad用のアプリで六目並べというゲームがある。 iTunes用リンク → 「六目並べ」は交通大学工学部の呉毅成教授が発表したゲームだ。(「六目並べ」は「コネクト6」とも呼ばれる。正確な起源は不明。) 「五目並べ」はみんな知ってると思うが、これは、五目ではなく六目並べるのだ。 私はこのゲームの名前を聞いた瞬間、「うわ、やられた!これはまさに天才の所業だ」と思った。 五目並べに詳しくない人のために、なぜこれが天才の所業なのかを以下にだらだら書いてみる。 まず、五目並べというのは五目並べれば勝ちだ。しかし、「五目並べれば勝ち」というルールだけだと、素人同士ならいざ知らず、中級者以上がやるならば黒(先手)が必勝だ。五目並べで先手番を持って必勝じゃなければそんな奴は初心者だ。 とまあ、五目並べは中級者以上なら先手必勝であるゲームだ。 そこで、公平にする方法がいろいろ考えられた。まず、

    gfx
    gfx 2011/07/13
  • 心を亡くした四人のゲーマー - やねうらおブログ(移転しました)

    とあるMMORPGで「娘を隣村まで護衛しろ」みたいなクエストがあった。 ゲームに詳しくない人のために説明すると、“クエスト”とは達成すると経験値や報奨アイテムがもらえるイベントであり、普通に敵を倒すより効率的にレベルがあがるし、ゲームのストーリーや世界観が理解できるのでこれを優先的にクリアしていくのが常道なのだ。 今回のクエストでは娘が移動する経路に敵が出てくる。その敵をやっつけ続けなければならない。 私は、そのクエストが一人ではクリアするのが難しかったので、そのクエストをまだクリアしていない知り合いにお願いして四人でPT(パーティ)を組んでそのクエストに挑戦した。 いま仮にその娘の名前をビアンカだとしよう。 A「俺は右から出てきた敵を倒す係な」 B「じゃあ俺は左から出てくる敵を倒す係」 C「俺は敵にダメージをらったビアンカをヒール(回復魔法)する係な」 D「じゃあ俺もヒール手伝う。」

    gfx
    gfx 2011/07/04
  • Dungeon Raidなんてクソ喰らえじゃ! - やねうらおブログ(移転しました)

    iPhoneゲームのDungeon Raidというゲームが大変面白いらしく、ゲームキャスト Blogのトシさんや、iPhoneACの中の人が非常にハマっているらしいのです。 AppStoreのレビューでも評価がすこぶる良く、こんな平凡なゲーム画面で何がそんなに面白いのかとずっと思ってたんですよ。 どうもdonpyさんやもとまかさんもハマってるみたいだし*1 *2、みんな“1,000回は遊べる”だとか書いているので、こりゃ是非やらなきゃなーと思い、先日ダウンロードして少しやってみたんですよ。 面白いのかなー、うん、最初見た目から想像したよりは面白いよね、ああ、こうなると面白いのか、あ、でも面白くなくなってきたぞ、なんだこれ、あああ、駄目だわ、このゲーム。みたいな過程を経て、私は速攻萎えて10回ぐらい遊んだところで終了。 今回は、その“終了”に至るまでの流れをだらだら書きますね。 「世界ナン

    gfx
    gfx 2011/06/18
  • KFCに殺意が芽生えた件 - やねうらおブログ(移転しました)

    近くのケンタッキーの店員のお姉ちゃんは、お釣りを返すとき、両手で私の手を上下から包みこむようにギュッてしてくれるんだけど、これなんてサービスなの? 店員のお姉ちゃんは「あんたみたいな貧相な下級市民はどうせケンタッキーが最高のご馳走なんでしょうけど!」みたいな顔をしながら(私の被害妄想かも知れん)、両手でギュッですよ。もはや、風営法の許可が要るレベル。 試しに違うレジにも並んでみたんですけど、どのお姉ちゃんもギュッてしてくれるんですよ。なにこれ?そうするように教育されてるの? 「あんたの汚らしい手なんか触りたくもないけど、そうするように店長に言われてるから触ってあげるのよ。ありがたく思いなさい!」と言う心の声が聴こえてきた。(私の被害妄想かも知れん。) なんか嬉しかったので、ここのところちょくちょくチキンを買いに行ってたんですけど、今日はお姉ちゃんのレジに並んだはずが途中で男性店員にバトンタ

    KFCに殺意が芽生えた件 - やねうらおブログ(移転しました)
  • 0÷0がよくわからない件 - やねうらおブログ(移転しました)

    小学校の計算問題で「0÷0=」という問題が出て、(その教師の用意していた)答えが「0」だったらしく、その生徒の親に高校の数学教師が居て、「こんなの不定に決まってるだろ」と猛烈に抗議をしたが、その小学校の教師にはその意味が理解できなかった。それで仕方なく校長のところに話を持っていき、なんとか決着がついた。 まあ、それ自体は昔からよくある話なのだが、何故、いまだに小学校で「0÷0」を計算問題として出してしまう小学校の教師が後を絶たないのだろうか。 その理由を簡単に説明する。 私も高校数学の教免(一種)を持っているのだが、まず、「0÷0=」なんて学校で習ったことがない。 小学校のときの計算問題でそんな問題を出されたことは一度もない。要するに知らない。考えたこともない。 しかし、小学校では割り算を掛け算の逆操作として定義していて、 2 × 3 = 6 のような掛け算から、 6÷3=2 を導く。 こ

    0÷0がよくわからない件 - やねうらおブログ(移転しました)
    gfx
    gfx 2011/06/07
  • 「登録されている拡張子は表示しない」はおかしすぎる - やねうらおブログ(移転しました)

    WindowsXP以降だったと思うのだけど「登録されている拡張子は表示しない」がデフォルトになった。 これをデフォルトにしようと最初に提案した奴を死刑にすべきだ。 いまだにpdfのアイコン画像の実行ファイルが添付されているウイルスメールが送られてくる。(zipで圧縮してある) もちろんデスクトップに保存してzipを解凍して出来たpdfアイコンをダブルクリックしようものならウイルスに感染する。 これ、意外と騙されると思う。 「登録されている拡張子は表示しない」にしているとパッと見、これがpdfファイルなのか実行ファイルなのかを判別できないからだ。 右クリックしてプロパティを見ればいいのだけど、「電子メールを受け取った場合はそれがたとえ知人からのメールであっても、添付ファイルはウイルスの可能性があるので、pdfExcelアイコンであっても必ずプロパティを見て実行ファイルでないかどうかを確認し

    「登録されている拡張子は表示しない」はおかしすぎる - やねうらおブログ(移転しました)
    gfx
    gfx 2011/03/30
  • 大学は詐欺師の集団 - やねうらおブログ(移転しました)

    なんか毎年この時期になると私は大学受験のことを考えずにはいられない。 大学受験ってそもそも必要なのだろうか? 例えば、この先、コンピュータサイエンスが必須教科に入ってきたとする。 大学入試の科目にC++があったらどうなるだろう?想像してみるといい。 センター入試レベルのC++だと「次の空欄を以下の選択肢から選びクイックソートのプログラムを完成させなさい。」とかそのレベルなんだけど、これが東大とか難関大学の入試だとC++のADL(argument dependent lookup)の挙動について正確な理解をしているかを問うような問題が出題されるわけだ。「次のソースコードをC++0xのコードとしてコンパイルしたときに得られるであろう結果を答えよ。」なんて問題になるわけだ。 そうなってくると、予備校でもその手の対策をせざるを得ない。 「いいか、今年の出題予想だが、どこそこのメーリングリストで議論

    大学は詐欺師の集団 - やねうらおブログ(移転しました)
    gfx
    gfx 2011/01/09
    "…とぐらいに思っておいたほうが、大学に過度の期待をせずに済むと思うよ。"
  • 価格詐欺 - やねうらおブログ(移転しました)

    オンラインゲーム上で価格詐欺をよく目にする。たいていのオンラインゲーム(MMORPG)には、露店やオークションに指定した値段で自分のアイテムを販売する仕組みが備わっている。そこに通常の価格の9倍ぐらいの値段で出品するというのがよくある価格詐欺。 この9倍っていうのがミソで、1,000円のものを9,000円で売るわけだ。(実際はこの仮想通貨の単位はzenyだったりgoldだったりgranだったりするわけだけど) そうすると900円に空目したそそっかしいプレイヤーが、「相場より1割程度安いなぁ」と思って(急がないと売れてしまうと錯覚して)急いで買ってしまうわけだ。しっかり確認しないほうが悪いのだろうけど、なんかそういうのを見ると私はとてもやるせない気持ちになる。 それと言うのも遊戯王が大流行したとき(10年ほど昔)、私の知り合いがトレカ(トレーディングカード)のショップを経営していた。知り合い

    価格詐欺 - やねうらおブログ(移転しました)
    gfx
    gfx 2010/11/17
    "親は無料だと思って携帯ゲームを子供にやらせてたら、二桁の数字すら数えられない子供が知らない間にアイテムを購入する。そして、翌月とその翌月にはとても高額な請求書がキャリアから送られてくる"
  • コンピューター用語カコワルイ - やねうらおブログ(移転しました)

    なんかプログラムのことは全くわからないお客さんの前でプログラマ同士で話さなければならないことがあって「この部分は、俺が作るから、string渡したらXXXするメソッドを用意しといて」とかプログラマ同士でそういう話をするんだけど、こういうのプログラムの知らない人にとってどう聴こえてるんだろう。 お客さんの心の声「メソッド?なんでこの人、"方法"って普通に日語で言えないのかしら。格好つけてメソッドとか言っちゃって。この人、それが格好いいと思ってるのかしら。そんな中学生でも知ってるような英単語ひけらかしちゃって。この人、重度の中二病じゃないかしら。それにストリングって何かしら。文字列?どうして普通に日語で"文字列"って言えないのかしら、この人。(倒置法) いまどきメソッドとかストリングとか中二病全開の英単語を会話に混ぜてくるのはルー大柴ぐらいよ。」とか思われてるんだろうな。あー嫌だ嫌だ。 そ

    コンピューター用語カコワルイ - やねうらおブログ(移転しました)
  • 3回に1回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)

    なんかさ、3回に1回出力するだけの簡単なプログラムのお仕事ってあるじゃん。 if ( (++counter % 3) == 0) printf("Fizz\n"); これって意外と難しいんだよね。 ……なんてことを言うと「おいおい、天下のやねうらお、ついに頭おかしくなったか」とか言われるだろうけど、これ実際うちの仕事であった話で、このコードが原因でお客さんと大きなトラブルになった。 あまり具体的には言えないので、ちょっと別のものに置き換えて話すけど、それは、ひよこの餌やりプログラム(仮)だったわけ。 上のプログラムは、3回に1回だけど、このソフトには、N時間に1回、餌をやるロジックが書いてあった。 if ( (++counter % N) == 0) printf("餌やるでー\n"); なんかこんな感じな。それでNの値は、UI(ユーザーインターフェース)で調整できる作りにしてあった。一度

    3回に1回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)
    gfx
    gfx 2010/10/10
  • C#のvarとtry〜catchが糞すぎる - やねうらおブログ(移転しました)

    C#3.0からはvarと書くと型を明示的に指定しなくても済む。 var hoge = new HogeClass(); しかし例外処理をするためにこれをtry〜catchで囲みたいとする。 try { var hoge = new HogeClass(); hoge.XXX(); } catch { if (hoge!=null) hoge.YYY(); } このプログラムはコンパイルが通らない。catchのなかでは変数hogeにアクセスできない。try節が終わっているため、hogeのスコープが終わってしまうのだ。仕方ないのでhogeを外部のブロックに出す。 var hoge; try { hoge = new HogeClass(); hoge.XXX(); } catch { if (hoge!=null) hoge.YYY(); } しかしこれまたコンパイルが通らない。var hog

    C#のvarとtry〜catchが糞すぎる - やねうらおブログ(移転しました)
    gfx
    gfx 2010/09/29
    tryoutイディオムとその解決法について
  • 1