ぶた | その他プログラマ・エンジニア | クラウドソーシング【ランサーズ】

サイトマップ
For 発注者

ぶた (buta411)

レギュラーランク

ぶた

  • その他プログラマ・エンジニア
  • 個人

VC++アプリケーション・H/Wを直接叩く組み込みS/W(ファームウェア)開発が大得意です

  • 希望時間単価 2,000 円 / 時間
  • 実績 0
  • 評価 ---
  • 完了率 ---%
  • 機密保持
  • 本人確認
  • 電話

自己紹介

※ 開発業務では、全て要件定義から納品後対応までの全工程を担当。

【最も得意なプログラミング言語】
 ・C++17
 ・C89

【得意分野】
 ・VC++でのWindowsデスクトップGUIアプリケーション。
  MFC,Direct3D9,OpenGL,STL,boost,DLL,COM(Component Object Model )使用。

 ・(RT)OSナシの組み込みアプリケーション。ファームウェア開発
  経験したマイコンは、ルネサスエレクトロニクスRX631系、東芝TMP95C063F。

 ・C++テンプレートメタプログラミング

 ・英文技術書の邦訳

 ※職歴詳細は "ビジネス経験" に記載。

【性格】
下記を自他共に認める。
・極めて強い責任感。特に納品物の品質と納期
・状況(金・時・労)が許す限り、高品質化に注力する職人気質の強さ
 例
  ・S/W開発時、高速性・省メモリ性・省コード量・高可読性 の向上に余念が無い事
  ・趣味(下記)でも"段取り8分"に沿って事前調査を徹底し、必ず及第点以上の結果を捻出する事

【趣味・特技】
・少ない金・時・労で、生活を極力改善するための、下記DIY。
 【改造】
  ・下記機器の電源を、電池から家庭用コンセントに変える改造。部品調達も含め。
    ・テレビドアホンの玄関側子機
    ・壁掛け時計
  ・規格外の独自の防虫網を窓へ設置 x 5
  ・コンクリート製の冷たい床と壁の防寒対策
   床はジョイントマット、壁は防寒壁紙を丁寧に貼り付け。
  ・デスクトップ&ラップトップPCの性能向上用に、各部品の調達と交換( 数え切れず )
  ・電気エアコン交換時の取り外し x 2

 【修理】
  ・電子レンジ操作盤
  ・電動歯ブラシに半田付けされた充電池の交換 x 2
  ・洗濯機のホース破れ
  ・掃除機の割れたプラスチック管 溶接
  ・冷蔵庫の割れたプラスチック棚 溶接
  ・温水洗浄便座の温水タンクの水漏れ
  ・車の前照灯カバーの黄ばみ消し・ドアバイザー研磨
  ・ジモティー(不用品取引サイト)で、只でお譲り頂いた故障扇風機修理 x 2
   首が回らない物と、羽が回らない物。
  ・スピーカのステレオミニプラグの接触不良を、半田付けし直して修理

・英語学習
 TOEIC受験用独習とオンライン英会話

・旅行会社を使わず綿密に予算と日程の決定を自分で行う、国内外の旅行

スキル

もっと見る

ビジネス経験

大手ゲームメーカーで、新規開発のMMORPGのビルドエンジニア( ビルド時間を1/5に )
〜 進行中
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・Jenkins ・Groovy( Jenkinsのドメイン固有言語として ) ・UE4の各種ツール群と連携させたビルド工程の構築 ・上述を使った、複数PCを使っての高速並列ビルド環境の構築
■ プロジェクトの目的
新製品開発用に使われ続けているJenkins環境のビルド速度を、劇的に上げる事。

※Jenkins:Javaで作られた、オープンソーによるの老舗のCIツールの一種。

■ 体制・人数
プログラマ:30( ビルドエンジニア:1)
企画者:20
3DCG素材デザイナ:50
デバッガ:20

■ 自分のポジション・役割
ビルドエンジニア。ビルド環境の質を大幅に改善する事。

■ 目的を達成する上での課題
A 1回のナイトリービルド時間が、10時間以上かかってしまい長すぎる事。
 ビルド対象物は今後 益々増える( = ビルド時間が伸びる )事が確約されていたので、テコ入れは必須だった。が誰も興味を持たない作業のため、改善されずにいた。
 また1日1回しか動作確認ができない事も問題だった。

