ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター。プログラミング歴4年。独学。リリース本数:約30本。総ダウンロード数:25万

じょーちょー

 

ザックリ言うと、書いてたコードが冗長すぎて、An expression is too long or complex to compile なるエラーが出たんですよ。

なんですけど、最終的にはテキストファイルを読み込む形で解決出来ました。

えー、これだけだと味気ないので、ブログも冗長に書いていきたいと思います。

 

今から思えば、非常にセンスのないコードを書いてたんですよ。

学習アプリで任意の単語を返すコードなんですが、こんなのを書いてました。

 

public string ReturnKorean(int num) {

    string str = "";

    if (num == 0) {

        str = "요일";

    } else if (num == 1) {

        str = "월요일";

    } else if (num == 2) {

        str = "화요일";

    } else if (num == 3) {

        str = "수요일";

    }

    return str;

}

 

引数を指定すると、それに対応した文字列を返す、みたいな。

 

今日までわりとこんなの書いてたんですけど、これがめっちゃ長くなってしまったんですよね。

お恥ずかしながら、1000を超えて1500、、、んで韓国語と日本語のダブルだから3000超えて、、、

まあめっちゃ書いてしまったわけですよ。

 

そしたらAn expression is too long or complex to compileってエラーが出て動かないんですよね。

Unityでビルド出来なくなってしまいました。

 

途中から薄々感づいてたんですが、コードが冗長すぎる。

どう考えてもアプローチがおかしいことに気付いたので、どうするのか考えました。

 

んで、結論はテキストファイルの読み込みですよ。

なんか風の噂では聞いてたんですよね。テキストファイル読み込めるって。

 

なので、あれこれググってみたら、テクノモンキーさんのブログがヒット。

【Unity】テキストファイルを読み込む方法 - テクノモンキーのアプリ開発日記

 

このコードを丸パクリさせていただいたら、バッチリでしたよ。

コードの意味は2割くらいしか分かりませんが、元気に動いてくれました。

 

テキストファイルの文字列を改行で区切って、Listに格納。

あとはこんな感じで、任意の文字列を返せるようになりました。

 

public string ReturnKorean(int num) {

    string str = koreanList[num];

    return str;

}

 

しかしこれあれなんですよね。

元々はテキストファイルに書いてあったんですよ。

 

テキストファイルに書く→C#にコピペ、なんてことをしてたんですが、このコピペ作業が全て無駄だった。

てかこの無駄を今日まで相当やってきた模様です。

 

「これ面倒くさくね?」って作業があったら、大体アプローチが間違ってるんですよね。

そういう直感を信じて、ビシバシ手抜きの方法を探さないとダメだなと思いました。

 

P.S.

今回のことで知ったんですが、Unityって色んな形式のファイルを読み込めるんですね。

テキストアセット - Unity マニュアル

 

.txt

.html

.htm

.xml

.bytes

.json

.csv

.yaml

.fnt

 

正直、知ってるのは上2つしかないんですが、jsonとcsvはいずれ使う気がします。

 

サーバーと接続して、あれこれする際にjsonてやつを使った気がするんですよ。

UnityとMySQLが繋がった - ホーリーのプログラミング日記

 

PHPで取得したデータをjsonに変換して、それをC#、つまりUnity側に渡してた気がします。

よく知らないんですけど、jsonやつは便利屋なんですよね。だから、いずれどこかで縁があるでしょう。

 

またcsvなんですけど、これもどこかで縁があるはず。

これこそ、今日までの人生で一度も使ったことないんですよ。

噂は聞いてますよ。隣町の中学にcsvってやつがいて、相当喧嘩が強いらしいみたいな。

 

しかもなんなら県下最大の暴走族、Excelと仲が良くて、ちょいちょい集会に顔出してることも知ってます。

でも、今日まで縁はなかったんですよ。

「会ったらバチバチにいわしてやんよ」みたいなことを言いながら、本当はビビって逃げ回っておりました。

 

でもまあ、どこかで会うことにはなるでしょう。

Excelもcsvも未知ですが、どこかで出くわして、バッチバチにやられるはずです。

 

Unity で CSV ファイルを読み込む方法|こんぶ|note

今後は0ではないのだよ

 

こないだ、アプリへのお金のかけかたが分からないって記事を書きました。

よく分からないんで、今は0ですっていう。

今は0です - ホーリーのプログラミング日記

 

そしたら、心の師と仰いでいる「ロバおじさん」さんから、アンサー代わりの記事をいただけましたよ。

個人アプリ開発者が少額からできる品質向上と宣伝|ロバおじさん@地方在宅勤務プログラマ|note

 

  

