はてなキーワード: DirectXとは
あの頃はまだスーファミ開発機がある環境がウリで、2年次あたりからプレステ開発機が導入されてきたかな。でもプレステ開発機が使えるのは一部のエリートだけ。俺らは専らDirectX。それもver.5が出てきたあたり。
暇だからゲーム専門学校時代を振り返る - 昆布がないと開発できない。 http://donnpema6.hatenablog.com/entry/2019/10/23/004918
HAL東京は私の母校でもある。読んでいてとても懐かしくなった。
この記事を書かれた方と同じように自分も卒業して思う事や学生時代を振り返ってみたくなったので書く。駄文ですが入学検討している高校生、在学中の方にこれからの参考になればと思う。
まずは私の情報について。
・現在は大手ITにてモバイルゲームエンジニア(Unityメイン)
まず私はゲーム業界志望で入学してゲーム業界に就職したパターンの人間である。
HAL東京でゲーム学科なんだからゲーム業界に行くのは当然ではと思われる方もいるかもしれないが残念ながら半数近く、またはそれ以上の人数がゲーム以外の業界に行く。
1年目
・冒頭で紹介した記事にもあった通り、HAL東京では前期・後期に別れて授業を行う。1年目は基礎を学ぶ。
・この基礎だが、プログラミング以外にもデザイン、コンピュータサイエンスなども行う。これは1年目の後期に改めて学科の選択の機会があるからだ。実際にプログラミングやってみて自分に合ってないと考えた人はデザインの学科にも行けるというわけだ(最も、最初の希望とは違う学科に入ってちゃんとその業界に就職した人を私は知らない)
・プログラミングの授業ではC言語を学ぶ。私は高校時代プログラミングなんて一切やっていなかったので初めて触れたのがCだった。printfでHelloWorldしたりscanfでメモリ領域ぶっ壊したりしつつもプログラミングの基礎を学ぶ。 IDEはVisualStudioだった。
・コンピュータサイエンス系の授業では、基本情報技術者試験の合格を目指し皆勉強する。HAL東京では基本情報技術者試験を取得していない場合、この授業が卒業まで続く。就職において資格を見る会社も一定数いるのでこのカリキュラムは良いと思う。取得している場合はAndroid開発やコンシューマゲーム機での開発授業などが選択できるようになっている。私は初の試験で無事合格したが卒業時でも取れてない人は一定数いた。馬鹿なんじゃないのか。
・1年目の後期からは学科に別れた授業+コンピュータサイエンス系の授業といった感じで進む。
・C言語のコンソールに文字を表示させてゲームを作るというのを1年目はやる。独自のライブラリが渡される。
・文字だけで表現するのにこの時点で出来るやつと出来ない奴がはっきりとわかる。 優秀な人間は自分でバックバッファの概念を構築したり、滑らかなアニメーションなどを実装している。凄い。当然彼らは誰もが知っているような大手ゲーム会社に今はいるはずだ。
・1年目の最後、学内での制作物の展示イベントがある。そこで作ったゲームを展示するのだ。ここで出来ていない人はおそらく翌年には退学している。私は完成はしたものの拙い出来だった。反面、負けてられないなとは思った。
2年目
・2年目からはDirectXを使用した本格的なゲーム開発の授業がスタートする。またそれと並行してコンシューマゲーム開発の授業が始まる。私の世代ではNintendoWiiだった。
・C言語の授業もC++の授業になり、クラス化などについて学ぶ。
・コンシューマ開発の授業は基本的に情報がない中やる。渡されるのはWiiの関数リファレンスの本だけ。あとは授業で教官から教えられつつ実装していく。
・DirectXでは9を使用していた。Xライブラリのようなものは一切使わず、直でDirectXを触る。描画の仕組みなども学べるのでこの授業はとてもよかった。確か前期は2Dゲーム、後期は3Dゲームだった気がする。それぞれ個人開発で1本づつ作る。私はこの時に作った3Dゲームが結構面白く出来て自信がついた。
・2年目の後期ではWiiの開発でチーム制作を行う。チームは勝手に決められるが基本的に優秀な人がリーダーになる。チームによっては崩壊しているチームやギスギスしているところもあり、プログラミングできる人と出来ない人の差が露骨に出る。何人かはここで脱落し、退学する。
3年目
・DirectXの授業は継続しておりCで作ってたものからC++で作るようになる。ここらあたりからかなり複雑なアルゴリズム(地面の起伏に応じた高度計算や正確な当たり判定の実装など)も学ぶ。
・DirectXとは違うものとして、OpenGLの授業も始まった。OpenGLとDirectXのマルチプラットフォームを目指してゲームの開発を行う。またネットワークを使ったゲームをOpenGLで開発したりもする。この授業では基本的に自分で調べて進めていく。調べる力をつける。今思うと一番エンジニアとして大切なことが学べる授業だったと思う。
・先ほど書いた、基本情報に合格していると選択授業でAndroidプログラミングなどもできる。
・就活に備えたビジネスマナーなどの授業も始まる。その日はスーツを着て通学する。私はこの時点でスーツ着て働くのは論外だと強く感じるようになった。
・3年生のビッグイベントとして10月にインターンがある。これはHALがゲーム会社やIT企業に依頼する形で生徒を会社にインターンとして参加させるというものである。当然ながらこれも出席率などに問題がある場合は参加できない。
・インターンは1ヶ月間あり、ゲームの会社にいく人もいればデバッグの会社にいく人、IT企業にいく人様々である。どこにいくかは教官が決める。私はゲーム会社だったがかなり勉強にはなったしゲーム会社で働く雰囲気というものを知れたのでよかったかなと思う。
・3年後半からはDirectXで就職作品を作り始める。就職作品とはいわゆる企業の人に見せる作品の事である。これは完全に個人で作るので人によって完成度はかなり違ってくる。中には商業作品のようなクオリティのものを完成させる人も出てくる。実力社会である。
4年目
・4年目は卒業制作展と就職活動、産学連携の三つがメインとなる。
・私は4年になる頃には就活終わっていたのだが基本的に全てにおいて就活を優先する様になる。内定出るまではスーツで通学など、それ意味あるのか?
・HALには学内企業説明会というシステムがあり、様々な会社が来校し企業の説明、特別選考の案内をしてくれる(任意参加だが就活中の人は実質強制参加である)
・4年中盤くらいにはもうほとんどの人が就活を終えているが一部の終えていない人たちは延々と説明会に参加してはエントリーシートを書いていた。大変だなぁ。このくらいの時期になるともう学内企業説明会にゲームの会社はほぼ無い。自分で動け。
・産学連携や卒業制作ではチームを組み制作するのだが使用するグラフィックライブラリなどに指定はなく、プラットフォームも自由となる。そのため、DirectXやOpenGLを学んでいても大抵のチームはUnityやUnrealEngineを使うことになる。
・4年目後半は卒業制作展にひたすら取り組む、この制作はとても私の中にも印象に残っている。正直楽しかった。好き勝手にみんなで面白いものを作れる。
さて、ここまで1〜4年の流れをざっくりと書いた。
次にHALについてよく聞く話、課題が多いという話にもついて触れておこう。
1科目年間20くらいは少なくとも出てる気がする。(規模はまちまちだが)
この課題だが課題を一定数達成(承認という)していないと科目留年となってしまう。とはいえ教官は自分がわかるまでサポートしてくれるので主体的に動けば落とすことは無いだろう。(私は4年間で1度も落とさなかった)
また出席率も見られる。確か80%切ったらアウトだった。
毎日しっかり通学して、出された課題をしっかりこなせれば基本的に力はつく様になっていたと思う。就活失敗していた人はハッキリ言ってこれが出来てない人が多かったイメージがある。
そのため1回休むだけで内容についていけなくなる恐れがある。しっかり授業は受けよう。
次に私の就活についても触れておこうと思う。
私は3年の中旬くらいから早く就活を終わらせたいと思っていた。また、コンシューマ業界は色々と魅力はあるが第一に給料が安いところが多いし働く環境として良いとも思えない面が多かったので最初の仕事はモバイルゲーム業界がいいなと思っていた。
そのため早い段階で逆求人サイトに登録したり、1on1面談イベントや勉強会などにも参加する様になった。
個人的に今思うのが3年の中旬くらいの時期から動き出せたのが一番良かったなと思っている。勉強会などで大学生で同じ様にゲーム業界目指している人たちとも多く会ったりしているうちに、自分は結構出来る方の人間なんだなと思う様になる。
正直HAL東京のカリキュラムは異常で、普通にゲーム作りたいという人はOpenGLもDirectXもやらない。直でそれらが扱える様になっているHAL生は業界的に結構貴重な人材になりうると思う。
描画の仕組みをわかった上でゲームエンジン使うのとそうじゃ無いのとでは全然違うんだなとこの時気づいた。HALの基礎から教える理念はとても大切だった。
私は趣味で別でDirectXでゲーム作ってたりもしてたので、それを企業の人に見せたりもしていた。何かしら物を作りきるという経験を何回も積んでいるHAL生の評価は高い。(ちゃんと授業出てれば1本は作りきれるはず)
何社か逆求人で声がかかり、そのうち一番気になっていた会社と話しているうちにどんどん選考が進み、特に苦戦せずに2月くらいには内定が出ていた。私の就活はかなりあっさりと終わった。
モバイルゲーム業界やIT業界は今かなり盛り上がってるのもあり年収もかなり良く、この結果にはかなり満足している。
最後に、私がHAL東京に入学して良かったかどうか、という点について触れてこの駄文を終わらせようと思う。
もともと、ゲームは作りたいと思っていたが、何から始めたらいいのかわからなかった。
そんな中、専門学校で学ぶことで0→1が出来る様になったのはやはり大きかったと思う。
一度作り方を学べばあとはそこからどんどん自分から学んでいけた。
逆に、そう言う学び方が出来ない人はやめておいた方が良いと思う。
HAL東京在学中ずっと思っていたのが、学生間のレベルの差がとても激しいのだ。 無能か出来る奴のどっちかになるのだ。
自分は積極的に学んでいける!出来る奴に絶対なってやる!と言うくらいの気合いがないとダメだと思う。
入学時にプログラミングの経験がある人も一定数いるのだが卒業する頃には自分の方が書ける様になっていたし、結局のところ本人の努力次第である。決して入ればゲーム業界にいけるとか、そんな甘い話はない。
生半可な気持ちで入学するのは出来る人たちの迷惑になるとハッキリ言っておこう。チーム制作の足手まといになってしまうだけである。
このエントリは中からも外からも匿名な感じでお送りしております。中の人を当てられたら1000ガバス。
子供の頃とかはダイヤブロック好きでした。延々ぐちゃぐちゃロボットとか作ってた気がする。
高校まではプログラムとか全然。ゲームやっててあーこういうゲーム自分でも作ってみてーなーみたいな。
大学は行きました。でも情報系じゃなくていわゆる理工系の学部のどっかなぜなら情報系は偏差値が高かったから。大学在学中にサークルとか趣味でプログラミング的なことを始めてあーやっぱこういうの楽しいよなーと思った。製品出てくるまでのライフタイムがほぼゼロで即結果が帰ってくるようなの。ほいでサークルでゲームとか部内サービスとかいろいろ作りました。学んだのはDirectXとかCPPとかHakellとかdotNetとか。あ、プログラミング系のバイトもやってました。覚えてない。CとかSQLとかいじってた気がする。
院にも行きました。ここで本格的に情報系の職業に付きたいのでやっぱ箔は必要かなと思って情報系の院へ。特に後に仕事で直接役に立つ研究はしてなかった気がしますが、とにかく論建ての厳密性みたいなのはサンドバッグになりながら学べた気がします。英語は終始できませんでした。読んだ論文は英語だったけど結局日本語でしか書いてない。
さて就職活動ですが、Googleが応募してるらしいので応募しました。なんかこーあんまり低級なことはしてこなかったのでCとかわざわざ書いて練習した気はします。Haskellよりも100倍早かった。
面接の内容は言えませんけど(新卒でも中途でも同じ基準らしいっすよ)強いて言うなら「XXX(任意の基礎知識)?なんすかそれ?」(面接官に教えてもらう)「それはこういうことでっしゃろか?たぶんこー書いたら実装できます?」みたいな受け答えがウケたんじゃないかなーと思う。自分知識はボロカスですけど知恵には自信あります。
まぁこうしばらく中で過ごしてみて思うのは、のたうち回る能力がまず必要で、次にしんどい時にカードをさっと挙げれる能力とかかなーと。困らないようにする能力と困った時になんとかする能力。結局どうしたって困るので。
やることは超クソ複雑な制約のもとでナイスなシステムを組み上げることで、結局クソ複雑な実装になります。さらにその上で最適化したり既存の機能を壊さないように新機能実装したり。
最近TOEIC受けてないけど900取れた覚えはない。ただTOEIC高得点の人の英語Youtubeで聞いてもアレな感じなことがあるのでTOEICが西海岸の荒野で通じるかは知りません。
技術力がすごい人?そりゃいるんじゃないんですか?ただ僕は圧倒的に人を見る目がないのでなんかみんなすごいって言ってる人はすごいんだろーなーみたいな雑な。でも子供の頃じーちゃんちで泣かされた黒猫より怖い人にはまだあったことがありません。
今は全然関係ないことに従事していて、それが大して面白くもないのだが。
たまにはラズベリーパイを弄ったり組版ソフトで面白いものを見つけて弄っている。
そんな私が何年か前に30日でできるOS本とDIrectX9入門の本を買って触っていた。昔話だ。
Cを最初にやるときののヘッダーファイル、あるいはwindowsプログラミングでウィンドウを表示するときの様な「おまじない」だ。
ロクな説明もされないまま、写経しているうちにコードが増えて行き、なんかサンプルに毛が生えた様なものができて満足するが釈然としない。
分かった気がしない。
OpenGL/GLUTを後年マニュアルを参照しながら一生懸命やったときの方が理解できた気がしたし、オリジナリティのあるコードとなった。
やはりこういう根幹部分の知識は悪戦苦闘しなければ、身につけないのだろうかと少し思う。
昨今大量に溢れるラッパーやフックを見て様々な機能が便利になったと感心する。
プログラマとして働いたことはないが、車輪の再発明は学習以外においては悪だと学んできたので、それは大変結構だと思う。
ライブラリの再利用は良い。だが、その便利さがかえって学習者の成長を妨げるのではないか。
https://anond.hatelabo.jp/20190128220133
少し前に最近話題のバーチャルのじゃロリおじさんがMMD界隈に叩かれてたの思い出したから書く。
まず最初に、MMDで作られた映像やMMD映像の作家自体を貶すつもりはないとだけ言っておくし、破壊が言い過ぎならガラパゴス化と言い換えてもいいかもしれない。
日本で一番影響力のある(あった)動画サイトといえばニコニコ動画だと思うんだが、ニコニコでは「3DCGのキャラクタアニメーション = MMD」という図式が定着してしまった。だからプロが高いソフトで作ったような商業案件っぽい動画にも「MMDでこんなことできるんだスゲー」「これMMDじゃねえよ」みたいなコメントがよく付いてる。
それゆえ、3Dのキャラクターが歌って踊る動画だとかドラマみたいなものを観たいときに見るタグは「MikuMikuDance」になってしまう。BlenderだったりUnityだったり、あるいはCINEMA4DとかMayaみたいなガチガチに3DCGをやるツールで作られた動画はそもそも検索にヒットしない。
なんだかんだでネットで動画を公開する場合、再生数がモチベになるわけだからこれは致命的だ。
動画投稿者が再生数を欲しがるように、モデルデータの作者はモデルを使ってもらいたいのである。だから作者も基本的にMMD向けにしかデータを作らない。
魅力的なMMD向けデータを他のソフトで利用したい場合はインポートする必要があるわけだが、インポートしても正常に扱えないものが発生する。obj形式などで配布されたらどれだけのソフトで利用できたことだろうか。
そんなにMMDが有利なら、MMDで作ればいいじゃないか。そう思っていた時期が私にもあった。
死ぬほど不便だ。冗談じゃなく過去の遺物でしかない。Blenderなど一般的な3DCGツールの大半では、モデリングとアニメーションが1つのソフトで完結する。
もちろんモデリング向きなソフトとアニメーション向きなソフトのような分化は生じているから、ソフトを使い分けることもある。それでも、アニメーションを作るソフトでモデルデータのポリゴンをいじることができる。
一方、MMDはモデルデータを読み込んでアニメを付けるためのソフトだ。他の人のモデルを借りてくるなら手軽だが、自分でモデルから触リたい場合(通常の3DCG制作だとそうなることが多い)には非常に不便になる。モデルデータはMetasequoiaあたりのソフトで作成し、それをMMD用のモデル作成ツール「PMX Editor」に読み込む。そしてPMX Editor上でボーンを仕込んでエクスポートし、そのデータをMMDに読み込ませる。
一回やってみると分かるが、アニメーション作成中にモデルデータを修正したくなったらその手順をもう一度踏む必要がある。たった一箇所の色を変える作業でさえ、だ。
また、一般的な3DCGツールでは「レンダラー」というものが存在する。光や反射など物理な現象をシミュレートして通じて写実的な画を出したり、あるいは物理現象を捨象してモデルデータの境界線だけを抽出し、セルアニメ風の画を出したりといったこともできる。3DCGツールから出力される画像や映像の質はレンダラーが握っていると言っても過言ではない。
一方でMMDはDirectXが映し出す低品質な画像しか出力できない。2000年代のPC用ゲームがリアルタイムレンダリングしていたような品質である。
死ぬほど不便だがユーザーは多いとなると、ユーザーの中に存在する野良の開発者が改良を加え始めてもおかしくない。実際、何度か名前を出しているBlenderの方はオープンソースであるから、世界中の有志によってどんどん機能が向上してきた。
一方、MMDはこれほど知名度と影響力を誇るソフトウェアなのに完全にクローズドソースだ。MMD本体がクローズドならともかく、MMDのデータ形式であるPMDの仕様も元々はクローズドだったのである。現在はPMXという後継の形式が主流だが、これはMMD開発者ではない第三者(PMX Editorの開発者)が提案し、MMD側がこれを取り込んだものである。
現在、MMDの不便な点を補うような関連ツールも多数存在する。しかし、それらは開発者が多大な努力をして解析した結果である。
明らかに不健全なコミュニティだと思うのだが、それを批判する雰囲気はMMD界隈に見られない。作者である樋口M氏の姿勢を批判するMMDerは居ない。年齢層が低いこともあってか、過度に神格化されているようにすら思う。MMDを批判したのじゃロリおじさん氏が叩かれたのもそれのせいだ。
樋口M氏からすると、趣味で作ったソフトウェアがここまで大きな影響力を持つとは思わなかったのだろう。とはいえ、趣味で支えられる領域はとうの昔に超えているのだし、ソースを公開してコミュニティに委ねてもよかったのではなかろうか。
これほど多数のモデルデータが公開されたり、PMXが提案されたりといった現状を見て、作者自身が一番コミュニティの力を実感しているはずなのだから。
もちろん、MMDが3DCGへの参入障壁を下げたのは事実だ。Blenderは無料だよなんて言ったところであんなに難しそうなソフトを使ってみようなんて思う人間は少ないはずだ。そういう点ではフリーのモデルを読み込ませたり、フリーのモーションを読みこませるだけでアニメーションが作成できるMMDは画期的な存在である。
ただ、裾野を広げた存在に日本の3DCGは縛られすぎていると思う。例えるなら、インスタントラーメンのせいでラーメン店が続々と潰れていっているという感じだろうか。開発者の人には、「Scratch」が幅を利かせていると例える方がいいかもしれない。
MMDがオープンになって機能を大幅に向上させ、コミュニティベースの膨大なモデルデータを活かしてBlenderや商用ツールを追撃するような未来も面白いと思うが、現実はそうもいかないだろう。
この記事は「フリーランス残酷物語 Advent Calendar 2016」15日目のポエムです。えっ、まだ12月15日じゃない?あぁ、そんな事もあるかもしれないですねぇー。でも気のせいじゃないですかたぶん。
まず前置きですが、mesaka さんの書いた記事が萌えましたねぇ。じゃなくて燃えましたねぇ。まぁ、会社にバカにされたっていいじゃないですか。社員プログラマーにバカにされたってしったこっちゃありませんよ。Qiita ユーザーにもバカにされ、はてブに晒され、社会からゴミ扱いされたかどうか分かりませんが、フリーランサーはそれでも生きている限り契約を繰り返し日々前進していかねばならないのです。愚痴ることで生きていけるのなら問題ないのです!というわけで、mesaka さんには最終日の日記でも燃料を投下してほしいと思うわけです。よろしくお願い致しますm(_ _)m
前置き終わり。さてさて、僕がフリーランスだった2004年頃に体験した、奇妙で残酷な作業依頼のことを書きたいと思います。
フリーランスになる前はゲーム会社で社員プログラマーをしていました。コンシューマやアーケードゲームを何本か開発したのですが、ゲームの発売が近づくと月400時間以上の長時間労働を行います。そんなことを何回もやっていると人間は壊れます。裁量労働制の裁量ってどんな意味だろう、、、と考えながら3年働き、もうダメだなと思った時に同期の10人は誰も残っておらず、一番最後の退職者となりました。その後1年は携帯ゲーム会社でゆるふわな開発を行い、元気がでてきたところでフリーランスとして働き始めました。
初めての契約は 3DRPG を開発している会社と結びました。準委任契約なので会社に出向し決まった時間働き、毎月決まったお金をいただく形です。業務内容はプログラミングとそれに関連する作業となります。関連する作業は曖昧ですが、まぁ雑用含めてお仕事するうえでの作業全てなので、社員プログラマーと働き方はそんなに変わってない思います。
一般的なプログラム作業であれば、例えば MMORPG の開発ではマップ表示を担当しましたが、これはマップ担当の3Dデザイナーさんとデータの仕様などを決めていって、あとはプログラミングするだけのお仕事です。この開発ではプログラム全体の設計とプログラマーのまとめ役もやっていたので、メンバーへの指示出しやタスク管理もプログラミングに関連したお仕事です。
少し変わった作業だと PS2 で発売した 3DRPG のコードを渡され、「VisualStudio で動くようにして。大丈夫、描画エンジンだけ DirectX で動くものを別で用意したから」という依頼だったりします。幸いにして同じような依頼を前職の社員のときに受けていました。その時は PS 用に発売した 3D 格闘ゲームのプログラムを渡され「ナムコのSystem12基板で動かせるようにしてよ。大丈夫、PSと System12 の違いは CPU のクロックが違うだけだから」というものでした。どちらの依頼もプログラムと向き合うだけの作業なのでとても単純なです。CodeWarrior で書かれたコードを VisualStudio でコンパイルすると2万くらいコンパイルエラーを吐き出すのですが、それをもくもくと修正するだけです。
新人プログラマーの教育係もプログラミングに関連したお仕事です。ペアプロで一緒にゲームを開発していくのはとても楽しかった!あと成長していく新人かわいいぺろぺろ。
当時その会社ではまだバージョン管理ソフトを使っていませんでした。社員毎に Samba のディレクトリがあり、そこにプログラムファイルを配置して共有を行っていました。さすがにこれは不味いと思いバージョン管理ソフトの提案も行いました。前職では CVS と Microsoft Visual SourceSafe を使用していましたが、CVS には悪夢(マスターアップ1週間前にデータが壊れる)しか思い出がない事と、Visual SourceSafe は無料ではなかったため、当時流行りだしていた Subversion を検証したレポートを作成し、それをもってシステム管理部門を説得するということもプログラミングに関連したお仕事でした。システム管理部門は企業のガーディアンですので、そうそう実績のないソフトウェアを会社内の PC にインストールさせるわけにはいきません。2004年頃の Subversion は Ruby など新しい技術を使う Web 業界ではそれなりに認知度があったかもしれませんが、C++ も使わず C のみで開発を行っているゲーム業界での認知度はとても低いものでした。時間をかけじっくりとシステム管理部門を説得していく必要がありますが、これはプログラミングに関連したとてもとても大切なお仕事です。
なお、会社から社員にならないかとの提案を頂いたのですが、当時はフリーランスという契約のみで結ばれた、ときには人情のかけらもない綱渡り状態にスリルと興奮を感じていたため断りました。24歳という若さのためか、それとも前職で壊れた頭がまだ治っていなかったのかはわかりません。
そのようなプログラミングとプログラミングに関連する作業を行っていたところ、プログラマー全体を統括するマネージャーから奇妙な作業依頼を受けました。それはとある社員プログラマーのスキルチェックをして欲しいというものです。
新人教育でもなく、サポートしながら一緒にゲームのプログラミングを行っていくのではなく、スキルチェックです。スキルを見るならペアプロでもしてゲームの実装を行っていくのが良いと思ったのですが、製品にそのプログラムを入れたくという事で却下されました。また、スキルチェックに僕の時間をあまり使ってほしくないそうです。まぁそりゃそうだよねゲーム開発に時間使わないと。そこで、既存の開発とはまったく関係ないプログラムの課題を出して実装してもらいました。
しかし、まず課題を説明するところから問題が出ます。こちらの説明を全部紙にメモっているのですが、話が先に進むとメモれないとのことでメモり待ちが発生しました。口頭で2分くらいで伝わる仕様が10分くらいかかります。全部話しを聞いてから後でメモるのではダメなのかなと思ったのですが、どうもこのやり方でしか話が聞けないようです。
翌日に進捗を確認したかったのですが帰ってしまっていたので、次の日の朝に進捗を確認するとまだ実装中とのことでした。分からないところがあれば聞いて欲しいと伝え、作業を続けてもらいます。毎日こちらから進捗を確認するのですが、もう少しでできるという返事を貰う以外に特にアクションを起こしてきません。そんな状態で1週間が経ちました。ちなみに課題は1日くらいで実装できるものと想定していました。そして、この状況をマネージャーに説明し、チームメンバーに入れれるかという質問には難しいと答え、作業は終了となりました。
フリーランスの解雇は簡単です。しかし、社員の解雇というのはとても難しいものです。金の横領など分かりやすい行動をとった場合は別ですが、プログラミングスキルが低い事で一方的に解雇しようものなら逆に訴えれて終わりです。僕の今まで関わった会社さんでも、解雇した社員が訴えを起こさない代わりに和解金を要求し成立したケースもありました。スキル不足の社員を解雇するなら、社員にその事を納得してもらい円満に退職してもらうのが良いと思います。納得してもらうには情報が必要です。「○○を依頼しましたが、あなたは達成できませんでした」という情報をいくつも集めて納得してもらいます。退職していかれた社員プログラマーがフリーランスの僕のところに来る前、2人の社員プログラマーのもとでスキルチェックを受けていたそうです。僕で3人目だったわけですね。それら3人分の評価を伝え、納得してもらい退職してもらったのだと思います。
なんにせよ、一連の流れの中で僕は社員に印籠引導を渡すという残酷な作業をしていたわけです。正直楽しい作業ではありません。このような不幸なフリーランスを増やさないためにも、社員の方々には採用時のスキルチェックをしっかりと行って頂きたいと思う次第です。というかそいう首切り作業は社員でやって。。。あ、でも外部委託した方が会社としてメリットが大きいか。
こちらの会社さんがある意味消滅と言ってしまえるような状態になったので別の会社で社員として働いたものの、また頭がおかしくなってたのかフリーになり、受託用の個人会社まで設立し、その会社も今年で閉じ、今はサンフランシスコで英語の勉強と趣味のプログラミングをしています。あまり普通ではないので最初の会社でアホになってからそれが治ることはなかったようです。長時間労働マジ怖い。
自己紹介が遅れましたが akiraak といいます。Qiita に糞ポエムを晒すのは公衆衛生上よくないと思い増田に排泄した次第です。Qiita ではこんなのを書いています。
そして「PS4までのゲームはPS Nowで遊べるぞ!」ってか?
何のためにx86アーキテクチャに移行したか分からなくなるなw
でも、基盤技術だって今のままってわけはないんだから、DirectXが移り変わってきたのと同じように
PS4 Proがやっと発表された。
PS4 Proだけでしか遊べないタイトルは出ないと明言されているけど、
今までのPCゲーム市場を見てればそんなの気休めだって誰でもわかる。
見た目に関するあらゆる要素が時間の経過とともに劣化度合いを増していく。
救いは、とりあえず当面はDirectX??のような足切り要素がないことぐらいか。
PCみたいな欺瞞ではなく、本当に買ったゲームが新しいハードでも遊べることが保証される。
当面は。
最近の海外のPS4タイトルに顕著だけど、発表当初高らかに謳っていた「1080p60fps」のタイトルはぐっとその数を減らした。
インディーズとか一部のAAAタイトルのマルチプレイ部分限定とか、そのぐらい。
PS4 Proでは4K対応を前面に押し出してきてるけど、biowareの中の人がMassEffect:Andromedaの4Kデモ映像が
実解像度4Kではないことを認めている以上、PS4 Proに4Kは荷が重いことは事実。
4K対応と同時に実現した「既存タイトルの解像度、フレームレート向上」こそ
恩恵にあずかるユーザーも多く、実現も比較的容易で有意義な機能だ。
つまり、「PS4では当初掲げた標準フォーマットに遅れをとるようになったのでリリース当初の価格で
リリース当初に掲げた標準に追いつける新ハード」がPS4 Proだ。
さらにこの先を考えると、いずれPS4 Proでも1080p60fpsを実現できない時代は来る。
それが何年後かは分からないけど、そのときもまた性能が上がった新たなPS4が出るだろう。
じゃあそのときリリース当初のPS4はどのぐらいのクオリティを保てているのだろうか?
PS4からPS4 Proにかかった時間と同じと仮定して、3年後にPS4 Proの性能向上版がでたとして
6年経ったPS4はどの程度のクオリティだろうか。見るに耐えないということは無いだろうが
PS4リリース当初の「高性能なゲーム機」なんていうイメージの範疇には入らないだろう。
つまり、PCゲーが有史以来脈々と受け継いできた「ハードウェアを定期的に買い換えないと取り残される」というルールが
ゲーム専用機にも適用される時代がとうとう来てしまったということだ。
同じハード向けに作られているソフトのはずなのに、後に発売されるほど
同一ハードのタイトルであれば、右肩上がり的にクオリティが上がってきた今までとは間逆の時代。
https://www.microsoft.com/ja-jp/windows/windows-10-specifications
一応、↓の通りとはなっているけれど、たいていこういうのは最低限スペックだから、この2倍あれば問題なし。
CPU:1 ギガヘルツ (GHz) 以上のプロセッサまたは SoC
メモリ: 32 ビット版では 1 GB、64 ビット版では 2 GB
ハード ディスクの空き領域: 32 ビット版 OS では 16 GB、64 ビット版 OS では 20 GB
グラフィックス カード: DirectX 9 以上 (WDDM 1.0 ドライバー)
仕事で複数台使ってきて思うに、Win7810それぞれ、必要スペックはさほど変わらないよ。むしろ、8以降は7より早いんじゃないかと思うくらい。
とはいえ、動かなくなるものも出てくるから、CD化やバックアップは必須。
モニタやキーボードやマウスといったインターフェース部分が使えることが確認できてからアップグレードする事を薦める。まぁ、普通は使えるんだけど、使えなかった時が痛手だから。
○朝食:なし
○昼食:おにぎり三つ
○調子
むきゅー!
○ブコメ返信
ロボットポンコッツを始め、クロスハンターとかメダロットとかのポケモンになれなかった銀メダリスト達が多くいましたね。
まあただ、これは辞めなければ勝ちみたいなもので、そもそもの続ける企業体力みたいなものの差でしかない気もします。
ちなみに、ボンボンは父親が重度のガノタだったため、プラモウォーズや、ときたコミカライズのために父親が買ってましたね。
oooooo4150さんが、どれだけのゲーム知識やパソコン知識を持っているかわからないので、
Microsoftが何のためにゲームを作るのか、そして今なぜWindows10を押し進めているのか、の理由を書きます。
もちろん例外は山ほどありますが、Windowsの多くのゲームはこの「DirectX」というライブラリが無いと動きません。
この「DirectX」を使うと、スーパープログラマがゴリゴリ機械語だのアセンブリだので描画を書かなくても、ライブラリを使って簡単お手軽に3Dゲームを作れます。
Quantum Breakのような大規模ゲームにおいては、如何に多くの人間が関われるか? が重要なため、このような汎用的なライブラリを使って作業の標準化を行っています。
また、Quantum Breakでは「銃の弾道の軌跡」や「時間の巻き戻りや進みや停止によるエフェクト」などが非常に美しく、
「静止画」としての美しさよりも「ゲーム」としての美しさを優先しています。
その証拠に、現行世代機では解像度は劣っています。(720p30fps)
ただ、その分、ゲーム動作のエフェクトにとても力を入れていて、「時は力」を体現する見た目を見事に描画しています。
このエフェクトは、同時多発的にかつリアルタイムに描画されるため、非常に高度な技術が必要なのは、素人目にもわかると思います。
そのため、Quantum Breakは「DirectX12」という最新のライブラリ、
さらにそれに最適化された「Northlight Engine」というこのゲーム独自のエンジンも使っています。
この「DirectX12」は、最新のWindows10にしか対応していないため、Quantum BreakはWin7では遊べないのです。
じゃあ、今度は「DirectX12」はどうしてWin7に対応しないのか?
という疑問がわくかもしれません。
それは、Microsoftがそもそも何のためにゲームを売るのか、ゲームを売ることで何を成し遂げたいのか? を説明しないといけません。
Microsoftが初代Xbox(旧箱)の時代から掲げているのが「リビング」です。
ココで言うリビングは、家族が揃っている部屋、程度の意味で、要するに「テレビがある部屋」みたいな意味です。
で、Microsoftは世界中の「テレビがある部屋」に、自社の製品を置いてもらいたいと思っています。
では、そのためにはどうすればよいのか?
いやいや、実はそれだけじゃ駄目です。
当然人間には金銭的な理由やスペース的な理由などで「他社製品」との比較をして、Microsoftの製品を置くかどうか決めるわけです。
そこで、Microsoftは「他社製品」に勝つ必要があるわけですね。
もちろん、プレステや任天堂より面白いゲームを作るのは大前提です。
けれど、歴史的事実としてSEGAは今ハード事業をしていませんし、ATARIもしていません。
SEGAが他社と比べて劣っていたわけでないことは、僕以外の誰かが詳しいので誰かに聞いてください。はてなには多分山ほどこの辺のゲーム事情に詳しい人がいるので。
また、リビングには「スティックPC」や「ApplTV」といった、ゲーム機以外の「他社製品」も参入してきています。
そんな状況でMicrosoftは、自社製品の要である「Windows」と未だ世界二位だか三位だかに甘んじている「Xbox」を融合させようと考えています。
つまり、仕事場や個人の部屋を制した「Windows」が「Xbox」が未だに制覇できていない、リビングに乗り込もうとしているのです。
さらには、モバイル端末機器の話とかも絡むのですが、省略します。
それの一端として、UWPアプリといって、Xboxでも、Windows10でも、Windows10Mobileでも、動くもの凄く汎用性のあるプラットフォームを作ろうとしています。
UWPアプリはAndroidやiOSでも動かす事ができる予定で、かの5pbさんが掲げた「1コード7プラットフォーム」は計らずとも現実の物になろうとしているのが、現状です。
(本題とは離れるので深くは触れませんが、自社製品だけでなく、他社製品であるAndroidやらiOSやらに向けても色々な施策があります。Xamarinとかでググってください)
このUWPアプリによって「あっ自分の部屋でやったゲームの続きを、そのままリビングでやろう」とか、その逆であるとか、
「電車の中でプレイしたゲームの続きを、リビングや自室の大きなテレビでやろう」みたいな動線を作ろうとしているんですね。
Quantum BreakはUWPアプリではないものの、Windows10版もXboxOne版もほぼ同じ体験ができ、セーブデータも共有できます。
メインストーリーは家族と一緒に楽しみ、やり込みは自室のパソコンで遊ぶ、なんて体験を提供しているわけです。
そして、こういう新たな施策は、ユーザー数がついてこないと意味がないんですよね。
良い”体験”を売るのは、今この世だからこそ評価されるんです。
Quantum Breakは30年後も評価されるゲームですが、Quantum Breakを取り巻くXboxOneやWindows10の体験は今でないと評価できないんです。
(任天堂のディスクシステムなんか典型的ですよね。あの時だから評価できる。今ならインターネットからダウンロードじゃない理由がないですもの)
そのために、Microsoftとしては「Windows10」の普及率を上げる必要があるんです。
なのでWin7は切り捨てないといけない、今更Win7に最新ゲームを対応したら、何時までたってもゲーマーはWindows10に移行してくれないんです。
だから、Windows10の無料アップデートをしつこくするんです。
(Win7でそのUWPアプリの構想はできないのかって? この構想はモバイル端末、ゲーム機、PCなど様々なOSが一本化できるからこそ意味があるので、それはちょっと厳しいかもしれませんね。何よりMicrosoftは、iOSのAppSotreやスチームのような「販売する場」を作ろうとWindows8辺りから一生懸命なので、ソフトウェアのようなDL販売が主のものは、なおさらWin7では出せないんです)
長々と書きましたが、どうしてWin7で遊べないか理解していただけたでしょうか?
二行でまとめると、
「商売的にはWindows10を中心としてゲーム機やPCやモバイル端末を売りたいから」
って感じです。
とまあ、理屈を述べたところで、Windows10搭載のPCを買ったり、Win7をアップデートしたりすることの後押しにはならないと思います。
キラーインスティンクトのシーズン3はWindows10とXboxOneのクロスプラットフォームで盛り上がって行くし、
ギガンテックも多分出るし(フェイブルレジェンドのアレのせいで運営型ゲームは怖いけどね)
将来的にそこまで悪いハードだとは思わないので、是非とも、XboxOneやWindows10をよろしくお願いします。
スマホ向けボードゲーム「ポケモンコマスター」Android版が本日サービスイン。AIを活用してデュエルを勝ち抜こう
http://www.4gamer.net/games/336/G033671/20160412029/
大好きなポケモンのシリーズだけど、これはちょっとプレイするのを辞めておこうと思う。
理由は簡単で、月五万円上限一杯まで課金する自分を止められそうにないからです。
この日記で度々話題に出してるけど、ポケモンとガチャは相性が悪すぎると思う。
僕の愛する悪ポケたちをコンプしたいという欲を、抑えられる自信が全くないので、触らぬが吉ですね。
変化が激しいとかそれっぽいこと言ってるけど、要は誰かの作った俺俺ライブラリを採用してますって話でしかない。
最終的にはね、一番泥臭い技術からちゃんと身につけるのが強いんですよ。その上で、その便利な俺俺ライブラリがどのような仕組みで動いているのかを理解すればそれで十分。そいつの使い方を覚えるんじゃなくて、そいつが何をしているのかを追う事。それがちゃんとできてれば、今後どんなものが台頭してきても迷わずに理解する事ができるようになってるから。
具体例で言うとね Unity やら Unreal Engine やら、そいつらの使い方を覚える前に、その後ろにある OpenGL やら DirectX がどのように動いているのか知る事、そしてその背後にある数学の世界を知る事。
派手な空中戦も便利だし見てて気持ちいいし非常にパワフルなのだけど、最後まで生き残れるのはちゃんと地面に足を付けて戦う事のできる人だよ。(そういう意味で、英語の技術文書を読み慣れるというのは堅い技術だね)
自身、年に数回やっている事なのでメモとして残しておく。 ただし Win 8 以降に関しては当てはまらない事も有るかも知れない。
1. 下記をあらかじめダウンロードしておき、CD-RW や USB メモリに書き込んでおく。
a.最新の Windows サービスパック(Windows インストールメディアが最新サービスパックを含んでいればもちろん不要)
b.チップセットドライバ(Intel の場合は インテル・チップセット・ソフトウェア・インストール・ユーティリティー http://www.intel.com/p/ja_JP/support/highlights/sftwr-prod/inf )
c.SCSI or AHCI ドライバ(Win Vista 以降は標準で AHCI に対応したので不要)
d.対応する最新の DirectX http://support.microsoft.com/kb/179113/ja (なお AMD 製ビデオデバイスの場合は不適合でブルースクリーンとなる事がある)
e.各種デバイスドライバ(特にビデオと有線ネットワークは必須)
2. BIOS 設定を確認する。 AHCI が使えるなら、AHCI にしておく。 ブート順序(どのディスク/デバイスから起動するか)も設定する。
この際、起動デバイスをどのようにパーティショニング(分割)するかを考え、起動用パーティションを確保する。 既存のパーティションをそのまま使う人もいるが、面倒であってもいったんパーティションを削除して新たに確保し直す事を推奨する。
これは Windows サービスパックや他ドライバよりも先にインストールする事が推奨される。
http://www.intel.com/jp/support/chipsets/inf/sb/CS-009270.htm
他に何かをインストールしていると、それが要因となってサービスパックのインストールに失敗する事例があるため、チップセットドライバの次に優先的にインストールする事を推奨する。
Win XP の頃まではビデオ・オーディオドライバよりも先にインストールする事が推奨されていたが、Vista 以降はマザーボードの事情により左右されるようになったので、この時点でインストールしなければならないとは言い切れない。 DirectX の最適なインストール時点は、個々の事情に合わせて調査する必要がある。
ちなみに現在、DirectX は Web インストーラ http://www.microsoft.com/ja-jp/download/details.aspx?id=35 が主流であるため、8.項以降にインストールしても問題は無いのだろうと推察される。
7. ビデオデバイスがあれば装着し、そのドライバをインストールする。 場合によっては適宜設定を行う。
Windows はもともと標準ビデオドライバを内蔵しているが、(たとえオンボードビデオであっても)より適合したドライバでそれを上書きする事を推奨する。
8. オンボードデバイス(オーディオ、有線ネットワークなど)のドライバをインストールする。 また、後のトラブルを避けるために、ネットワーク名を半角英数字だけに変更する事を推奨する(※1)。
9. その他のデバイスを装着し、ドライバをインストールする。
要するに、ハードウェア・デバイスのインストール順序は、より「内蔵」度の高いものから、低いものへと行うのが原則である。
Windows の状態によっては、Windows アップデート自体がすぐに使えない事がある。 そのような場合、Windows アップデートを行おうとすると、Windows から指示が出されるので、それに従う。
ここで失敗する場合、インターネット接続に問題がある可能性が考えられる。 ネットワーク設定を確認する。
メーカー製 PC におけるプリインストール Windows の場合は不要。
http://windows.microsoft.com/ja-jp/windows/genuine たとえメーカー製 PC であっても、中古品の場合は検証を推奨する。
13. Windows アップデートで、まず Internet Explorer のバージョンを上げておく。
先にこれをやっておく事で、古い IE の余計なアップデートパッチを適用しなくて済む。
15. この時点で、システムのバックアップを作っておく事を推奨する。
以上
※1
実際に起きた問題例として、サードパーティ製のファイアウォール・ソフトが、日本語を含むネットワーク・アダプタ名を認識出来なかった、という事があった。
これに限らず、海外製のソフトを使う事が多い場合、フォルダ名やファイル名などは、極力、半角英数字だけを使うようにした方がトラブルを避けられる。 本来、そうであってはならない事ではあるが。
それまでその人はHSPをずっとやってただけあってまあすごいコード
ポインタを使ってない
動的確保すらしてない
おまけにDirectXの関数とDXLibの関数が両方出てきてる
それくらいちゃんと勉強しろと(30分かけて)説得すると、わかりましたと返事を頂いたがその4時間後にはやっぱりいいですと
理由はいっちょ前に「やってみないとわからないじゃないですか」の一点張り
実行してみると赤い四角が画面をWASDで動きまわり、その座標などを左上に表示するだけ
一年で何やってたんですかねぇ…
if(条件式) 実行文A;
if(条件式) 実行文B;
if(条件式) 実行文C;
とかいうコードをふと見た瞬間止めておくべきだった(同じ条件式)
あ、彼はassetを作る人を募集してるみたいなんで見つけたら気をつけたほうがいいですよ
山本一郎氏はプロジェクト管理の話しかしておらず、せいぜいUnityは(他のどんなミドルウェア・またはプラットフォームと同じように)銀の弾丸ではない、という内容である。
それがどんな技術であったとしても "〜しか使えない" って言う奴はお荷物でしかなく、仮にそういう現象が起きているとするなら、その発見が早まっているだけである。
この時代において、ハードウェア性能をフルに使わないと完成しないゲームは移植性に乏しいどん詰まりプロダクツなので、Unityを採用するような、お金に余裕の無い人達がすることではないよ、それ。
UnityはOpenGL/DirectXの単なるwrapperでしかないので、脱Unityしたいなら、それってそんな難しい話ではないはずよ。Unity程度のモデルに対して"依存"とか言う人達は、本当に技術力が無いことの証明に過ぎないので遅かれ早かれ破綻する。
スプライトとVRAMの時代はとっくに終わっている。2Dを作ろうとしても3Dは無視できないのよ。
今まで面倒だった部分を視覚化してるだけのツールでしかないので、今まで歩いていた人がより快適に歩けるようになることはあっても、歩いたことのないやつを歩かせることはできない。
聞いたことがない若輩者だが、
話を楽しく聞かせてもらいました。
自死はやめてください。
重いよ、死なないで。
年相応の熟練した技術を、作るために磨いたはずなのに
磨いても磨いても肝心の作りたいものが見えないって苦しい状況を
ずっと続けてこられたのではないですか?
その結果、今どん底にあるのだろうけど、
Unityがちょっとしたゲームにはうざ過ぎると言った貴方だ。
確かな技術はそこにあるはず。
私は知ってるからその辺は何も言えないけど、
でもただただ技術が必要とされる案件は転がってる……オフショアの進撃がやばいけど。
最初に言っておくと、増田はSCEが嫌いな方でPS3もVitaも持っていない。
そんな増田だが、PlayStation4発表でのハードウェアに対する誤解の数々を見てちょっとばかり怒りを覚えたので少し書いておく
いきなり「何が違うんだ?」と思う人や「何も違わないだろ?」と言う人も居るかも知れない。
だが後半を語る上でもこれは重要な話なので省略しないでおく。
最近のPCは当たり前のように64bitのメモリ空間を扱えるようになった。
この増田を読んでる人でも64bit OSを使っている人は少なくないはずだ。
これをもたらしたのは、x86 CPUを作ったIntelではなくx86互換CPUを作っていたAMDである。
じゃあIntelは何をしていたのかと言うと、64bit CPUを作っていた。x86を完全に捨てて。
Intelは「IA-64」という64bit CPUを開発して商品も出していたが、これは現在ではほぼ完全に消えている。
確かにIA-64は64bitをネイティブで扱えて「x86の古臭い負債」が全く無かった。しかし、現実世界はx86で作られた既存のソフトウェアを求めたのだ。ゲーム業界でも似たような話を聞いた気もする。
それに対して、AMDは「64bitを扱えるx86」を作ってしまった。これが「AMD64」であり、現在業界標準としてx86-64と呼ばれているものである。
知っての通り、x86-64は現在のIntel CPUでも対応している。AMDが作った命令を使わされる事になったIntelは何を思っただろうか。逆に、これまでIntelの命令を使ってきたAMDは何を思っていたのだろう。
PS3に搭載されていたCellは、非x86でスカラプロセッサのPowerPC CPU(PPE)と、複数のベクトルプロセッサSPEを組み合わせたヘテロジニアス(非対称)プロセッサだった。(スカラ、ベクトルについてはググろう)
スカラプロセッサが得意な処理、ベクトルプロセッサが得意な処理を両方とも高速に実行できる。それがCellの目指した「夢」だった。
スカラプロセッサとベクトルプロセッサのプログラム最適化は全く別の概念で、プログラマーにとっては野球とサッカーを同時にやらされるような物である。
しかも、スカラプロセッサとベクトルプロセッサの間でデータの交換もある。野球とサッカーのキャッチボールて。
スーパーコンピュータ「京」もスカラとベクトルの合わせ業で池田某氏に何度も叩かれるほどの超絶難産だった事は記憶に新し…いっけ?
それが原因でPS3の性能を最大限に引き出したソフトはほとんど存在せず、こともあろうにXbox360とのマルチソフトが溢れる結果となった。(ちなみに増田は360も持ってないのでエルシャダイをプレイ出来ていない、問題だ)
それに対し、PCの世界ではPS3・360が発売してしばらく後に新たなヘテロジニアスコンピューティングが生まれていた。
CPUに比べて進化が止まらないGPUをベクトルプロセッサの代わりとして使う試みだ。
GPUはスパコン用のベクトルプロセッサやCellのSPEと違い、最近のどのPCにも搭載されているので量産効果で割安というメリットがある。
DirectXのバージョンも2桁に突入し機能が増えるにつれて、「もうこれで計算すれば良いんじゃね?」となったわけだ。
結論から言うとこの試みは無茶苦茶ヒットした。近年開発されたTOP500スパコンでGPUが使われていないものを探すのが難しくなってきたし、
最近はPhotoshopなんかの比較的身近なツールもGPUコンピューティングに対応してきてヌルヌル動くようになっている。
しかし、そんなGPUにも欠点はある。「CPU・メモリから絶望的に遠い」のだ。
IBMが発明しMS-DOS・Windowsが動くことで爆発的に普及した今のPCは、GPUを外付けにすること前提で設計されていた。
DirectXやOpenGLのような例外を除いて、基本的に現代のOSはCPUとメインメモリでソフトを動かすように出来ている。
GPUも、一旦メインメモリ上でGPUのRAMに載せるためのデータを生成し、CPUから「GPU動かすよー」という命令を出さなければ動かせないのだ。
これはGPUにとって致命的すぎる欠点だった。これが原因で、遅さを跳ね返せる最新のミドルレンジ・ハイエンドのGPUでなければ逆にCPUより遅くなってしまうケースばかりだ。
現実的な理由で始まったGPUコンピューティングがぶち当たった現実的な壁である。
このGPUの欠点を克服する方法について、AMDはかなり前(少なくともGPUコンピューティングが流行るより前の2007年以前)から取り組んでいた。
GPUコンピューティングが遅いのはCPUから物理的に遠いため命令を送る時間が掛かり、メモリの扱いも異なるせいである。
CPUからGPUに命令を送る遅延を無くし、CPUのメモリとGPUのメモリを交換する時間も減らせばGPUコンピューティングのデメリットは消え失せる。
夢のある話だ。
しかし、AMDには発想と設計技術はあったがカネと製造技術はIntelと比べて絶望的に劣っていたため、
初めてのCPUとGPUを統合したプロセッサはIntelに先を越されてしまった。(IntelのGPUが絶望的に遅いからって実質出てないなんて言っちゃダメだ)
これにはAMDもかなり堪えただろう。けれどもAMDは戦略を曲げなかった。
IntelのGPUが絶望的に遅いのでほとんど意味は無かったが、少なくとも前世代のIntel GPUに比べると格段に実効性能が上がっていたのだ。CPUとGPUを近付ける統合には間違いなく意味があったということである。
AMDはCPUとGPUを同じチップにするだけでは無く、メモリ「アドレス空間」も一緒にする道を目指した。
こうなるとCPUの使っているメモリがGPUから直接扱え、GPUの使っているメモリがCPUから直接扱えるようになる。
これが実現するとCPUとGPUが完全なヘテロジニアスコンピュータに一歩近付くのだ。
2011年にやっとAMD初めてのCPU+GPUであるAPUを出せたが、メモリアドレス空間はまだ別々だった。
2012年になってもメモリ空間は別々のままだったが、AMDはARM(iPhoneやAndroidやWindows Phoneに載っているARMである)と合同でHSA(ヘテロジニアス・システム・アーキテクチャ)を推進すると発表した。
世の中の現実的な人々は笑った。「アーキテクチャだけを作ってもハードとソフトが出てこないんじゃ話になりませんよ」と。
同じ2012年、AMDは2013年中にHSAの第1世代製品を出すとだけ発表し2012年は終わった。
そして2013年2月21日(米国時間20日)、Sony Computer EntertainmentはPlayStation 4を発表した。
Cellはコケてしまったので載らない事は誰もが知っていたが、載っているハードウェアに一部の人が驚いた。
―HSAである。PC用のHSA対応APUがまだ正式発表されていない中で、なんとHSAを載せてきた。(2013年末発売だから当たり前だというツッコミは止めろ!)
CPUはx86-64のJaguar 8コア(ちなみにPC向けJaguarは4コアまでだ)、GPUはRadeon HD 7800相当でPS3と違いガチで1.8TFLOPS(理論上1秒間に計1.8兆個の小数点を含む計算を実行可能)のスペックを持つ代物だ。
このCPUとGPUは8GBのGDDR5メモリを共有して動作する。8GBと聞くと最近のPCから考えると少なく聞こえるかも知れないが、(わたしのメモリは16GBです)
GDDR5とはGPUの描画計算を速く済ませるために作られた超高速メモリであり、ご家庭のDDR3メモリとは比べ物にならない速さが出せる。
実際の所PS4がHSA対応かは正式発表されていないのだが、PC向けJaguarはHSA対応と発表されており、SCEもPS4をAPU(CPU+GPU)と呼んでいてこの変態メモリ構成とすると、発売までにクッタリでスペックダウンしない限りHSA確定と見て良いはずだ。
また、PlayStationはこれまで一度もx86系CPUを採用した事が無く、これが最初(で最g)のx86採用機となる。
Intelが初代Xbox(Celeron搭載)であっさり諦めたx86のゲーム機市場制圧の夢を、AMDが思いもよらぬ形で果たしたのだ。
これまでPCでしか発売されてこなかったDiabloが、x86-64のPS4向けに初めてコンシューマ版を発表した事もx86-64の採用が決してつまらない事ではなかった証だろう。(Diabloと戦うハメになるサードの方々にとっては非常につまらないが)
CPUとGPUの”フュージョン”…(HSAは以前はFusionと呼ばれていた。そういえばドラゴンボールの映画も今年やな…)
AMDが長年の間見てきた夢が、PS4で初めて現実世界に現れることになる。(※ただし次世代XboxもHSA採用でPS4より先に発売したりしない世界線に限る)
こんな馬鹿らしいほど夢が詰まったマシンを「x86搭載だからPCみたいで夢が無い」という一言で切り捨ててしまう人に増田は絶望した。
でも、それってユーザーの夢にどう繋がるの?
性能の引き出し易さがPS3と比べて格段に良くなるのでPS3版ラストレムナントや人喰いの大鷲トリコのような非情な現実が減る。以上。
RSS 経由で竹内マリコという人の書いた『ここは退屈迎えに来て』という本について知った。現状では紙の本でしか出版されていないようで、まだ読んではいない (彼女の本を読んだことも (多分) まだない)。
既に本を手にとって読んだ人の感想などを読んでいると、地元 (東京などの大都市ではない地方都市などか?) に通うヤンキーの同級生とはそりが合わず、かと言ってクラスに溶け込めている訳でもない自分が「東京に行けばどうにかなる」という思いで結局東京に来て、たまに帰省してみるとヤンキーやクラスの中心にいた人間はオッサン (オバサン) になっていて… という内容らしい。
私はクラスに溶け込めなかった側の人間だった。小学生の頃はどちらかと言えばいじめられていた方だと思うし、気の利いたことを言うクラスメイトを見ながら「私もああいう話し方ができたらなぁ」と思う人間だった。高校は工業高校だったのが私には良かったのだろうと思う。そこではプログラミングのできる人間やコンピューターに強い人間というのが一目置かれていて、中学までのヒエラルキーとは少し違っていた (ありきたりな表現かも知れないが、私の居場所が少し大きくなったということなのだろう)。中学までは全然勉強できずに工業高校に行ったのが私には吉と出たように思う。
その後色々あって今では日本国外で暮らしはじめて数年になる。地元にいたときには「退屈」という気持ちはあまりなかったと思う。そもそも「ここは退屈だ」と思えるほど私の世界は広くなかった。実際に運良く外に出ることができて、その実感を得ることができたのだろう。件の本に登場する人物は雑誌などの情報によりその人の世界が広がるということなのだろうと (感想や対談内容からは) 理解できる。一方私は雑誌よりも本やマニュアルを読んでいたりしていた (結構高かった Delphi のリファレンス ブックも全然活用できなかったなぁ… DirectX が… とか言ったら年が分かるか ;-)。
私が地元から離れた最大の原因は「成り行き」と「運」だと自分では考えている。外を見る機会が無かったら、何も知らずにあのまま地元に残っていたのかも知れない。Facebook で中学生や小学生の同級生がアップロードした写真を見るが、もしかしたらそのとなりに私もいることになっていたのかも知れない (いや、友達はそこまで多くなかったから、それはないかも)。
既に起こったことに対して「もしもあの時」などと考え、延々と議論するのはあまり賢い時間の使い方と思えないが、それでもたまに「もしも地元に残っていたら、今の私とどちらが満ち足りた (つまり足るを知っている) 状態だっただろうか?」と考えることがある。同年代の人と比べると比較的経験はした方だと思うのだけれど、それが足るを知ることと関連しているとは必ずしも思えない。しかし人間年をとれば知識も蓄積されるので、私のような人間でも後になって外 (現実的には日本国内だと東京一択になってしまうのだろうか) に憧れてしまうのかも知れない。
Carpe diem.
http://www.heroesofnewerth.com/
プログラミング能力もないし、日本人は同人でやってることがレベルが低すぎる
糞ジャップの開発能力は一生、シューティング、テトリス、横スク、ラノベ、ターンRPG
そんな程度だよ
↑みたいなをC++で書いてデザインもして作れてないのにUnityとかほざいてる
基本を学べとかいってる割に Unityからやっちゃうんですか(笑)
Unity勉強家の連中がやってることも低レベル見ればわかるよ
日本の同人・LLジャップがやってることは2011年にもなって
RPGの基本 Rogue風
作れない
PC向けのオンラインゲーム作ってるプロジェクトやLL使いがいたらそいつ凄いけどね
せいぜい2011年にもなってカスタムロボみたいなのも作れねーだろ同人で
たかがしれてんだよ
上位レイヤーの話はしてないんだけどね。
「Python」でも良いし、「JRE」でも良いし、「HSP」でも良いよ。
「正しい申告」と言うのは、自身が必要とする実行環境についての、正しい申告。(リビジョンとかね)
「すべてのアプリが、自身が必要とする実行環境を必ず用意する」方が、一般市民御用達のWindowsではユーザーにやさしい。
配布サイトが変わる実行環境やライブラリって結構あるが、それは「アプリが独自に解決」すべきなのか。
それとも、それらの実行環境を配布する人は、逐一公的な実行環境としてマイクロソフトに報告しなきゃならなんのか。
1年前の記事がリンクすべて死んでるとかざらにある。
って言うようなパッケージは、自力で解決しろよ、と思うんだが?
マルチ対応のアプリを作って、OSの言語に合わせて表示できるようにする思想だから。
パッケージ管理については、その方向だとマイクロソフトが公的なリポジトリを用意して、アプリケーションベンダーがそれに登録する流れかな。
Microsoft Updateですべてのパッケージが管理されるようになって、依存関係も含めてベンダーが「正しく」マイクロソフトに申告する。
現状で依存するのって「.NET」か「DirectX」で、それはバージョンで把握できる。
セキュリティに敏感なベンダーは自動更新の機能を入れるし、アンインストールはセットアップ時にアプリ毎にスタートメニューに登録される。
他のOSと比べて、結構判りやすいと思うんだが。