B Windowsバッチファイルに書かれたビルドの実処理の全域で、前任者がハードコードを多用してしまっていた事。
 用途毎( 例 日々の開発用・デバッグ用・ステージング用 )のビルド環境を用意する時、ハードコードされたあちこちのバッチファイルを修正する必要が生じてしまっていた事。

■ 課題に対して取り組んだこと
A 従来使われていなかったGroovy言語によるビルドを使い、下記の劇的な改善を行った事
  a アセットデータのビルドが"リビルド"相当になってしまっていたのを、"ビルド"相当に変えた事。
  b 複数アセットデータのビルドが要る時、PC1台の1プロセスだけで行っていた状態を、PC複数台かつ複数プロセスで行うよう変えた事。

B 環境毎に変える必要がある情報は各バッチファイルから切り出し、唯一の設定ファイルに纏めて管理するよう変えた事。これにより、新環境を用意する時の書き換えコストが、激減できた。

■ ビジネス上の成果
ビルド時間の劇的な時短化。従来10時間以上かかっていた物を、最短で2時間にできた事。
動作確認の頻度を上げられた。
親子連れのショッピングモール向けの、幼児用遊戯機器 制御S/W開発
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・インターフェースによるクラス仮想化技術に沿った、クラスライブラリの作成 ・H/Wを使わずS/Wで雑音除去等の処理をジェネリクス( C++ではテンプレート )で汎化・ライブラリ化する技術 ・C++98 + 自作のC++11機能群 + 独自にRX631用に移植したboost ・ヒープを使わず配置newでメモリ領域を工面する方法
■ プロジェクトの目的
別会社から依頼された本品の開発を担い、滞りなく発売できるようにする事。

■ 体制・人数
・組み込みプログラマ:2
・H/W設計者:2
・プロジェクトリーダ:1

■ 自分のポジション・役割
製品用の制御S/Wのほぼ全ての設計と実装。

■ 目的を達成する上での課題
A プロジェクトリーダと協業プログラマの職務能力に、大きな難があった事

B 上記Aの前者の問題で、極端に短い開発日程が組まれてしまっていた事。
 例えば、試作仕様書の受け取り日が、納品日になっている等。

C 制御対象のデジタルプロセッサのファームウェアに致命バグが数え切れない程あり、かつ文書化されていなかった事

■ 課題に対して取り組んだこと
A ・プロジェクトリーダの業務である製品仕様策定作業の多くを、自分が積極的に担った事。
  かつミスを起こす度に逐一 改善策を提案し、それに沿って行動して頂いた事。

 ・協業プログラマは最小限の原始的な機能だけ作って頂くようにし、他の多くの機能は自分で担った事

B 業務時間延長
 9~22時の勤務を数か月続けた事。

C 全バグを徹底的に調べ上げた事。休日はジグを自宅へ持ち帰り、調査と作業を行った。
 かつ逐一、制御用ライブラリのソースコードに細かくDoxygen用コメントとして埋め込んだ事。後継製品開発時の情報として。

■ ビジネス上の成果
出荷後の製品は、全購入者から苦情が皆無の状態で稼働し続けている事。
英国のカジノ市場向けビデオゲーム用の基盤ライブラリ 開発
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・Windows用の、複数同時起動中のビデオゲームアプリケーションから同時に使われるクラスライブラリを、COM( Component Object Model )のローカルサーバとして作った経験 ・カジノ機器用H/W制御もクラスライブラリ化し仮想化した経験  具体的には、下記を同じインターフェースでアプリケーションから扱えるようにした。   ・実物のH/W   ・上述H/WをS/Wで模倣動作させる、仮想H/W  これにより下記の利点を獲得した。   ・H/W数が足りない試験環境でも、アプリケーション部分の動作確認をできるようにした   ・H/Wが全くない状況でも、開発を前進させられるようにした ・英語圏で作られた商用ライブラリの技術文書を、英和訳した経験  pdfファイルとして存在した文書に、他技術者が素早く読解できるよう訳文を逐一入れる作業。 ・日本のIR誘致が決定時、その製品開発にすぐ役立ちそうな下記知識。  ・英国カジノ市場の作法の知識   乱数生成等の細かい規約や、出荷までに行う必要がある試験等。  ・英国製カジノ用ビデオゲームに特化したH/W( WindowsPCに、不正防止等を担う専用H/Wを加えた物 )とそのライブラリを使った知識
■ プロジェクトの目的
英国カジノ市場向けビデオゲーム機器を試作・市場に仮投入する事で、その市場での収益性を確認する事

