Я хочу скачать исходный код игры с открытым исходным кодом, чтобы я мог ознакомиться с игровой архитектурой. Кто-нибудь знает игру с исходным кодом, которая разборчива и легко понятна?
Редактировать: Подумав, я хотел бы сделать игру, в которую можно играть на рабочем столе или на телефоне Andriod с 2D-графикой.
architecture
open-source
source-code
jumpnett
источник
источник
Ответы:
Я не уверен, какой тип игры вы запрашиваете, но есть игра с открытым исходным кодом под названием OpenTTD, написанная на c ++. Я думаю, что вы могли бы использовать его как хороший образец.
некоторые особенности, которые делают эту игру уникальной:
--Редактировать--
Просто сегодня я начал читать их код с самого начала. Чтобы понять, что они написали, вы должны быть приличным программистом на C и C ++ (хотя их код хорошо прокомментирован)! Я имею в виду, что вы должны быть мастером обоих языков, так как они используют структуры из обоих! так что если вы не уверены в своих навыках программирования, даже не подходите к этому коду! это самый грязный код, который я когда-либо видел! (и я сам грязный кодер, но это нечто другое!)
Я думаю, что теперь я могу предложить вам проверить код supertux . Это платформерная игра (точно как Super Mario), и пока что их код кажется действительно чистым (я проверил этап 1.3). у них есть некоторые комментарии в этом коде, но только для мест, которые могут вас запутать.
источник
Я думаю, что, возможно, хороший подход - это выбрать понравившуюся вам игру и проверить любые подобные игры с открытым исходным кодом. Открытый исходный код игры клоны список мог бы помочь с последним шагом, много.
источник
Есть такие основы, как Quake 3 или, если вы хотите что-то немного проще (и в 2D), посмотрите на инди-игру Gish . Они оба используют OpenGL и тоже кроссплатформенны.
Хотя Гиш немного запутан.
источник
Я рекомендую вам сначала сосредоточиться на том, какой тип игровой архитектуры вы хотите узнать - 3D конвейер, физика, ИИ и т. Д.
С общим запросом хорошего примера игрового программирования, я думаю, что космические захватчики gl трудно победить, поскольку они имеют чистый код и открытый игровой процесс gl и интерфейс, сохраняя при этом все довольно просто.
ура
источник
Даже если чтение кода может быть полезным, если вы новичок в области, вы ничего не узнаете. Особенно, если вы посмотрите на код больших проектов, таких как Q3A или OpenTTD. Это было сделано целой командой, у каждого человека были разные практики кодирования, разные идеи о том, как делать вещи. Вы получите только общую картину, а не мелкие детали, которые заставляют все слипаться.
Развивайся, проваливай, пробуй снова, пока не найдешь что-то хорошее, проваливай снова, промой и повторяй, пока не получишь что-то хорошее. Разные разработчики подразумевают разные идеи о том, как реализовать вещи. Тот факт, что она была написана Carmack / любым известным разработчиком, который сделал хорошую игру, не означает, что это лучшая вещь после нарезанного хлеба, а другая реализация может быть понятнее и быстрее.
источник
Я думаю, что одна из самых важных вещей, которые вы можете сделать, это выбрать игру, в которую вам нравится играть. Это поможет вам заинтересоваться этим и познакомит вас с тем, как сам код транслируется в перспективу игроков.
После того, как вы выбрали эту игру, независимо от того, насколько она велика, вам не нужно пытаться выяснить, как работает каждая строка кода. Выберите кусок и посмотрите на это. Например, попытайтесь выяснить, как хранятся данные игрока или как отображается элемент меню и т. Д.
Следующее, что вы можете сделать, что согласуется с моим предыдущим опытом, это попытаться что-то изменить. Не что-то огромное (на первый взгляд), просто что-то простое и заметное в игре. Даже что-то такое простое, как текст на кнопке в меню или добавление пункта меню или изменение расчетов ущерба. Может быть, вы думаете, что они должны были сделать что-то по-другому, попробуйте изменить это самостоятельно.
Когда я впервые заинтересовался разработкой игр, я действительно увлекся 2D-онлайн-ролевыми играми. Таким образом, я нашел источник для одного онлайн, и я начал опираться на него. Добавление моих собственных функций и настроек, исправление ошибок и т. Д. Это было в VB6 несколько лет назад, и теперь я использую C # и XNA и пишу свою собственную игру с нуля. Поскольку мне нравились игры, это побудило меня захотеть поработать над этим, сделать его лучше. По совпадению, это также, как я изучил много методов программирования, отладки и решения проблем, которые я использую сегодня в моей повседневной работе, не связанной с gamedev.
Также очень полезно, если в игре есть сообщество моддеров, с которыми вы можете задавать вопросы и получать помощь и примеры. Но опять же, даже если этого не существует, вы уже здесь, и мы готовы помочь.
источник
Отличительной платформой Android 2D с открытым исходным кодом является Остров Реплика .
Источник на Google Code и развитие был запечатлен в авторской девблоге .
Вот список из 15 игр с открытым исходным кодом для Android, которые также могут быть полезны для просмотра.
источник
Посмотрите на полутень . Это выглядит как отличное место для обучения.
источник
Скроллинг Game Kit развития 2 позволяет реально создавать 2D игры и играть их с помощью графического интерфейса пользователя без написания кода. Но это также позволяет вам видеть и редактировать код, встроенный в проект, который представляет структуру / движок игры. Большая часть кода предоставляется через графический интерфейс, хотя небольшая его часть генерируется кодом, основанным на том, где вы размещаете спрайты и какие карты вы создаете. Однако даже этот код виден, если вы генерируете проект и затем открываете получившиеся файлы в Visual C # Express. Вся программа (IDE) также с открытым исходным кодом. Он основан на библиотеке OpenTK (которую он использует для взаимодействия с OpenGL из C #), которая также является открытым исходным кодом.
источник