タグ

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

  • 古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)

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

    古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)
    shidho
    shidho 2013/01/30
    穴掘るのと壁はやすのは昔使った。柱から倒すのはどうだったかなあ。
  • 六目並べを考えた奴は天才 - やねうらお-よっちゃんイカを食べながら、息子語録を書き綴る

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

    shidho
    shidho 2011/07/13
    連珠における先手の禁手って、三三と四三じゃなく三三と四四だけどね。
  • コンピュータリテラシーはいかにして身につけるのか - やねうらおブログ(移転しました)

    私の友達のI君は、ときどき私の仕事を手伝ってくれるのだけど、彼はプログラマでもなんでもなくて、コンピュータのことをそんなに詳しいわけでもない。 今日はI君が「この上の3行をコピペすると良いのです」とメールしてきたのでそこを見たら3行ではなく1行だった。なんでこれが3行?と思ったが、200文字ほどあるのでテキストエディタによっては折り返されて、その折り返された行を含めて3行なのだろう。 普通、プログラマは行数を言うときは改行の数を数える。そうでなければ何行目と言っても折り返しによって行数が異なるので、そんな数え方をした行数では意味をなさないからだ。そもそも「100行目」と言ったとき、その行が一意に定まらない行数の数え方なんて、何の使い道があるのかと思うのだが、折り返しを半角80文字(全角40文字)に設定すれば、原稿用紙何枚分に相当するのかを試算するときに便利なのかも知れない。 それはそうと、

    コンピュータリテラシーはいかにして身につけるのか - やねうらおブログ(移転しました)
    shidho
    shidho 2010/11/11
    いわゆる全角文字のことを「2バイト系の文字」って言うこともUTF-8とかが増えて言えなくなってるし、さてみんなそういう言葉をどうやって覚えていくんだろう。
  • 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回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)
  • はてなのCAPTCHAを破るプログラムは30分で書ける - やねうらおブログ(移転しました)

    CAPTCHAとは、スパムコメントなどを防止するための認証画像のことである。 それにしても、はてなのCAPTCHAはひどい。無いよりマシという考え方もあるのでそれについてはあまり議論する気は無いのだが、それにしてもこれを破るプログラムは30分あれば十分書ける。 具体的には、はてなのCAPTCHAには8つの好ましくない特徴と、2つの脆弱性がある。 ■ 8つの好ましくない特徴 ・画像自体のサイズが小さすぎる。→ こんなに小さいと探索量(計算量)が小さくて済む。 ・フォントにゆがみがない → フォントはある程度変形させたほうが良い。変形させてあるとテンプレートマッチングがしにくくなる。 ・フォントが固定。→ フォントは毎回変えたほうが良い。 ・フォントを回転させていない → フォントは文字ごとにある程度ランダムに回転させた方が良い。 ・フォントサイズが一定 → フォントサイズは文字ごとにある程度

    shidho
    shidho 2009/08/07
    何をいまさら、というか、じゃあなぜCAPTCHAを破ろうとしないのか、ということかと思う。たぶん破って得られるものが少なすぎるから。
  • 僕はドルアーガで頭がおかしくなった - やねうらおブログ(移転しました)

    『やねうらお』の名前の由来(→ http://d.hatena.ne.jp/yaneurao/20081222 )に出てきたH君が中学生の私に教えてくれたゲームは、「タイムギャル」以外にも「ドルアーガの塔」というのがある。 「ドルアーガの塔」は、「ゼビウス」を作った遠藤雅伸氏の作ったゲームで、60階のダンジョンから構成されるゲームである。それぞれのフロアには宝箱が出現するのだが、その宝箱の出現にはフロアごとに条件が定められており、その条件を満たさないと宝箱は出現しない。 ゲーム発売当時、宝箱の出現条件は知られていなかったのだが、H君は独自に調べ上げ、一覧表にして大事に持っていた。 ある日、「これ覚えておくとええで」と彼はその大事な表を私に貸してくれた。私は、「凄いものを貸してもらった!」と大喜びで、さっそくその表を覚えることにした。当は、ゲームの進行上不要な(取る必要のない)宝箱もあるの

    僕はドルアーガで頭がおかしくなった - やねうらおブログ(移転しました)
    shidho
    shidho 2009/01/08
    エントリの内容よりもコメント欄が。
  • FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)

    最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,

    FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)
    shidho
    shidho 2009/01/06
    周りにハンドアセンブルするやつはいっぱいいたが、16進数のかけ算暗記してる奴なんていたかなあ。
  • いますぐPICをやめてAVRに移行すべき10の理由 - やねうらおブログ(移転しました)

    電子工作用のお手軽なワンチップマイコンと言えば、AVRとPICである。数年前、国内ではPICのほうが日語での情報が多く、国内での入手性が良かったのでPICばかりが普及した。PICで有名な後閑さんの功績も大きいだろう。 だが、いまから始めるなら間違いなくPICではなくAVRにするべきだろう。値段的にもPICと大差ないし、国内でもAVRマイコンをある程度調達できるようになってきた。 では、いまPICをやっている人はAVRに移るべきか? 迷っている人のために、「いますぐPICをやめてAVRに移行すべき10の理由」というのを書いてみる。 1) AVRなら、ほとんどのモデルでCで開発することができる。もちろん、フリーの環境。(AVRStudio + WinAVR) PICの上位モデル限定のくせに60日すぎたら最適化レベルが下がるどっかの体験版(?)のCとは大違い。 2) AVRのアセンブラはPI

    いますぐPICをやめてAVRに移行すべき10の理由 - やねうらおブログ(移転しました)
    shidho
    shidho 2008/02/20
    どっちにせよかじっておいて損はないと思うんだ。
  • メモリアルDVD - やねうらおブログ(移転しました)

    古いやいらなくなった雑誌をブックスキャナーで取り込んで捨てようと思っていたのだが、最近は、バックナンバーをpdfで収録したムックが格安で売られている。これから新たに勉強しようと思う人や復習用にちょうどいい。お買い得そうだと思ったものを挙げておく。 WEB+DB PRESS 総集編 [Vol.1~36] --- 6年分のバックナンバーを収録して1,974円。誌のほうはまだ刊行中なので来年も出るかも知れないが、いま最新号付近まで一気にさらうのにちょうど良いだろう。 LinuxWorld メモリアルDVDブック [2001-2007] --- 創刊号から最終号まで全67冊を収録して2,194円 JavaWorldメモリアルDVD --- 2001年12月号から2007年2月号(最終号)まで、全62冊を収録して1,881円。 Linux magazine the DVD Complete --

    shidho
    shidho 2007/11/19
    コメント欄。古本屋は例えブックオフでもよっぽどの場合以外雑誌は買い取らないよね。
  • やねうらお-よっちゃんイカを買いに行ったついでに保険料を支払う男 - デスクトップのアイコンはこう配置しろ!

    Windowsデスクトップにどのようにアイコン(やショートカット)を配備するかについていくつかのセオリーがある。 まず、「等間隔に整列」を選択しておく必要がある。アイコンが重なっていて見失うようなことがあってはならないからだ。 次に左は1列か欲を言えば2列開けておくことだ。これはファイルを「名前をつけて保存」などでデスクトップ上に保存したときに見失わないためである。またファイルをデスクトップ上に解凍してしまったときに、解凍したファイルと最初から配備してあったアイコンとが混ざるのを防ぐためでもある。 さらに、「自動整列」は決して使わないことだ。これを使ってしまうと左に整列されてしまい、上記の左に1列開けるというのが出来なくなるからだ。 あと、アイコンはY座標で言うところの768より下や、X座標で言うところの1024より右には配置しないことだ。これはLet's NoteなどXGA(1024×

    やねうらお-よっちゃんイカを買いに行ったついでに保険料を支払う男 - デスクトップのアイコンはこう配置しろ!
    shidho
    shidho 2007/06/15
    どうせリセットされちゃうからこだわらない。
  • やねうらお―よっちゃんイカは買ってもレニエのお菓子は買わない男 - アタック25必勝陣形について

    3月25日放送分のアタック25で以下のような陣形になった。 □□■□□ □□■□□ ■■■■■ □□■□□ □□■□□ (■は緑、□は空き) 以下、イノセンスさんによる解説文。 まだ角を取る戦いが始まってないので勝負はここからのように思えるが、4人の解答者全員が自分にとって最も有益な行動を取った場合、なんとこの時点で緑の勝ちが確定する。この特殊な陣形を、私は「グランドクロス」と名づけた。 まず、アタック25の公式ルールによると、自分が引っくり返せるパネルがないときに正解したら、次に引っくり返せるパネルができるような位置を取らなければならない。 よって、グランドクロスの状況で緑以外の誰かが正解しても角にいきなり飛び込むことはできず、緑のパネルに隣接したどこかを取ることになる。ここでそのような取り方をしてしまうと、取った人以外の3人は次から角を取ることができるようになるにもかかわらず、取った

    やねうらお―よっちゃんイカは買ってもレニエのお菓子は買わない男 - アタック25必勝陣形について
    shidho
    shidho 2007/03/27
    クイズ界の人にはたぶん知られているネタ。ここまで極端でなくても、2色で十字に埋まると全員にとって陣形が不利になるので難しい。
  • やねう企画2005年度入社試験 - やねうらおブログ(移転しました)

    人を雇うのは博打に近い。どんな人を雇うかで会社の未来が左右されてしまう。かと言って、(会社として利益を出すだけならば)スーパープログラマばかりを集めてgoogleのような会社にする必要は全くない。人並みにコーディングが出来ればそれで良いと思う。 人並みのコーディングとはどの程度だろう?以前、作ったうちの会社の入社試験の一部を公開する。 http://yaneu.com/yaneurao/hatena/yaneu2005.zip 問3.は、大学生に大学で学ぶ問題を出さなければ失礼かなと思って蛇足的につけたもので、プログラミング能力を見るのは問1,2だけだ。私に解答をメールで送ってもらえたら採点して返す。*1 なお、他の人が解く楽しみがなくなってしまうといけないので、コメント欄に解答を書かないで欲しい。書いたら消すデ!(`ω´) あと、解答を自分のblogに載せてトラックバック打つのも駄目。

    やねう企画2005年度入社試験 - やねうらおブログ(移転しました)
    shidho
    shidho 2005/10/03
    まずい、能力が落ちてる。
  • 1