■ 体制・人数
ゲームプログラマ:社内6 社外8
3DCG素材デザイナ:社内4 社外10
企画者:4

■ 自分のポジション・役割
マルチプロセスとして同時に動く複数の異なるアプリケーションから、同時に使われるライブラリを設計・実装する事。かつマルチプロセス実行やCOMに関する技術的な指針・方針を各プログラマに説明する事。

■ 目的を達成する上での課題
A ライブラリ開発者の人数不足。
 4か月間2人のみで、1人はWindowsとC++が初めてだった事。

B 制御対象となる全H/Wの調達が3ヶ月も遅れ、時間を圧迫してしまっていた事

■ 課題に対して取り組んだこと
A 最初の4カ月間は、もう1人の開発者の教育に注力した事
 定時後の19-22時に小さな会議室にて、1対1で技術的な知識を丁寧に説明した。
 かつ同時に、増援の開発者2人を粘り強く上司に求め続けた。

B 従来から培い続けてきた「インターフェースに基づくH/W抽象化・仮想化」の開発知識を、今回も応用した事
 H/Wのフリをする仮想H/Wを インターフェースとS/Wで模造し、H/Wが届くまでの間はそれで凌いだ。
 H/Wが到着したら直ちに制御用S/Wだけをインターフェースを実装する形で作り、アプリケーションはソースコード変更は勿論、ビルドも不要な状態で素早く動かせる状態にした。

■ ビジネス上の成果
英国カジノ市場への参入について、社内に多くの知見を蓄積できた事。
大手ゲームメーカーで、業務用大型マスメダルゲーム機の大当たり演出機構の制御ファームウェア 開発
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・インターフェースに基づいたクラスライブラリを作りH/Wを上手に抽象化する事で、アプリケーションコードの変更を防ぐ方法。 ・ルネサスエレクトロニクス社製の↓の開発環境を扱う知識    ・HEW( High performance Embedded Workshop の略 ) 及び CS+( 旧称CubeSuite+ ) IDE とE1エミュレータ( JTAG ICE )を連携させてのコーディング・ビルド・デバッグ。    ・ワンチップマイコン RX631 で、RTOSを使わず自前で全処理を作る方法     スーパーユーザモードにて。 ・C++98の組み込み環境で、C++11とboostの一部機能を自前で実装する方法。 ・ヒープを使う通常のC++new演算子を一切使わず、配置newと大域・静的変数領域の組合わせで、メモリリークが起こりえないS/Wを作る手順。 ・CircLink仕様と専用ICを使っての、低遅延の基板間通信制御の方法 ・H/Wを使わず、S/Wでデジタル雑音信号除去 や DCモータ角速度PWM制御 を行う方法  部品原価を下げるため。 ・制御LED( テープLED・基板LED )をS/Wで信号制御する方法
■ プロジェクトの目的
前例が無い超大型マスメダルゲームを作り、高い技術力の品質の市場へのアピールと利益の獲得を狙う事。

■ 体制・人数
プログラマ 5( 管理 2、実装3 )
H/W担当者 5
筐体外装デザイナ 3

■ 自分のポジション・役割
実装プログラマの1人。中当たりと大当たり時に稼働する下記機構の制御S/Wの設計と実装。
  ・大型液晶モニタの移動
  ・大当たり用の演出台の昇降
  ・各種電飾の演出
  ・CircLink仕様の通信による、他機構( 他の担当者 )との連携

■ 目的を達成する上での課題
開発中に、内製エレメカ制御基板が全く異なる別仕様の物に変わる事。
新基板完成を待てないため、旧基板での試作を進める必要があった。

■ 課題に対して取り組んだこと
基板を抽象化するクラスライブラリを自作した事。
実行速度・搭載メモリ量・ポート数といった性能差こそあれど、搭載される機能は両者で似ている事が予め既知だった。
故にインターフェース設計を入念に行って基板を抽象化したクラスライブラリを作る事で、基板変更後の大量のアプリケーションコード修正は殆どせずに済んだ。
インターフェースに基づいた仕様変更への高い対応性の実現は、前職のCOM仕様の獲得がとても役立った。

