プログラミングを上達させる開発のコツ

今回は私自身がゲーム開発をする際に心がけていることをいくつか紹介したいと思います。

以前「ゲームをきちんと完成させる方法」という記事を書きましたが今回はそれの補足というか、私なりのプログラミングが上達する開発の仕方を紹介します。

その1 習得目標を決めておく

毎回ゲームを作る際に新しく習得したい技術を決めておきます。

私自身も素人開発者なのでゲーム開発で知らないことは山ほどあるわけです。そんな状態で試行錯誤しながらゲームを作っていくわけなので毎回なにかしらの目標を作っておいた方が良いです。

ゲーム開発の的を絞るとどこに注力するのかわかるのでうまく集中できますし、出来たときに達成感もあってとても良いです。

その2 目的が達成したら適度に完成させる

目標をもってゲームの開発を始めたのなら、目的を達成できた時点で適度に完成させてしまいましょう。

深追いは厳禁です。こだわりも厳禁です。目標が達成出来たら適度に見切りをつけてうまくまとめて完成させればいいんです。

こだわりや完成度なんてのは本気で作品としてお客さんから金を取るレベルのものをリリースする時までいらないと思います。

個人的には経験こそが最大の上達方法だと思っているので、完成度にこだわるよりはさっさと次の制作に取り掛かって経験を積んだ方が良いと思います。

ただ、完成度に関しても目標の持ち方だと思うので「ある部分だけ市販ゲーム級のものをつくる」って決めて開発するというのはアリです。

その3 プログラミングに近道はない

これだけちょっと違う感じだけど、書きたいので書いておきます。

一人でコツコツゲームを作ってきて感じたことは

「プログラミングの上達は繋がっている」ってこと。

何かが分かるようになると次の何かが分かり始めるというか、いままで理解できなかったことが、あることを理解できるようになると分かるようになる、っといった感覚があります。

全部繋がっているというか、一つ一つ順番に理解していかないといけない。途中を飛ばして先に進むということが出来ないんだろうと思います。

だからそういうことも踏まえて適切な目標設定をして一つひとつ乗り越えていくのが良いんじゃなかろうかと思います。

まとめ

偉そうに書いてますが私も素人開発者です(*´ω`)。毎回、壁にぶち当たりながらその度に試行錯誤して乗り越えてます。

やっぱりプログラミングは上達に時間がかかります。だけれども上達を感じられる楽しさもあります。やる気と根性があれば確実に上達できるはずです。

と私は自分に言い聞かせる(´∀`)

ゲームをきちんと完成させる方法

ゲームを開発しようと意気込んで始めたものの開発の難しさに気づき、漠然として広大な完成イメージに全く近づくことができずに諦めてしまう。。。っていうことが世間のあちらこちらで起きていると思われます。

正直、ゲーム作りって完成させることが難しい。特に今まで何かを作るっていう経験をしたことがない人間には夢だけが広がり過ぎてて、現実を知った瞬間に一気に心が折れてしまうというのは当然の現象だと思う。

料理で考えてみよう

料理したことありますか?なに作れますか?

スマートな方ならもうすでに私の言いたいことは理解していると思いますが、まともに料理したことない人間がうまい飯なんて作れねーんだよ!!カーッ(゚Д゚≡゚д゚)、ペッ

おっと、ちょっと本心が漏れてしまいましたがそういうことです(`・ω・´)

出来ないんですよ。出来ないっていうことを知る。

そう、みんな出来ないところから始まるんです。そして少しずつ出来るようになっていく。そういうもんだということを知ることがまず大事です。

最初にクリア条件を作る

さて、いざゲーム開発を始めたらゲームのクリア条件を先に作ってしまいます。「走ってゴールまで行く」でもいいし「敵を全滅させる」でもいいし「アイテムを全部取る」なんかでもいい、とにかく最初にクリアの条件を決めておきます。そしてステージクリア(ゲームクリア)のシーンを作ってしまいます。

おわかりいただけますでしょうか?

これでゲームは完成してるんですよ(`・ω・´)

「敵を全滅させる」が条件ならとりあえず敵を1匹画面に出しといてそいつを倒せばクリアになります。完成です。感動です(´;ω;`)

 

…えぇ、言いたいことはわかります。

しかし、これで夢半ばで開発がとん挫しようともゲームは完成させられます。

 

個人的な話ですが私ははっきりしたゲームの内容を決めずなんとなく作り始め、結果、目的のわからないクリアも出来ない謎の未完の大作(?)をいくつも作ってしまいました。それらを試作と思えるならいいですが、ゲームとして完成させたいと思って開発していると心がやられます(;´Д`)

作りたいゲームのイメージはしっかり作る

結局作りたいものが何かはっきりしているのか?っていうことが一番大事です。クリア条件を先に作るのもそのためです。

「俺はマリオやロックマンを超えるすごいアクションゲームを作る!!」

みたいな壮大だけどぼやけたイメージだと完成しないです。

「マリオみたいなゲーム作りたいから、手始めにゴールまで走るゲーム作ってみよう!!」

最初はこれくらいでいいです。そしてこの内容でできる限りはっきりとしたイメージを作ります。「まっすぐの道だけどたまにウ〇コとか落ちててジャンプで避けながら進む」みたいな感じでね(そんなゲームどっかにあったなぁ。。)

まとめ

偉そうに書きましたが半分は自分への戒めです(^^;)

ただ、本当にイメージは大事だと思います。強くはっきりイメージがあればあるほど自分の望んだものが出来上がる可能性は確実に高くなります。

ゲームに限らず、料理でも絵でも音楽でもファッションでも人生でもイメージが大事です。はっきりしたイメージであればあるほど達成できる可能性が上がります。

人生はイメージ

そんな言葉をどっかで聞いたような。。

 

キャラクターに簡単な加速度をつける

今日はちょっとした小技の紹介です。キャラクターを動かすときに簡単な加速度みたいなものをつける方法です。

2D横スクロールゲームを作るときに

のような感じでキャラクターの座標に直接数値を足してしまうのは良くありません。特にジャンプ中に方向転換するとカクカクした動きになってしまいます(ファミコンの北斗の拳みたいな感じ)。

それを滑らかにする方法がこちら

だいぶ省略してますが、イメージは伝わると思います。

move_xという移動値を入れる変数を用意します。そして押した方向に対して右なら+、左ならーの値を加算します。そしてそれを移動値としてプレイヤーの座標に加算します。

これによって反対方向を押した瞬間に反対に動くということはなくなり、また、同じ方向を押し続けることで移動値が増え加速しているように見えます。

もちろんこれはキャラクターをジャンプさせるときにも応用できます。

今回は単純に1ずつ加減算してますが、もっと本格的な感じに見せるためには値を工夫する必要が出てきます。いろいろな方法があるようなので探してみると面白いかもしれませんね。

 

以上、小技紹介でした(‘ω’)ノ