-
スマートフォン向けのキャラクター衣装着せ替えゲームのフロントエンド制作
■ プロジェクトの目的
NFTを使ったゲームの作成しました。
キャラクターの着せ替えシステムや部屋の模様替えシステムを実装してキャラクターを中心としたゲームを作成しました。
■ 体制・人数
合計約6人ほど
ディレクター1人
デザイナー2人(外部発注あり
サーバーエンジニア2人
フロントエンドエンジニア3人(外部発注あり
BGMやSEは購入品を使っています。
■ 自分のポジション・役割
メインのフロントエンドエンジニアとして全体を通してUIやゲームシステムを作成していました。
3Dモデルのきせかえ機能の設計や実装は独自実装で一人で行いました。
部屋の模様替え機能の計や実装は独自実装で一人で行いました。
■ 目的を達成する上での課題
3Dモデルの衣装切り替えの仕組みを3Dモデルがデフォルメされている関係でフルスクラッチで作成する必要がありました。
また、今後運用していくに当たって衣装追加をしやすいように余裕を持たせる必要がありました。
運用時に3Dモデルが追加されるうえでプログラマー以外でも追加実装しやすいような仕組みを考える必要がありました。
■ 課題に対して取り組んだこと
3Dモデルのボーンツリーの構造や服の構成などの仕様をかためて独自実装いたしました。
アプリの立ち上げ開発ということもあり、まずは最小限の仕組みで開発を行いました。
帽子(頭部アクセサリ)、上半身、下半身、靴下、靴で着せ替え可能な仕組みを開発しました。
3Dモデルはボーンアニメーションするので、着せ替えた服も素体となる3Dモデルのボーンと同じ動きをするような仕組みも開発しました。
■ ビジネス上の成果
スマホアプリで着せ替え機能や部屋の模様替え機能があるアプリを開発することが出来ました。ゲームエンジンはUnityを使い、
・キャラクターの衣装をきせかえするシステム
→キャラの着せ替えシステムはモデルが独自規格なので独自実装しています。
・部屋の家具を入れ替える模様変えシステム
の作成を行いました。
サーバーとの通信はUnityWebRequestを使ってGET:POST通信で行いました。
ゲームデータの更新はAddressablesを使っています。
UI周りもデザイナーと連携して作成いたしました。 -
知り合いの会社からFlutterを使った知育系アプリの開発
■ プロジェクトの目的
知育ゲームや作ったものを発表できる知育系のSNSの開発、リリース支援を行っています。
■ 体制・人数
ディレクター1人
デザイナー1人
エンジニア1人
■ 自分のポジション・役割
エンジニアとしてゲームやアプリの開発を行っています。
個人的にAndroidとiOSでのアプリリリースを行ったことが有るので、リリースのための支援も行っています。
■ 目的を達成する上での課題
Flutterを使ってCloud FirestoreやAuthentication を使ってユーザー認証やデータのやり取りを開発するのは初めてだったので、調べながらの開発となりました。
また、Flutterが開発中にバージョンが2に上がり、それの対応でNull周りの挙動が変わってしまったのでその対応が必要となりました。
■ 課題に対して取り組んだこと
Flutterが比較的新しい開発環境なので、インターネットに情報が乗ってないことが多く、
とりあえず組んでみて動くかどうかというトライアンドエラーを行って開発していました。
それでも無理な時は公式の英文リファレンスを頑張って読んだりして動かせるようになりました。
■ ビジネス上の成果
現在回は開発中で、2022年5月移行にリリース予定です。知育アプリ開発
開発環境 :Flutter(Vsual Studio Core)
開発言語:Dart
使用ライブラリ:Firebase(Authentication Cloud Firestore Crashlytics)
バージョン管理:Github
タスク管理::Github
知育ゲーム開発
開発環境:Unity 2019
開発言語:C#
使用ライブラリ:Firebase(Authentication Cloud Firestore adMob)
バージョン管理:Github
タスク管理::Github
-
一部上場のメーカーで業務用のARやVRを使ったアプリの研究開発
■ プロジェクトの目的
主に業務向け(BtoB)のARやVR技術を使ったスマートフォンのアプリの研究や開発を行いました。
コストを抑えるという意味でスマートフォンやHoloLens等の専用機器を使わない民生向けの技術や機会を使った研究開発がメインでした。
■ 体制・人数
マネージャー1人
開発1人
■ 自分のポジション・役割
研究開発ということで、UIのデザインや開発は一人で行っておりました。
複数のラインが有りそれぞれが一人で開発や研究を行う感じでした。
■ 目的を達成する上での課題
お客さん側も自分たちも出来るかどうかわからない内容に取り掛かる必要がありました。
業務向けということでUIデザインや演出よりもARの精度や正確性を求められました。
ARやVRでどの技術が何処まで実用として使えるのか研究することもしていました。
■ 課題に対して取り組んだこと
可能性を調べるためARやVRの技術は浅く広く関わりました。
現在はサービスが止まってしまったのですが赤外線センサーを使ったTangoというARが制度が高く復元性も良かったのでこちらをベースとして開発を行っておりました。
幅広く対応しているAndroid向けのARCoreやiOS向けのARKitを使いTangoに精度を高くしたARやVRの開発なども行っていました。
研究開発ということで、うまくいかなくても責任問題にはならなかったのですができる限り要望などは実現したいと考え代替えの案などを提示したりしました。
■ ビジネス上の成果
一部上場の製造会社に自分の作ったシステムを採用していただけました。
また、東北関東大震災の被害にあった地域で自分の作ったAR技術のトラッキングを利用して被災状況の調査を行ったようです。開発環境:Unity 2019 Unity5 AndroidStudio Xcode
使用言語:C# Java Objective-C
使用ライブラリ:ARCore ARKit Vuforia Tango Kudan HoloLens
バージョン管理:Git -
非上場の大手オンデマンド配信会社にてPC向けソーシャルゲームの開発
■ プロジェクトの目的
2つの新規立ち上げのPC向けFlashゲームの開発と運用を行いました。
この頃からスマートフォン向けの開発も視野に入ってきましたのでUnityを使った開発の移行の検討も始まりました。
■ 体制・人数
ディレクター3人
バックエンドエンジニア3人
フロントエンドエンジニア2人
デザイナー4人
■ 自分のポジション・役割
フロントエンドエンジニアとしてFlashを使い、サーバーからのデータや画像を受け取ってゲームのUIや演出等の表示する周りの開発を行いました。
後期には現在動いているFlashのゲームをUnityへ移行ができるかどうかの検討のための研究も並行して行いました。
■ 目的を達成する上での課題
今まで作っていたフィーチャーフォンやスマートフォン向けのソーシャルゲームと違い、PC向けのソーシャルゲームはゲーム実行データが1つにまとまっているので、運用する段階で新機能が追加しやすいような作りを心がけました。
■ 課題に対して取り組んだこと
追加実装する際に例えばキャラの編成シーンやガチャシーンなど追加する部分に影響が発生しないように切り分けた開発を行いました。
フィーチャーフォン向けほどではないですが、データの読み込みなどをスマートに行うことでロード時間がかからないような設計にするなどレスポンスにも心がけました。
■ ビジネス上の成果
無事に2つのプロジェクトはリリースしました。
自分がこの会社を去った後の数年後にあえなくサービス終了となってしまいました。開発環境:
Adobe Flash Builder Adobe Flex SDK (ActionScript2.0)
Unity 2019
バージョン管理:Git
タスク管理:Confluence -
一部上場のソーシャルゲームメーカーでフィーチャーフォンのソーシャルゲームのFlashゲームの開発運用
■ プロジェクトの目的
運用中のソーシャルゲームのガチャや戦闘のFlashの開発や運用を行っておりました
。
■ 体制・人数
マネージャー:1人
ディレクター:2人
バックエンドエンジニア:3人
フロントエンドエンジニア:1人~2人
デザイナー:4人
■ 自分のポジション・役割
フロントエンジニアとしてFlashを使ってサーバーからデータを受け渡ししたり、
デザイナーからデータをもらいガチャや戦闘でそれらのデータを反映させるFlash演習を作っていました。
■ 目的を達成する上での課題
フィーチャーフォンはFlashデータや画像データをすべて含めて1ファイル容量を20kbに収めないと動かせない制限があるので、20kbにデータを抑えつつ画質を損なわずにディレクターの要望通りな演出を作ることに力を入れました。
■ 課題に対して取り組んだこと
容量の制限が有るのでなるべく容量が少なくなるようなActionScriptのコードを書くことや、
バックエンドエンジニアの方となるべくデータの少ないデータの受け渡し方法を相談するなどしました。
またデザイナーさんに画像の色数を抑えてもらってなるべく迫力のある大きな画像を使ってよりより良い演出をできるようにとエンジニアさんデザイナーさんと横断して相談や検討を行っておりました。
■ ビジネス上の成果
Greeにて人気アプリ上位に数カ月間乗ることが出来ました。
開発環境:Flash(ActionScript2.0)
デザイン調整:Adobe Photoshop
バージョン管理:SVN -
一部上場のデザインソフト開発メーカーで視差3Dを使った漫画ビューワーの研究開発
■ プロジェクトの目的
スマートフォンが出始めの時期に、
フィーチャーフォンからの漫画ビューワーのスマートフォン対応と、
立体視を使った新機能の検討
■ 体制・人数
漫画ビューワー開発
ディレクター1人
エンジニア4人
立体視を使った新機能の検討開発
エンジニア1人(自分のみ)
■ 自分のポジション・役割
Flashを使ったAndroid向けのアプリ開発を集団開発していました。
そちらが落ち着いてきたら、最近流行り始めていた立体視を使った
絵が飛び出る漫画ビューワーの検討のために開発を行いました。
■ 目的を達成する上での課題
漫画ビューワーのスマートフォン対応複数人開発していたので、難なく出来ましたが
立体視を使った絵が飛び出る漫画ビューワーは特定端末の独自機能を使ったものだったので、
資料が少なくトライアンドエラーで開発することが多く大変でした。
■ 課題に対して取り組んだこと
端末自体の性能も今程よくなく、なるべく負荷のかからないコード構成を心がけたり、
独自機能の立体視への研究をドライアンドエラーで行いました。
■ ビジネス上の成果
検討、開発だったので世の中に出ることはなかったのですが、
社内では評判が良かったみたいです。
(完成後すぐに期間が終わってしまい詳しい評判は聞けませんでした)開発環境:Flash(ActionScript 2.0)
使用PC:Mac
-
小規模のゲーム開発会社でPSP向けのゲームやライブラリを受注開発
■ プロジェクトの目的
PSPでゲームを作成する際の画像描画周りや音声再生周りのライブラリを開発しました。
またライブラリが完成してからはミニゲーム集の2つのゲームを開発しました。
■ 体制・人数
ディレクター1人
デザイナー1人
エンジニア2人
■ 自分のポジション・役割
エンジニアとして開発を行っておりました。
またミニゲームの開発ではゲームの企画も行いました。
■ 目的を達成する上での課題
会社にPSPの開発環境がない状態だったので、
まずはライブラリを作ることから始めました。
また、クライアントからの要望がほとんどない状態からの開発だったので、
ミニゲームの案出しなどの自分たちで行いました。
■ 課題に対して取り組んだこと
工数が6ヶ月ほどしかなく、限られた時間で効率よく開発できるかを考えていました。
流用出来る素材やソースはなるべく再利用するなどで工数を減らす努力をしました。
■ ビジネス上の成果
初めてのPSP向けのゲーム開発でしたが、無事にリリースすることが出来ました。PSPの開発言語:C++
コンパイル:Cmake
バージョン管理:SVN