忍者ブログ

ぐれーすけーるブログ

ゲームプログラミングを独習中なんだぜ☆

↑同人活動☆w
ホームページ☆
『きふわらべ』のダウンロード
は、ホームページへ飛ぶ↑☆

ぐれーすけーる は、ゲーム86パーセントでお送りするんだぜ☆↑押すと最新記事に飛ぶぜ☆



第25回世界コンピュータ将棋選手権1日目に
初出場した『きふわらべ』の記事はこちら↑☆
↑東方二次創作音楽
CD78サークル分買った
No image
(↑終了)
秋葉原裏通りの潰れそうなオリジナル同人
ソフト店『さんげっと』の記事はこちら☆

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

将棋系の、新しいゲームを考えるぜ☆

┌─┐
│▽│
├─┤
│▲│
└─┘

駒を全部取るゲームを一番簡単にした模式図だぜ☆
▲が先手、▽が後手。 1つ前に進むことができる☆w


1手目。
┌─┐
│▲│ \Win/
├─┤
│ │
└─┘
先手必勝だぜ☆


スペースを1つ増やしてみよう☆w
┌─┐
│▽│
├─┤
│ │
├─┤
│▲│
└─┘

このゲームでは、後手必勝だぜ☆

1手目。
┌─┐
│▽│
├─┤
│▲│
├─┤
│ │
└─┘


2手目。
┌─┐
│ │
├─┤
│▽│ \GAME OVER/
├─┤
│ │
└─┘

横に何列あっても、同じ結果を繰り返すだけだぜ☆

┌─┬─┐
│▽│▽│
├─┼─┤
│ │ │
├─┼─┤
│▲│▲│
└─┴─┘

わざと負けようとしても、1対1の引き分けだな☆

┌─┬─┐
│▽│▽│
├─┼─┤
│▲│ │
├─┼─┤
│ │▲│
└─┴─┘

┌─┬─┐
│▽│ │
├─┼─┤
│▲│▽│
├─┼─┤
│ │▲│
└─┴─┘

┌─┬─┐
│▲│ │
├─┼─┤
│ │▽│
├─┼─┤
│ │▲│
└─┴─┘

┌─┬─┐
│▲│ │
├─┼─┤
│ │ │
├─┼─┤
│ │▽│
└─┴─┘


パス有りルールにしてみるぜ☆

┌─┐
│▽│
├─┤
│▲│ \パス/
└─┘


┌─┐
│ │
├─┤
│▽│ \GAME OVER/
└─┘
あーあ☆! このゲームでは負けるためにしか使えないパスだな☆


場面2

┌─┐
│▽│
├─┤
│ │
├─┤
│▲│ \パス/
└─┘

┌─┐
│▽│ \パス/
├─┤
│ │
├─┤
│▲│
└─┘

┌─┐
│▽│
├─┤
│ │
├─┤
│▲│ \パス/
└─┘

千日手模様だな☆w
このゲームでは千日手にするか、わざと負けるためにしか使えないパスだな☆


相手の正面に進むと 取られてしまうし、
相手が自分の正面に来てくれないと 絶対に取れないので、

相手が自分の正面に進んでくれるのを待って、
わざと負けてくれるのを期待☆するゲームだなwwwww これでは☆w

これは 将棋にも通じる気がするな☆
このゲームでは攻めれないんだ☆ 全部受け☆w


攻めて勝つゲームを作るにはどうすればいいのか、案を思い浮かべてみるぜ☆

┌───┐
│▽HP 1│
├───┤
│   │
├───┤
│▲HP 2│ \HP制の導入だぜ☆/
└───┘

┌───┐
│▽HP 1│
├───┤
│▲HP 2│
├───┤
│   │
└───┘

┌──────┐
│      │
├──────┤
│▽HP 1▲HP 1│耐えた☆!
├──────┤
│      │
└──────┘

┌──────┐
│▲HP 1   │ \………/
├──────┤
│▽HP 1   │
├──────┤
│      │
└──────┘

