読者です 読者をやめる 読者になる 読者になる

あるごリズム備忘録

学んだことの記録と日記

ゲーム開発(2本目)の反省

Unityによる2本目のゲームを先週リリースした。
前回は友人との2人体制での開発だったが、今回は自分が主導で主に3人で開発を行った。
この3人に前回の友人は含まれていないが、シーン遷移部分などを手伝ってもらった。
リリースは10月中の予定だったが、実際はかなりギリギリになってしまった。
今回の開発過程でいくつか反省する点があったので記録しておく。

反省点は大きく分けて3点。
それぞれについて説明する。

1.取り掛かりのスピード
2.仕事の振り方
3.報告の重要性

1.取り掛かりのスピード
開発に取り掛かり始めるのが遅かった。計画遅れのこれがすべての原因だと思われる。
なんとなくやる気が起きなくてモックアップを作り始めるのが、企画が決まってからだいぶ遅くなった。
ただ、実際にやり始めると、実装方法を楽しく、また意外とすぐに終わった。
モチベーションも上がるし、もっと早くやってしまえばよかった。

2.仕事の振り方
他の二人のメンバーに対して、仕事をうまく振れなかった。
週に1度のミーティングがあったが、ろくに仕事を振れずに終わることが2度ほど続いた。
友人には「お前の仕事の振り方は下手だ。」と言われたが、それよりも大きな原因があると自分は考えている。
モックアップを早く作らなかったことだ。
自分には必要なタスクが見えていなかった。振るべき仕事が自分の中では存在していなかったのだ。
モックアップを作り、さらに具体的な完成が見えなければ、いつまでに何が必要かを把握できない。
そのためには、できるだけ早く作り始めてみる、イメージ図を書いてみる、などをする必要があった。

3.報告の重要性
進捗をこまめに報告するのは、チーム全体の進度を確認するために不可欠なことは改めて確認できた。
しかし、今回学んだもっと大きなことは、「できないとき、やりたくないときは断る。」ということ。
安請け合いしてはいけない。誰かの負担が少し増えるよりも、頼んでおいたことが進んでないことのほうがもっと深刻だ。
また、自分で可能だと判断し、やりたいと思える仕事のほうが、責任感とやる気で効率は上がるしツラくない。


今回のプロジェクトは自分の不手際で、最後の方かなり苦しかったが、いい経験になった。
次に生かしていきたい。


ちなみに作ったのはこのゲーム。iOSAndroidの両方でリリース中。

play.google.com

ICPC2016アジア予選

ICPC2016アジア予選に出場した。
大会から1週間たってしまったが、完全に忘れてしまう前に、参加して感じたことを記録しておく。

会場にはたくさんの有名人が来ていた。
PFNの西川さん、秋葉さん、AtCoderのちょくだいさん、
そして同じ学生だけど既に競プロ界隈で有名な人などなど。
それだけですごく楽しかったし、大会に来た価値があったな、と思った。
しかし、すぐに自分が完全に芸能人に憧れる一般人のようになってしまっていることに気が付いた。
確かに憧れの感情はあって当然なんだけど、広い意味で同じ業界に進む人間として、
気持ちだけでももっと対等に構えておくことが必要なんじゃないかとも考えた。

1日目の懇親会では、偶然お話した方が、実はフォロワーだったりした。
こいうサプライズは、まだ規模の小さい競プロ界ならではの楽しさだと思う。

2日目の最後のイベントでは、懇親会のように食事を食べるだけだと思っていたが、
スポンサーのブースがたくさんあり、それぞれでイベントやプレゼントなど祭りの様で面白かった。
また、知らなかった企業の説明なども聞けたのは良かった。

英語力不足を改めて実感した。特に読むスピードと聞き取りに問題がある。問題を読むのに苦労したのはもちろん、
ステージ上の人が言った(であろう)ジョークに、自分だけ理解できなくて笑えない経験はつらかった。

コンテストそのものについての感想は「いつも通り」という感じ。
自分の競技中の仕事は、Aを通したこと、Bのデバッグの手伝い、Cのアルゴリズムを聞いて実装。
チームとしては最終的に4完(A,B,C,D)だった。
順位としては36位(45チーム中)で、順位表凍結までは2完で最下位だった。
この凍結システムがなかなか面白く、結果発表の時はかなり盛り上がり、
ぎりぎりで2問通したうちのチームもその恩恵を受けた。

ICPCは素直に楽しいイベントだったし。良い刺激にもなった。
競技時間5時間も、予行練習の時は果てしなく長く感じたけど、本番ではあっという間だった。
ただ、自分の実力が大会に見合っていないのは常に感じていた。
来年も参加したい気持ちはあるが、一番の問題は実力。
メンバーは人数だけならなんとかなるだろうが、そのメンバーに実力は期待できないだろう。
来年も予選を突破するためには、先輩が抜けることを考えると、自分が引っ張っていける実力を付ける必要がある。
また、大学の先生の協力についても不安はあるが、これは何とかなりそうだ。
今回協力していただいた研究室以外はどこも無理だと思っていたが、現在講義でお世話になっている教授が、
ICPCの運営にかかわっていたこともあるそうで、理解してもらえた。
自分の大学ではICPCに協力的な雰囲気は感じられなかったので、これは非常にうれしかった。

早めに今後の成長のための計画を立てていきたい。

競プロの記録 (2016_10_02)

No.39 桁の数字を入れ替え - yukicoder

入力数Nをstringとして受け取る。
まず、先頭の数字を指定し、その数字より大きいものが無いかを
、後ろのほうから見ていく。
この時、できるだけ大きなものと入れ替えたい。
このような動作を、指定する数字を先頭から順に試していき、
一度でも入れ替わりが起これば終了とする。
以上のように、実際は貪欲に調べればいいだけだったのだが、
自分の提出は、文字列を数値に直す関数をわざわざ作り、また全通り試していた。
今回は組み合わせの数が少ないので、これでもACだが、あまり賢くない。

