【Unity初心者】DCGを作った

初心者がUnityでカードゲーム作りをしていくブログです。

3,どれくらい勉強すれば作れるの?

本題

私はある程度のことができるようになるまで、およそ2年かかりました。
といっても毎日やっていた訳でも無く、数ヶ月空いたりしながらちまちま進めていました。
また、プログラミングやゲームエンジンを触ること自体が初めてだったのでより時間を費やしたと思います。
自分語りは後にしようと思っていましたが、経験がそのまま参考になればなと最初に書きました。結論としては、およそ1年以上勉強しないとオリジナルは難しいと思います。

このブログについて

このブログの主旨は、「そんなに長い時間をかけなくても作って欲しい」「みんなでカードゲームを作ってさっさと遊ばせろ」というものです。
できるだけ全てを、できるだけわかりやすく書こうと思っています。
もしゲームを作ったらお知らせください。遊び倒させて頂きます。
また、ある程度作れるようになったら「この書き方の方がよくないか?」とご教授ください。

2,おすすめの本とネットの使い方は?

前置き

今回は私がUnityを勉強するにあたって購入した本を紹介します。
Unity関連の本だけで10冊以上ありますが、おそらくそんなにやる必要はありません。
特に役に立ったもの、続けられたもののみに絞ります。

Unityの教科書

f:id:aru1226:20211004111015j:plain

Unityの教科書 Unity 2021完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)(下記リンクから画像引用,2021/10/4)

www.amazon.co.jp

2021は持っていませんが、私が勉強した2019の時からおそらく大きくは変わっていないと思います。簡単なサンプルゲームをいくつか作る流れで、とりあえずこれの通りに作れば動くものが作れます。
基礎を学ぶ本は3冊くらい書いましたが、個人的にはこれが一番かなと思います。

Unity5 オンラインゲーム開発講座

f:id:aru1226:20211004103856j:plain

Unity5オンラインゲーム開発講座 クラウドエンジンによるマルチプレイ&課金対応ゲームの作り方 (Smart Game Developer)(下記リンクから画像引用,2021/10/4)

www.amazon.co.jp

ネットワーク通信サービスの「Photon Realtime」を学ぶために少しだけ使いました。
これもそのまま書けば通信できるのでUnityに慣れてきたら読んでみてもいいと思います。
おそらくこの本が出た後に「Photon」のサービスが更新されて本の内容が古くなってしまいましたが、書き方が変わっている程度なので役には立つと思います。

Unity5 オンラインゲーム開発講座

f:id:aru1226:20211004105237j:plain

Unityネットワークゲーム開発 実践入門 UNET/ニフティクラウド mobile backend版
(下記リンクから画像引用,2021/10/4)

Unityネットワークゲーム開発 実践入門 UNET/ニフティクラウド mobile backend版 | 西森 丈俊, 一條 貴彰, 掌田 津耶乃 |本 | 通販 | Amazon

データをサーバーに保存するサービス「ニフティクラウド mobile backend版」の学習のために購入しました。
これも上記の本と同じで少ししか使っていませんが、とりあえず持っていても損はない本だと思います。


本への感想

なぜ本を買うかというと、流れが一つにまとめられていて自分で判断する必要がないのでとても楽だからです。あとは、ただでさえUnityとプログラミング用のソフトを行き来するのに、ブラウザも開いているとめんどくさすぎてわけが分からなくなったからです。
特にUnityについては結構長い時間戦うことになると思うので、自分にとってできるだけ楽な戦法にしないと挫折すると思います。本は本でめんどくさいのであればネットに頼ってもOKですが、個人的には一冊買ってサンプルゲーム作りを始めるのをオススメします。
ただし、後者2つは買わなくてもネットに情報が落ちまくっており、学習する時期的にもUnityに慣れ始めてC#基礎が読めるレベルから始めるので大丈夫だと思います。

ネットの使い方

Unityの初心者本に関してはとても丁寧に書いてあるのでネットを使うことは少ないと思います。勉強していって、ある程度読めたり書けたりできるようになったら、「こういうことがしたい」だとか「これがどうしても分からない」という時に使っていきます。
ある程度書き方を覚えないと前に進むスピードが遅くなるので一度調べたものは覚えておくと便利ですが、どんどん積極的に使って調べていきましょう。
特にカードゲームの場合だと情報がかなり少ないので必死に調べることになると思います。
プログラマー”自分で調べる力”が大事らしいですが、本当にその通りだと思います。答えへの執着を持って熱心に探していきましょう。

 

読んでいただきありがとうございました。

