当時その教室に定期的に来てくれていた数学の先生がプログラミングが出来る人で、僕に色々なことを教えてくれた。ピラミッドを出力するプログラムが出来たときはめちゃくちゃ嬉しかった。制御構文はこの辺ではほぼ習得できていたような覚えがある。高校生1年ぐらいプログラミングをしていなかった時期があったが、なぜかそのあと「C言語の次は何を学ぼっかな。おや、C++ってのがあるらしいじゃん、これやるか」という流れでVC++沼にハマった。DXライブラリというものを使うとC++でも簡単にゲームが作れるらしいと聞いて、これに手を出してみたりもした。作ったやつをC++に移植するということもやってみた。実際にちゃんと動いた時はめちゃくちゃ嬉しかったし、何より楽しかった。関数の概念はこの辺でようやく理解した。あと、ついでにオブジェクト指向の考え方も分かった。大学生1年生の頃にようやく文字と文字列の違いを理解した。その後、C++以外にもC#やJava、PHPやらにも手を出した結果、自分はなんでも作れる気分になった。コンピューターサイエンスの基本や、Linuxの基本的な仕組みなんかはこの辺りで覚えた。あと、MVCやらMVMやらMVVMやらといったアーキテクチャもこの辺で覚えた、確かWinFormsやらWPFやらも触っていたので。新卒時代(1年目~2年目)新卒で入りながらも、経験者枠ということで周りにプログラミングを教えていた。正直なところ「なんでお前らIT企業に入ってきてるのにコード書いたことがないんだ?」と思っていたが、彼らはとても頭がよかったので、1、2ヶ月で普通にコードを書けるようになっているのをみて「僕は凡人かもしれない」と思った。研修中通して「僕はなんでも出来るぜ」って顔をしていたら、当時人が居なかったらしい新規プロジェクトでウェブフロントエンドを任されることになった。JavaScriptとjQueryを導入してそこそこの規模のアプリケーションを作っていたが、型の付かないJavaScriptでSPAをするのはバカであるということに気が付き、途中からTypeScriptを推しまくってプロジェクトにTypeScriptとwebpackを導入することにすることに成功した。フロントエンドにAngular4を使っていた炎上プロジェクトにTypeScript経験者として放り込まれて、Angular4を勉強しながらパートナー社員にTypeScriptを教えたりもした。バージョン管理の重要性にこの2年間で気がついた。ドワンゴ時代なんで自分フロントエンドやってんだろうな、という気持ちが拭えなかったが、とにかく前職は給料が安すぎたのでフロントエンドエンジニアとして入社した。Babel.js)で色々と学びがあったが、JavaScriptで書かれていたことについて渋い顔をずっとしていたら、TypeScriptに置き換えていくことになったのでよかった。僕が書く新機能に関しては全てTypeScriptで書かせてもらえてしあわせだった。あって病気にはなってしまったが、React.jsの基礎〜発展的な使い方やFluxアーキテクチャについての理解はここで得られた。無限の可能性を信じて脱Windowsをしている。数が合わなくて発狂していたりした。さっき「理由は後述」とか思わせぶりなことを書いたけど、ようするにメモ帳で書いてたせいで一定以上の大きさのコードを扱うのが不可能だったせいです。ちなみにまともなテキストエディタを導入するまでここから2年の月日が掛かりました。ガキだったので無駄に知識の吸収力はあったせいか、特に詰まった記憶がない。言えば関数に分ける重要性はよく分かってなかったと思う。C言語、C++C言語、C++の「コンパイラ」が「複数ある」という概念がいまいち理解できていなかった。なんで?1個でよくない???みたいな。なんにせよ、自分にとってプログラミングとは黒い画面に白い文字を出して遊ぶものだったので、コンパイラの差みたいなのにはあまり興味がなかったのかもしれない。あと、ポインタは難しいぞ、と散々脅されていたけど、言うほど難しくなかった。関数については「このDXライブラリの初期化部分を関数にしてヘッダに書いておけば便利じゃね?」という気付きをして無事に解決しました。コマンドラインインターフェース(CLI)これが結構鬼門だった。コマンドでパソコンを操作??????は????????超能力者か?????????(当然、補完があることなど微塵も思わない)という印象だった。Studioからしばらく離れられなかった。昔から僕は体系づけてプログラミングを学んでいるわけではなくて、単に興味の向いたものを食べているだけに過ぎなかったので、こういう大事なところがすっぱ抜けたのだと思う。プログラミングを始めるときは、何々言語!とか何々フレームワーク!!!じゃなくて、CLIでパソコンを操作することをまず理解していくのがよいのではないかな、と今では思う。文字列に詰まったのは端的に言えばC言語のせいだとは思う。C言語で文字列が分からないということは、ファイルI/Oの使い方も当然よく分からなかった。作ったゲームのマップデータをヘッダファイルに直接書いて修正するたびにコンパイルし直してたりしてたこともあった。配列は理解できてたんだけどね...たぶん配列と文字列が根っこの部分では同じということが理解出来てなかったのかもしれない、それに気がついたらすんなり理解できたので。設計の重要さいつも頭の中で描いたゴールを単純に目指しながらコードを書いていくスタイルで作っていたけど、それは多人数開発ではまずいということに社会人になってから気が付いた。趣味のコードであっても、最低でも大まかな状態遷移図と前提条件は決めておくべきだなと思う。学んだこと全ての操作は自動化が可能であるべきで、出来ないものは早急に改善すべきこれは環境構築からテスト環境を用意する過程全てに対して言える。自動化が出来ないと必ずどこかの手順でおばあちゃんの知恵袋的な操作が入ってきてしまう余地が生まれてしまい、そういった小さな穴は気が付くと手がつけられないほどに大きくなっていたりするので、とにかくドキュメント化と自動化は同時に進行すべきである。いうか、ドキュメント化が出来るならおそらく自動化も可能であるはず(べき)なので、環境に依存するパラメータの入力は極力設定ファイルに切り出して、手順に対する解釈の曖昧さを取り除いていくのが重要である。環境は常にポータブルであること「このデータはここにしかない」という状況は常に避けるべきである。自分は書いたコードはどんなに小さくても必ずgithubに上げているし、別にそれが恥ずかしいと思うことは最近は全くない。(最初はそういうこともあったけど)リソースデータに関しては、それらが設定ファイルのようなものから復元ができるならそれに全部任せたり、OneDriveやDropboxと言ったクラウドストレージを利用したり、とにかく明日このパソコンが突然爆発しても(開発資産的な意味で)ノーダメージな環境作りを意識することが大切だと思う。何かを作るときは最小ゴールを決めてとりあえずリリースする一生ベータみたいな状態を避けたいという意味。一回ちゃんとリリースすれば、それを更新していこうっていうインセンティブが働くし、更新してれば誰かが使ってくれるかもしれないし、もしかしたらそこからフィードバックやIssueを上げてくれたりするかもしれない。少なくとも、僕は個人開発の領域では「SIer的な作り方は悪である」と断言できると思っている。(ほんとはプロダクトのコードでもそういうふうにしたいんだけど、僕はいままでそういうことを決められる立場になったことがないので...)テスト書きたい書きたいよね...。18:47プログラミングを学ぶにあたって詰まったことと、そこから学んだことTweet広告を非表示にするコメントを書くもっと読む2019-11-03【ゲームレビュー】ルイージマンション3は2の正統進化、オンラインはこれからに期待レビューです。2019クリアしたので感想を書きます。ネタバレはなるべく無いようにしてます、買うかどうか迷ってる人は参考になると思います。アクション2では単なる作業になりがちになっていたオバケを吸うアクションに対して一工夫が加えられていた。「振り回し」というアクションは、一定以上のゲージを溜めるとオバキュームを振り回してオバケのHPを一定値削ることができるというものである。これは、単に吸う時間を短縮する以外に、攻撃に巻きこむことで周りにいるオバケのHPを削った上でひるみ状態にすることができるという効果がある。今吸っているオバケを吸い終わったあとに続けて怯ませたオバケを連続で吸うことが出来るので、これを上手く使うと周りに大量のオバケに囲まれていてもノーダメージで切り抜けることが可能である。この連携が上手く決まると大変気持ちよくスポスポオバケを吸うことができてとても楽しい。この振り回しは4回ほど叩きつけると強制的に吸い込みが解除されてしまうデメリットもある。叩きつけ1回に付き与えられるダメージは20であるため、オバケのHPが80を切ってから使うと一発で吸える、など工夫をする余地もある。オバケの吸い込みを中断したときにルイージがよろけなくなった。これにより、他のオバケの攻撃を回避しやすくなり、アクションの余地が増した。全体的に、ルイージの動きのレスポンスが良くなったのでゲームテンポが早くなり、とても気持ちのいいゲームになったと思う。1はオバケを吸い込むことそれ自体に気持ち良さの重点が置かれていた印象があったが、今作はだいぶ全体的に磨きが掛かったな、という印象である。ストーリーざっくりネタバレのない範囲で言うと「なんかキャンペーンでホテルの宿泊が当たったからみんなで行こうぜ」という感じ。ノリとしては1に近い。(2はぶっちゃけ覚えてない)「こいつら一応王族とヒーローなのにキャンペーンで当たったからって理由が微妙にケチくさくて草」って一瞬思ったけどまあ彼らも別に暇じゃないんだろうな。キャラクターはオバ犬が続投。毎度毎度オヤ・マーのセキュリティがガバガバなのが悪いんだよなという気がしないでもない。天才なんだけど自分の研究対象以外には興味がないというよくある感じを生かしてる。研究者キャラって便利だなぁと思う。グラフィック最初はちょっと「リアルすぎ?」とも思ったけど、慣れると雰囲気が出ていて良いなと思えた。各部屋の小物がめちゃくちゃ凝ってる。今作は各フロアごとにテーマが決まっているのだが、それに合った物が所狭しと並べられている。中にはマリオシリーズファンならニヤリとするような物もちょくちょくある。最近の任天堂はファンサービスが上手くなったなとかちょっと古参ぶった感想を抱いた。オブジェクトには物理演算が適用されていて、大量に物を吸い込んだり吹き飛ばしたりした時の挙動が楽しい。ライセンス情報を見る限り物理エンジンはHavokらしい。びっくりしたのは砂の表現。吸い込むとへっこんでいくのはよくあるんだけど、逆に吹いたときに砂が押しやられてちょっとずつ高くなるというのには素直に感心した。ちなみにこれは単にビジュアル上の効果ではなくちゃんと謎解きにも活かされている。オンラインプレイテラータワー。プレイヤーで協力してランダム生成されるマップをクリアしていく。各フロアには大まかなミッションが与えられており、(オバケを全て捕まえろ、お金を集めろ、等)それをクリアすると次のフロアへ進める。内容的には楽しいんだけど、まだ発売から日が浅いせいか、経験のない人の方が多くてあまりクリア出来ない。内容的には本編を一通りクリアした人向けなんだけど、解放されるのは本編のかなり序盤のほうなので、そもそも敵の倒し方が分からない人がたまにいる。フロアには罠が仕掛けられてるのだが、それに引っかかると味方に助けてもらうまで動けないというとんでもない設計になっている。これのせいで、マップを見られない人と当たると1分近く操作不能になったりする。一応ラジオチャットもあるけど...もともと聞かない人に言ってもダメやしな...。悪い意味で「空気を読む」ゲームになってる。途中抜けがポーズから簡単に出来るので「これはダメだ」と思ったらさっさと抜ければいいのかもしれないけど、それはそれでオンラインプレイが成立しなくなってしまうのでダメなムーブだと思う。ぶっちゃけ、なんの記録も残らないので暇つぶし以外の意味はない。フレンドとタイムアタックとかスコアアタックすると盛り上がるんじゃないかなあ。全体的に2よりもテンポとボリュームが上がってよくなったと思う。2はあんまり印象に残ってないんだけど、3は良いゲームだったなと思う。1にあった「総合評価最高を目指して本編を何周もクリアする」にはちょっとストーリーが長い。うらやしきのような2周目要素もない。一応エンディング後には評価が出るけどね。いうわけで、ルイージマンションシリーズファンにもファンサービスや若干のストーリーの繋がりもあり、シリーズ初見でもアクションや謎解きが楽しい良いゲームに仕上がっていると思う。シリーズを通しての特徴だけど、一応ホラーゲームっぽいテイストだけど全然怖い要素はないので(びっくり要素はある)、ハロウィンっぽいゲームを遊びたい人にはおすすめなんじゃないだろうか。今日も脳死な感じだけどちょっとした僕のお気持ち表明がある。管理者のドーラ様から説明会があった。同時接続人数の増加に伴うサーバーの強化や、モブのスポーン上限設定、資源ワールドの復活など、利用者にとっては基本的に良い環境になるということ。副管理人的な人を作ることも難しいこれはどういうことなんだろう、VPSに対してログインできるユーザーを増やすことに関しては技術的に特別なことは必要ないと思うけど......と最初は思ったけど、ちょっとピンと来た。すると、SSHクライアントなどを使わずにVPSのブラウザ上のコンソールから直接操作しているのではないだろうか。あれば、「サーバー契約に伴う個人情報や技術的な問題」という一文は理解できる。管理者さんは「VPSのウェブアプリにログインをしてサーバを選択し、その画面上でコマンドを入力している」という方法で管理を行なっているものと考えられるからだ。ここで、Linuxについての知識が最低限あれば、マイクラサーバーに対して何か操作ができるアカウントを複数作り、リモートからの公開鍵認証によるログインを許可することで、複数人で運用するという方法は十分取ることが出来るはずだ。—-というわけで何が言いたいかというと、マインクラフトにじさんじサーバーの運用についてかなり危ない雰囲気を感じ取ったということです。IPアドレスがバレてもサーバーへのログインはホワイトリスト制とのことで、部外者がサーバーにログインしてくるということはなさそうなのは安心しました。老婆心かもしれないけど、こういう状況って所謂「割れ窓」な気がしているので、早めに手を打っておくのがいいんじゃないかなと、一リスナーは思ったわけです。いうわけで、僕はただのにじさんじのライバーさんのファンではあるが、本当にただ楽しむだけの存在になってしまっているということに少し負い目を感じている。僕に何かできるとすれば「技術的に困っている人を助ける」ということ。いう人たちから信頼を得て技術サポートとして動くにはどうすればいいんだろう、って考えたときに、じゃあいちからの社員になればいいのかなと思った矢先、ドーラ様の配信内で「マイクラサーバーの運用についていちからは一切関われない」という言及がなされてしまった。いうわけでこれはもう最後の手段として「エンジニアリングのできるにじさんじライバー」として僕がオーディションを受けて実際ににじさんじに入るというルートしかなくなってしまいましたね。次の僕のお仕事はもしかするとVirtualYoutuberかもしれませんね。03:44ダと仕事の話Tweet広告を非表示にするコメントを書くもっと読む2019-10-26ダ日記です。自分がなんか記事を書くときはいつも書くことを大まかに決めてからそれに沿って書いてたんですけど今日は脳死で書きます。感想Tweet広告を非表示にするコメントを書くもっと読む2019-05-28株式会社ドワンゴを自然退職しますポエム...?2018年9月からうつ病悪化のため休職していましたが、会社の規定する休職期間の満了となるため、2019年6月5日にドワンゴを退職することになりました。「この日までに復帰出来ないと自然退職」というボーダーは以前から知らされていましたが、2019/05/27日に正式に退職手続きを行ってきました。約一年未満の短い期間でしたが、お世話になった方々にはお礼申し上げます。使ってデプロイ自動化までしてみたメモです。何ふと思い立ち、自分のポートフォリオを作ってみました。未完成もいいところですが...。StyledComponentsです。まあいつものやつですね。使ってデプロイの自動化までやってみたよという記事です。行かなかったので、ちょっとだけ工夫したよというメモも兼ねています。使ってデプロイ自動化までしてみたTweet広告を非表示にするコメントを書くもっと読む次のページプロフィールid:happo31八宝菜という人間がこのブログを書いています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。