忍者ブログ

ぐれーすけーるブログ

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

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

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



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

[PR]

×

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

仕事の暗記テク ~SQLのJOIN編~

わたしの本職は IT系の仲間☆ だと思うんだが、
仕事の行く先々で データベースとSQLが登場しないことがない、
というぐらいに出てくる☆

そこで 暗記のテクを まとめたい。

SQLのJOINとは?
==============

  ~前略~
  SELECT
    d.ID ,
    d.NAME
  FROM doubutsuen d
  LEFT OUTER JOIN momonga mo ON ( mo.ID = d.ID )
  LEFT OUTER JOIN mandoriru ma ON ( ma.ID = d.ID )
  INNER JOIN fukurou f ( f.hohhoo = ma.hohhoo )
  ~後略~
 
  みたいなやつだぜ☆

  うわっ!!
  JOIN が色んな種類があって SQL難しい☆ データベース分からん☆
  と最初思っていたんだが

  やっていることは 5種類しかない
  そこで この5つの覚え方を 早見表にしたいのだが、
  一気に書くと うわっ!!難しい とやっぱり 逃げられると思うので
  重要なのは とっつきやすさ なんだぜ☆


  そこで とっつきやすい表 を考えた。

                使用フリーフォント はらませにゃんこ


  ほら、球種より絶対少ない。UFO投法とか真似しなくていい☆
  これでIT企業に勤められる☆(クビになるかもしらんが)

  
  次は 理解のテクを書いてみるぜ☆



  なんのこっちゃ☆w かも知らんが
  私はこれぐらいの理解しかしてない☆wwww

  もし、私のこの理解が間違っていれば 明日もバグを量産してるな☆www



  で、
  「JOINって なんすか?」
  と向こうの方[どこ?]で教育がやられてたんだが

  (☆wwwww それは簡単だぜ☆)
  と脳内で思っていたので 会社で言わずに ブログで書こう☆www



      (分けてるんだから、JOIN要る☆wwwwwwwwwwwwwwwww
       1+1がなぜ 2 なのかレベル☆wwwwww 哲学的難解wwwww)



  JOINの 5種類☆??
  ヌルが主役だと分かれば なんで5種類あるのか 解ける☆w



  「ぜんこうせいと めいぼ」と「わざいちらんひょう」を
  くっつける方法は 5種類ある☆

① LEFT OUTER JOIN (略して LEFT JOIN)


②RIGHT OUTER JOIN (略して RIGHT JOIN)

③INNER JOIN (略して JOIN)

④FULL OUTER JOIN (略して FULL JOIN)

⑤CROSS JOIN (ストレートJOIN)

//書きかけ


拍手[0回]

PR

プログラムどうすればいいんだぜ☆

思いついたことをメモっていくぜ☆


データ構造
===========

  条件を付けて並べる → その中から1つ選ぶ

  という2ステップを踏んでデータを引っこ抜くことが多いんだぜ、実際☆
  例えば、神経衰弱なら、
    「全てのカードのうち、めくられていないカード」
  を並べたあとに、その中から1つ選ぶ。

  いきなり 全ての中から1つ選ぶ、ということは あんまりないんじゃないか☆
  まず、要らないものを省く というステップを踏む☆



ポリモーフィズム
==================

  用意されたものを使う側に経ったときは便利だが、
  最初に作成するときの初期設定では ポリモーフィズムとか関係ないぜ☆
  細かな違いは ずっと細かく違うぜ☆

拍手[0回]

こんぴゅーたーの思考(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回]

無料ソフト『Domino』+書籍『知識ゼロからはじめる作曲』



音楽を始めてみるぜ☆
目的は 自作のビデオゲームに、BGMも自分で作って乗せることだ。

シナリオ、グラフィック、音楽、プログラム。
全部自分1人でやってみたいということだぜ☆


スタッフロールをこうしたいんだぜ。

    シナリオ
        むずでょ

    グラフィック
        むずでょ

    音楽
        むずでょ

    プログラム
        むずでょ


何がしたいのかイメージは伝わるだろう。




あっ!!

キャラクターデザインも あるよな…orz☆ まあ、私的には 世界観作りは目指してないぜ☆





でだ。

音楽というのも大げさで、正確に言うと DTMというのらしいんだが、
とりあえず目標は 古代祐三さんや、ZUNさんや、鷹石しのぶさんといった

 電子~

な感じのものを目指してみるぜ☆ ゲーム音楽というやつだ。


っていうか。
ピアノの練習はしていたのだが 音楽を理解するのに500年はかかりそうだな、
と思い始めたので 階段をすっ飛ばして もうDTM始めてみるか。というところだぜ☆






そこで、「音楽ソフト 無料」といった検索ワードで探していると

  『ドミノ』http://takabosoft.com/domino

というのが出てきて、たまたまなのだが ゲームを作るのに長年使っている無料の
ドット絵ソフト EDGE を配布している TAKABO SOFT 様のところが作っているのか、
ぐらいの理由で とりあえずこれを主軸に使ってみるぜ☆




書籍は、計算ドリルのように実践して覚えたかったので
本屋で
『知識ゼロからはじめる作曲 DTM for Beginners』(平川理雄 著/ビー・エヌ・エヌ新社)
を選んだぜ☆





さっそく1曲打ち込んでみたぜ。

Domino で [表示(V)] - [トラックセレクトペイン(A)] をチェックして
画面左端に (Piano 1)(Piano 1)(Piano 1) とか書かれた小窓(※ペイン)を出すぜ。

ここの10チャンネル(Ch.10)がドラムセットだぜ。
そういうことは知っている。




  ・クローズド ハイハット
  ・アコースティック スネア
  ・ベース ドラム

の線上を 見よう見まねで12箇所クリックする。 


うおおおおおお☆ 音楽っぽいのができた!
なんか自動作成ボタン押したらでできそうなあれが!

けれども その感動をそのままお届けすることはできないぜ☆
著作権上そのまま写すわけにもいかないので ちょっと アレンジしたぜ☆


muz001.mid

うーん、.mid へのリンクはうまく動かないか☆?




拍手[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