Наиболее необходимый проект с открытым исходным кодом [закрыто]


15

В нескольких вопросах на сайте упоминалось о необходимости более открытых проектов. Я согласен и задаюсь вопросом, какие рамки должны быть разработаны.

Я начну список.

  • Геометрическое ядро, включая сериализацию (JSON, двоичный файл, сжатый двоичный файл), адаптированное для OpenGL / DirectX
  • Распознавание жестов

5
Не настоящий вопрос.
Петрус Терон

2
@FreshCode: Отсюда и флаг "Community Wiki". Хотя у этого сайта пока нет точных указаний для вики сообщества, это хорошо укладывается в границы флага на других сайтах SE, например, MathOverflow ( mathoverflow.net/faq#communitywiki ).

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

Ответы:


43

Я уже жаловался на это в другом вопросе, но было бы великолепно иметь открытые системы цифровой дистрибуции. Это касается как систем исправлений, так и конечных пользователей. Steam много справляется с этим, но далеко не открытая платформа. Даже если бы это был не один общий рынок, как в Steam (или как обстоят дела с телефонными площадками), наличие решения, которое вы могли бы легко переименовать и развернуть для себя, было бы огромным шагом вперед (если предположить, что люди действительно делали такие вещи, как отправка патчей и все это FOSS добра).


Я провел последние два года здесь, работая над нашей собственной системой, поэтому я, вероятно, немного предвзят.
Coderanger

Честно говоря, это было бы чрезвычайно ценно даже за пределами игрового домена!
Стюарт

@Coderanger Открыт для чего? Я работаю над некоторыми инструментами, подобными этому, для моего сайта, и я бы с удовольствием выбрал ваш мозг.
Джесси Дорси

@Noctrine Моя электронная почта noah @ <мой сайт>, не стесняйтесь,
напишите

Разве это не то, чем должна была быть Launchpad + APT, и она превратилась в кошмар в стиле барокко?

4

Не программный проект, а документальный:

Контрольный список технического качества игры (например, trcs или tcrs)

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

сертификация

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

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

Место расположения

Почему бы не запустить один из них в игре dev wiki ... http://wiki.gamedev.net/index.php/Main_Page ?


Очевидно, что на самом деле не может быть сертифицирующего органа, равно как и некоторые из TCR от основных держателей платформ, но это действительно интересная идея. Знаете ли вы, кто-нибудь сделал работу над чем-то вроде этого?

2
Существует контрольный список злых игр XBLIG (и соответствующий контрольный список не очень злых).
Coderanger

Не очень злой контрольный список ( creators.xna.com/en-us/help/peerreview_notsoevilchecklist ) выглядит гораздо более полезным вне мира XBLIG.

4

Графический драйвер развивается. Без работающих графических драйверов другие игровые проекты не имеют значения.

AMD и NVIDIA действительно делают пригодные для использования драйверы, но я говорю о драйверах с открытым исходным кодом. Mesa поддерживает только OpenGL 2.1.

редактировать: этот ответ применим только к GNU / Linux.


3
Почему для Linux так важно иметь драйверы с открытым исходным кодом, если проприетарные драйверы можно использовать? Если оставить в стороне идеологию, какое отношение это имеет к играм?
Kylotan

@Kylotan: не все графические процессоры имеют проприетарные драйверы. Intel является одним из них, и их оборудование, хотя и не очень быстрое, достаточно быстрое, чтобы играть во многие игры. Геймерам понравятся более быстрые / менее глючные драйверы. Сообщать об ошибках недостаточно, Mesa / Intel нужно больше разработчиков. Чтобы получить их, им нужна лучшая документация.
SurvivalMachine

2
@ Kylotan Запатентованные драйверы - в лучшем случае огромная шутка. Производительность и поддержка OpenGL ужасны и нечетки, особенно в драйверах ATI. Кажется, что их драйверы для Linux были созданы только потому, что кто-то выкрутил им руку.
Боб Сомерс

@Kylotan: Потому что вы можете иметь опытное сообщество, улучшающее драйверы, вместо того, чтобы зависеть от приливов и отливов ATI / NVidia по отношению к сообществу Linux. Их веская причина заключается в поддержке платформы Windows. Linux в лучшем случае вторичен.
alphadogg

Этого никогда не случится. Корпоративная линия заключается в том, что, по их мнению, создание сообщества драйверов с открытым исходным кодом раскрывает слишком много секретов конкурентам.
alphadogg

4

Универсальный кроссплатформенный инструмент для редактирования игр, позволяющий редактировать игровой контент (2D и 3D) для любого игрового движка. Его можно дополнить плагинами редактирования и экспорта для конкретного игрового движка или для нужд редактирования конкретного жанра игры (например, редактор игровой платформы 3D, редактор пользовательского интерфейса 2D, редактор 3D-карт и т. Д.).

Обоснование: большинство игровых движков с открытым исходным кодом не предоставляют инструментов редактирования. Большинство существующих инструментов редактирования игр являются проприетарными и работают только с игровым движком производителя (Torque, Unity, Shiva и т. Д.) Или имеют ограниченное использование (2D Tilemap edit). Если вы переключаете движки или платформы, вам обычно приходится оставлять позади те инструменты, с которыми вы работали, и либо изучать, либо даже писать новый инструмент, либо вообще работать без каких-либо инструментов.

Что вы думаете об этой идее? Как вы думаете, это желательно? И будет ли это возможно?


3
Это возможно. И это существует. Это называется 3ds Max (или XSI, или Blender, или ...).
Neverender

Это 3D моделисты, а не редакторы игрового контента. Они, скажем так, подвергались издевательствам за редактирование некоторых игр, но кроме того, что они собирали что-то вместе очень быстро, им было бы трудно создавать реальные игровые уровни / миры.
LearnCocos2D

Хорошо, попробуйте Syntensity, Tiled и т. Д. Есть и другие, более специализированные редакторы. Если вы ищете что-то столь же простое, как редактор в Spore или ModNation, то вы ищете что-то, что имеет тенденцию быть слишком специфичным для одной игры.
alphadogg


2

Хороший проигрыватель Flash, поскольку Adobe, кажется, не заинтересована / недостаточно финансируется в реальной работе над их операционными системами, отличными от Windows, а существующие реализации отсутствуют (даже, например, у ScaleForm есть существенные проблемы, связанные с «надлежащей Flash», как ожидают дизайнеры / художники).



1

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


1

EA STL (или эквивалент).


2
Просто интересно, почему? Базовый подход EASTL более чем достаточно описан в документе, чтобы скопировать необходимые детали; конкретным деталям реализации EASTL уже несколько лет, и, возможно, есть лучшие способы сделать это на новых компиляторах C ++; и многие расширения, о которых они говорят, доступны в Boost (например, boost :: intrusive :: list) или tr1 (например, стандартная unordered_map). В нем осталось несколько полезных вещей, но я бы никогда не сказал, что это самый необходимый проект с открытым исходным кодом.

Зачем дублировать усилия? Почему бы не воспользоваться экспертной оценкой? Boost и TR1 ничего не делают для улучшения конструкции распределителя с поврежденным мозгом. Многие из предложенных изменений могут быть приняты STL, и STL будет лучше для него. Но этого никогда не произойдет.
Neverender

1
Ну, похоже, ваша мечта сбылась! github.com/paulhodge/EASTL

1

Stl-подобная коллекция шаблонных структур данных, часто используемых в играх:

  • [иерархические] конечные автоматы
  • четырех- / octrees
  • BSP деревья
  • сферические деревья
  • кд деревья
  • [любая другая полезная пространственная структура данных не указана]
  • менеджеры ресурсов
  • линейные / пул / другие распределители
  • таймеры
  • деревья решений

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

Хотя реализации с открытым исходным кодом некоторых из перечисленных структур данных существуют, они часто не имеют шаблонов для использования какого-либо типа данных (например, вы часто вынуждены использовать еще одну матричную / векторную структуру), не в пригодном для использования состоянии, неактивны или отсутствуют рецензирование и тестирование.


0

Сеть.

Для начала, хорошая система для NAT (Network Address Traversal) и маршрутизации, для борьбы с любыми неприятностями с брандмауэрами и прокси. Игрокам ПК никогда не придется иметь дело с переадресацией портов или чем-то подобным.

Еще лучше: распределенная многопользовательская игровая сеть с открытым исходным кодом (например, Battle.net, Xbox Live, PSN ...). По сути, это может быть протокол, который любой может реализовать, и любой может запустить сервер - они просто общаются друг с другом, чтобы передать информацию о том, кого и где можно найти. Подобно распределенным социальным сетям (например, диаспоре), это не позволяет какой-либо одной стороне иметь контроль, в то же время позволяя любой инди-игре легко интегрироваться в нее.

Представьте, что вы могли бы просто добавить своих друзей в список «друзей», и тогда в любую игру, в которую вы когда-либо играли, вы могли просто пригласить их прямо сейчас, без IP-адресов, без поиска идентификаторов, вы просто брали их с собой. В основном то, что B.net/XBL/PSN уже делает, но открыто и бесплатно для всех!


1
Ваше второе предложение - довольно тривиальный слой над XMPP, проблема не в том, чтобы его решить, а в том, чтобы все его поддержали.

-2

Настоящая MMO платформа, т.е. тот, который предоставляет промежуточное программное обеспечение, функции лобби и т. д., в который вы можете подключить свой движок.


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

Каждый? Есть много достойных открытых сетевых библиотек (вам не нужна распределенная версия), открытые моделисты уже существуют (Blender), я не вижу необходимости в EA STL, игровых движках и т. Д. Единственный жизнеспособный конкурент проекта IMO это цифровое распространение, которое было бы круто. Я могу понять не голосование за это, но понижение? Большая часть игр происходит в Интернете, но нет даже ничего похожего на жизнеспособную открытую платформу для экосистемы вокруг ММО.
alphadogg

Да, почти каждый. Вам понадобится патчер, редактор контента, ядра геометрии и анимации. Вам понадобятся какие-то социальные функции для вашей сети. Вам также понадобится стандартная библиотека, которая работает для игр; EA STL - один из таких животных, хотя вы можете найти другого или написать своего.

Редактор контента: Blender, Tiled, Syntensity. Ядра: не уверен, что именно вы имеете в виду здесь. Ядро - перегруженный термин. Dev стандартная библиотека игры: множество разных языков и разных типов игр. Одна библиотека для всех них? В самом деле? Наконец, «социальные функции» - это именно то, что я предлагаю как часть платформы для онлайн-игр.
alphadogg
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.