Processingゲーム開発を通して何を感じたのか

昔書いたやつがそのままになっていたので供養

過去に書いた文章が残っていたので当時の文章そのままで公開し、供養します。

 

 

 

 

Processingという言語を用いてゲーム開発を行い何を感じ、学んだのかを文字に書き表わしたいと思います。

この記事を読む前に

先にこの記事に目を通していただけるとこの記事が読みやすくなると思います。

Processingでブロック崩しを作った

なぜわざわざProcessing?

縛りプレイをしている感覚

様々なツールが存在する昨今では、ゲームプログラミングといえばUnityなどのツールが思い浮かぶと思います。

そんな中、このProcessingという言語を用いてゲームを作るというのは、自分には縛りプレイに思えました。(Unityだったら当たり判定がGUIで緑の箱動かすだけでできるんだぜ…)

なんだこれ、Processingで書くことに意味があるのか?と最初思っていましたが、開発が中盤に入ると意味があることに気づいてきました。

わざわざProcessingで書く意義

Processingには、Unityのような当たり判定や摩擦係数などの計算を自動でやってくれるような便利な機能はありません。C#などでお馴染みの静的表現staticもありません。(staticのありがたみを感じた)

そんな中わざわざProcessingで開発を行う意義の一つに「基礎的なプログラミング能力が身につく」ということが挙げられます。ここで言う”基礎的なプログラミング能力”とは条件分岐の仕方、ループ処理の仕方のようなものではありません。ここで言いたい”基礎的なプログラミング能力”とは、Unityでかんたんに実装できる「動摩擦係数」はどのように記述すると実装できるのか、C#で便利なlinqを使えない状況でどのようにデータを管理するのかといった部分です。これはソートアルゴリズムを自分で実装して勉強する行為に非常に近いと思います。

また、Processingは描画にとても強い言語です。結果が目に見えてわかる部分が教育の面で評価されています。海外の学習サイト「Khan academy」でもProcessingは採用されています。(厳密にはProcessing Jsですが…)

スケジュール管理ができない者は死ぬ

予想していた期限より短かった

納期が予想の5日早かったです(死)

本当の納期を知るまで余裕ぶっこいていたので、ぎりぎりになってから進めるという行為の愚かさを体を持ってして感じました。

エナジードリンクはエナジーを与えない

結論 : あれは体力の前借りです。

自分は色々とヤバイ時、気合い入れとしてモンスターエナジー(魔剤)を飲むのですが、本当にアレは体に悪いものだと思います。

モンスターエナジーの説明文にちゃんと書いてあります

エナジーを開放せよ!

エナジードリンクはエナジーを与えません。(明日の分の体力を前借りして)開放しているのです。

競技プログラミングが役に立ったと初めて実感

ファイル管理関連アルゴリズムで活躍

入力を受け取り、読み取りやすい形に加工し、実行する。競技プログラミングの基本動作が活きる場面でした。

体感的にはABC-C問題程度のアルゴリズムを組んでいたと思います。少ないコード量で、簡潔にアルゴリズム組めたと思います。

ソースのリファクタリングがうまく行った(気がする)

気がする(二度目)

「無駄な高速化は行わない」「解決すべき処理を適切に考える」などの競プロの精神が生きたと思います。思ってるだけかもしれません。

自分で調べて動けるやつは強い

プログラミングを始めて三ヶ月の友人が目を見張るほど成長した

プログラミング初めて三ヶ月の友人が抽象クラスと具象クラス使いこなしてるんだぜ?すぐ抜かれるわ…

プログラミングを初めて学ぶ友人らを観察していて気づいたのが「自ら進んで情報を手に入れに行く生徒は強い」ということ。

また、質問の仕方にも大きな違いが出ていると思います。大半の人が「~を作りたい、どうすればいい?」という漠然とした内容の質問をしますが、自ら調べてくる系の人は「~を作りたい。今までは~のアプローチでやってみたけどうまく行かなかった。どうすればいい?」と具体的な質問をする人が多いように感じました。”自分で調べる力”について、もう少し考えてみたいと思う経験でした。

ソースコード管理システムは必須

使用していなければ即死していた状況があった

マスター前日、食事はカロリーメイト、魔剤を決めて限界開発をしていた頃のお話。

実装がうまく行かず、焦ってとんでもない実装をして手に負えなくなってしまった時に助かりました。精神的に滅入っているときには突拍子もない非合理な判断をしてしまうという経験もしました。

 

以上、Processingを用いてゲーム開発をして感じたことでした。

Atria
  • Atria
  • 大学生個人開発者| AtCoder(茶) / C# / VBA /その他趣味いっぱい