プログラミング言語 – アセンブラーでジェットコースターの大物のほとんどを書くクリス・ソーヤーにどのくらいの時間とどのような複雑さが関与していたか? ソフトウェアエンジニアリングスタック交換、ジェットコースターの大物:史上最高の最適なゲーム? | pcgamesn
Contents
アセンブリは、これらすべての狂気の最適化(ベクター化操作、特別な命令セット(SSEなど)を使用して、単にCからできないことを行うと複雑になります。. あなたがそのようなことをしているなら、実際には「このビットをいじり、組み立て、測定する時間があります. このビットをいじり、組み立て、測定します. 「ループであり、実際のコーディングではありません. 優れたマクロアセンブラーと熟練したプログラマーでは、アセンブリを書くことは 巨大な Cコードの作成から辞任します.
クリス・ソーヤーがアセンブラーのジェットコースターの大物のほとんどを書くクリス・ソーヤーにどのくらいの時間とどのような複雑さが関与していたでしょうか?
彼はそれをcで書くことから始めた可能性があり、その後、パフォーマンスのために必要に応じてアセンブラーにその一部を変更できますか?
ha、ha、ha、これは私の古いコメントを読んでいる人からの質問のようなものです.
3回答3
彼のラフバイオを読んでから、2年(1997年初頭から1998年後半)のように見えます. 彼が「一度に1つのプロジェクト」であるように見えることを考えると、ツールセットと時間枠は「チーム開発」にはあまりありません、私は24か月間の24か月間を想定します.
その時点で、彼は1983年以来アセンブリで働いているプロのゲームプログラマーであったので、「2年間」と「2年の私の年」と同一視しません.
ほとんどのプロフェッショナルゲームがチームが発展するのに約25人の年にかかることを考えると、業界をリードするゲームの2人の年は驚くべき成果であり、ことわざに信頼を貸してください。
- 優れたプログラマーは、優れたプログラマーより10倍生産的です
したがって、この場合、ChrisがCまたはJavaまたはJavaScriptを使用した場合、ジェットコースターの大物がどれほど速く書かれていますか . おそらく、彼が14年の経験を持っていなかったより高いレベルの言語を使用して、彼が少し遅かったかもしれないという事実以外は重要ではなかっただろう.
2010年11月18日23:02に回答しました
2,331 2 2ゴールドバッジ18 18シルバーバッジ17 17ブロンズバッジ
素晴らしい点、私はそれが事実かもしれないと思った.
Cを「高レベルの」アセンブラーにすぎないと考えている場合、Chrisが彼のアセンブリコードに狂った最適化を行っていないという仮定を立てています。 .
アセンブリは、これらすべての狂気の最適化(ベクター化操作、特別な命令セット(SSEなど)を使用して、単にCからできないことを行うと複雑になります。. あなたがそのようなことをしているなら、実際には「このビットをいじり、組み立て、測定する時間があります. このビットをいじり、組み立て、測定します. 「ループであり、実際のコーディングではありません. 巨大な Cコードの作成から辞任します.
それでも、私はそれができなかっただろう! アセンブリでDirectXを直接初期化しようとすることを考えて震えます! (編集: Wikipediaは、彼がCで「Windowsオペレーティングシステムとのインターフェース」にいくつかの部品を書いたと言っているので、彼はアセンブリでDirectXを初期化していなかったと思います。. phew!
RollerCoaster Tycoon:史上最高の最適なゲーム?
1999年4月の日曜日の早朝、ゲームデザイナーのクリス・ソーヤーは、90年代の技術のコレクションであるリビングルームコマンドセンターに腰掛けていました。. 3月下旬、最初のジェットコースターの大物は、北米の棚に上陸し、テーマパークに対するソーヤーの伝染性の愛を込めて滴り落ちていました。.
フォーラムでは、プレイヤーはゲームが何らかの形で進捗状況を失い、ゲームのシナリオでSquare Oneに送り返したと言っていました。. 長年の慎重な仕事の後、ゲームは神秘的な理由で自己破壊したように見えました. しかし、Sawyerには予感がありました。昨夜、夏時間が有効でした.
おそらくそれは偶然以上のものでした. . セーブゲームファイルの調整されたタイムスタンプは、改ざんや腐敗に対して保護するために、一致していませんでした. 「恥ずかしいことに、それは私の側の露骨なバグでした」とソーヤーは言います. 「またはそれでした?」
彼が使用したシステムコールは、夏時間の節約に変更されず、問題なくUTCで時間をかけたはずです. 「何らかの理由でのみ」と彼は言います。 した 変化!」彼はすぐにパッチをコード化し、後に保存ゲームファイルを修正するためにユーティリティをコーディングしました.
. ほぼ完全にアセンブリコード(Sawyerの以前の輸送大物など)で書かれている、RollerCoaster Tycoonとその続編は、ライド、経済、および数千の訪問者とその心の状態をシミュレートするために、当時のプロセッサを絞り、再洗練しました. ヒッチングなしで非常に多くの数字をリアルタイムで駆け抜けることには、遅い、妥協のないアプローチを要求し、より遅く、よりユーザーフレンドリーな言語ファミリではありません. また、文字が1つとゼロを表す超リーンアセンブリでは、プロセッサに直接話します.
1950年代のフォルトランの開発以来、学ぶのが非常に難しい言語であり、スタイルを辞めています. 彼の初期の頃、ソーヤーは1980年代半ばにいくつかのZ80コード化されたゲームをリリースし、クラシックエリートIIを含むAmigaゲームをDOSに変換することで頑固になり続けました。.
ハンサムで明るいように、彼は自分でビジネスを始め、その権利を保持しながら輸送の大物を作成しました。. その一部は、オハイオ州のシーダーポイントのような場所でローラーコースターに乗るためにヨーロッパと米国を旅することになりました. 彼は現在、700以上のコースターに乗っています. 彼のお気に入りのドイツのファンタシアランドのタロンは、大物ゲームの外にあるように見えます.
Sawyerは自然にX86アセンブリに引き寄せられ、そのクリーンなプレゼンテーションと稲妻のコンパイルを評価し、ジェットコースターの大物を作ろうとするとき、彼は2つのPCを装備しました。. (ゲームのシステム要件は、少なくとも16メガバイトのRAMを含むIntel Pentium 90MHzを後に呼びました.)彼のコマンドポストの上に座っていたのは、ドットマトリックスプリンター(彼が信じている)、ファックスマシン、X86アセンブリコードのポケットガイド、500ページのデスクトップリファレンス. これは彼にとって十分でした。完全なマニュアルは数千ページにぶつかりましたが、彼は必要なもののほとんどを暗記していました.
「私は長い間X86でプログラミングをしていました。.
最も初期のゲームはトランスポートの大物に似ていましたが、ジェットコースターとそのグラフィックアーティストのサイモンフォスターがより柔軟でフォトリアリスティックなシステムを作成したので、コースターはパーツを見ます. 初期設計プロセスの多くはフリーフォームであり、いくつかの明らかな前任者に触発されました:Will Wright、Peter Molyneux、Sid Meier. しかし、何よりも、ソーヤーはパフォーマンスを優先しなければなりませんでした. 新機能は、ゆっくりとしたモルモットのPCに大きな負担をかけることを意味し、それらのいくつかはコードから四つ攻撃される可能性がありましたが、他の機能はとどまらなければなりませんでした.
パスファインディングはこれらの1つであり、最大の頭痛になりました. 「完全に機能するルート検索アルゴリズムをプログラムするのは簡単です」とSawyer氏は言います。.
彼はアルゴリズムを捨て、茂みの中で多くの小さな男性と女性を壊し、間違った装飾的な道を歩みます. 「私はそれまでに米国のかなりの数の大きなテーマパークを訪れ、自分で何人かで迷子になりました」と彼は言います。. 「だから、RollerCoaster Tycoonのゲストも苦労したのはおそらく正しいと思いました[…]公園のレイアウトの設計が不十分な場合.」
ゲームがRamshackle WishリストからSVGA寺院までテーマパークに進化したら、Sawyerはそれを友人、隣人、隣人の子供たちに広めました。. 出版社のハスブロはプロのバグ狩りのプレイテスターを手配し、ソーヤーは彼自身の無限のプロービングをしました. そして、夏時間の節約にもかかわらず、ジェットコースターの大物は1999年のトップセラーPCゲームになりました.
続編のために、ソーヤーは元のコードベースに追加され、彼の究極のビジョンに近づきました. 「私はまだそのゲームとそれについてのすべてが大好きです」と彼は2016年にユーロガマーに語った. Sawyerはアセンブリを続け、2004年にChris Sawyerの移動をコーディングするためにほぼ独占的に使用し、これまでで最も野心的なゲーム、そして彼の最後の主要なデスクトップタイトル. .
Sawyerは今のように業界と仲良くしていませんが、彼は最近の管理Simsの復活に感謝しています. . 「私は今、私が作成したいすべてのゲームを作成したと感じています」と彼は彼のクラシックゲームのモバイルバージョンを含めて言います。.」
Matt Hrodey Matt Hrodeyは、PCGamesn用のRollerCoaster Tycoon 2をカバーしたゲームライターです.