パスワードを忘れた? アカウント作成
10329 story

モナディウスはパロディウスの夢を見るか? 47

ストーリー by Oliver
モナドの大冒険 部門より

Jadawin 曰く、 "関数型言語として名高いHaskellで書かれたゲームMonadiusの登場だ。関数型言語では入出力を含む副作用をすべてモナドに閉じ込める。だから、プログラムの見通しが良くなる。はずだ。しかし、だからこそ難しいと皆が言う。しかし、作者は曰く

Haskellで書かれているためゲーム全体がモナドで出来ています。だからモナディウス。
なんとも肩の力の抜けた言葉だ。ソースを見て構える前に遊んでみようではないか。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • モナーのゲーム? (スコア:3, おもしろおかしい)

    by Anonymous Coward on 2005年06月15日 15時09分 (#751838)
       ∧_∧ 
      ( ´∀`) <なんだ違うモナー
      (     ) 
      | | |
      (__)_)
  • Clean Game Library (スコア:3, 参考になる)

    by ruto (17678) on 2005年06月15日 15時47分 (#751879) 日記
    他にも純粋関数型言語で実装されたゲームとして、Clean Game Library [sourceforge.net]を使って実装されたゲームがあります。
    普通にアクションゲームです。

    Cleanでは一意性型という特別な型を使うことによってモナドを使わずに、参照透過性を保ったまま副作用を扱えるようになっています。
    • by zarmo (26477) on 2005年06月15日 18時00分 (#751970)
      クレーンゲームライブラリと読んで、
      「それ専用のライブラリが作られるまで普及してるのか」
      と、素で感心してしまった...orz。

      # 空目ネタが頻発してるけどID
      親コメント
  • モナドを2chでスレ立てて研究すれば万事OK?
    --
    まぐろたべたい
  • by cyber205 (4374) on 2005年06月15日 15時34分 (#751868) ホームページ 日記
    これは面白い!!
    本当にグラディウスっぽく作ってあるのだなぁ。

    だけど、同時キー入力に問題があってちゃんと動けないぞ。
    移動しながらショットとミサイルを撃ったりできないし。

    やっぱ、ゲームパッド対応でないと…。
    • キーボードが同時押しに規制をかけて押されなかったことにする為です。
      #キーボード種類で微妙に回路が違う為に押せたり押せなかったりしますがどれも同じ問題を抱えています
      #この規制のないキーボードも一部存在しますが、この場合同時押しで全く押されていないボタンが押されるのが一般的です
      #このキーボードをお持ち方は大変ラッキーで改造すると全キー同時押し可能のキーボードに出来ます。<面倒ですが

      この場合2台のキーボードを接続すれば各々の同時押し規制から外れるので押すことがで来ますので
      キーボードでゲームする場合右と左別々のキーボードを使うといいと思いますます。

      ゲーム作成者の方々通常キーを使うのはやめてください。
      出来ましたらショットボタンなどはshiftやaltやctrlを使った下さい。
      これらははじめから同時押しに考慮して作ってる場合があります

      #ためしてガッ○ン
      親コメント
    • by susuno (22709) on 2005年06月15日 15時38分 (#751874)
      今試してみましたが、普通に移動しつつショット・ミサイル発射できますよ
      --
      /* close the world, open the text */
      親コメント
      • by cyber205 (4374) on 2005年06月15日 15時50分 (#751884) ホームページ 日記
        ナナメ移動しながらなのが良くないのかな。
        うちのキーボードだと、ショットが出なくて死ぬことが多いのですが。
        あと、止めたいのに止まってくれずに、壁に激突とかも結構多いです。

        キーボードの配線とか、制御LSIの関係ですかね。
        古い富士通デスクパワーに付属のキーボードを愛用してるんですが。
        親コメント
        • Re:ん? (スコア:3, 参考になる)

          by akiraani (24305) on 2005年06月15日 15時59分 (#751890) 日記
           数年前、マシンを新調したのでそれまで旧マシンでやりこんでいた某同人Windows用対戦格闘ゲームをいれて遊ぼうとしたところ←と↓の同時押しを認識してくれなかったことが。
           しゃがみガードが出来なきゃ話にならないので外付けキーボードで対処しましたが……(パッド使えよ

           というわけで、同時押しに関してはキーボードによっては認識してくれないことがあります。

          #98年のゲームなのにいまだにHELLでの全キャラノーコンティニュークリアが達成できてないのでID(謎

          --
          しもべは投稿を求める →スッポン放送局がくいつく →バンブラの新作が発売される
          親コメント
          • by Anonymous Coward
            ↑↑↓↓←→←→ って当然の如く使えるのでしょうか?
          • by Anonymous Coward
            同様な事が昔BM98であったなぁ
            安物キーボードをメインで使っていたんで、多分配線やらなんやらを
            ケチっているんだろうと判断、そこからHHKに乗り替えたという…(笑)
            さすがに同時押しでの信号をきちんと送ってくれましたよ、ええ
        • Re:ん? (スコア:2, おもしろおかしい)

          by Sakura Avalon (12557) on 2005年06月15日 17時58分 (#751967)
          >古い富士通デスクパワーに付属のキーボードを愛用してるんですが。

          富士通!?ああ、だからか~と思ってしまったFM7世代。止めるためには5キーを押すんです☆
          親コメント
        • と思ったわたし
        • by Anonymous Coward
          つ Nキーロールオーバー [google.co.jp]
          • by cyber205 (4374) on 2005年06月15日 18時25分 (#751990) ホームページ 日記
            富士通のは疑似Nキーロールオーバーでしたか。

            というか、本当にNキーロールオーバーを実現しようと思ったら、
            マトリクス上にあるスイッチ1つ1つへ直列に、
            逆流を防止するダイオードを入れないといけませんね。

            コストアップになるから普通はやらんだろうな。
            親コメント
            • Re:ん? (スコア:2, 参考になる)

              by messo (7339) on 2005年06月15日 22時44分 (#752139) ホームページ 日記
              無理ですよ
              >マトリクス上にあるスイッチ1つ1つへ直列に、
              >逆流を防止するダイオードを入れないといけませんね。
              これは3つ以上同時押ししたと時に全く違う文字が出力されるキーボードでしか実現できません。
              Phantom key [google.co.jp]って呼ばれる現象で2つまでは正常に機能しますが
              3つ目が押された時点で回路上全く押されていないキーが押されてしまうために誤作動します。
              これを回避する為にキーボード内のチップで無効にするようにソフトが組み込まれている為に
              ダイオードをいれても効果はありません。

              今のキーボードじゃダイオードを入れても効果はありませんよ

              でもさ今のキーボードはメンブレンだしLEDも表面実装する技術はありますので
              シートにチップダイオード載せるくらい分けないですよ。
              メーカが出す気があるなら簡単に出来ますって
              親コメント
            • by Anonymous Coward
              ジョイパッドを持っているのなら・・・
              パッドの入力をキー入力に変換するツール(joytokeyとかそんな名前の奴)が、vector辺りにあるので、それを使うと幸せになれるかもしれないです。

              >コストアップになるから普通はやらんだろうな。

              wikipedia [wikipedia.org]より引用。
              ------
              電気式のキーボードは、機械式キーボードとは違い、同時に複数のキーを押すことが物理的に可能
    • by Anonymous Coward
      普通に遊べますよね。
      キーボードなので移動がしずらい。
      つか、なんでATのキーボードって十字型じゃないんだろう?
      • Re:おおっ (スコア:1, 興味深い)

        by Anonymous Coward on 2005年06月15日 22時16分 (#752113)
        昔はこんなの [impress.co.jp]こんなのがいっぱい在ったけど

        IBMが後発でパソコンを作った際、カーソルなんてジオングの足と同じで飾りだったので
        テンキーとカーソルを切替方式にしたのが原因。
        オリジナルのキーボードはキーボード+テンキーしかなかった
        確かにDOSじゃ意味なかったのは周知だが選択としてめんどくさいので
        キーコードを拡張してカーソルだけ独立させたそれがカーソルの生まれた原因。
        今だ旧式の仕様を引きずったまま存在するのが今のATキーボード

        カーソルが出来た時点でnumはクリヤーキーにした方がメリットがある
        そうしたのが'PC9801なんだけど潰されたおかげでおかしな仕様が一般的になってしまった感じがする
        もしPC9801生き残っていたならNUMはCLRキーだったことだろうし
        カーソルは十字だったり凸だったりしたのだろうな
        MSXのカーソルは
        ┌─┐
        │×│だったな
        └─┘
        MZ700 [google.co.jp]
        シャープ系は十字系だったね
        親コメント
    • by Anonymous Coward
      >移動しながらショットとミサイルを撃ったりできないし。

      まさか、今時・・・FM-7シリーズじゃあるまいし・・・
  • by volatile (27445) on 2005年06月16日 0時16分 (#752210)
    ここで出てくるモナドって Longhorn への搭載が見送られたシェルとは
    関係あるのでしょうか?綴りは同じようなのですが,語源やもともとの
    概念を知らないので.どなたか,お教えください.
    それぞれ説明を見ると独立のように思える.

    Longhorn のMonad
    http://www.itmedia.co.jp/enterprise/articles/0506/15/news070.html
    http://www.itmedia.co.jp/news/articles/0410/05/news014.html

    Haskell の Monad
    http://www.geocities.jp/shido_takafumi/hs/haskell8.html

    まあ私はそれより UNIX 流にモナーデーモン?と思った口ですけど.(これが本題)

    • Re:Monad? (スコア:2, 参考になる)

      by Anonymous Coward on 2005年06月16日 3時10分 (#752282)
      80年代後半から90年代前半に、Eugenio Moggiという計算機科学者が 計算機に現れる特徴的な機構(状態、例外、コンティニュエーション)は 圏論(数学の一分野)のモナドという構造によって説明できる、 ということを発見したのが、計算機科学とプログラミング言語で モナドが叫ばれるようになった始まりだと思われ。 圏論でのモナドの語源とLonghornのことは知りません。
      親コメント
  • by Anonymous Coward on 2005年06月15日 15時10分 (#751843)
    2ちゃんねらが何かやらかしたのかとオモタ
  • by Anonymous Coward on 2005年06月15日 18時15分 (#751983)
    文句つけて来そうな会社の製品敢えてネタに選ぶなんて
    • Re:度胸あるなぁ (スコア:1, 参考になる)

      by Anonymous Coward on 2005年06月15日 18時19分 (#751986)
      あくまで
      Monadiusは、グラディウス20周年企画であり、Haskellでゲームを作るときの問題点を 洗い出すための実験でもあります。

      だからね。自分の好きな題材を選ぶのが、いちばんでしょう。

      けちをつけてきたら、さっさと次に移ることでしょう。
      親コメント
      • by Anonymous Coward
        個人の興味としてはその通りだけど、折角ソース公開してるのに企業からの横槍で公開中止なんかになったら世間的にはつまらんよね。
  • by Anonymous Coward on 2005年06月15日 18時41分 (#751999)
    はきかないんですね……。
  • by Anonymous Coward on 2005年06月16日 0時58分 (#752235)
    リンク先もちょっと眺めてみたけどモナドって、なんなのかわからなかった。 結局、モナドってなんなのですか
    • by Anonymous Coward
      Haskellでは、順番性を持つ関数をdo構文の中で使うことができるようにするためのフレームワークがモナド。
  • by Anonymous Coward on 2005年06月16日 4時59分 (#752302)
    なんですかこれは、マネシスのように コナミが圧力かけて潰すマトですか?
    • あれは圧力というか、ユーザーからのチクリが原因ですよね。
      メーカー側は、何も言われなければ黙認もできるけれど、問い合わせられたら容認するわけにはいかなくなる、と。

      # でもコナミのやり方には気に入らない部分が多いのでAC
  • by Anonymous Coward on 2005年06月17日 13時09分 (#753088)
    Haskell 本家サイト 実用例 [haskell.org] にモナディウスがリストされました。
  • by Anonymous Coward on 2005年06月17日 21時45分 (#753392)
    ちゃんと動きましたよ。ちょっと感動(笑)
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...