攻めて負けはしなかったが 勝ててるのか☆?w

HPの多さに任せた作戦だと、相手のHPと同じだけの犠牲を払って、やっと生き残るみたいな感じだな☆
相手の正面に踏み込んで勝つには、HPが1でも上回っているときだけ☆

将棋の駒にHPは無いので、あんまり将棋の参考にならないな☆

拍手[0回]

PR

こんぴゅーたーの思考(2)



    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    開発中 http://grayscale.iza-yoi.net/article/art_s104.html
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


コンピューターがどのようにして 動いているのか、6ステップに分けてみるぜ☆

私の例だぜ☆

  ────────────────────────────────────────────────
    最初は 手がつかない

        ● % ■ ▲ & ☆ ◆ ○ ★ □ ※
        # ◆ ’ □ @ ! A _ ? ¥ ▼

        「どうしたら いいのか☆!」

                        初見
                        
see

  ────────────────────────────────────────────────
    勘で、目星を付けてみる

        ・ ・ ★ ・ ・ ・ ? ・ ・ ● ・
        ・ ・ ・ ・ ? ・ ● ・ ・ ・ ★

        「これ、いいんじゃないのか☆?」

                        多角的着想
                        
sense

  ────────────────────────────────────────────────
    作戦は1つではなく、いくつかの候補をひねり出す

        1.★★
        2.??
        3.……

        「これは無いだろう☆w」

                        多様的一覧
                        
order

  ────────────────────────────────────────────────
    せっかく いくつも候補をひねり出したが、動ける体は1つだ。
      とりあえず、候補の中から1つに絞り込んで選ぶ

        1.★★

        「よし、これで行くぜ☆」

                        評価・選択
                         
select

  ────────────────────────────────────────────────
  ▽△▽△▽△▽△▽△▽△▽△▽△大きな壁▽△▽△▽△▽△▽△▽△▽
  ────────────────────────────────────────────────
    選んだ作戦を 具体的な指示に落とす

        1.★★ → 1.上に1歩
               2.左へ5歩

                        行動変換
                        
direction

  ────────────────────────────────────────────────
    本チャンで実行する

        0.0秒~0.3秒  上に1ます歩くぜ☆
        0.3秒~1.8秒  左へ5ます歩くぜ☆

                        実行
                        play  

  ────────────────────────────────────────────────



この①~⑥は、順番に起こっているぜ☆

プログラムのソースを読んでも わけ分からんが、
この①~⑥テンプレに当てはめていこう☆





・1枚目のカードをめくったとき、2枚目のカードをめくったとき
   ①~④

・毎フレーム
   ⑤~⑥




// 書きかけ


拍手[0回]

コンピューターの思考をプログラムにしてやりたいんだぜ☆



同人ゲームを1人で作っているぜ☆
使用言語は AIMS/Lua (エイムス/ルア)☆ 珍しいかもしれないな☆
2014年11月16日(日)のイベント デジゲー博2(仮) に申し込むのが目標だぜ☆


これで2本目の作品なので、やるやる詐欺にはならないだろう☆w 多分☆


ゲーム完成までの手順としては

  1.とりあえず 下地レベルで ワンパス通す(※)
  2.コンピューターと対戦できるようにする
  3.ゲームバランスを何度も調整したり、仕様をひっくり返したりする
  4.下地だと何なので、見た目やストーリー、演出に凝る

の4ステップで進んでいくつもりだぜ☆

    ────────────────────────────────────────
    ※「ワンパス通す」……タイトル画面でボタンを押して、駒が配置されて、
               キャラが歩いて、駒を裏返して、
               図柄が揃ったら得点が増えて、得点が多い方が勝ちで
               エンディングのあと タイトル画面に戻る、
               といった一連の流れが1回でもできればOKの状態☆
               バグがあっても、絵が落書きでもOK☆
    ────────────────────────────────────────


今やっと、 2. まできているところだぜ☆