非常にクレバーな方なので、noteはもちろん、アプリ関係のツイートも勉強にしかならないんですよね。

 

師匠。ありがたき幸せでございます。。

 

===

 

いやー、しかしアイコン制作から宣伝、翻訳まで、事細かに書いてありますよね。

勝手ながら永久保存版としておきましょうw

 

早速やってみたいのは、SearchAdsとGengoですね。

アイコン制作は、幸いなことに妻がデザイナーなので、助かってるんですよ。

なので、それ以外は全部やる気でいます。

 

(デザイナーを見つけるには、クラウドワークス→スタンダードプラン→コンペ機能、がいいんですね。妻と喧嘩したら頼むかもw)

 

実はSearchAdsは前に少し触ったことはあるんですが、本当に少し、ソフトタッチすぎてデータが取れておりませんw

数千円からでもOKらしいので、それで出稿してみて、LTV>ユーザー獲得単価となれば、ガンガンいけばいいんでしょうね。

(LTV=(ユーザーの課金総額+広告収入総額)÷累計ダウンロード数)

 

LTVってなんぞ?という話なんですが、ググったら詳しい記事がヒットしましたよ。

LTVとは?アプリでの計算方法を事例を交えて紹介 | 株式会社アイモバイル

 

指定するワードによってもDL単価は変わるでしょうから、そのへんをチェックすると面白いのかもしれません。

 

少し話ズレますけど、LTVが高いアプリがほしいんですよ。

まあそんなこと当たり前だし、みんなほしいですよねw

多分継続率が一番大事だと思うので、めぼしいアプリをテコ入れしてみようと思います。

 

んで、あとはGengoですよ。実はこれもやったことないんですよね。

https://gengo.com/ja/

 

ただ、前に「泳げおっさん」ってゲームを出してまして、これが海外で2万DLくらいされてるんですよ。

クオリティを考えたらビックリな数字なんですけど、これ知り合いのアメリカ人に翻訳してもらったんです。だから、その影響なのかもしれないですね。

 

しかしそのアメリカ人っていうのは、知り合い(日本人)の旦那さんでして、そんなに頻繁にお願いできる間柄ではない。

なので、今度Gengoを使ってみて、その仮説を検証してみたいと思います。

 

えー、とにかく、この記事読んでたら、あれこれアイディアが湧いてきました。

早速手を動かしたいと思います。

個人アプリ開発者が少額からできる品質向上と宣伝|ロバおじさん@地方在宅勤務プログラマ|note

 

今後は0ではない。

 

0ではないのだよ。

雰囲気でアプリ開発してる人たちの、ちょっと真面目な勉強会

 

ついこないだなんですけど、初めて「たーぼぉ」さんとお会いしたんですよ。

僕と同じくらいの時期にアプリ開発を始めて、常に2歩3歩先を行ってるたーぼぉさんですね。

 

同じように独学でされてるのは知ってたんで、勝手に仲間意識は持ってたんですよ。

とは言っても正直な話「好き7 : 嫉妬3」って感じですけどね。

「同じ境遇だから好きだけど、やっぱ嫉妬するわw」みたいな。

 

それで初めてお会いして、あれこれお話させてもらったわけですが、とりあえずいい人だし、話面白いし、共通点多すぎで、想像以上にいい出会いだったなと思います。

 

んで、さらに言えば新作アプリもめっちゃいい感じなんですよね。

RPG風の脱出ゲームなんですが、触った感じも楽しいし、なんならリリース数日後にストアで見たら、レビュー100件以上、平均評価4.8とかでしたよ。

 

 

いやー、やっぱすごいな、たーぼぉさん。

 

これは「好き3 : 嫉妬7」に変わってしまうな

 

と思ったのは、ここだけの話にしておきましょう。

 

===

 

えー、そんなこんなで思った話なんですけど、やっぱ人と会うと得るものが沢山ありますね。

特に今回は自分と似た境遇の人で、なおかつ先を行ってる人だったので、学ぶことが多かったです。

だから、今後も機会があれば、他の開発者の方とお会いしたいなと思ったんですよ。

 

あまりよく知らないんですが、巷では「勉強会」なるものが開かれてたりするじゃないですか。

なので、そういった勉強会に参加することも、少し考えるようになりました。

 

まあ、そうはいってもあれですけどね。基本的にシャイだし、エンジニアの人怖いしで、そんなに参加することはないと思ってるんですよ。

ここまで書いておいてなんなんですけど、やっぱ知らないところに参加するのは怖いじゃないですかw

 

僕から見るとみんなすごいし、知識も経験も段違いに見えるので、接触するのが怖いっていうのが、正直なところなんですよ。

 

