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


104

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

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

Ответы:


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 математики. Не в самой глубокой детализации, но достаточно хорош, чтобы копать глубже, используя другие материалы. В конце книги он создает полную игру, используя все, что вы узнали из этой книги.


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. Их можно использовать как для игровой логики, так и для рендеринга, и они позволяют вам действительно оптимизировать ваш конвейер. Если вы собираетесь их использовать, вы хотите сделать это с самого начала.


Если вы хотите сделать «один из тех» шутеров от первого лица, перейдите к графу сцены. Если вы хотите делать игры, используйте свой мозг. (Я использую графы сцен для обучения, но никогда не для производственного кода.)
Андреас

1
Хотите расширить это или предоставить ссылку?
10

2
Сцена Графы - просто сказать нет home.comcast.net/~tom_forsyth/...
NocturnDragon

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

0

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


Я не думаю, что они действительно идут в игровую архитектуру.
Kylotan
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.