На якій платформі розроблялися старі телевізійні відеоігри? [зачинено]


13

Мені дуже хочеться знати, як розроблялися телевізійні відеоігри (в які ми всі грали в дитинстві) і на якій платформі.

Я знаю, як розроблені ігри для мобільних пристроїв, комп'ютерів з Windows та Mac, але я не розумію, як (в ті часи) розроблялися Contra, Duck Hunt та всі ці ігри. Оскільки вони мають високу графіку і велику кількість етапів. Тож як їм вдалося розробити ігри в такому середовищі невеликого розміру та з нижчою платформою конфігурації?


3
Мекнер випустив джерела Принца Персії для Apple II кілька місячників назад: перевірити його тут , якщо ви зацікавлені.
Лоран Кувіду

Відповіді:


17

Дійсно старі ігри - написані для NES, Game Boy, SNES та навіть старих систем, таких як сім'я Atari - зазвичай писалися мовою асемблерів . Це було необхідно тому, що компілятори C того часу або не існували, або не вирішували завдання генерувати достатньо ефективний код.

Вони змогли вичавити весь цей матеріал у маленькі картриджі - для NES навіть 256 КБ було багато даних (хоча існували і більші ігри) - тому що вони використовували розумні хитрощі, наприклад, на основі плитки та низької кольорової графіки, що дозволяє багато даних, які потрібно зберігати в дуже мало місця. Крім того, спеціалізовані мікросхеми для відео та аудіо давали змогу ефективніше керувати цими речами, не вимагаючи всього програмного забезпечення.

З часом компілятори C стали більш ефективними, а пристрої стали більш потужними - N64, GBA та пізніші пристрої, що використовували C або навіть C ++ за замовчуванням - і збірка була зарезервована для невеликих фрагментів коду, де необхідна додаткова оптимізація для того, щоб стабільно відповідати 60FPS ціль (або будь-який кадр, в якому гра працює).


4
Старі ігри @Mihir не були бездоганні. Але частина того, чому вони, здається, працюють краще, ніж деякі останні ігри, тому що вони також далеко, набагато менш складні, ніж їх сучасні аналоги.
хаосТехнік

1
@AndroidCoader, те, що ви шукаєте, називається емулятором. Вони існують для багатьох платформ, що імітують функції старих систем на сучасних машинах, але часто існує багато юридичних проблем / сіра зона, пов’язана з їх використанням для гри в ігри.
хаосТехнік

Я вважаю, що "Gran Turismo", коли він вперше вийшов на ПС, мав велику кількість коду, написаного на зборах через залучену фізику.
casperOne

3

Я пам’ятаю, що писав прості ігри для Commodore 64 / Vic20 ще на початку 80-х. Деякі BASIC (вірте чи ні - деякі ігри були повністю БАЗИЧНО закодовані - BASIC був на ПЗУ машини, тому був халявою) - але переважно асемблер. Assembler теж не був постійним - більшість машин мали кілька комерційних асемблерів (хоча, як і більшість тоді, я написав своє). Графіка на C64 була дуже розвиненою на той час з растровими апаратними спрайтами (лише 8 дозволяється на екрані за один раз, але вони можуть бути продубльовані в програмному забезпеченні з деякими хитрощами, даючи сотні, але лише 8 різновидів на екрані за один раз). Вони мали 16 кольорів (палітру - яку можна було змінити під час виконання, як і спрайт). Спрайт був 2D звичайно.

Перший «домашній комп’ютер», з яким я грав (ігноруючи раніше наукові та ділові машини), був ZX81 (у моїй школі був ZX80 - але він був зафіксований у скляній коробці, як музейний експонат - ніхто не знав, як ним користуватися!). Уявіть, що ви пишете гру в 1/4 К (це 256 байт!) - тепер це вміння!


3

Системи відеоігор або консолі першого покоління (раніше їх називали консолями) з кінця 1970-х і до сьогодні розроблені так само, як і будь-яка вбудована комп'ютерна система .

Вбудований комп'ютер являє собою комп'ютер (тобто мікроконтролер або мікропроцесор) в електронній системі , яка не схожа на персональний комп'ютер, або більше на багато користувачів комп'ютерної системи (наприклад , систему поділу часу, міні-комп'ютери і мейнфрейми); однією з головних різниць є те, що вони, як правило, не мають стандартного вводу / виводу через відеотермінал та клавіатуру.

Розробка розробляється на іншому комп'ютері, зазвичай це ПК для розробників або робоча станція, використовуючи міжплатформенне середовище розробки, яка виробляє виконуючі файли для цільової системи - система відеоігор у цьому контексті, яка часто є різною архітектурою мікропроцесора порівняно з розробкою. власний (або хост ) процесор системи.

Два приклади існуючих систем відеоігор є для компанії Sony Playstation 3 , яка заснована на Sony, Toshiba і IBM «s процесор Cell , а також для мобільних пристроїв (смартфонів, планшети) , які часто ARM мікропроцесорів на основі.

Як Michael Madsen зазначалося, більшість програмувань виконувались в монтажному режимі, а не на високому рівні компільованої мови, таких як C або Pascal. Це було необхідно для вмісту всього вмісту гри в межах дуже обмеженої системи (дуже мало оперативної пам’яті та обмежена ємність ROM для картриджа), а також для доступу до спільних процесорів, таких як TIA Atari 2600's.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.