だからあれですね。

 

雰囲気でアプリ開発してる人たちの、ちょっと真面目な勉強会

 

みたいなのがあれば、ぜひとも参加させていただきたい。

 

えー、想像でしかないんですが、交わされる会話もこんな感じ。

 

ホーリー「ところでiPhoneXの対応ってどうしてます?」

Aさん「適当にはやったけど、実機では確認してないね」

Bさん「シュミレーターでチラ見しただけ」

Cさん「iPhoneXって何か対応することあるの?」

Dさん「ずっとiPhoneエックスだと思ってたわ。。」

 

このくらいのクオリティがいいですね。

学びは少ないけど笑いは多い、みたいな。

まあ勉強会の体(てい)をなすのかは疑問ですけど。

 

とにかく、そんなこんなで、機会があれば他の開発者さんと会いたいなって思い始めました。

 

雰囲気で開発されてる方との、ちょっと真面目な出会いに期待しております。

自分1人なんだな

 

働き始めた頃だから、20年近く前とかそのくらいなんですけど、バイト先の先輩が言ってたんですよ。「1人現場は仕事が進まないから嫌だ」って。

窓拭きのバイトをしてたわけですけど、基本的には複数人で作業することが多いわけです。

なんですけど、たまにあるんですよ。1人で小さいビルなんかを作業することが。

 

僕はむしろマイペースに作業出来る1人現場が好きだったので、嫌いって理由が分かりませんでした。

 

「1人現場って自分の好きなように出来るからよくないですか?」

「いや、だって俺がサボってる間に仕事進まないじゃん」

「なにそれ。。」

 

みたいなやり取りがあったんですよ。

ようは、複数人の現場だと、自分がサボってても仕事は進むわけで、それが1人だと進まないってわけですね。

 

これが当時は意味不明で、「いやいや、お前サボりすぎだろ。働けよ」なんて思ってたんですが、今は少し気持ちが分かります。

てか自分も気付いたら思ってますからね。

 

俺がサボってる間に仕事進んでねぇ

 

って。

 

これは思いっきりアプリのことなんですけど、自分1人でやってるから、自分がサボったら進まないわけですよ。

 

サボったら進まない。これが個人開発の恐怖。。

なんていう、よく分からないことを思っています。

 

いやー、しかし個人開発ってやつは、全部自分次第だから怖いですね。

そうはいっても複数人体制にする気なんてゼロなんですが、とにかく怖いなと思った次第です。

 

通常仕事って、それなりの年数やってれば、周りにパスをするようになるわけですよ。

このパートはAさんに振って、んでこのパートはBさん、みたいな。

それで、気付けば周りに協力してもらうのが当たり前になってるわけですが、最近改めて「アプリ開発は自分1人なんだな」を実感しています。

 

サボったら進まない。

 

サボったら進みませんよ

 

まあそれでもサボっちゃうけどw

64bit対応したはずなのに「このリリースはGooglePlayの64ビット要件に準拠していません」て言われたんだけど、x86を外したら通った件

 

めっちゃ長いタイトルなんですけど、そのまんまの話がこないだあったんですよ。

正確には昨日とか一昨日とか、そんなレベルの話です。

 

Androidの64bit対応ってあるじゃないですか。

それをやったはずなのに、なんでだかGooglePlayConsoleでエラーになったんですよ。

 

 

ザックリ言えばあれじゃないですか。IL2CPPを選択して、ARM64にチェックを入れればOKですよね。

他にもAndroid App Bundleみたいなのがありますけど、これは64bit対応とは別件でしょう。同時期に警告出るようになっただけで。

 

f:id:gevvoihorry:20190822194202p:plain


んで、上記の2点を選択した状態でアプリをビルドしたんですよ。

それでそのファイルをGooglePlayConsoleにやったんですけど、そこでエラーになるんですよね。64ビット要件に準拠していませんとか言われて。

 

f:id:gevvoihorry:20190822194222p:plain

 

困ってたんですけど、他にも同じような仲間がいたので、時間が解決するだろうと静観してました。

そしたら今日ですよ。nekoupさんのツイートを見かけたんですよね。

「うーん」て感じだけど、x86のチェックを外すと行けるっていう。

 

 

これを見て早速やってみましたよ。

僕にはどうなってもいいようなアプリが沢山あるので、その中のひとつを人柱ならぬアプリ柱として差し出しました。

 

f:id:gevvoihorry:20190822194527p:plain

 

x86を外してビルド。んでGooglePlayConsoleに上げた結果、よく分かりませんが通りましたw

 

