Где я могу найти хорошие (хорошо организованные) примеры игрового кода? [закрыто]

42

Где я могу найти хорошие (хорошо организованные) примеры игрового кода? Я надеюсь, что смогу подобрать некоторые организационные советы. Большинство примеров в книгах слишком короткие и для краткости опускают много деталей. Мне особенно интересно, как сгруппировать ваши переменные и методы, чтобы другой программист знал, где искать код. Например, инициализаторы вверху, затем методы, которые принимают ввод, затем методы, которые обновляют представления.

Я не забочусь о конкретном языке, пока его ООП. Я посмотрел на источники Quake 2 и 3, но они прямые C и не сильно помогают в получении советов по организации ваших объектов.

Итак, вы видели хороший источник? Любые указатели на код, заставляющие вас сказать «вау, это хорошо организовано», были бы великолепны.

Smasher
источник
1
Это не совсем прямой ответ, поэтому я просто оставлю это как комментарий. Я рекомендую почитать книгу «Разработка больших программ на С ++» Джона Лакоса. Это было очень поучительно для меня.
BRaffle

Ответы:

19

Несколько коммерческих игр выпустили свой исходный код. Некоторые из игр перечислены здесь . Нет гарантии, что код в них хорошо организован, но, взглянув на некоторый исходный код из игр, которые были коммерчески успешными, вы можете получить хорошее представление о том, что работает на практике.

Кроме того, хотя OpenSceneGraph не является игрой, он содержит многие игровые компоненты и хорошо спроектирован в C ++ с использованием различных шаблонов проектирования, плагинов и т. Д. Это достаточно большая кодовая база, и она существует достаточно долго, чтобы вы могли ее изучить. многое из этого.

kevin42
источник
1
Спасибо, список Википедии был полезен. Spring действительно хорошо организован - все методы сгруппированы по общим функциям (загрузка / сохранение, рисование и т. Д.) Github.com/spring/spring/blob/master/rts/Game/Game.h Аквариум помог мне почувствовать себя лучше организация кода: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/… Я не должен критиковать настоящих артистов.
Разрушитель
Я бы добавил Огре в качестве хорошего справочника с OpenSceneGraph ...
Klaim 14.10.10
6

Битва за Веснот это:

Бесплатная пошаговая тактическая стратегическая игра с увлекательной фэнтезийной темой, в которой участвуют как одиночные, так и многопользовательские онлайн-бои.

Бесплатно как с открытым исходным кодом, под GPL. Я только что нашел / загрузил его, поэтому пока не могу сказать, на что похож геймплей, но он получил отличные отзывы. Также я не знаю, хорошо ли организован их код :) Но, эй, это с открытым исходным кодом .

Циклоп
источник
Действительно смешно :): p
Qchmqs
4

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

Дайте мне знать, что вы думаете.

Адам Нейлор
источник
2

У меня есть исходный код для библиотек и полных игр на моем сайте. Ещё одним ранним утром вы также можете найти некоторые проекты на моей странице GitHub . Не все это яркий пример качества, но это случается, когда вы хотите что-то отправить.

Алекс Шеарер
источник
0

Прототип, победитель одного из конкурсов Shmup-Dev:

http://xout.blackened-interactive.com/ProtoType/Prototype.html

И исходный код:

http://xout.blackened-interactive.com/dump/new/ProtoType_src.zip

Так как я новичок в коде, я не могу много сказать о качестве, но просто просмотр его дал мне некоторые идеи. Повеселись.

Кейси Вагнер
источник
0

У меня есть источник для простого, который мы используем для соревнования по коду в Windward Wrocks . Я думаю, что это хорошо организовано, и это довольно просто. Но некоторые части были созданы быстро, а не хорошо. При этом даже в крупнейших командах разработчиков игр есть части, которые написаны быстро, не очень хорошо.

Дэвид Тилен
источник