Каковы хорошие подходы к изучению Half-Life 2 SDK? - PullRequest
4 голосов
/ 29 апреля 2009

Я много лет любил Half-Life. У меня есть степень бакалавра в области CS, и я неформально программировал со средней школы. Когда я еще учился в колледже, я пытался стать модным программистом для развлечения ... используя первый движок Half-Life ... не очень хорошо работал. Итак, я решил, что после всего моего отличного обучения в колледже :-) У меня было бы больше понимания того, как решить эту проблему, и, наконец, я смог бы это сделать. Итак, вот я ... наконец-то в мире программирования программирования Java ... так что я скачал HL2 SDk и начал просматривать структуру классов. Я чувствую, что сделал это в прошлый раз, когда попробовал это ... ошеломленный и смущенный. Извините за весь задний план.

Так, каков наилучший способ систематического изучения структуры кода? Я знаю Java, и я знаю C ++. Я просто не знаю, что делает какой-либо из классов ... комментариев немного, и далеко, и документация кажется скудной. Какие-нибудь хорошие подходы? Я ** не хочу запускать свой собственный мод ... Я просто хочу быть программистом в свободное время на каком-нибудь крутом моде ... чтобы весело провести время в изучении программирования вместе с бизнесом.

Ответы [ 5 ]

6 голосов
/ 29 апреля 2009

комментарии немногочисленны и документация кажется скудной. Любые хорошие подходы?

Добро пожаловать в чудо, которое является Source SDK. Нет, это не задокументировано. Экспериментируйте, взламывайте, устанавливайте точки останова и смотрите, что произойдет, если вы измените биты кода.

Существует вики , который может оказаться полезным в некоторых случаях, но он заполнен сообществом, а не Valve, что означает, что вы не найдете там никакой реальной документации, только объяснения как предыдущие моддеры взломали двигатель.

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

3 голосов
/ 29 апреля 2009

Вы можете начать с Valve Developer Wiki .

1 голос
/ 29 апреля 2009

Я думаю, что лучший способ - проверить исходный код одного из нескольких модов с открытым исходным кодом, Open Source Jail Break . Это поможет вам хотя бы ознакомиться с кодом.

Помимо этого, это просто ресурсы для разработчиков и форумы.

Редактировать: План атаки тоже кажется великолепным.

Также: Этот - отличный список, включающий как общие, так и специальные темы.

0 голосов
/ 24 февраля 2010

Я немного поработал с Source SDK и внес некоторые изменения. На самом деле вы должны хорошо понимать C и C ++. Source SDK не является современным C ++ и гораздо больше похож на C с классами, чем на любой настоящий ООП.

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

Также знайте, что SDK очень интенсивно использует наследование, поэтому обращайтесь к базовым классам за функциональностью, которую вы можете пожелать.

Я бы сказал, составьте список важных файлов и классов, которые могут иметь отношение к тому, что вы хотите сделать с SDK. Затем начните сортировку этих файлов с использованием виртуальных папок в VS (или реальных папок в файловой системе) и используйте опцию поиска в файлах (или grep), чтобы найти дорогу.

Некоторые примеры файлов: eiface.h - Интерфейсы движка gameinterface.cpp / .h - множество интерфейсов от внешних библиотек для сервера cdll_client_int.cpp / .h - множество интерфейсов из внешних библиотек для клиента * _gamerules.cpp / .h - Gamerules (определяет логику игры) world.cpp - объект, который определяет свойства карты и загружает правила игры и другие объекты

Также попробуйте использовать Source SDK Base вместо HL2MP Base для мода. Первый намного чище и его легче построить.

0 голосов
/ 29 апреля 2009

Я бы сделал то же, что и с любой другой расплывчатой ​​системой ... установил много точек останова и почувствовал бы структуру, наблюдая за ее функционированием Добавляйте свои собственные комментарии / документацию по мере продвижения. Проверьте свое понимание, внеся небольшие изменения, и посмотрите, получите ли вы ожидаемые результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...