しゅーぱカンファ3お疲れ様でした

本日のしゅーぱカンファ、お疲れ様でした!

みんなほんと個性的で面白い方々でほんと楽しかったです!(小並感)

いろいろとありましたが、各自面白いLT、楽しませていただきました。

Wyte Engineでスライド作るサプライズ、反応してもらえてよかったです。ぶっちゃけると、前日までこれつまんないかもなあ(´・ω・`)とか考え込んでしまってたんですよ。よかったよかった。

なんか面白いですよね。僕は前日になって初めてしゅーぱか氏とFF関係になったと思ったらなぜか参加してるし。オタク同士の好きなものプレゼン、それぞれ分野が違うからこそ、うまく釣り合いが取れて、こういう機会ってものすごく重要なんだなあって思いました。

みなさん、前日まであまり寝ずにツイッターしてた人もいたので、今日はゆっくりお休みください。特に主催者の方々。

それでは、またいつかの機会にまたこういうイベントがありましたら参加したいと思います。またいつか。

P.S. クソアプリ、まだ公開できていないので帰ったら公開します><

楽曲管理を刷新しました

ここ数日をかけて,楽曲管理の方法や規格などをすべて新しくしました

通し番号の変更

これまで使用していた通し番号は C023 LC001 といったものでした.

Cxxx としていたものに加えて,通し番号管理をしていなかったレガシーな曲に暫定的にふった LCxxx この2つの通し番号は,混乱の原因でした

新しい通し番号は,これらを統合します.

XEL_001 XEL_005v2 XEL_023A といった形で記述します.従来の Cxxx は,すべて XEL_xxx と読み替えられるように番号振りをしました. LCxxx は, Cxxx における欠番,また最後の番号から順番に配置しています.

さらに,編曲に携わった曲も通し番号を設けました.

ARG_001 といった形で記述します.

SQL での管理

これまでは,Google スプレッドシートでなんちゃってデータベースを実現していましたが,今回の大規模な改訂に伴い,MySQLで管理するようになりました.

また,APIの提供も開始しました.

これから,特設のポータルサイトを作成し,そこでいつでも楽曲を視聴,検索することができるようになります.

ひとまず,APIを触ってみたい方は次のURLにあるので使ってみてください.

https://api.citringo.net/musica/v1/list

https://api.citringo.net/musica/v1/search?keyword=DM

https://api.citringo.net/musica/v1/search?keyword=ARG

https://api.citringo.net/musica/v1/relative/XEL_012

回数制限などは特に設けていませんが,あまり負荷をかけるような使い方をするのはやめてください.悪質な場合,IPブロックなどの措置を行います.

【ハングアップ】GitHubにプッシュできないときの対処法

GitHubにpushしようとしたところエラーも出ずに固まってしまったのでメモ

今朝,なんとなくpushをしようとしたらこんな感じでフリーズしてしまった.

Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 333 bytes | 166.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.

この後に master云々とか出るのが正常な挙動なんだけど,このまま完全にフリーズしてしまう.^Cを押すしかない.

はじめ,gitコマンドに問題があるのかと思って更新したがなおらずorz というか昨日までできてたmac上のリポジトリでもできなくなっていた.


すごく強引だけど,対処法としてGitHubのリポジトリを一旦削除して,また同じ名前で作成した.

するとどうだろうか.

Counting objects: 29, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (29/29), 28.36 KiB | 2.36 MiB/s, done.
Total 29 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/Citringo/musica-api
 * [new branch]      master -> master

キタ━━━━(゚∀゚)━━━━!! (死語)

かなり強引すぎるので,もっといい方法があるよとか,ツッコミお待ちしてます(´·_·`)

昔のゲームと今のゲームの「セーブ」

Wyte Engineを開発してる時に思ったこと.

思ったけど,スマホゲームにおいて,明示的にセーブさせるのって,不親切なのかなって.

有名所のスマホゲーム,どれも基本的にオートセーブされるのが多いと感じた.

いわゆるコンシューマーゲームって,セーブポイントがあってそこでデータを保存するものだけど,スマホゲーユーザーにとって多分それは不親切なのだろうなあって思った.

セーブポイントで明示的にセーブするタイプのゲームは,ボス戦前に保存することでそこからやり直しができたり,マルチエンディングだったりすると,セーブしてからバッドエンド見て,セーブデータ読み込んでトゥルーエンド目指す〜みたいなことできるわけですやんか.

Wyte Engineはクロスプラットフォーム対応を目指している(仮想ゲームパッドとPC向けのキーコンフィグ/ゲームパッドコンフィグを実装する)わけだし,うまく歩み寄りたい.

というわけで,一つ思いついた.

ゲームをそのまま終了した場合,ゲームの電源を切らずに放置した あるいはNintendo DSでいうスリープ状態みたいな挙動をさせる.

