Еще выскажусь по теме. Что-то из уже высказанного в этой теме мной и другими пользователями я продублирую, что-то выскажу от себя. Я постараюсь описать картину в целом, какой я ее представляю.
Прежде, чем что-либо начать строить, нужно иметь четкий план строительства. Каждого этапа строительства. И в первую очередь - план фундамента. Без надежного фундамента конкурентоспособного проекта не создать.
Итак, выскажусь о фундаменте.
Во-первых, это полная открытость проекта:
- Открытость его исходников.
- Возможность для любого программиста принять участие в разработке и совершенствовании проекта.
- Совместное планирование и т.д.
(другие преимущества открытости уже
перечислял, да и они очевидны).
Далее...
А ну его, этот Steam клиент.
Тратить время и силы на создание супер-мега-с-доп-функциями крек клиентской части Steam считаю бессмысленным в виду следующих причин:
- Проект целиком встает "под удар" правообладателя.
- Чрезмерная зависимость проекта от официального стима. Его обновлений. (Чисто теоретически, проблема решаема, на не отменяет предыдущего).
Предлагаю создавать альтернативную систему поставки и настройки цифрового контента (пусть, по началу предельно упрощенную, примитивную), формально,
не имеющую никакого отношения к официальному Steam, его правообладателю Valve, да и вообще к любой другой компании.
Я предлагаю декомпозировать один сложный (составной, по сути) проект на множество под-проектов.
Будет некоторый корневой проект, расширяемый с помощью множества под-проектов — плагинов.
Корневой проект будет представлять собой некоторое абстрактное приложение (на этапе предварительного планирования все подробности, касательные реализации, опускаем), основной задачей которого будет скачивание некоторого контента и, опционально, дополнения к нему ("лекарство").
Всё. Очевидны преимущества:
- Корневой программный проект на прямую не встает "под удар" правообладателей.
- Взлом поставляемого контента - отдельная история. Креки будут представлять собой дополнения и\или плагины. Под-проекты (плагины) и дополнения к корневому проекту, формально, никакого отношения иметь не будут.
p.s. Прошу не троллить меня вопросами типа "а кто все это будет делать" и т.д. и т.п. Как я уже сказал, все это - надежный плановый фундамент будущего проекта. Другие этапы, а также способы и методы их (этапов) реализация - это уже отдельный разговор.
--- Add ---
Предлагаю создавать альтернативную систему поставки и настройки цифрового контента (пусть, по началу предельно упрощенную, примитивную), формально, не имеющую никакого отношения к официальному Steam, его правообладателю Valve, да и вообще к любой другой компании.
Повторюсь, чтобы ни одна
зараза компания-правообладатель не смогла придраться к платформенной программе по формальным признакам.
То есть, я предлагаю лишить платформу даже поддержки кеш-файлов Steam и отправить соответствующие функции в плагин. Благо, valve, по некоторым данным, скоро откажется от GCF и переведет свои игры на ACF (все ли игры переведут? HL2 + Episodes, HL1 и Source 3rd party тоже? Хотя их можно тупо распаковать и всё). С распакованным контентом, в отличие от GCF, теоретически, можно работать и без специальных Steam-средств.