1,何を勉強しなければならないの?

前置き

カードゲームをUnityで作りたいとなった時に、何も分からなさすぎてどこから手をつけていいかさっぱり、みたいな状況になると思います。
私もUnityを勉強し始めた時は、「こんなので本当に作れるようになるのか」状態でした。
ここでは、そんな状態から脱出するために何を勉強しなければいけないのかを書いていきます。

Unity

まずは当然ですがUnityの勉強です。Unity上で、カード画像はどうやってオブジェクトにするのかだとか、数値の表示はどうするのかだとか、シーンとはなんなのかとか、コンポーネントとは何ぞやだとか、とにかく扱いに慣れなければいけません。

C#プログラミング

これも当然ですがプログラミングを覚えなければいけません。何らかのプログラミング経験がある方はすんなり入れるかもしれませんが、0の状態からある程度作れるようになるにはそれなりの勉強が必要です。(私は今年で3年目になりますが技術的には1年分くらいです
UnityのC#は普通のC#と違う!みたいなことが様々なところに書いてありますが、ビビることはありません。違うだけで難しいわけではないと思います。

ネットワーク通信

オンラインでバトルしたい場合はネットワーク通信を覚えなければなりません。ただし、最近は便利なサービスが多いので、言われた通りに書くだけで数行で通信できたりします。
あと、カードゲームなのでリアルタイムでの処理を考えなくてもよい場合が多いです。思っている数倍やりやすいと思います。
ちなみにリアルタイムでの処理というと、例えばアクションゲームやFPSなどは相手の位置やモーションなどを頻繁に同期する必要があります。ただし、カードゲームはカードを使った瞬間だけ通信すればいいので、そのようなゲームほどタイミングを考えなくても良いです。
(私はそうやって甘く見てバグることが多々ありますが)
そういったものを利用しない場合はかなり難しいです。

データ保存技術

データ保存についてはざっくり2種類あって、それぞれ特徴があります。

・端末の中にデータを保存する

 →簡単に実装できる
 →アプリを消すとデータも消える
 →改変されやすいので、ランキングやレートで不正に変えられる可能性がある

クラウドにデータを保存する

 →不正されることが少ない(というかほぼ無理)
 →サービスを借りてその導入を勉強する必要がある
 →ある程度慣れ始めてからでないと難しい

オフラインのゲームだと端末に保存しちゃうのが楽ですが、オンラインのゲームだとちょっと怖いですね。
また、ネットワーク通信と同じように便利なサービスが転がっているのでそれを勉強すれば大丈夫です。

その他

例えば課金機能やTwitter連携などがその他に当たります。私はどちらもやる予定がないので説明はできませんが、ややめんどくさそうなイメージを受けます。(外部サービスの扱いやすさ次第だと思います)

学び方について

基本的に上から学んでいけば大丈夫だと思います。外部サービスを借りるのは後回しにして、とりあえずゲームを作ってみましょう。
勉強方法は本がおすすめです。まずは猫本でしょうか。これだけでそこそこ慣れると思います。

www.amazon.co.jp
ここで挫折する人が多いらしいですが、最初からカードゲームは作れません。というか、カードゲームの本がないです。少し前に下記の方がカードゲームの制作方法の動画を上げてくださいましたが、いきなりこれから入ってもわからないと思います。(慣れてきた方なら大丈夫です)

www.youtube.com
ということで、最初は全く違うよくわからないものを作るハメになると思いますが、それに耐えましょう。私が一番最初に作ったアプリは「ルーレットの画像をタッチして回し、徐々にスピードが落ちて止まる」だけの挙動しかしません。
ただし、10行程度しかコーディングしていないアプリですが思った通りに動いた時の感動は凄まじいと思います。地道に積み上げていきましょう。

読んでいただきありがとうございました。

はじめに/このブログについて

まず、このブログを開いて頂きありがとうございます。

今制作中のデジタルカードゲーム「IROGAMI - online -」がある程度まとまってきたので、どんな構造になっているか、またどのようなクソコーディングがされているかを書き出していこうと思います。

デジタルカードゲームを作りたいと思っているけれどいまいち作り方がよく分からない、そもそもUnityがよく分からないという方のための参考になれば幸いです。

ただし一つ注意点があります。

私は全てを独学で学んだので、残念ながらプログラマだったりエンジニアだったりするわけではありません。

それでも良ければ見ていってください。

よろしくお願いいたします。

#「IROGAMI - online - 」プレイはこちら
https://unityroom.com/games/ir_ag_tp

#Twitterはこちら