No.40 多項式の割り算 - yukicoder

先頭(D次の係数)から順に、A[i-2]=A[i], A[i]=0 としていくだけ。
この計算順を、逆にかいていたことで時間ロスしてしまったのが反省点。
また3次で割っていることから、あまりは高々2次になることをすぐに気が付きべきだった。

No.44 DPなすごろく - yukicoder

解いてから気が付いたが、要はただのフィボナッチ数列
フィボナッチ数列が最もシンプルなDPだと考えられるということだろうか。

B予選まであと8日。

競プロの記録 (2016_10_01)と、英会話

今日も星2を1問解いただけで終わってしまった。
非常にまずい。
考えてダメだったら、すぐに解答をチラ見する方針で、
また解き始めるのを恐れないようにする必要がありそう。
要はすぐに手を動かせというハナシ。

No.36 素数が嫌い! - yukicoder

入力Nの、素因数の次数が3以上ならば、
そのうち2個の積(素数でない)でNを割り切ることが可能。
合成数Xは、p<=√X を満たす素因数pを持つ』つまり、
Xが合成数なら、素因数は・・・・・??
書きながら、考えがおかしいことに気が付いた。
ACだけど嘘解法かもしれない。
今日は遅いので、また明日やる。

B予選まであと9日。

(その他)
今日はレアジョブ(オンライン英会話)の体験レッスンを受講した。
講師の方がかなりゆっくり話していてくれているのはわかったが、それでも聞き取るのが難しかった。
焦るし、緊張するしで大変だったが、このような感覚は久しぶりで、
頭をフル活用している感じがした(競プロとは違う方向で)。
英語学習の意味だけでなく、脳に負担をかける意味でも効果的なようだ。
「度胸」のようなものをつけることの必要性を、ずっと感じ続けているが、そのためにも頑張りたい。
具体的な目標としては、来年8月の対留学で、スムーズに会話できるようになること。

競プロの記録 (2016_09_30)

今日は星2を1問のみ。
数は少なすぎるけど、やっと星2を解いた。

No.17 2つの地点に泊まりたい - yukicoder

途中で止まる地点が、2点以上というのが肝。
その2点間に何を経由するかは関係なしで、単純に2点間の距離を求める。
こういう時はワーシャルフロイド法を使うのが一般的なようだ。
今回初めて実装した。ダイクストラよりはずっと簡単な実装だ。
あとは、2点間の距離と、それぞれの点からの0、N-1への距離の和が最も小さくなるように選ぶだけ。

このように終わってから文章で書くと、非常に単純で簡単な問題に思えてくる。
この感覚を忘れないようにしたい。

B予選まであと10日。

競プロの記録 (2016_09_28, 29)と、初リリース

今日は、星1を14問解いた。

生活習慣が完全に破たんしてしまい、やるべきことが全然進んでいない。
4時ごろ寝て12時ごろに置きる癖がついてしまった。
睡眠時間の長さ自体は悪くないが、0時から4時までは全く有効に使えておらず、
昼過ぎに起きるとあきらめのような感情が心に沸き立ち、やる気が出ないことが非常にまずい。

B予選まであと11日。

(その他)
友人とUnityで作っていたゲームアプリの申請が通り、今日リリースされた。
これは自分にとっては大きな一歩だと思う。
口だけでくすぶり続けて長かったが、やっと一歩踏み出せた気がする。
ただ、UI部分や申請の手続きは友人に頼ってしまったし、
もっと大きな責任を持つような役割をできるようにならないとダメだ。
開発チームに後輩が2,3人入ることも決まったので、
自分が技術面で引っ張れるように力をつけたい。
自分にとっては、他人を責任感こそが、自分を成長させる原動力だと最近感じてるので、
この機会を十分に活用したい。
とりあえず、Android向けのリリースは自分でやり遂げたい。

ちなみに作ったのはこのアプリ。

逃げ切れ!ホコリくん!

逃げ切れ!ホコリくん!

  • Tatsuhito Takamiya
  • ゲーム
  • 無料

競プロの記録 (2016_09_26, 27) と、その他

昨日と今日は、二日間で星1を4問解くだけになってしまった。
言い訳をすると、友人との予定とゲーム作成のせい。
でも一番大きな計画遅延の原因は、生活リズムの崩壊かな。
朝起きないと、やっぱりやる気がイマイチでない。

「星1」

No.349 干支の置き物 - yukicoder

最大個数ある置物の個数についてさえ考えればよい。
その個数が(N+1)/2より大きくなければ、同じものが隣り合うことなくおける。
その個数の以下の他の置物については、最大個数の置物の間に最大一個ずつ押し込んでしまえばよい。


B予選まであと13日。2週間を切った。


(その他)

今日なぜかノートPCで、ブラウザでネットを閲覧できなかった。
トラブルシューティングで確認してみると、
DNSサーバが応答していません。」とのこと。
ネット自体はつながっている?
いろいろ調べてみたところ、アドレス欄にIPアドレス直接記入でページへ行くことが判明。
そしてDNSサーバはGoogleなどがフリーで公開しているようだったので、
そこに設定してみると無事解決した。

DNSサーバーの言葉は基本情報処理技術者とかで教科書的には勉強したけど、
イメージはかなりあいまいで実感がなかったが、今回の件でようやく感覚的にも理解できた。
「トラブルに自ら向かっていくような姿勢」でなければ、使える知識を身に付けるのはやはり難しいみたいだ。