んで、一応x86について調べたんですよ。

そしたらUnityさん公式のブログがヒット。

Android サポートに関するお知らせ:64 ビット対応および App Bundle サポートの 2017.4 LTS バックポート – Unity Blog

 

x86 ベースの Android サポートについて

Unity では、Android の ARM 64 ビットサポートを追加した一方で、x86 ベースの Android の使用状況の調査も行いました。その結果、x86 ベース Android デバイスの市場への供給は非常に限られたものであり、Unity の x86 ベース Android サポートの導入も非常に狭い範囲に留まったことが分かりました。このため、x86 ベースの Android サポートはバージョン 2019.2 をもって廃止となり、Unity 2019.3 をもって完全に削除されます。Unity 2018 の各バージョンと、2018.4 LTS における x86 ベース Android のサポートは、当該バージョンのライフサイクルが終了するまで維持されます。

 

よく分からないんですが、Unity 2019.3 では削除される項目なんですね。

 

だからあれですよ。

 

躊躇なくチェックを外してやりました

 

リストラ予定のおっさんに、へーこらするほど、お人好しじゃないですからね。僕は。

 

一応、よく分からん警告も出たんですよ。

 

f:id:gevvoihorry:20190822194814p:plain

 

「インストール可能なデバイスのタイプが制限されました」って。

多分これがx86を外した結果なんですかね。そうだとしたら、さっきの公式ブログには「市場への供給は非常に限られたもの」って書いてたんで、気にしないことにします。

もしも別の何かだったら痛手ですが、まあいいでしょう。これはアプリ柱だしw

 

この64bit対応のエラー自体、時間が解決する気はしてるんですが、気持ちが悪いので一応通してみました。

「x86なんて外していいんですよ」とはもちろん言わないし、外した結果何が起きるのかも知りませんが、とりあえず通ったって話ですね。

 

僕の実機では問題なく動いてるので、とりあえず良しとした次第ですw

ヤーバドゥバドゥ

 

筋肉番付なのかな?そんな番組あったじゃないですか。

多分その番組なんですけど、ビリヤードの種目があったんですよ。

難しい配置9個をクリアするみたいな。

 

それにビリヤードの神様と言われるエフレン・レイズ、また世界最強のプレイク野郎であるフランシスコ・ブスタマンテが挑戦する回があったんですが、その動画が最高すぎました。

ビリヤードしない人でも全然楽しめる内容なので、ぜひとも見ていただきたいですね。

2人ともフィリピン人なんですが、とにかく陽気すぎる。言葉選ばずに言えば、アホ丸出しなんですよw

 

www.nicovideo.jp

 

 

www.nicovideo.jp

 

エフレン・レイズって、フィリピンではエフレン・バータ・レイズって呼ばれてまして、そのバータっていうのはエフレンのあだ名、「子供」って意味なんですよ。確か。

この動画見てると、それが思いっきり分かりますね。キュー持って構えてるときの表情と、それ以外のときのギャップがありすぎる。

マジで世界最強の男だし、生きる伝説と言っても過言ではないんですが、これはアホですね。

 

ちなみにフィリピンでの知名度も半端じゃないので、日本にいるフィリピンの方に聞いても全員が知ってると答えます。

個人的にはステージ4での奇声が最高でしたね。あれぞエフレンw

 

んで、もしかしたらエフレン以上にアホ全開だったのが、ブスタマンテ師匠ですよ。

異次元のブレイクショットと、独特のストロークを持つ師匠ですが、これも期待を裏切らない。

 

ヤーバドゥバドゥ

 

ですよ。ヤーバドゥバドゥ最高でしたね。

フィリピン語で絶好調のことらしいですが、師匠が連呼してました。

 

ほんとビリヤード知らない人でも楽しめる動画ですし、何か辛いことがあったときに、見返してもらえると幸いです。

どれだけ落ち込んでても、これ見たら元気になるでしょう。

 

===

 

僕はビリヤードが好きで、元々ビリヤードばかりしてたんですが、世界No.1とNo.2が上記の2人なんですよ。

今は歳も取ったから、そんなことはないんでしょうが、一昔前はそうだったんです。

 

んで、やっぱ思ったわけですよ。自分が好きなビリヤード、その世界のトップにいる人たちが、こんなにも楽しそうにプレイしてて良かったなと。

いや、そりゃ試合では真剣だし、あまりふざけた表情をすることありませんが、それでもめちゃくちゃにビリヤード好きなのが分かるんですよね。

(2人ともたまにふざけてます)

 

物事何でもそうですけど、本気でやろうとすればするほど、ピリピリしがちじゃないですか。

