プログラム初心者が一から始めるゲーム制作

ゲーム作りたい...作りたくない?

ひと段落と進捗報告

どうもです!制作していたゲームがひと段落ついたので面倒くさくなる前にここで報告しておきます。

⑴ゲームの概要

 前回の記事で"神経衰弱と逃げゲーを合わせたようなゲームを作る"と書きましたが、全くその通りです。プレイヤーはヒロインをwasdで動かしてトランプの側に行き、スペースでトランプをひっくり返します。2回裏返して同じ柄ならば正解、違う柄ならば不正解となります。全て正解したらクリアです。

 出現する敵ですが、毎秒約1パーセントの確率で出現する敵と、不正解の場合のペナルティで出現する敵の2パターンあります。ただしまだ1種類(パックと名付けました)しか実装してないです。このパックは出現してからランダムの方向に移動します。もちろん触れたらゲームオーバーです。

今後進める必要のある物

ゲームセレクト・ゲームオーバーの演出:今はクリアしても死んでもスクリーンが強制終了するだけです

敵の出現・消滅エフェクト:今はぱっと出てぱっと消えます 

敵の種類を増やす:これについてはなかなかアイディアが出てこないんですが、ヒロインに向かってビーム撃つ敵とか、道を封鎖する敵とかがいれば面白そうですかね

パック君迫真の移動を治す:やってみるとわかるんですが、パックの画像を90°回転させただけの画像で移動モーションを作っているので、気持ち悪い動きをします

⑵過程

 とりあえずいきなりゲーム作るのは難しいと思ったので、神経衰弱をまず作って、そのあとで敵を実装しようと思いました。マウスでトランプをクリックして裏返す方法だったんですが、これが案外大変でした(ここら辺のコードの解説とか書き置きとかもやっておけばあとあと便利なので考えておきます)。その後wasdで動くヒロインを作って、ランダムで動く敵を作って、敵とヒロインの接触判定作って、とこんな感じです。記事を書く分には簡単ですけど、知識不足の僕にとっては地獄のような2か月でした...

⑶デザイン

 最初は何もかも†インターネット†に頼ろうと思ってたんですけど、低px(16~48)の欲しい画像は案外なくて、ほとんど自分で描きました。ヒロインの画像だけここから頂いたから見とけよ見とけよ~

---旅のヤドカリ---

⑷ゲーム

本当はここにゲームプレイ中の動画とかゲームのzipとか入れたかったんですけど、ちょっとやり方がわからないのでカミングスーンってことにしてくれませんか

進捗報告

お久しぶりです。

ゲーム制作を本格的に始めました。

夏休み中にどれだけ進むかは別として自分で構想から考えてゲームを作っています。内容としては神経衰弱と逃げゲーを合わせたようなもので、画像や音声データは様々な場所からいただく予定です。つたない知識での一人制作なので進行は遅いかもしれませんが見守ってください。今はこんな感じにプレイヤーとトランプを配置して移動させる感じになっているだけです。(これで2週間以上はかかりました)

f:id:tattsu-4849:20160810161150p:plain

ゲーム制作を踏まえたプログラムの勉強を開始してて3か月ほど経ってきたわけですがいろいろと気づくことがあったのでまとめました。

①プログラムが読めるようになってきた

今までは元あったプログラムを写して書いてきたためにプログラムの流れというものがイマイチ掴めなかったのですが、自分で書いていくとこれがこうなってて...みたいな感じに理解ができるようになりました。

②プログラムの知識だけじゃゲームが作れない

メチャクチャ当たり前なことなんですけどゲームを作るのにはそのアルゴリズムだとか構造だとかに知識を振っていないと進められないというのを実感しました。今作っている神経衰弱にしても(僕としては)複雑な構造になっているのでそこらへんもきっちり勉強しようと思います。

③ゲーム作るのも、なかなか難しいねんな

せやな

5月報告

 

 ブログ開設から1か月が経ちまして、ブログを更新する季節となりました。遅めですが。前回は紹介程度で終わってしまい、どのような形のブログとなるのかを説明していなかったので今回はそれを踏まえて進めていきます。

 今月行ったこと(その月に何を学習したのかを記載したり、作品を公開したります。)

pythonについてある程度の超基本知識を習得し、目的であるゲーム制作のためにpythonのゲーム制作用ライブラリであるpygameについての勉強を始めています。

(pythonについての超基本知識は以下の2サイトで習得しました)

dotinstall.com

www.python-izm.com

 

pythonとゲーム制作というワードで調べたところ運良く初心者用の開設がなされているサイトを見つけることができ上記のpygameを学習し始めました。

aidiary.hatenablog.com

5月、6月を使ってこのサイト内にあるものを一通り学習しゲーム制作に必要な知識を蓄える予定ですので、作品公開は6月の報告時になると思います。

学習するにあたって

