※この記事は会話形式にリライトしました。
こんにちは! ロブスタのハルです。
ここまで基本編、練習編と続いてきましたがRoblox Studioの操作には慣れましたか?
これから始まるLua言語講座ではLua言語と呼ばれるプログラミング言語を使って実際にゲームのプログラムを作っていきたいと思います。
第1回はそもそもプログラムとは何か、そしてLua言語の特徴やプログラミングならではの考え方について紹介していきます。
Lua言語講座の進め方
各見出しの冒頭には生徒役のたかし君と先生の会話が書かれています。
まずは会話を読んでなんとなくこういうものなんだなということを確認しましょう。
もし余裕があればその下の解説も読んでみてください。
最初はわからなくても2周、3周とするうちにわかるようになります。
プログラムとは
――ある日の会話――
先生、ゲームを作りたいんですがプログラミングが全くわかりません…
大丈夫ですよ。一緒に勉強しましょう。
お願いします!
そもそもプログラムって何だと思いますか?
うーん、アプリとかソフトみたいなイメージです。
いいですね。
プログラムというともっと広いものを指していて、
一言でいえば『コンピュータを動かすための命令』のことなんですよ。
解説
プログラムとは一言で言うとコンピュータを動かすための命令のことです。
コンピュータは人間と違って自分で考えるということができません。そこで、私たち人間がコンピュータにやってほしいことを伝える必要があるんですね。その方法としてプログラムを使っているわけです。
昔はスイッチを手動で切り替えたり、紙に穴をあけてそれを読み込ませることでプログラミングをしていたそうですが、時代が進むにつれてプログラミング言語でプログラミングするという方法が一般的になってきました。
プログラミング言語について
――ある日の会話――
なるほど、プログラムは命令のことなんですね。
それじゃあ、その命令はどうやって書かれているんですか?
いい質問ですね。
現在はプログラミング言語を使ってプログラムを書くのが一般的です。
解説
現在ではたくさんのプログラミング言語が開発されています。それぞれ得意とする分野や実行速度、書き方などに違いがあり、必要に応じて言語を使い分けることもあります。どんな言語があってどんな特徴があるのかは各自で調べてみてください。
Lua言語
――ある日の会話――
たかし君は何を使ってゲームを作るのか決めていますか?
Roblox Studioを使おうと思っています。
なるほど、ではLua言語について勉強した方がいいですね。
Lua言語って何ですか?
Lua言語はRoblox Studioで使われているプログラミング言語です。
文法が比較的簡単で、動作が速く、ゲーム開発に向いている言語なんですよ。
文法?
英語みたいに勉強しないといけないの~?!
解説
RobloxではLua言語と呼ばれるプログラミング言語を使って開発するのが主流なようです。PythonやJavaScriptなどの人気のある言語を使って開発することもできなくはないのですが、情報が少ないためこのサイトでは素直にLua言語を使うことにします。(プログラミングにおいては情報の多さが大事だったりします)
Lua言語はスクリプト言語という括りの中にある言語で比較的簡単に書くことができるという特徴があります。また、動作が速いためゲーム開発(簡潔なイベント処理など)に利用されることが多いようです。
このシリーズではLua言語の文法を実例を交えながら解説していきたいと思います。
なお、正式にはLua言語ではなくそれを改良したLuau言語というものが使われていますが、このサイトではLua言語として紹介します。
プログラミング独自の考え方
――ある日の会話――
先生、プログラミング言語って英語みたいに勉強しないといけないんですか?
人によりますが理解できれば英語より簡単ですよ。
本当ですか?
英語は読む・書く・話す・聞くといったことに加えて表現の幅も大きいですからね。
それに比べてプログラミング言語は決まったルールがあるので覚えることはそこまで多くないんですよ。
なるほど?
少し安心しました。
せっかくなので基本的な考え方を勉強しましょうか。
はい!
プログラミングの基本は『上から下に実行される』ということです。
えっ?
それだけですか?
簡単だけど大切なことなのでしっかり覚えておいてくださいね。
解説
プログラムは基本的に上から下に向かって実行される決まりになっています。ある程度規模の大きいプログラムになると関数という手段を使ったり、さらに規模が大きくなるとクラスという手段を使うことが多くなります。
参考までに主流なプログラミングの考え方を紹介しておきます。
1つは手続き型プログラミングです。これは基本となる考え方で、処理内容を細かく手順通りに書いていく方法です。基本的には上から順番に記述していきます。イメージとしてはレシピですね。また、関数というものを定義してそれを使うことで処理を行うこともあります。シンプルで処理が追いやすいというメリットがあります。
もう1つはオブジェクト指向型プログラミングです。この方法では機能を持ったまとまりをモノと考えて、モノ同士にやりとりをさせます。イメージとしては私たちが社長になって、社員に仕事を渡して働いてもらうというものです。汎用性に優れており、変更しやすいという利点があります。一方で複数の事柄から共通点を抜き出すという考え方が必要です。そのため初心者にとってはクラスを作るのは難しいです。
その他にも手続き型プログラミングをより厳密にした関数型プログラミングというものもあります。
最後に
――ある日の会話――
たかし君、プログラミングについてなんとなくわかりましたか?
プログラムはコンピュータを動かすための命令で、私たちはプログラミング言語というものを使ってその命令を作るんですよね。
そして、プログラミングで大事なことは『上から下に実行される』ということでした。
素晴らしい!
次回はプログラムの書き方について説明しますね。
よろしくお願いします!
まとめ
- プログラムとはコンピュータに与える命令のこと
- RobloxではLua言語を使う
- Lua言語はスクリプト言語で実行速度が速く簡単に書けるという特徴がある
- プログラムは『上から下に実行される』!
- プログラミングには手続き型・関数型・オブジェクト指向型という考え方がある
- コードを書くのは簡単だが処理を考えるのが意外と難しい
- トライアンドエラーを繰り返すことが大切
お疲れ様でした。第1回は以上です。
次回からは実際にコードを書いていきたいと思います!
コメント