2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AIQVE ONE ゲームテスト/QAAdvent Calendar 2022

Day 14

自動化でお絵かきアプリを使って簡単なイラストを描いてみた

Last updated at Posted at 2022-12-13

AIQVE ONE Advent Calender14日目を担当する@mmk_fです。

今年の2月頃に社内で開催されたイベント「自動化コンテスト」に参加し、
お絵かきアプリを使って自動で簡単なイラストを作ってみた時のお話しをしたいと思います。

自動化コンテストとは?

自社の自動化ツールGarbo(言語はPython)を使って自動化を組んでみよう!というコンテストです。
テーマは「おもしろい自動化」。
ただ適当に自動化を組めばいいということではなく、
目的を持った自動化と、作成した自動化のおもしろさを競い合う楽しいイベントです。

・自動化コンテストの詳細はこちら
https://qiita.com/mi_373/private/85132416af540e63d9bd

用意したもの

・Garboが使用できるPC
・Android端末
・市販のゲームアプリ
・発想力
・闘志

試行錯誤あれこれ

作戦①

最近のスマホゲームの目玉と言えばやっぱりガチャだな、ということで
自動化でガチャを回しまくろう!と考え、なるべく多くガチャを回せるゲームを探しました。

探してみるとガチャを回して図鑑をコンプリートしよう!という
自動化しやすそうなゲームアプリを見つけました。
自動化を進める上で何度もスクリプトを実行する必要があるので
何度も気軽にガチャを回せる必要性がありました。
見つけたアプリはたくさんガチャを回せそうだったのも良いポイントでした。

さっそく自動化スクリプトを作ろうとしましたが、ここで問題が発生しました。
こちらのゲームアプリは調べた所iOS版しかリリースされていませんでした。
GarboはAndroid端末しか使用できなかったので(※現在はiOS版も対応可能となっています)
自動化を組めないことが判明しました。作戦失敗。

作戦②

・構想は変えず別のゲームアプリで代用する
・念のため代用のゲームアプリを探すことと並行して「自動化でガチャを回しまくる~」よりおもしろい内容が思い浮かんだら練り直してみる

という方向でゲームアプリを探し直しました。

結果:
・構想は変えず別のゲームで代用する
 ⇒気軽に何度もガチャを回せるゲームがほぼない。
  ガチャを回す素材を集めるのに時間がかかる。

・念のため代用のゲームアプリを探すことと並行して「自動化でガチャを回しまくる~」よりおもしろい内容が思い浮かんだら練り直してみる
 ⇒育成ゲーム、対戦ゲーム、RPGゲームなど、操作が比較的簡単なものを探すも
  「これを使ってどうおもしろい自動化を作るか」を考えるとなかなか思い浮かばない…

といった感じでなかなか考えがまとまりませんでした。(ここで1週間以上かかった気がします)

いろいろ考えた結果、
「育成ゲームのホーム画面に設定するキャラクターをガチャで決める自動化を作ろう!」
と考えました。
育成ゲームとガチャアプリの2つを使うことでなんかすごそうに見せる作戦です。

全体のフローはこんな感じです。
1.ガチャを自作できるアプリ(ルーレットやおみくじのようなイメージのアプリです)を使って
 キャラクターの名前を複数人セットする
2.ガチャを回す
3.ガチャで当たったキャラクターのデータをなんらかの形で記憶させる
 (↑ここはあまり細かく考えていませんでしたが、まあどうにか出来るだろう…ということでスルー)
4.ゲームアプリを起動し、ホーム画面にルーレットで当たったキャラクターを設定する
完!

といった流れです。
なんやかんやでスクリプトは半分まで完成。ヒャッホイ。ここまで出来てしまえばこっちのものです。
その日は満足して帰宅。
しかし帰宅後にある考えが脳裏をよぎりました。

「この自動化って本当に お も し ろ い のか?」

なんということでしょう。肝心な「おもしろさ」に欠けていることに気が付いてしまったのです。
脳内のエンターテイナーな部分がそれを見逃しませんでした。
どうにか自分を納得させるためにいろいろ言い訳を考えましたが脳内会議の結果、否決。
私はガッカリしつつも、やるならもっとおもしろくしたいという闘争心を胸に
翌日、また一から構想を練り直すことにしました。

このあたりで考えすぎてしまい「おもしろい自動化とは何か?」状態になってしまっていたので、
また翌日、先輩や同僚のみなさんに聞いてみました。
すると
「こんな所を自動化しちゃうの!?とびっくりする内容だったら「おもしろい自動化」と言えるんじゃないか」
というアドバイスをいただきました。

作戦③

そこで思いついた作戦は
「お絵かきアプリを使って自動化でイラストを描いてみよう!」でした。
この時期に仕事関係でお絵かきアプリでイラストを作成する事があったので思いついたアイデアです。
これは始める前からかなり無謀だと思いましたが、ほかにいいアイデアも無かったので
とりあえずやってみることにしました。

お絵かきアプリは画面をタップすることで線を描ける作りなので、起点となる箇所を指定できさえすれば
ある程度自由に線を描いて簡単なイラストなら描けるのでは!?
という考えです。

全体のフローはこんな感じ
1.文字入れモードで任意の文字をキャンバス上に設置する
2.レイヤーを追加する
3.文字の形状を画像として記憶させ、そこを起点として座標を指定し線の長さや角度を指定する。
4.イラストが完成するまで1と3を繰り返す。
5.最後に文字を入れたレイヤーを削除する
完!

といった流れです。
まず真っ白なキャンバス上に起点となる目印を設置することがポイントです。
スクリプトを組み、何度か実行する中で失敗してグラデーションの模様を設置してしまいましたが
こちらでもうまく線の座標を指定することができたので急きょこちらを代用することにしました。

結果

残念ながら諸事情で描いたキャラクターの画像や
自動化ツールを動かしている動画などを掲載できませんが
試行錯誤の結果、58個目のキャンバスでようやく完成しました。
簡単なキャラクターの作成でしたが、線1本に対して座標を指定する際、数字を少し変えただけで
線が長すぎる、短すぎる、線の角度が思っていたのと違う、起点が数ミリずれているなど
思うように線が描けなかった点が一番苦労しました。

もっと座標指定の箇所を増やせば複雑な線を使ったキャラクターも描ける!?ような気がします。
今後に期待。

おわりに

試行錯誤の結果、かなり無理はありましたが簡単なキャラクターを描くことに成功(?)し、
自動化コンテストでは準優勝を獲得できました。
自動化に関してはほぼ素人の私でも楽しく参加できていい経験になりました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?