Мегаобучалка Главная | О нас | Обратная связь


История программирования игр



2020-03-19 245 Обсуждений (0)
История программирования игр 0.00 из 5.00 0 оценок




Программирование игр – это процесс создания компьютерных игр. Программирование игр требует специализации в одной или нескольких из следующих областей, которые в значительной степени присутствуют в создании игр: симуляция, компьютерная графика, искусственный интеллект, физика, звук и ввод данных. Для многопользовательских онлайн-игр часто необходимы дополнительные знания, такие как сетевое программирование и программирование баз данных.

1.Прототипирование.

Прототипирование игр - процесс реализации базового функционала для чернового варианта. Обязательность прототипирования обусловлена необходимостью анализа системы в целом. Для игровой индустрии прототипом называется демоверсия с базовым функционалом (набор ключевых особенностей игры). Сколько базовых особенностей будет включено в демоверсию решается возможностями бюджета и важностью этих вещей в игровом процессе.

2.Геймдизайн

Хотя основная задача программиста не состоит в том, чтобы разрабатывать дизайн игры, они часто вносят свой вклад наравне с разработчиками игр. Разработчик игры будет запрашивать мнение как производителя, так и руководства по искусству и программированию для идей и стратегий дизайна игры. Часто люди, не занимающие руководящие должности, также вносят свой вклад, такие как копирайтеры и художники. Программисты часто внимательно следят за документацией по дизайну игры. По мере развития игры меняется дизайн-документ по мере того, как обнаруживаются новые возможности программирования, а также новые ограничения.

3.Производство

В процессе производства программисты могут создавать большое количество исходного кода для создания игры, описанной в дизайн-документе. Попутно проектный документ изменяется с учетом ограничений или расширяется для использования новых функций. Дизайн-документ является в значительной степени «живым документом», большая часть жизни которого продиктована графиком программиста, талантом и находчивостью. В то время как многие программисты высказывают свое мнение о содержании игры, большинство производителей игр запрашивают у ведущего программиста информацию о статусе разработки игрового программирования. Ведущий отвечает за знание статуса всех аспектов программирования игры и за указание ограничений. Ведущий программист может также передать предложения программистов относительно возможных функций, которые они хотели бы реализовать. С сегодняшним визуально богатым контентом программист должен часто взаимодействовать с художественным персоналом. Конечно, это очень сильно зависит от его роли. Например, программисту трёхмерной графики, возможно, придется работать бок о бок с разработчиками 3D-моделей игры, обсуждая стратегии и соображения дизайна, в то время как программисту ИИ может вообще не понадобиться взаимодействовать с арт-персоналом. Чтобы помочь художникам и дизайнерам уровней в выполнении их задач, программисты могут стать волонтерами или быть привлечены для разработки инструментов и утилит. Многие из них могут быть для определенной цели и могут содержать ошибки из-за нехватки времени (время на разработку таких инструментов часто не входит в расписание игры), а также потому, что они все равно предназначены только для внутреннего использования. Многие игровые инструменты разработаны на языках RAD для более быстрой разработки и могут быть отброшены после завершения игры.

4.Тестирование

Формальный процесс проверки качества, выполняемый профессиональными тестировщиками игр, начинается с разработки игр. Высокобюджетные игры могут начать тестирование с первой играемой альфы, в то время как малобюджетные и казуальные игры могут не пройти тестирование, пока не будет готов кандидат на релиз. Задача программистов состоит в том, чтобы исправить ошибки и ошибки, как таковые, обнаруженные командами QA.

5.Языки программирования

Как только первоначальный дизайн игры был согласован, необходимо выбрать язык разработки. Выбор зависит от многих факторов, таких как знание языка программистами, целевые платформы, требования к скорости выполнения и язык любых используемых игровых движков, API или библиотек.

Для персональных компьютеров выбранный язык может быть чуть более предпочтительным. Языковые привязки для популярных библиотек, таких как SDL и Allegro, широко распространены , а разрыв в производительности между идиоматическим кодом, написанным на современных скомпилированных языках, незначителен. Самые популярные языки обычно являются процедурными / объектно-ориентированными и реализуются через компиляторы; например, C, C ++, и Java. Тем не менее, разработчики могут принимать во внимание специфичные для предмета функции, такие как взаимодействие с операционной системой и устойчивость к обратному инжинирингу для онлайн-видеоигр. Многие игры не написаны исключительно на одном языке и могут сочетать два или более языков; Например, Unity, популярный игровой движок, имеет разные части, написанные на C, C ++ и C #.

