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


42

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

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

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


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

Ответы:


19

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

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


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

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



0

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

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

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

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

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


0

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

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