ご無沙汰してます。ピグもあと69日と半分ぐらい。

今日は座標系について。あとで自分でも分からなくなりそうだからメモしながら仕様決めていきました。

 

まず、以下のように用語を定義する。

用語

  • ブラウザ画面:まんまブラウザの画面

  • ゲーム画面:ブラウザの画面内に表示されるゲームの画面

    • メニューウィンドウ:ゲーム画面内に表示されるメニューのウィンドウ。「きせかえ」とか「かいもの」とか「アクション」とか「ピグトーク」とかのウィンドウのこと。
    • ゲーム世界:アバターが動き回るゲーム内の世界の画面。メニューウィンドウは、この上にかぶさって表示される。以下のものを含む。
      • 背景
      • 家具とかのオブジェクト
      • アバター

この用語を元に、以下のように座標系・座標を定義する。

座標

  • ブラウザ画面上の座標。左上が原点(0, 0)。絶対値。単位ピクセル。
  • ゲーム画面内の座標。単位ピクセル。
  • ゲーム世界内のマス目。キャラが移動する単位。出入口が原点(0, 0, 高さ0)。単位マス。高さは、床の高さが0。キューブブロック1個を高さ16、アバターの背の高さを高さ32に決める。
  • Z-Index (ゼットインデックス)。手前の物体と奥の物体が重なってるときに、どれが手前でどれが奥かっていう順番のこと。基本的に以下の順番になる。
    • 0 : 最後にクリックしたメニューウィンドウ
    • 1 : 0のウィンドウより前にクリックしたメニューウィンドウ達
    • 2 : ゲーム世界内のアバターで、一番下(※)のマス目にいる人。クリックしたらプロフィール画面を表示する。
      • 「一番下」は、正確には高さも計算に入れて「視覚的に一番手前」のこと。例えば(-10, -10, 高さ0)よりも、 (-11, -11, 高さ16)の方が視覚的に手前になる。(-12, -12, 高さ32)はもっと手前になる。
    • 3 : ゲーム世界内のオブジェクト(家具とか)で、一番下のマス目にあるやつ。クリックしたら、キューブみたいな「乗れる」アイテムだとアバターがそこに移動する。椅子みたいな「座れる」アイテムでもアバターが移動して、そのあとに「座るアクション」をする。
    • 4 : ゲーム世界内のアバターで、二番目に下のマス目にいる人
    • 5 : ゲーム世界内のオブジェクト(家具とか)で、二番目に下のマス目にあるやつ
    • 最後 : ゲーム世界内の「床」オブジェクト。ここをクリックしたらアバターがここに移動するし、ドラッグ&ドロップしたらブラウザ画面内でゲーム画面が移動する。

こんな感じで。何か不都合が出てきたら仕様変更します。

前にるーすぃーさんが描いてくれた頭身のやつをトレースして、アバター仮の第2弾を描きました。

描いたというか、SVGデータを作成しました。

なんでか、るーすぃーさんのより頭身が長めになってる気がするし可愛さが明らかに減ってるんだけど…。。。

 

何はともあれ、この画像を使って、ちょっとプログラム進めようと思ってます。

 

前回の記事はこちら

 

とりあえずMongoDB (モンゴデータベース) をインストールしました。

で、コマンドプロンプトからローカルでMongoDBを起動。

データ追加、データ検索、データ上書きの基本コマンドを実行して動くことを確かめました。

あとデータ構造のJSON (ジェイソン) についてもなんとなく解った。

 

参考にさせていただいたページ:https://qiita.com/saba1024/items/f2ad56f2a3ba7aaf8521

 

続く?

いただいた名前の案を載せていきます。随時更新です。

 

ゲーム名:

・豚

・仲良し

・OHANA Online (ハワイ語で家族)

 

グッピグ:

・めちゃシコ

ピグとも:

・愛人

・嫁

きたよ:

・床に残った怪しいシミ

アメ:

・玉

コイン:

・金玉

おでかけ:

・出所
 

ピグ作る上で、やったことなくて、一番の課題だと思ってるのがデータベースです。

 

データベースには大きく分けて2つあって、それぞれ特徴があります。

  • SQL(エスキューエル)系:RDBMS(関係性データベース管理システム)とも言う。銀行とか、企業の会計とかで昔からよく使われてる。昔ながらのキッチリしっかりした”お堅い”データベース。血液型で言うとA型。
  • NoSQL(ノー・エスキューエル)系:最近はやりのやつ。ツイッターとかインスタとかフェイスブックとか、大体こっちに切り替わってるらしい。スピード重視で、内部のデータ構造がゆるい。血液型で言うとO型。

ピグのイベントで会ったHopStepJumpさんから、ピグはチャットだったり、着替えたり、模様替えしたりで、スピード重視なので、NoSQLが良い…とアドバイス貰いました。

それとは別に、もうずっと前に、ピグとのピグともの人から、MongoDB(モンゴデータベース)が良いよ!とオススメされてました。MongoDBもNoSQLの一種なので、取り合えず、これを使うつもりで今色々いじっています。

 

動きました!っていうブログを早く書けるようにがんばります。

 

次の記事:データベースについて 2