■ ビジネス上の成果
目論見通り、前例が無い超大型メダルゲームの開発技術を獲得できた事。
3DCGモデリングツール( SOFTIMAGE|XSI)の欠陥対策
ゲーム・アニメ・玩具 エンジニア 正社員 本業として Microsoft COM( ※ )を使った、クラスライブラリ・アプリケーションのC++開発技法。 ※ Component Object Model の略。クラスライブラリを、複数プログラミング言語 かつ 複数実行形態( DLL・EXE・ネットワーク越しのEXE )で透過的に使えるようにした、Windows固有のアプリケーションバイナリインターフェース仕様。 現代では .NET 5( 旧称 .NET Framework )に役目を譲っている。がWindowsシステムコールの一部( 例 DirectX )で後方互換を保つ目的等で、細々と使われている。
■ プロジェクトの目的
初版発売時から問題が多発している SOFTIMAGE|XSI の問題解決を促す事

■ 体制・人数
1

■ 自分のポジション・役割
同僚のSOFTIMAGE|XSI 使用者たちの悲鳴に耳を傾け、山積中の問題を1つずつ解消していく事

■ 目的を達成する上での課題
・発売当初から、高価な3DCGモデリングS/Wと思えぬ程、仕事に支障をきたす欠陥が多かった事
・全使用者が、それら問題を論理的・科学的に対応できず、いつまで経っても解消できなかった事

■ 課題に対して取り組んだこと
未整理だった問題内容を全使用者から聴取し、それらを箇条書きにして分別、優先度をつけた。それにより、確実に問題解消の成果を上げ続けた事。
7件あった致命的欠陥( 例 作業中、突然死してしまう )は、最も単純な再現手順を調べ上げ、必要なら再現可能な3DCGモデルを自作かつメーカへ渡し、S/Wの品質改善に注力した事。

■ ビジネス上の成果
・使用者たちの作業効率が確実に上がった事。特に、上述7件の致命的欠陥( 例 特定操作を行うと突然死してしまう )を完全に排除できた事。

・販売代理店に、SOFTIMAGE|XSIプラグイン開発の有料ハンズオンセミナを、感謝と謝辞のしるしとして特別に無料で3日間、ご招待頂けた事。正規料金が数十万円の内容との事で、会社としても個人的にも、とても有意義な内容・報酬になった。
 プラグインを作る機会は無かったが、COM仕様を使うクラスライブラリの開発技術に深く精通できた。それが後の実務で大いに役立った。
大手ゲームメーカーで、業務用カーアクションゲームのプログラマリーダー
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・車が走り回る5[Km]四方の広大な背景情報( 地面・建物・家具・車・人 )から、処理対象の情報を瞬時に抽出するためのカリング方法。  処理対象の情報とは下記の通り。    ・衝突検出用情報( 剛体挙動計算用の位置・面法線・重さ・慣性能率・慣性乗積・摩擦係数・材質 )    ・描画用情報( 各描画対象物を、視点からの距離に沿って描画するか否かを判断するため物。各描画物に外接境界球の情報を持たせ、それと視錘台情報を使って内外判定を行って実現する ) ・ポリゴン単位での衝突検出を高速に行うための処理方法 ・32[Mbyte]のメモリに、上述の大量の情報を何とか詰め込むための省メモリ化手法。  それを使った、実機データ生成コンバータ作成手法
■ プロジェクトの目的
当時 業務用ビデオゲームで流行った「 椅子などの物を車でぶつかって蹴散らしながら、広大な地上を走り回るカーアクションゲーム 」を作り、利益を生む事。

■ 体制・人数
・プログラマ 6
・3DCG素材デザイナ 8
・企画者 2

■ 自分のポジション・役割
プログラマリーダ。
・ゲームの肝となる仕組みを実現するための構造設計(↓)と、ゲーム側とツール側のコード実装
  ・少ないメモリ上に、極力大量の物体情報をムダなく配置する構造
  ・上記 大量の情報から、衝突検出処理対象の物体( 例 地面 と 車 )を素早く抽出する方法
  ・同様に、描画対象物を抽出する方法