キャラクターが自動で動いている のを見ると、

  (誰が動かしているんだぜ☆? 勝手に動いていて、何か不思議☆!)

という気分がするぜ☆ 自分でプログラムを組んでいるんだが☆

ここまでくると

  (あ、やっとゲームを作っているな☆)

という実感が沸いてきたぜ☆
じゃあ、今まで何をやっていたんだぜ☆?

作業……☆w


ドット絵を描いたり、ゲームパッドでキャラが動くようにしたりというのは
ゲームを作るために必要なんだが、やっぱり ゲームは遊ぶもの なので、
人間相手でも、コンピューター相手でもいいから 対戦 したいんだぜ☆




    ────────────────────────────────────────
    この記事で言っているバージョンは、
        http://grayscale.iza-yoi.net/ に置いてある、
        『#104 将棋神経衰弱(開発中Ver)※対COM』(beta.3)
    で遊べるぜ☆
    ブログを書くなら 毎バージョン 残しておいた方がいいな☆
    ────────────────────────────────────────



でも、
コンピューターって、どうやって自動で動くんだぜ☆


私には分からなかったので、次のように やってみたぜ☆


  1.とりあえず、人VS人の、対人戦モードを先に ワンパス通す
                     (※絶対に「作る」って言わずに
                       ワンパス通す って言うんだぜ☆)

  2.押されたゲームパッドのボタンを見ているプログラムの部分を、
    ボタンがランダムに押されている、という風に書き換える

  3.でたらめに動く COMP のできあがり☆


こうやって 少しずつ改造していくぜ☆



私の経験から書くぜ☆
私のコンピューターが勝手に動く仕組みは、

  ・予め、賢くない作戦、賢い作戦、といったいくつかの作戦を練って
   プログラマーが用意しておく

  ・ゲーム中に、コンピューターは どの作戦を使うかキャラ付けされていて、
   作戦も 選ぶ優先度の高い順に並べてある

  ・コンピューターは自分の手番で、上から順に、作戦を 仮に 選ぶ。
   1つの作戦を、具体的な1~複数個の行動(※一連の流れ)に細かく分ける。
     (例)香取り作戦 → 1.左上隅まで歩き、
                2.駒をひっくり返したあと、
                3.右上隅まで歩き、
                4.駒をひっくり返す

  ・具体的な一連の行動を 仮に 順番に実行する

  ・うまく作戦を遂行できそうなら、本チャン として実行する。
   逆に、作戦に沿った一連の行動中に 妨害が入って 行動ができないようなら、
   次の作戦を 仮に 選びなおす。
   全部選べなかったら、消化試合みたいな行動を選ぶ

という流れ作業になっている☆


    ────────────────────────────────────────
    ※一連の流れ…… これを「ルーチン」と呼ぶ☆
    ────────────────────────────────────────


で、 ここからが記事の本番なんだが、


賢い作戦とか、賢くない作戦を用意しておくというが、
自分のこれから作るゲームに勝つためには、
どういう作戦があるんだぜ☆?

この作戦の内容を私は コンピューターの思考 と呼んでいる☆



ってゆーか☆

コンピューターの思考じゃなくて、私の思考だぜ☆
厳密には コンピューターは思考してない☆ww
私の書いたプログラムを なぞっているだけだぜ☆ww





はい☆ ここで国語の問題だぜ☆(≠数学) 作文に近い☆


┌──────────────────────────────────────────────────┐
    将棋神経衰弱のこんぴゅーたーのるーちん
                        作者・むずでょ

 1.
   香車は、将棋盤の角にいるものだろう☆
   だから 端っこの4隅の自陣に、自陣の小駒があれば、
   多分だけど、香車だろう☆

 2.
   桂馬は、将棋盤の上下の端っこの、左右の端から2つ目に
   いるものだろう☆
   だから、そこには 桂馬がいるだろう☆

 …
└──────────────────────────────────────────────────┘