でも、本当は楽しんでやったほうがいいんですよ。

楽しむことが上達への近道なんだなと、この動画を見て改めて思いましたね。

 

だからプログラミングで言えば何だろ。あれですよ。

マジでくだらないゲームとか作ってると、上達するでしょう。

 

特に始めたての頃は、つい肩に力が入りがちなので、そこはバカゲーなど作って楽しんだ方がいいと思います。

「世界を変えるプロダクトを作りたい」とかでもいいんでしょうが、初期の頃におすすめなのは俄然バカゲーです。

 

ヤーバドゥバドゥですよ。ヤーバドゥバドゥ。

 

楽しんだもの勝ちってことですね。

 

ヤーバドゥバドゥ。

今は0です

 

作りたいものは沢山あれど、最近どれもこれもが中途半端になって困っております。

韓国語学習アプリ。銭湯情報共有サイトTotonotter。ニートの野望。

とりあえずこのへんが中途半端な状態で、なんなら今月全部リリースしようと思ってたんですが、もはや無理ですね。

 

私の夏は終わったようです

 

3本リリースして「ぬおおー!!やったどー!!」って叫ぼうと思ってたんですが、もう無理です。

この夏の目標が叶わなくなった時点で、季節は秋に変わったんですよ。

 

イマイチ何言いたいのか分からなくなってきたんですが、とにかく作り始めたら最後までやることが大事ですね。

中途半端で放置しちゃうと、再開するときのコストが大きいので無駄でしょう。

 

そんなわけで最近は、韓国行きとともに手を付けた韓国語アプリを作ってるんですが、これ終わらないですね。

単語を覚えながら韓国語(ハングル含む)を覚えようって内容なんですけど、思ってた以上に単語が多くて困っています。

 

1500...くらいありますかね。そんなに盛り込むつもりはなかったんですが、結果的にボリューミーになってしまいました。

なので、その入力作業が大変なんですよ。

スマホにハングルキーボードが入ってるんですが、それを使って1500単語くらいをポチポチ打ち込んでおります。

 

これを書いてる今日終わるのかな?てか終わらせたいですねw

慣れないハングルを打ってるので、非常に疲れます。てか毎日あんまり進んでおりません。。

 

===

 

それで思うんですけど、本当はこういう単純作業って外注した方がいいじゃないですか。

今回は自分で勉強したいって意味合いが強いので、外注の選択肢は最初からありませんでしたが、本当は誰かにやってもらうのがベターだと思います。

「外注」なんてこと言わず、知り合いにバイトしてもらうって程度でいいですね。とにかくお金を払って他人にやってもらうといいでしょう。

 

自分にとっては大変な単純作業でも、ギャラ次第では喜んでやってくれる方もいるじゃないですか。

 

えー、これらがセオリーだとは思うんですよ。自分以外でもOKな部分は極力外に出すっていうのが。

でも、僕はアプリ開発にお金をかけないがモットーなので、現状他人の手を入れるつもりはありません。

 

そう、いつものように本題に入るのが遅くなりましたが、今日のテーマはこれ。

「僕はアプリ開発にお金をかけない」ってことですね。

 

まあ正確には「お金のかけかたが分からない」ってことでしょうかw

 

現状は0なんですよ。Appleに年会費を毎年100ドルくらいは払ってますが、それ以外に経費といった経費はありません。

んで、本当はお金かけた方がいいんですよ。お金なんてもんは、かけれるのならかけた方がいいし、そっちの方が強いです。

でも現状はお金のかけかたが分からないのと、そもそも持ってないって事情があるので0になっております。

 

0と1って大きく違うじゃないですか。「ない」と「ある」ですから。

なので、現状は「0にこだわってる」ってことですね。

 

お金かけて宣伝とかにも興味はあるんですけど、何に対してどれくらいかけていいのか分からないんですよ。

宣伝先の媒体とか、最近はいくらでもあるじゃないですか。

 

またアプリそのものもそうですね。イラストレーターさんに絵をお願いするとかしてみたいんですが、それもピンポイントなのか、全部なのかって加減が分からない。

一旦0を1にしてしまったら、その加減が分からなくなるので、していないのが現状です。

 

当然未来的にはやりますよ。お金かけるでしょう。そっちの方が強いから当たり前の選択です。

なんですけど、今は中途半端になるのが嫌なので、0になってるって話でした。

 

もう少しいい感じのアプリが出来たら、宣伝にも興味持つのかもしれないですね。

 

でもいいアプリを作るには、良いイラストレーターさんを見つけて、、、

 

それで、、、

 

やっぱ分からんw

 

今は0です。