・この製品専用の、ライブラリ的な汎用コード 開発
 製品S/Wだけでなく、実機ツールS/Wの開発でも使われるため。

■ 目的を達成する上での課題
・メモリが32[Mbyte]しかないが、企画者は大量の情報を使う企画を実現したがっていた事
・初動~半年間、全開発者数が4人で回さねばならなかった事
・社内で誰も経験していない製品内容で、参考情報が無かった事

■ 課題に対して取り組んだこと
・データ構造を入念に設計した事。
 構造の最上層はポインタ変数で固め、情報を持たない場合はnull、持つ場合は実体を指す、というようにした。情報が無い場合にメモリを浪費してしまう機会を、徹底排除した。

・殆どのコードを汎化させ、1つの処理を色々な場面で使えるようにした事
 これにより保守・改造の要請が起きた時、少人数でも極力 最小労力で対応した事。

■ ビジネス上の成果
社内に前例が無い技術を獲得できた事。
大手ゲームメーカーで、業務用のロボット型複数人同時対戦ゲームの物理エンジン導入検証
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・オープンソース物理エンジンBulletを使った剛体シミュレーションの処理方法 ・Autodesk Maya と それ用のBulletプラグイン を使った、シミュレーションデータの作り方
■ プロジェクトの目的
上述スキル欄に記載の物理エンジンを 出荷済の業務用ビデオゲームへ仮導入し、費用対効果を検証する事。

■ 体制・人数
1

■ 自分のポジション・役割
物理エンジンBulletの剛体シミュレーション処理を既存製品の「 複数人ロボット対戦型ビデオゲーム 」に組み込み、費用対効果を調べ他開発者達へ説明する事。

■ 目的を達成する上での課題
人手がおらず、素材となるCGデータ作成等の非技術的な作業も含め1人で行う必要があった事。

■ 課題に対して取り組んだこと
1 懇意にしていた以前の所属部署の同僚に、1日だけCGデータ編集S/W( Autodesk Maya )の講師を頼み、集中して使い方を覚えた事
 かつBullet公式HPに載っていたMaya用プラグインの使い方を、徹底的に学習した事。

2 上述 既存製品のソースコード読解を早めるため、Doxygen + dot という無料S/Wを使い、C++クラス階層図やファイル依存関係図を伴うHTML文書を用意した事
 おかげで直観的かつ想像的に上記ソースコードの処理内容を素早く理解でき、いじる場所やいじり方の特定が簡単になった。

■ ビジネス上の成果
当時の時点では導入すべきでない証左を、比較的 低コストで得られた事。
実用的な複雑さで使うとCPU負荷と仕込みの作業量がとても高く、既存のゲーム品質に悪影響が高確率で出そうな割に、人件費が大きい為。
大手ゲームメーカーで、業務用ドライブゲームのプログラマリーダー
ゲーム・アニメ・玩具 プロデューサー・ディレクター 正社員 本業として
■ プロジェクトの目的
シリーズ化している業務用ドライブゲームの新作を、新しい実行環境( PCを元にした内製業務用基板 )で作って売る事。

■ 体制・人数
・プログラマ:社内6・社外8
・3DCG素材デザイナ:社内6・社外8
・企画者:社内6・社外4

■ 自分のポジション・役割
ゲームプログラマのリーダー。
・進捗管理
・他部署との折衝
・全員の各作業の進捗管理ツール( Redmine )の環境構築と改造( Rubyコードの修正 )
・技術的問題対応と可否判断
・ナイトリービルド環境( Jenkins )構築による、製品実行ファイル作成と静的解析の自動化

■ 目的を達成する上での課題
1 情報授受用の道具がメールしかなく、各人の業務負荷・進捗状況・作業案件の寿命等が合理的に管理されていない事

2 使っていたIDEのEclipse3.3+CDTのバグがとても多く、大きな開発阻害要因になってしまっていた事。

■ 課題に対して取り組んだこと
1 Redmineという課題寿命管理用のWebアプリケーションを導入し、社内外のどちらからも全関係者が問題なく簡単に使えるようにした事。予め検証と改造(RedmineのRubyコード修正)に半年割き、その後 説明会を開いて丁寧に説明し、導入への障害を徹底して除く事に尽力した。

2 発覚したEclipse+CDTの全バグの発症条件と対策を、漏れなくリスト化して全関係者が見られるWebサーバで公開した事。

