Насколько я понимаю, у вас будет как раз подобный случай, если надумаете делать версионирование. Я конечно не знаю насколько много файлов хранится на яндекс.диске, но если хотя бы 10% будут иметь больше десятка версий, то их хранение будет накладно.
Я когда над этим вопросом думал, у меня вырисовывалась гибридная схема, что часть файлов не версионируется вообще, часть файлов версионируется до определённой глубины, оставшаяся часть версионируется от и до.
При версионировании используются бинарные/текстовые диффы(mimetype, да) и возможно хранятся полные копии, некоторых версий, если к ним надо иметь быстрый доступ — суть кэш.
Ну и соответственно никаких веток и мержей.
Но диплом закончился, а внедрение в «боевые условия» не пошло. И к лучшему наверное :)
Сразу вылезает проблема как хранить версии и быстро получать конкретную версию файла. Я хранил просто копии, но это было ни разу не подходящим решением, а сделать бинарные diff'ы не позволили сроки.
для того и N а не две. Плюс можно использовать не всенаправленные, а как в РЛС, и перекрывать секторами так, чтобы была возможна триангуляция источника сигнала по трём и более точкам.
Короче, было бы желание, а безумный вариант реализации придумать можно :)
N антенн на 2100МГц,, и платку, которая по разности уровня исходящего сигнала будет считать примерные координаты источника сигнала. Теоретически могло бы и взлететь.
opensource «по-столлману» противоречит одной из основных заповедей современного рынка ПО — «продавай копии». Но никто не запрещает продавать свои услуги по его поддержке. Redhat так и работает, что если хочешь — вот исходники, собирай и пользуйся, но на свой страх и риск, а можешь дать нам денег и мы решим/научим решать твои проблемы. И неплохо живут.
С играми разговор более сложный именно из-за того, что игра как таковая в общем случае не требует долгой поддержки. Игра играется считаное количество раз и продаётся копиями на пользователя. Тут подход Id вполне разумный — мы делаем игру, снимаем прибыль за игру и лицензирование движка, а когда сделали новую итерацию, отдаём старый код «в народ». чтобы фанаты сами делали те же патчи. Подход вполне имеющий право жить.
С другой стороны, из-за того, что сильно развито пиратство, разработчики/издатели продумывают иные способы заработать. Первой ласточкой были MMORPG, где была ежемесячная подписка, потом F2P с микроплатежами и т.д. Такие игры могли бы существовать и в opensource реализации(Ryzom например вроде ещё шевелится), но возникает несколько проблем:
1 — «пиратские сервера» которые утягивают на себя часть аудитории.
Тут с одной стороны да, это плохо, с другой стороны немалая часть тех кто играет на пиратских серверах платить не хочет изначально(школьники). Да и если на родном сервере устраивать движуху в плане ивентов, то там играть будет сильно интереснее, чем на большинстве левых серверов(зависит от админов).
Даже если не делать код сервера открытым, его напишут сами. Примером может выступать любая популярная MMO — от UO до WOW/L2/Ragnarok/etc почти под всё популярное эмуляторы уже есть и без исходников клиента.
2 — Читерство. Если исходники открыты, то шибко умные люди обязательно найдут способ читернуть или устроить DoS для сервера.
Тут тоже вопрос спорный, поскольку ошибки искать становится проще и ищет их больше народу, нежели если только тестеры и читеры.
3 — лицензии.
Современные MMOG в общем случае с нуля не пишутся, используются сторонние библиотеки, компоненты и т.д. Многие из них мало того что закрыты, так ещё и требуют NDA. Такие вещи открыть просто не получится или надо будет перед открытием все спорные части вычищать, что тоже работа немалая.
А в общем — немалую проблему представляет закоснелость мышления и маркетинга, хотя сейчас издатели осознали, что пиратство силовыми методами не победить, и начали делать такие вещи как внутриигровые покупки и DLC. На примере последних RPG от bioware получилось не так уж плохо.
И да, с ценовой политикой стима в России стало проще игру купить и запустить, чем лезть на торренты, качать всякие репаки с таблетками, запускать кейгены чуть ли не в виртуалке, чтобы поиграть в игрушку. Может я просто повзрослел и времени на игры стало меньше… :)
Расходимся, ничего интересного.
Я когда над этим вопросом думал, у меня вырисовывалась гибридная схема, что часть файлов не версионируется вообще, часть файлов версионируется до определённой глубины, оставшаяся часть версионируется от и до.
При версионировании используются бинарные/текстовые диффы(mimetype, да) и возможно хранятся полные копии, некоторых версий, если к ним надо иметь быстрый доступ — суть кэш.
Ну и соответственно никаких веток и мержей.
Но диплом закончился, а внедрение в «боевые условия» не пошло. И к лучшему наверное :)
Другой вопрос, что чем интереснее и насыщенее геймплей, тем сложнее играть. Тот же DF — очень непрост в изучении.
Короче, было бы желание, а безумный вариант реализации придумать можно :)
Только вот ничего из этого я не увидел в видео.
И да, чукча не читатель, readme не читал
С играми разговор более сложный именно из-за того, что игра как таковая в общем случае не требует долгой поддержки. Игра играется считаное количество раз и продаётся копиями на пользователя. Тут подход Id вполне разумный — мы делаем игру, снимаем прибыль за игру и лицензирование движка, а когда сделали новую итерацию, отдаём старый код «в народ». чтобы фанаты сами делали те же патчи. Подход вполне имеющий право жить.
С другой стороны, из-за того, что сильно развито пиратство, разработчики/издатели продумывают иные способы заработать. Первой ласточкой были MMORPG, где была ежемесячная подписка, потом F2P с микроплатежами и т.д. Такие игры могли бы существовать и в opensource реализации(Ryzom например вроде ещё шевелится), но возникает несколько проблем:
1 — «пиратские сервера» которые утягивают на себя часть аудитории.
Тут с одной стороны да, это плохо, с другой стороны немалая часть тех кто играет на пиратских серверах платить не хочет изначально(школьники). Да и если на родном сервере устраивать движуху в плане ивентов, то там играть будет сильно интереснее, чем на большинстве левых серверов(зависит от админов).
Даже если не делать код сервера открытым, его напишут сами. Примером может выступать любая популярная MMO — от UO до WOW/L2/Ragnarok/etc почти под всё популярное эмуляторы уже есть и без исходников клиента.
2 — Читерство. Если исходники открыты, то шибко умные люди обязательно найдут способ читернуть или устроить DoS для сервера.
Тут тоже вопрос спорный, поскольку ошибки искать становится проще и ищет их больше народу, нежели если только тестеры и читеры.
3 — лицензии.
Современные MMOG в общем случае с нуля не пишутся, используются сторонние библиотеки, компоненты и т.д. Многие из них мало того что закрыты, так ещё и требуют NDA. Такие вещи открыть просто не получится или надо будет перед открытием все спорные части вычищать, что тоже работа немалая.
А в общем — немалую проблему представляет закоснелость мышления и маркетинга, хотя сейчас издатели осознали, что пиратство силовыми методами не победить, и начали делать такие вещи как внутриигровые покупки и DLC. На примере последних RPG от bioware получилось не так уж плохо.
И да, с ценовой политикой стима в России стало проще игру купить и запустить, чем лезть на торренты, качать всякие репаки с таблетками, запускать кейгены чуть ли не в виртуалке, чтобы поиграть в игрушку. Может я просто повзрослел и времени на игры стало меньше… :)