本記事はクラスター Advent Calendar 2024 4日目の記事です。
前日は私 @n_mattun が所属しているスタジオチームで稼働している バッテリー残量みえるくん の話でした。今日はスタジオから離れてClusterScriptの話です!
ClusterScriptを覚えるなら今がちょうどいい!
clusterでゲームっぽい何かを作ってみたい!でもスクリプトとかプログラムとかちょっとよくわからない・・何か覚えるきっかけがあればなぁ・・
という人、きっと大勢いるんじゃないかなと思います。
そんなあなた!!チャンスです!
ClusterScriptは!今!今がちょうどいいんですよ!!!!!
どういうこと?
プログラミング言語って、言語そのものが成長すればするほどできることが増えていって、それ自体はもちろん良いことではあるのですが、そのぶん、これから学んでいこう!っていう人から見たら
えっ、なに?知らない言葉がめっちゃいっぱい並んでる・・これ全部覚えないといけないの・・・?え、いや怖っ!?わからん、なんもわからん・・・
という感想になることは多分にあると思うんですよ。
かつて私も学生時代、はじめて触れたプログラミング言語がその当時ではこの文脈でいう所の"成長済みのプログラミング言語"だったので正直言って怖いものに触るような思いを持ちながら勉強をしていたものですが、その後のキャリアで好きになったプログラミング言語はどれもその時代の技術の成長と共に機能が充実していってくれたおかげで、
- 言語側が手頃に(=覚えられる範囲で、基本的な)欲しいものが揃ってる
- 作ったものは自分で触れて結果が確認できてわかりやすい
- 覚えた頃に今度は言語側が成長する
- それに合わせて自分も成長していく
というステップアップを無理なくこなすことができたんです。
で、今のClusterScriptがまさにこのステップで進めるちょうどいいタイミングなんですよ!!
というワケで、ここではそのちょうどいい規模感を元に、何もわからん状態から、ゲームっぽい何かを動かす最初のステップに進むための考え方を紹介してみたいと思います。
※注:なお、本記事は筆者個人のイメージを元に書いているものなので、解説内容や表現方法が公式のクリエイターズガイドやリファレンスとは異なる部分もあるかとは思いますがご容赦くださいませ。
何かを動かすことは「動き始めるきっかけ」と「動き方」の組み合わせ
ClusterScriptにおけるゲームっぽいものを作る時のプログラミングの考え方は、誤解を恐れずに言ってしまうと動き始めるきっかけの中に動き方(これこれこういう風に動いてね)の指示書をつらつらと書いていくようなものです。
例えば、もぐら叩き風のゲームを作ってみよう!と思い立った場合、
ゲームとして必要な仕組みはこのへんかなと思います。
▼ゲームの進行を監理する仕組み
・もぐらを押したら|ゲームが始まる
・ゲームが始まったら|得点と残り時間を最初の状態にする
・ゲームが始まったら|もぐらがどこかに動く
・ゲーム中はずっと|残り時間を減らし続ける
・残り時間がなくなったら|ゲーム終了して結果を出す
▼ゲームの核となる当たり判定と得点の仕組み
・もぐらを押したら|得点が足される
・もぐらを押したら|もぐらがどこかに動く
制御したい物事に応じて作るものは色々ありますが、
いずれも動き始めるきっかけと動き方の指示の組み合わせでできていることがわかると思います。
というわけでここからは具体的にコードを見ていきましょう!・・・と思ったのですが、説明を丁寧に書いてたら筆がのってしまって文章量がそこそこ長くなってしまったので続きは「実戦編」として別日の記事にしたいと思います。
明日は @baku_dreameater から「スクリプト関係の何か」でーす!