■ ビジネス上の成果
1 社内外の関係者の多くから「 従来各人が手で行っていた各作業の管理が、半自動化かつ可視化され劇的に問題が減った 」と評価して頂けた事。誰もが他者の業務状況を確認できるようになり、作業負荷への気遣い・進捗遅延への責任感向上・作業忘れ を確実に減らせた。

2 社内外のEclipse使用者から「 開発資源の浪費がかなり改善された 」と言って頂けた事。本来行う必要が無い問題解決を複数人で行ってしまう事を、避ける事ができた。
大手ゲームメーカーで、体感型 業務用ゲームの各製品固有のH/W制御用ファームウェア 作成
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・通常GPUが行う2D/3Dレンダリングの処理を、ワンチップマイコン(東芝TMP95C063F)で動くS/Wで作る経験。  描画要素は、点・直線・フラットシェーディングでテクスチャ無の3角( 3DCG用S/Wラスタライザを、DDAやBresenhamのアルゴリズムで実現 )。 ・上記の全処理を、アセンブリ言語( ニーモニックはZ80互換で、オペランドレジスタを32bit拡張した物 )で作る経験 ・デジタル回路図・ワイヤリングダイヤグラム を読解する知見 ・EEP-ROMを記憶媒体として使い、かつフルICEをデバッガとして使う 一般的なファームウェアの開発能力
■ プロジェクトの目的
下記 操縦体感型の業務用ビデオゲームを開発・販売する事。
・業務用で前例が無い乗り物(電車・建機)
・実機に極力似せた旅客機

■ 体制・人数
製品毎に異なるが、職種毎に下記範囲の規模。
・プログラマ:3~8
・3DCG素材デザイナ:4~8
・企画者:2~4

■ 自分のポジション・役割
製品毎に異なる、下記H/W制御用のファームウェア開発。
・液晶画面に対する2D/3D描画用のS/W処理。初歩的なGPU相当の処理。
・操作レバーの振動
・座席下のウーファーの振動

■ 目的を達成する上での課題
・非力なワンチップマイコンで、GPU無しの2D/3Dレンダリングを30fpsの描画速度で実現する必要があった事
・遅いRS232C通信規格で、ゲーム本体の進行を遅らせず 各H/W制御を行う事

■ 課題に対して取り組んだこと
・アセンブリ言語固有の最適化コーディング技術を、極力盛り込んだ事
 具体的には、高級言語コンパイラが一般に行う最適化済コードの生成を、コーディング時に手で行う事。
 例 アキュムレータレジスタのゼロクリアはXOR命令で行う事で、命令容量と消費クロック数を抑える。
 これらにより、アルゴリズムの最適化だけで達成できなかった「 遅い描画速度による見た目の悪さ 」を、完全に排除できた。

■ ビジネス上の成果
・前例が無い乗り物の操縦体感ゲームを出荷でき、話題をさらえた事
・テレビのバラエティ番組でのゲームに使われ、会社の宣言効果が得られた事
大手ゲームメーカーで、業務用3DCGゲーム基板の非プログラマブルGPUのアルゴリズム 研究
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・VerilogHDL と Windowsで動くXILINX社製回路シミュレータ による、ASIC開発工程の初歩 ・約100万ゲートのセミカスタムASICで非プログラマブルGPUを実装するための、デジタル回路専用アルゴリズムの知見
■ プロジェクトの目的
当時(※)の固定機能GPUの最新アルゴリズムを深く理解する事。それを次世代GPU開発に繋げる事。
※初のH/WプログラマブルシェーダがDirect3D8で登場する3年前。

■ 体制・人数
1

■ 自分のポジション・役割
GPU研究・ライブラリ開発

■ 目的を達成する上での課題
このGPUの動作確認が、高価かつ少数の試作基板でしかできない状態だった事。
そのため複数いる開発者( ゲームプログラマとCG素材デザイナ )が、当初 開発作業を行えなかった事。

■ 課題に対して取り組んだこと
このGPUのエミュレーションライブラリを純粋なC++で作り、それを別途開発したWindows用GUIビューから使う事で、実機と全く同じ描画動作結果をWindows PC画面で視認できるようにした事。

