見出し画像

Androidゲームを開発してみた

こんにちは!
開発事業部のR.Kです。

4月頃から超スローペースでAndroidアプリ開発の勉強をしておりました。
そこで実践も兼ねてAndroidのゲームを開発してみました
今回開発したゲームの紹介と実際に勉強してみた際の感想をまとめてみました。
これからAndroidアプリ開発を始めたい方や、少しでも興味がある方の参考になれば幸いです。


勉強開始時点での私のステータス


  • Androidアプリ開発の経験なし(参画現場でも経験なし)

  • スマートフォンアプリ開発経験なし

  • 開発言語のJavaは研修にて勉強済み、JavaSilverの資格保有

  • もう片方の開発言語Kotlinは未学習

  • フレームワークのFlutterに関しては無知(今回はFlutterは使用しません)

  • ゲーム開発はJavaScriptで簡単なクイズゲームを作成したのみ

という、Java以外は完全に0からのスタートでした


Androidアプリ開発ってどんな感じ?


  • AndroidOS専用のアプリ開発(ios版は別途作成が必要)
    →フレームワークのFlutterを使用すればOSに関係なくアプリ開発ができます

  • 主な開発言語はJavaかKotlinの2つ
    →JavaScryptやC++、C#などでも開発が可能

  • 開発ツールはAndroidStudioがメイン
    →EclipseやVSCodeでも開発可能

  • 開発PCはWindows、MacOSの両方で開発が可能

Androidアプリって、意外とシンプルな構造

勉強当初はAndroidアプリって結構複雑だなと思いましたが、
勉強しているうちに3つに分けることができました。(超ザックリですが)

 ①アプリ全体を管理しているファイル   (AndroidManifest.xml)
 ②内部の処理を管理しているファイル   (javaフォルダ配下の〜.javaファイル)
 ③フロントを管理しているファイル   (layoutフォルダ配下の〜.xmlファイル)

つまり!

実現したいことに合わせて、対応するファイルを変更すればOK!

こんなイメージ


Androidアプリ開発の勉強方法


①公式ドキュメント
 →少し難しいが基本をより深いところまで学ぶことができます
②YoutubeやUdemyなどの動画学習
 →英語が多いですが細かな部分まで学べるので結構おすすめです
③参考書
 →超基礎を網羅するのであれば◯、ただし結構古い物が多いので注意

①で基礎を固めて、知識を増やす際に②を活用することをオススメします


役に立った知識

・Javaの知識
 →開発言語の1つでもあるので、無理なくコードを書き始めることができる
  ※Android特有のクラスなどがあるので、その点は勉強が必要
・HTML、CSSの知識
 →アプリの見た目(フロント)を開発する際はHTMLやCSSと似た要素が多いので割と対応できました。

ALHの研修を終えた方なら、そこまで敷居の高いものではない!


作ったアプリ


Androidアプリ開発の勉強を始めて3ヶ月ぐらいがたったので、
実践として1つゲームを作成してみました。


タイトル Driving Game
ジャンル 縦スクロールアクション
開発期間 2.5週間

開発環境


 
開発言語 Java
開発ツール AndroidStudio
バージョン管理 GitHub
PC OS MacOS
画像 Illustratorで一部作成
その他 効果音:フリー素材(魔王魂)
    画像:フリー素材(いらすとや)

開発期間


画面構成(3画面構成)



スタート画面


ゲーム画面


リザルト画面

ゲーム内容


障害物(逆走車・水溜り)を避けて、走行距離を伸ばすゲームです

障害物
・ガソリン:ガソリン残量が1000増加
・水たまり:ガソリン残量が200減少
・逆走車:GAME OVER

ゲームの仕組み


アニメーションのように何千分の1秒の間隔で一連の処理を繰り返し実行しているイメージです

これらの処理が繰り返されることで動いているように見えます


面白かった点


・自分が実現したい通りにアプリが動作したこと
 →実現するまでにTry&Errorを繰り返していたので、実現できた際は最高でした
・自前のスマホで動かすことができること
 →普段Androidスマホを使用しているので、より感動しました
・意外とJavaの知識だけでも何とかなった点


難しかった点


・Javaを知っていてもAndoroid特有のクラスがあり、最初は困惑しました
・ゲーム開発でのオブジェクトを動かす処理が難しかったです
 →座標を使用して細かく設定する必要がありました
・オブジェクトの判定処理に苦戦しました
 →どの部分から当たり判定にするかなど


座標処理


これからアプリ開発を勉強する方へ


思っていたよりも開発第一歩のハードルは低かったので、ぜひ挑戦してみてください!
もし勉強するなら新しい情報を見るようにしましょう。流行りの技術や情報の入れ替わりが早いので気をつける必要があります。

もしJavaでやってみて興味が湧きましたら、Kotlinで本格的に勉強することをオススメします(Javaと似ているので大丈夫だと思います)
Kotlinにしかできないこともあるみたいなので、プロを目指すならKotlin


終わりに


現在Androidの日本での普及率は50%以上あります。
またAndroidに限らず今後スマートフォンは更に進化していくと思いますので、
スマホアプリ開発に興味を持っていただけると何かの役に立つかもしれません。
まだまだ流行りのジャンルになりますので、ぜひ挑戦してみてください!!


ALHについて知る



↓ ↓ ↓ 採用サイトはこちら ↓ ↓ ↓ 


↓ ↓ ↓ コーポレートサイトはこちら ↓ ↓ ↓


↓ ↓ ↓ もっとALHについて知りたい? ↓ ↓ ↓