Хорошие ресурсы для изучения игровой архитектуры? [закрыто]

104

Есть ли хорошие ресурсы для изучения игровых архитектур? Я ищу высокоуровневые обзоры различных архитектур. Я обычно нахожу информацию о различных частях игры, таких как сущности, физические движки, скрипты и т. Д., Но не о том, как собрать все части вместе.

В качестве бонуса, как тип игры влияет на это? Например, платформер и MMO будут иметь различия.

Colin Gislason
источник

Ответы:

64

Game Engine Architecture Джейсона Грегори - хорошая книга в этой теме. Вы можете прочитать его в Google Книгах, прежде чем покупать его.

Матиас Вальденегро
источник
4
Я не могу рекомендовать эту книгу достаточно высоко. Если вы ищете образцы кода, написанные рукой, эта книга не для вас. Но если вы ищете обзор высокого уровня по всем компонентам, составляющим современный игровой движок, и по тому, как они сочетаются друг с другом, это абсолютно звездная книга. Стиль написания очень профессиональный (он был написан в виде учебника), но доступен для всех, кто имеет базовые знания принципов информатики.
Боб Сомерс
Выглядит неплохо. Добавлено в мой список книг для покупки.
Колин Гисласон
1
Это одна из моих любимых книг. Единственная проблема, которая у меня была с этим (что автор признал), была очень редкими деталями аудио.
Хлюпает безумный Рипс
1
Это хороший момент, книга не охватывает все. Две большие вещи, которые я заметил, что пропали без вести, были аудио и сетью, которые оба упомянуты только мимоходом. Но автор был честен по поводу того, что ему пришлось дать эти шахты по разным причинам. Возможно, во втором издании? :)
Боб Сомерс
Вау, эта книга выглядит просто великолепно.
NM01
39

Моя книга « Шаблоны программирования игр» неполна и находится в состоянии перерыва, но то, что у меня есть, свободно доступно в Интернете. Вы можете получить некоторую пользу от этого.

необычайно щедрый
источник
1
Я уже прочитал это. Очень хороший контент, если не полный. Однако это и пример информации о штуках без того, как их собрать.
Колин Гисласон
2
Это преднамеренный выбор, но, вероятно, он мало чем вам поможет. Проблема в том, что каждая игра уникальна, особенно в разных жанрах, поэтому «здесь не вся архитектура, которую вы должны создать», если только вы действительно не пытаетесь клонировать существующую игру. Я думаю, лучшее, что вы можете сделать, это сказать: «Вот куча больших кусков, выберите те, которые вам нужны, и подключите их». Книги по программированию игр, искусственного интеллекта и т. Д. Должны принести вам много интересного. Цель моей книги - рассказать вам, как их подключить.
Великолепно
1
Да, я определенно это понимаю. Большая часть программного обеспечения такая. Я думаю, что я ищу примеры того, как это было сделано, чтобы я мог принимать более обоснованные решения для игр, над которыми я работаю. Отличная работа над книгой / сайтом, кстати.
Колин Гисласон
4
Пожалуйста, закончите эту книгу, пока она невероятно хороша. Я определенно был бы готов пожертвовать для полной версии :)
Кайл C
4
Ваша книга выглядит очень хорошо, спасибо, что поделились ею. Я надеюсь, что вы закончите это!
GvS
15

Enginuity - одно из лучших бесплатных руководств по разработке игровых движков. Вот, это не совсем то, что Ты просил. Это учебник по написанию игрового движка до низкоуровневых аспектов - однако - это общая цель движок и вы можете получить наибольший общий делитель для каждой игры.

Просто прочитайте вступление и остановитесь, когда оно станет слишком подробным на Ваш вкус;)

Дейв О.
источник
1
Я прочитал хороший кусок этого. Было много полезной информации, даже если это не совсем то, о чем я просил. Спасибо за ссылку.
Колин Гисласон
1
заметил, что ссылка не работает и не может найти рабочую ссылку. Если кто-то найдет, пожалуйста, обновите, спасибо.
Дейв О.
Я запустил страницу с помощью поиска и нашел это: gamedev.net/page/resources/_/reference/programming/…
DMan
14