■ ビジネス上の成果
なし。目的は次世代GPU開発用の基礎研究(将来への投資)で、直接的な利益追求でないため。
大手ゲームメーカーで、業務用ドライブゲームの道路用3DモデリングGUIツール 内製
ゲーム・アニメ・玩具 エンジニア 正社員 本業として ・3D CAD系の処理手順( 線形代数を使い、マウスカーソルで3次元幾何情報を直感的に編集する処理方法 ) ・下層CGライブラリ( OpenGL1.4・Direct3D9 )を直接使ったGUIアプリケーション作成法 ・MFCとSTLを独自に機能拡張したC++クラスライブラリをDLL群として用意し、Windows S/W開発コストを極力抑える方法
■ プロジェクトの目的
稼ぎ頭となる本格的な業務用ドライブゲームを作って売り、極めて高い利益を追求する事。

・1作目
 非プログラマブルシェーダで当時最高のCG表現(例 フォンシェーディング・バンプマッピング・球形テクスチャでの疑似環境マップ)を使った映像表現を行う事。

・3作目
 PlayStation2の性能に見合った、刷新されたCG表現(例 立方体マップでの環境マップ・投射テクスチャによるシャドウイング )を導入し、見た目への強い訴求を顧客に行う事。

■ 体制・人数
・S/W製作者 9
・H/W製作者 8
・CG素材制作者 6
・企画者 3

■ 自分のポジション・役割
CG素材製作者が、下記道路情報を最小労力で作るための3DモデリングGUIツール制作。1人。

・描画用の情報
  ・頂点( 位置・接空間基底・テクスチャ座標 )
  ・面。↑を結線し、3/4角形の面を表す物
  ・メッシュ。↑を見た目の質感( マテリアル )毎に纏めた物
  ・視錘台カリング用のメッシュ外接球。視点から遠い物の描画を避け、処理を速くするための物

・車体挙動用の路面情報
  ・高さ、面法線
  ・路面摩擦係数

■ 目的を達成する上での課題

・1作目
 CG素材制作用計算機が、SGIワークステーション→WindowsNT4に移ったばかりで、それ用の開発支援ツール作成が急務だった事。

・3作目
 編集操作性と編集画面の描画速度を、↑より劇的に上げる事。扱う情報量=編集量が前作より増え、CG素材製作者の作業効率向上がより重要になったため。

■ 課題に対して取り組んだこと
私生活も含め、持てる資源(時間・労力)の全てを業務技術獲得に投じた事。Windowsアプリケーション開発経験者が職場に皆無だったため。
"月刊トラ技コンピュータ"という技術誌を過去数年分を徹底的に読み漁ったり、有名書店に数日かけて通い、じっくり技術書を厳選・購入した。
又技術情報を質問し合うインターネット掲示板を複数使い、独力で解決困難な技術的問題を相談した。

■ ビジネス上の成果

・1作目
 自社開発した業務用3DCG基板の有用性を、社内外に高く訴求できた事

・1、3作目 共通
 社内の業務用ゲーム製品では、最高の利益・貢献度になった事
(株)東芝 生産技術研究所で、PCB上の半導体部品の型式を検査する機械の、制御ソフトウェア 新規開発
IT・通信・インターネット エンジニア 正社員 本業として ・C言語でのWindows GUIソフトウェアの作り方 ・Win16 API( Windows3.1のシステムコール )の使い方と、Win3.1カーネルの概要理解 ・Visual C++1.51の使い方 ・RS232C通信処理の一般知識 ・ライブラリの作り方 ・ステッピングモータをソフトウェアで制御時の一般知識
■ 概要
「 一辺40cmのプリント回路基板に付いている各半導体部品が 正しく付いているか? の検査 」を自動化し、人件費を抑える機械を 新規開発する事。

■ 人数
プログラマ2。私と先方のソフトウェア技術者。

■ 役割
全コードの9割( 約6万行 )の、要件定義から完成後対応の全工程。その内、設計と実装は↓を担当。
 ・ソフトウェア全体の制御
 ・機械操作用のWindows GUI
 ・ステッピングモータ(オリエンタルモータ社製)の駆動用ハードウェアに、RS232C通信で制御命令を送る汎用ライブラリ。
  今後の製品開発でも使う物。