Для консолей поддержка целевой платформы обычно является наиболее важным фактором. В прошлом видеоигры для консолей были написаны почти исключительно в сборке из-за ограниченных ресурсов с точки зрения как хранения, так и скорости обработки. [9] Однако по мере развития технологий появляются и варианты разработки игр на консолях. Nintendo, Microsoft и Sony имеют разные SDK для своих консолей Wii U, Nintendo Switch, Xbox One и PlayStation 4 соответственно.

Языки сценариев высокого уровня все чаще используются в качестве встроенных расширений основной игры, написанной на скомпилированном языке программирования, для удобства как первоначального разработчика, так и любого, кто захочет изменить игру. Lua - очень популярный выбор, поскольку его API написан на ANSI C, а язык предназначен для встраивания в другие приложения. Многие разработчики создали собственные языки для своих игр, такие как QuakeC от id Software и UnrealScript от Epic Games.

6.Графические API

Сегодня графика является ключевым определяющим признаком большинства игр. В то время как 2D-графика была нормой для игр, выпущенных до середины 1990-х годов, большинство игр AAA теперь имеют полноценную 3D-графику, даже для игр, которые в основном 2D-характера, таких как Civilization III. Тем не менее, чисто 2D-графика пережила ренессанс с инди-играми.

Хорошо зарекомендовавшая себя платформа персональных компьютеров - Microsoft Windows. Поскольку он был предустановлен почти на девяносто процентов проданных ПК, сейчас у него самая большая пользовательская база. Требуется два наиболее популярных API-интерфейса для 3D-графики для Microsoft Windows - Direct3D и OpenGL. Преимущества и недостатки каждого API горячо обсуждаются среди разработчиков игр для Windows.

В настоящее время самой популярной вычислительной платформой является Google Android. Поскольку он уже установлен на почти восьмидесяти процентах проданных смартфонов, Android занимает вторую по величине базу пользователей и продолжает расти. Android использует OpenGL ES & Vulkan (API).

DirectX - это набор игровых API. Direct3D - это 3D API DirectX. Direct3D бесплатно доступен от Microsoft, как и остальные API DirectX. Microsoft разработала DirectX для программистов игр и продолжает добавлять функции в API. Спецификация DirectX не контролируется открытым арбитражным комитетом, и Microsoft может свободно добавлять, удалять или изменять функции. Direct3D не является переносимым; он разработан специально для Microsoft Windows и никакой другой платформы (хотя форма Direct3D используется на смартфонах Microsoft Xbox, Windows Phone 7.5 и мобильных устройствах, работающих под управлением операционной системы Pocket PC).

OpenGL - это портативная спецификация API. Код, написанный на OpenGL, легко переносится между платформами с совместимой реализацией. Например, Quake II, использующий OpenGL, был перенесен с Windows на Linux фанатом игры. OpenGL - это стандарт, поддерживаемый Комитетом по рассмотрению архитектуры OpenGL (ARB). ARB периодически собирается, чтобы обновить стандарт, добавив новую поддержку функций новейшего 3D-оборудования. Так как он основан на стандартах и ​​был самым длинным, OpenGL используется и преподается в колледжах и университетах по всему миру. Требуется также инструменты разработки, предоставляемые производителями некоторых игровых консолей (таких как Nintendo). GameCube, Nintendo DS и PSP) используют графические API, которые напоминают OpenGL. OpenGL часто отстает в обновлении функций из-за отсутствия постоянной команды разработчиков и требования, чтобы реализации начинали разработку после публикации стандарта. Программисты, которые решили использовать его, могут получить доступ к последним аппаратным 3D-функциям некоторых аппаратных средств, но только через не стандартизированные расширения. Ситуация может измениться в будущем, когда совет по рассмотрению архитектуры OpenGL (ARB) передал контроль над спецификацией группе Khronos в попытке противостоять этой проблеме.[2]

 

 




2020-03-19 245 Обсуждений (0)
История программирования игр 0.00 из 5.00 0 оценок









Обсуждение в статье: История программирования игр

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (245)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)