Программирование игры: Express Line to Learning предлагает хорошее начальное введение в базовую структуру игрового движка, которую автор называет «IDEA / ALTER»:

  • Я - Импорт и инициализация
  • D - Конфигурация дисплея
  • E - Сущности
  • A - Действие (разбито на шаги ALTER)
    • A - Присвоить значения ключевым переменным
    • L - Loop (настройка основного цикла)
    • T - Таймер для установки частоты кадров
    • E - обработка событий
    • R - обновить дисплей

Книга рассказывает о полном примере игры, реализованной на Python / Pygame.

Дэвид Эйк
источник
7

Я могу порекомендовать книгу Game Coding Complete , мистер Майк много знает об игровой архитектуре и хорошо объясняет ее читателю. Я не знаю о третьем издании, у меня есть только второе, но оно того стоило. Он объясняет все, от сценариев до звука, даже немного 3D математики. Не в самой глубокой детализации, но достаточно хорош, чтобы копать глубже, используя другие материалы. В конце книги он создает полную игру, используя все, что вы узнали из этой книги.

thbusch
источник
4

Мой хороший друг Джоэл опубликовал выступление на конференции, посвященное архитектуре, которую он использовал в некоторых играх для PS1. Хотя разговор конкретный, он заканчивает тем, что возвращает все к общим советам о том, что искать в хорошей архитектуре.

Обсуждение здесь: http://jdinolt.tumblr.com/post/756062883/hrraaah-ego-trippin-my-first-talk-at-the-igad

Джефф
источник
4

На самом деле не связанный с игрой, а бесценный ресурс для любого программиста: Прагматичный Программист: От Мастера до Мастера . Он не скажет вам, как написать 3D-конвейер, скорее, он проведет вас по принципам, лежащим в основе хорошей программной архитектуры.

Дэвид Эйк
источник
2

Джефф Пламмер "Гибкая и расширяемая архитектура для электронных игр":

http://members.cox.net/jplummer/Writings/Writings.htm

Хороший обзор и сравнение различных игровых архитектур.

в правом верхнем углу
источник
1
Этот сайт недоступен, но страница вместе с тезисом на 380 страниц, который написал Пламмер, доступна через archive.org. Это легко читать и очень информативно для начинающего!
Филипп
1

Я думаю, что в целом архитектурного знания, опыт / проба / ошибка являются основными ресурсами.

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

Тем не менее, мне очень нравятся книги Game Programming Gems для углубленного изучения отдельных компонентов, которые вы можете использовать в своих играх, я все еще часто использую множество идей, опубликованных в них, в своей профессиональной деятельности, а также в своем хобби -код.

Роб Эштон
источник
0

Графики сцены ftw. Их можно использовать как для игровой логики, так и для рендеринга, и они позволяют вам действительно оптимизировать ваш конвейер. Если вы собираетесь их использовать, вы хотите сделать это с самого начала.

tenpn
источник
Если вы хотите сделать «один из тех» шутеров от первого лица, перейдите к графу сцены. Если вы хотите делать игры, используйте свой мозг. (Я использую графы сцен для обучения, но никогда не для производственного кода.)
Андреас
1
Хотите расширить это или предоставить ссылку?
10
2
Сцена Графы - просто сказать нет home.comcast.net/~tom_forsyth/...
NocturnDragon
ТомФ говорит о графиках для графики, и его критика основана на графических приложениях. Этот вопрос касался общей игровой архитектуры, и в этом контексте я говорю о сценарных группах. Зависимости между нахождением пути, потоковой передачей, обработчиками сообщений пользовательского интерфейса и аудио являются статическими в течение всей жизни вашей игры. Однако, как правило, они не поняты, или, если они есть, они не выражены в коде, поэтому вы не можете использовать эти зависимости для хорошего потока. Вот где появляются графики сцен.
Tenpn
0

Интересный источник знаний о создании игр, о котором я недавно узнал, - Penny Arcade - Extra Credits . Они представлены в виде коротких (~ 5 минут) еженедельных видеороликов. Они охватили различные темы, все из которых доступны для просмотра по ссылке выше.

ChargingPun
источник
Я не думаю, что они действительно идут в игровую архитектуру.
Kylotan