ゼロからはじめる Processing | 第0回 : Processing をはじめよう

「ゼロからはじめる Processing」シリーズは、これからゲーム制作をはじめる方のための、Processing (プロセッシング)でプログラミングの基礎を学べる連載記事です。

Processing を用意する

ダウンロード

Processing は processing.org (公式サイト) から無料でダウンロードできます。
(以下は2018年4月現在のダウンロード手順です)

1. 「Download Processing」をクリック

2. 使っているOSと同じ版を選ぶ

起動する

ダウンロードしたZIPファイルを展開すると、 Processing の実行ファイルが出てきます。

この実行ファイルを開くと Processing が起動します。

Processing の開発画面

Web上で Processing を使う

Processing をうまく導入できない場合、オンラインで Processing プログラムを作成・共有できる 「OpenProcessing」 のようなサービスを使うこともできます。
OpenProcessing はアカウント登録が必要ですが、すぐにブラウザで動くという点では手軽ですね。

OpenProcessing を使う際の注意点

初期設定では、右側のバーにある Mode が P5js になっています。
この記事では本家 Processing の文法で書いていくので Processing.js に切り替えます
(P5js モードでは JavaScript で書く必要があります)

「Mode」 を 「Processing.js」 にする

はじめてのプログラム

Processing のプログラム編集画面に、以下のプログラムを打ち込んでみましょう。
void setup() {
  size(300, 300);
  frameRate(30);
  textSize(20);
}

void draw() {
  background(24);
  text("Yeah", 125, 150 + 100 * sin(frameCount / 15.0));
}

このプログラムを実行して、「Yeah」という文字が上下に移動すれば成功です。



以上で今回はおしまいです。

次回からは Processing を使っていろいろなものを作っていきます。お楽しみに。



おまけ : なぜ Processing がオススメなのか (蛇足)

PIST メンバーの多くは、ゲーム制作に Unity というゲームエンジンを使っています。Unity では C# というプログラミング言語を使います。
「なら最初から C# をやればいいじゃん」と言いたくなりますが、C# は構文が豊富で複雑になっているので、本当にはじめてという方にはあまりオススメできません。

入門にはC言語がよく使われますが、コンピュータの構造に振り回されがち(特に文字列の扱い)です。ゲーム制作のためのプログラミング入門として、もっと本質的で扱いやすい言語があるはずです。

代替候補のなかでも、有望だと考えているのが Processing です。
  • 手軽
    入手・利用しやすいです。また、OSに依存せずに動作します。
  • 構文がシンプル
    書き方が簡素なため、理解や習得をしやすいです。煩雑な記述を「おまじない」と呼んでうやむやにする必要はほぼないといってよいと思います。
  • C言語に似ている
    書き方がC言語に似ているため、あとからC系文法のプログラミング言語 (C/C++, Java, C#, JavaScript, etc...) を習得しやすくなります。
  • グラフィカル
    一般的なC言語の入門ではコンソールベースで開発することになりますが、「ゲーム制作のための」となると、CGを扱えるProcessingのほうが好ましいです。
    また、C言語の Segfault (Windows であれば「動作を停止しました」や「Assertion Failed!」) のようなわかりづらい実行時エラーと格闘することも少ないです。
  • ただの学習用言語にとどまらない
    ちょっとした動画作成、CGアルゴリズムの試作、ミニ Android アプリ制作、Arduino との通信……など、発展させていくこともできます。
例年 Unity でプログラムを書くときに困ってしまう方が続出するので、Processing がうまく役立てばよいなあ、と期待しています。

Processing 公式サイト : https://processing.org/
OpenProcessing : https://www.openprocessing.org/

コメント