と、雑に、ぶっきらぼうに、 思考を 文章に落としてみるぜ☆
これを、弱い文章 と、仮に名付けよう☆

  厳密に物事を特定するように書くと 記号・符号で字が読みにくくなって、
  状況説明を精密にすると文章が長くなる☆
  正確さを咎(とが)めると 数字・論理を用いて あいまいさを無くしたくなる☆

もし、
読み手に認識間違いが起こらず、状況説明がこと細かく、正確で、あいまいさもなければ
それを、強い文章 と、仮に呼ぶことにしよう☆



はい、まとめ☆

  ①好きなことを好きなだけ思いつく能力を 妄想むんむんのちから、(※)
  ②思いついた考えを筋道立てていく工程を 構想に隙がないちから、(※)
  ③弱い文章を、強い文章に仕立てる技術を コーディングのちから、(※)

と、私は 位置づけるぜ☆


    ────────────────────────────────────────
    ※妄想むんむんのちから……誤解、間違い、突飛でたらめを含めて
                 自論を好き勝手に膨らませている状態☆
                 風呂敷は広がる☆
                 アイデア☆ 足し算☆
    ────────────────────────────────────────
    ※構想に隙がないちから……妄想の無駄を枝刈りし、実の収穫をしている☆
                 その妄想、ちゃんとパソコンで動くのか☆ みたいな☆
                 風呂敷は折り畳まれる☆
                 プログラム☆ 引き算☆
    ────────────────────────────────────────
    ※コーディング……書き方の規則に正しく則って書くこと☆
             ぱっと
             if price<100 then
               buy()
             end
             みたく書ける☆みたいな☆
    ────────────────────────────────────────


で、

この3つは

  ①アイデア出し → ②プログラミング → ③コーディング

と 順番飛ばしにできない流れ作業 になっていると思っているのだが、

今、その真ん中の、構想に隙がないちから、プログラム の部分で頭を抱えている☆

  (形にせえよ)

と☆


②プログラミング と ③コーディング の違いが伝わりにくいと思うんだが、

リファレンスや、言語マニュアルを読めば ③は 解決するが、
ゲームの作り方マニュアルがなければ ② が解決しない☆
私は プログラムの能力が低い☆w


  ①ゲームの攻略法は思いつくぜ☆!
  ↓
  ②どうプログラミングするんだぜ……☆? ゲームの作り方が分からないぜ☆
  ↓
  ③Lua言語は書けるぜ☆!



②について、
今後、どんどん書いていこう☆

拍手[0回]

第4記事 『東方戦爛華』


今夜遊んでみたい積みゲーはこれ☆! 『東方戦爛華』だぜ☆

拍手[0回]

第3記事 『東方巫行跡』


今回遊んでみたい積みゲーはこれ☆! 『東方巫行跡』だぜ☆

拍手[0回]

ブログ内検索

PR



絶版・品切れ本を皆さまからの投票で復刊させる読者参加型のリクエストサイト
復刊ドットコム

ネイフィールウォーター

応援フリーエリア

デジゲー博
むずでょは、第1回から毎年 出展しているんだぜ☆

ウサギのように新品入荷☆
カメのようにまだ置いてある既刊☆

同人ソフト一押し店 さんげっと
むずでょは、さんげっと を応援しているんだぜ☆

TVアニメ「Charlotte(シャーロット)」公式サイト
ニコ生の Angel Beats! 一挙放送が 面白かったので次のも応援するぜ☆ww

プロフィール

HN:
むずでょ
性別:
非公開

最新コメント

[01/02 Free Tax Marlboro Gold Regular Cigarettes Coupons 3 Cartons]
[12/30 Hot Selling Newport Regular Cigarettes Outlet 160 Cartons]
[12/29 http://www.patersonlabs.com/Marlboro/41.html]
[12/29 http://xz84.com/Marlboro/16.html]
[12/29 http://www.paragoninks.co.uk/Marlboro/93.html]

P R