メニューから [タイトルに戻る] みたいなボタンを押してタイトルに戻ると,いわゆるコンシューマーゲームにおける電源を切った状態になる.

一見挙動が一致しなくてわかりにくいかもしれないけど,[タイトルに戻る]を押した場合,セーブ前の状態に戻るという表示をすればいいかな.

なんか異論とか,代替案とかあったらコメントしてね.

アイデアの浮かぶとき

ここ最近,ろくにUnityも立ち上げずにゲームのシナリオ考えたり新しい企画を考えたりしてる.現実逃避と言うべきなのだろうか,単純に今はそういうシーズンなのか.

僕はプログラムの書き時と音楽の作り時が周期的にやってくる性格をしているようで,数年前からそのような気がしてる.メロディがバンバン浮かぶときって,プログラム書く気がまったく起きなくて,逆も然り.面白いぐらいにそんな周期があるのだ.

なお,このどちらの場合においても,ゲーム開発のことを考えている.何かゲームを作る時,メロディが浮かべばゲームの世界観を考えながら曲を作るし,コード書く調子がいい時,ゲームプログラミングを無限にし続ける.

ここ最近はどちらも微妙で….何をしてるかといえば開発中のゲームシナリオを練り直したり,また他の企画を考えたりしてる.

なんかいろいろやってる自覚はあるんだけど,成果物が全くないのが悩み.周りの目には僕は生産性がないように映っているだろうと怯えている.

というか,ここ最近文章書くの好きみたい.ブログがここまで更新されることないでしょ(普段から記事を書けよって怒らないでw)

とまあなんかいろいろアイデアを考えてます.実るかは別として,思いついたアイデアをメモっておくと,後々追記することでどんどん熟していくので,面白い.完成するのかは知らない.

面白いゲームにするため

僕は今、ゲームを作っている。そのゲームはシナリオを持つ。

シナリオは、作る人の癖がすごく出ると思っている。僕はシナリオを書くのが苦手だ。書いてるときはテンション上がってて、いいゲームになるゾ〜〜って書いても、数ヶ月後見返すと恥ずかしくて見ていられなくなる。

良いゲームとは何か、僕はここ数日間考え続けていた。

2017年の終わりには、数々のゲームに触れた。アンテ、ポケ森、どうぶつタワーバトル、マリオオデッセイ。様々なゲームを遊んだり、考察サイトを見たりしてなるほどとおもったことがあった。

面白いとおもったゲームは、どれも目標が明確で、そしてそれをこなすことが気持ち良いのだ。いや、むしろこれはゲームとして必須であるべきだ。しかし、今現在の僕の構想は、必ずしもこの論理を満たせるのか確信が持てないものだった。

数年かけてゲーム制作をするつもりだが、苦労の末に生まれたゲームが自己満足で終わってしまうのは最悪でしかない。

一度、世界観を含めすべて見直してみることにする。時間をかけることは変わらないが、その時間に見合うほど僕が、そしてプレイヤーが満足できるような素敵なゲームになるように。

Wyte Engineとは

各所で僕が言及している「Wyte」についてまとめます

概要

基本的にはUnity上で構築される2Dアクションアドベンチャーゲーム用のエンジンになる予定

機能

  • プレイヤースプライトおよび左右移動、ジャンプ、ダッシュ
  • スマートフォンとPCの両方に対応したUI
  • プレイヤー以外のスプライト(NPC)
  • NPCやその他のトリガーによって実行可能なイベントシステム
  • アイテムおよびフラグ機能
  • カメラ制御
  • その他ゲームに応じた機能拡張

用語集

スプライト

画面上で自由に動き回れたり、専用の動きが存在するオブジェクト。

フラグ

アドベンチャーゲームには欠かせない、物語の進行状況を留めておく機能。

アイテム

物語において主人公が手に入れるものである。使うことでイベントのトリガーとして機能したり、逆にイベントのためのフラグのように使うこともできる。

NPC

Non Playable Character の略であり、プレイヤー以外のキャラクターを表す。敵や対話キャラ、看板などがこれに該当する。

トリガー

イベントを実行する条件のこと。次の場合が存在する:

  • 特定の地点に到達した
  • NPCに干渉した(話しかけ, 攻撃, すれ違いなど)
  • アイテムを使用した
  • その他

イベント

アドベンチャーゲームには欠かせない、対話や動き、語りなどを表現するための仕組みである。簡易言語によって書かれ、次のようなことを行える:

  • スプライトの移動,アニメーション,表示/非表示
  • セリフの表示
  • BGMの再生/停止
  • 効果音の再生
  • 画面のフェード
  • カメラの移動
  • 選択肢の表示
  • フラグの判定と分岐

予定では11月までに技術デモを公開します。その後から、新作の開発を開始します。