■ 課題
A 上記 "■得た能力" 欄に挙げた初体験の各技術要素を、実用レベルになるまで短期間で習熟する事
B 社会人1年目の私が、万単位のコードを短期間で作る必要があった事
C 開発期間不足( 特にデバッグ期間 )が、当初から周知されていた事

■ 課題への対策
A 寝食を忘れ、四六時中 学習に励んだ事
 新宿と秋葉原の書店に通い、何時間も立ち読みしたり、高価な技術書の多くを自腹で買った。かつ内容を会社の開発環境で実験・検証し続けた。

B 自由に使える全時間と労力を、趣味と言える程 開発作業につぎ込んだ事
 現代では禁忌だが、常に業務のソフトウェア作成を行っていた。
 おかげで、職場に皆無だった「 Win16 GUI ソフトウェア開発者 」の第一人者になれた。
 かつ今も最も得意なソフトウェア開発分野の1つにできた。

C 開発契約期間後も、無償でメールと電話の技術的対応(バグ修正・修正箇所の助言)を積極的に行った事
 おかげで開発発注元のメーカ担当者から信用を得られた。

■ 成果
この機械の適用で、検査コスト( 人件費・時間・労力 )を著しく減らせた事。後日談で先方から伺えた。
大手家電メーカー生産技術研究所で、工業用レーザー発射実験機のUI S/W開発
IT・通信・インターネット エンジニア 正社員 本業として ・低速マイコンにて、自前で点・直線・真円を画面( = VRAM )上に高速描画できるアルゴリズム( DDA/bresenham )の実装経験 ・MS-DOSで動くIDE( Microsoft Programmers Workbench。Microsoft C/C++6に添付。Visual C++ の前身 )の操作経験 ・EEP-ROMライタを使って実機用ROMを焼き動作確認を行う開発経験  PCのMS-DOS上でクロスビルドした実行ファイルを、上記ライタでEEP-ROMに焼き、実機で動作確認。
■ プロジェクトの目的
新規開発のレーザー発射実験機を開発する事。

■ 体制・人数
1。小さな下請けS/W開発会社の社員の私のみ。開発発注者のメーカに出向き、開発。
他にもH/W担当者等がいたが、詳しく伺えなかった。

■ 自分のポジション・役割
上記機器に備わっている操作用液晶タッチパネルに、操作案内や各種レーザに関する情報( 例 折れ線グラフ )を表示・描画するS/Wを、C言語で作る事。要件定義~納品までの全作業。

■ 目的を達成する上での課題
下記が必要だった事。
A 遅いCPU( クロック周波数5MHz )で、高速処理。

B ライブラリが無く、原始的・汎用的な描画機能( 点・線・真円 )の自前実装。

■ 課題に対して取り組んだこと
A C言語のみで、速度に関し極力最適化を施した事。
 アセンブリ言語の利用が許されなかった。ので一般の高速アルゴリズムやC言語に特化した最適化を総動員した。

B 原始的な描画処理に関する技術書を探し、描画ライブラリを自作した事

■ ビジネス上の成果
納期を前押しでき、開発費を圧縮できた事。
そのおかげでとても感謝され、次回の指名の約束をして頂けた事。

ランサーズチェック

作業をするパソコンはウイルス対策が行われていますか?
はい
作業をするパソコンは共有ではないか、パスワードが設定されていますか?
はい
メールの確認頻度は?
毎日
一日に作業ができる時間(1週間平均)はどれくらいありますか?
1~3時間
著作権などの知的財産権について理解し、提案や仕事内容に権利侵犯がないか注意していますか?
はい
個人情報保護について理解していますか?
はい
業務委託契約や秘密保持契約などの契約を結ぶことができますか?
はい
プロジェクト開始後など、必要であれば情報を交換し、電話などでも連絡できますか?
できる
見積書や請求書などが必要であれば、作成できますか?
はい
ランサーズの利用規約や各種ルールを理解していますか?
はい

40代後半男性 東京都

最終ログイン 2020年8月10日

本人確認
機密保持確認
電話確認
ランサーズチェック
希望時間単価
2,000 円 / 時間
状況
仕事できます

実績サマリー

報酬額
0 円
受注数
0件
作業数
0件
プロジェクト完了率
---%
タスク承認率
---%

ユーザー情報

登録日
2017年9月30日
ユーザー名
buta411

このランサーに似た他のランサーを探す

このランサーに関連した他の仕事を探す