前回掲げた目標を達成するためには、いくつかの言語を習得する必要があると思いますが、ここで学ぶときにはいくつかの方針をたてていきます。

 ①なるべく作りたいものを決めてから学ぶ

 ②コピペをしない

 ③わからないものはとりあえず調べるか飛ばす

以上の3つです。①と③はいままで自分がプログラミング以外でも、何かをするたびにつっかえたり上手くいかないときの原因だと考えています。特に①は、何かを学びたくても何も習得できなかった高校時代を教訓にしています。6月までの作りたいものは、pygameの記事の最終稿にあるRPGを改変したものとなっています。

タイピング投稿

 f:id:tattsu-4849:20160607003514j:plain速度と精度どちらも落ちましたね

 6月の課題

pygameの記事(私はチュートリアルと考えています)を全て学習し、自力である程度のゲームが作れるようになる 

 

 自論

以下は日記またはポエム程度ですので読んでも閉じても構いません

高校時代には様々な苦い思い出があります。その中で "ものづくりをする部活に所属しておきながら、ものを作ることが1度としてなかったこと" が高校時代最大の後悔物です。当時の自分は技術力のある友人に出会い、その人たちの制作したロボットやゲームを見て自分も技術力を上げたいという思いがありました。更にプライドがクソ高く、人にものを教えてもらうことが苦手というかむず痒くて、なるべくそうならないように振舞っていました。しかしそんなこんなで1年が経ったころは悲惨で、技術力を上げるどころか、自分の居場所を失ってしまい自然と幽霊部員になっていたのです。周りはロボコンなどの様々な大会で結果を残していく中、自分はその報告を聞いて焦りと嫉妬心が生えるだけで、結局自分で何かを作ろうとはしませんでした。

結論としましては、自分のものづくりに対する認識が甘く、意識が低すぎたこと。何も目標を立てないまま何かを学ぶ方法では全く技術は身につくことがなく、まずなにか「作りたいもの」があって、それを制作する過程で何かを学んでいくというやり方を取らないと、ただの時間の無駄になってしまうということ(これは自論)です。こんなん知っとるわと思うかもしれませんが、何もわからない自分が何か新しいものを学ぶときに陥りやすい穴だと今は認識しています。目的があっての方法で、方法が目的になっては、なにか根本的な部分が間違っています(繰り返しますがこれは自論です)。以上を踏まえて、残り4年という非常に短い学生生活を送りたいと思いますので、応援よろしくお願いします。

初めてのブログ

初めまして

 このブログの趣旨を説明しますと、題名の通りプログラミングの経験が乏しい私が大学生活4年間でゲーム制作のための勉強をしたらどのような成長を遂げるのかを書き記したいなという感じです。自分の「制約がないと進捗を生み出すことができない」という致命的な性格を考え、月に1回のペースで自分の学んだことや作ったものを書き下し読者の皆さんに生暖かい目で見ていただくという企画となっているので、ブログの更新が無かったり遅れている場合などは催促のコメントをしたり厄介メールを送ることも可能です。自分もこのようなことにならないように日々の努力を怠りません。

  ところでこの企画は4月に入ったところから始まったわけですが、ブログを作る作ります~言っているうちに1か月が経ってしまい現在に至ります。なので、以下に記す「現在の自分のスペック」は今日現在のことだと思ってください。

 

◎現在の自分のスペック

・大学

 とある理系私大の機械工学生 twitterアカウント(https://twitter.com/guxiel)

・様々なプログラミング言語の存在

 たくさんしってるけどつかえない

・基礎(一通りの超基礎文法if,whileとか)を習得した言語

 C言語(stdio.hはおまじない) python

・タイピング

   腕試しレベルチェック - インターネットでタイピング練習 イータイピング | e-typing ローマ字タイピング

 腕試しレベルチェック 春の言葉 結果

 f:id:tattsu-4849:20160427224904j:plainブラインドタッチ:できない

このようにタイピング速さの成長具合も載せていければなと思っています。ちなみに同年2月くらいにやった時の結果はC+でした。ただ、お題やコンディションに大きく左右されると思うので参考程度にしておきます。

 

◎目標

・ゲーム制作という名目で必要となる言語の習得

・PC専用ゲームの開発ができるようになる

スマートフォン向けアプリの開発ができるようになる

・ゲーム制作に必要なグラフィックやサウンド作成の知識、センスの習得

・作ったものを紹介するために必要な動画編集や画像編集の知識を得る

・習得した言語でほかの用途を探して齧ってみる

・webページを作れるようになる

 このような大雑把な目標ではありますが、面白さや斬新さはともかく、まともにプレイができるゲームを作れるようになり、それを紹介できる。という方向性がわかっていただければ良いです。また最後の項目についてですが、ブログ開設にあたってある方からwordpressを推され、自分も初めはこちらでのブログ開設を考えていました、その後PHPの知識があると便利だとわかり、だったら後々追加で学習していこうかなという形です。

 そして最後に、私の活動と、ブログを支援していてください!お願いします!何でもしますから!(何でもするとは言っていない)