?

Log in

 
 
18 Декабрь 2007 @ 12:40
В то время, как космические корабли бороздят просторы галактики...  
... наши отечественные разработчики по прежнему уверены в том, что Windows XP и режим администратора (или Vista с выключенным UAC) - единственная правильная конфигурация для запуска их замечательных игр.
На этот раз под раздачу попала уже неоднократно мною склоненная версия 7.62 Reload. Кстати, пользуясь случаем, хочу заметить, что теперь бОльшая часть всех наших мастер-кандидатов будет в обязятельном порядке проходить через мои цепкие руки. И тестирование на совместимость с техническими требованиями 1С, на удовлетворение микрософтовским правилам работы ПО и просто на здравый смысл станет обязательным.
Так вот, господа, еще раз: писать в Program Files\1C\MyApp нельзя. И падать, если не смогли там создать сейвгейм или открыть файл протокола - нельзя тоже.

И еще под горячую руку (это уже к другой игрушке) - если вы не видите разницы между девелоперовской копией игры и мастер кандидатом, то я просто не буду апрувить мастер-кандидат. Конечно, спасибо большое за скетчи, hires фотки (!!!), текстовые файлы переписки между художниками и программистами и логи программ конверсии, это все очень интересно читать. Но я не вижу причин, почему подобное должно попадать в инсталлятор.
Метки:
 
 
Местонахождение: office
Настроение: разъярен
 
 
 
Лео Чёрныйleocrazy on Декабрь, 18, 2007 09:52 (UTC)
+мильен
orvindorvind on Декабрь, 18, 2007 11:22 (UTC)
Хехе. А я вот только вчера инсталлил "H5 - Чуваки с севера". И знаешь, что оно говорит? "Выключите нафиг свой антивирус, а то может не заработать" :)
Dyn_dyn on Декабрь, 18, 2007 09:58 (UTC)
А где лежат мсовские стандарты работы ПО? Большую часть скорее всего и так знаю, просто ради интереса в оригинале поглядел бы :)

зы. я б добавил что не только в program files писать нельзя, а вообще в любую папку кроме MyDocs :)
Дядя Димаddima on Декабрь, 18, 2007 10:35 (UTC)
Точные сцылки сейчас искать лень, но по документам, сохраненым на локальном компьютере, думаю, гугл отыщет:
DFW-XPOverview
Designed for Windows XP spec
Games for Windows Technical Requirements
Windows Vista - Certified for Windows Program Test Cases
Windows Vista Software Logo Spec

P.S. Про полную сертификацию "Games For Windows" с получением логотипа я речь не веду, но хотя бы разок почитать документы стоит
Timofeytimofey on Декабрь, 18, 2007 10:13 (UTC)
Злой ты, Дядя Дима.
Вот непременно скоро приеду и выпью с тобой кусок подоконника!
Дядя Димаddima on Декабрь, 18, 2007 10:37 (UTC)
Дык велкам
cofffecofffe on Декабрь, 18, 2007 10:21 (UTC)
вообще странно это слышать. и печально. что писать можно только в юзер фолдер давно все знать должны твердо. особенно после выхода висты.
А тут оказывается проект релизят и х..й клали на MS с его требованием и пользователей без прав администратора.
Но а что касается фоток, логов, переписки - то может это был бонус? :)))
(Удалённый комментарий)
TEH ЁVIL!: злоzloe_zlo on Декабрь, 18, 2007 10:28 (UTC)
большинство
как виста-юзер говорю :(
Banduresbandures on Декабрь, 18, 2007 12:02 (UTC)
Юзайте правильные платформы, песи в топку 8))
Дмитрий Ивашкинivashkin on Декабрь, 18, 2007 12:08 (UTC)
Меня всегда другое удивляло - почему проверка на соответствие подобным требованиям не осуществляется в плановом порядке рядовыми тестерами, а обнаруживается только в цепких руках технического продюсера? :)

Причём это должны быть и тестеры на стороне разработчика (тут каюсь, наша вина) и на стороне издателя (вот про них я и не понимаю в предыдущем абзаце).
todace on Декабрь, 18, 2007 12:16 (UTC)
Должны здесь ключевое слово.
1. Они никому ничего не должны.
2. Должны но не делают.
3. Вы что еще верите в 1С тестирование????
Дмитрий Ивашкинivashkin on Декабрь, 18, 2007 12:32 (UTC)
1. должны БЫ в "идеальной ситуации"
2. ага, т.к. "наша ситуация" != "идеальная ситуация"
3. иногда ведь что-то находят, следовательно существуют! :))
Дядя Димаddima on Декабрь, 18, 2007 12:32 (UTC)
Подобные вещи - да, можно было бы проверять и в тестерском отделе. Но если почитать документы, то к играм выдвигаются также требования, которые напрямую не входят в компетенцию нашего отдела тестирования (например, анализ кода на лицензионную чистоту).
Я вот другого не понимаю. Документы про наши технические требования рассылались в разные компании. Некоторые просто сделали, как надо. Некоторые уточнили, и сделали. Некоторые забили. Хотя тут вопрос даже не в тестировании - просто сесть, прочитать, и сделать 3 функции по инструкциям а не по принципу "у меня работает - и слава богу".
Дмитрий Ивашкинivashkin on Декабрь, 18, 2007 12:44 (UTC)
Собственнно, наша, конечно, вина и всё такое, тут и спорить нечего...

Просто мой тезис в том, что подобные вещи нужно проверять на регулярной основе, и на стороне издателя в том числе.
Пушыстый_winnie on Декабрь, 18, 2007 12:22 (UTC)
1) А чо их ААА игры пишут сейвы в папку с игрой?
2) недавно нашёл файл c:\log.txt. Глянул - оно создан Crimson Land, весьма удачной игрушкой :]

PS. А где лучше надёжно создать скажем кеш шейдеров или расжатых текстур?
Дядя Димаddima on Декабрь, 18, 2007 12:26 (UTC)
1. Как правило, нет :)
2. О таком я писал в http://www.dtf.ru/articles/read.php?id=36547 , прямо на первой странице
PS. Application Data/Local Settings
Пушыстый_winnie on Декабрь, 18, 2007 13:26 (UTC)
> >А где лучше надёжно создать скажем кеш шейдеров или расжатых текстур?
> Application Data/Local Settings
Не-не-не. Если игра создаст гигабайт тех же самых текстур в другом профиле - это неправильно.
Наверное, имелось ввиду что-то вроде "All Users", но непонятно насколько надёжно создавать файлы там. Часто ли админы запрещают туда запись, можно ли туда писать из-под restricted user, прочие нюансы.
Дядя Димаddima on Декабрь, 18, 2007 15:27 (UTC)
Вроде как в Designed for Windows XP spec все расписано:
CSIDL_COMMON_APPDATA. This folder should be used for application data that is not user specific. Note that a limited user will only have read privilege for files in this folder, except for the files that user created. If users need to have write access to the common files, then during installation the application must create a sub-folder of CSIDL_COMMON_APPDATA with “Modify” privilege for all users.

ну и далее по тексту
Пушыстый_winnie on Декабрь, 18, 2007 15:29 (UTC)
Это расписано. Интересует живой опыт "мы хранили кеш в CSIDL_COMMON_APPDATA, проблем не было (проблемы были, решались так-то)".

А так - Bioshock кладёт всякие кеши шейдеров в папке с игрой. HalfLife2 - кладёт сейвы в папку с игрой. Вполне себе хорошие игры.
Дядя Димаddima on Декабрь, 18, 2007 16:19 (UTC)
> А так - Bioshock кладёт всякие кеши шейдеров в папке с игрой. HalfLife2 - кладёт сейвы в папку с игрой. Вполне себе хорошие игры.
Если ты проверишь Биошок под Power user - он вполне себе работает. И под Вистой с включенным UAC - тоже.
Можно расписать более подробные варианты, как можен вести себя приложение, чтобы оно корректно жило под разными аккаунтами. Но если для большинства программистов даже SHGetFolderPath(CSIDL_LOCAL_APPDATA) - это задача повышенной сложности, то что говорить про правильную установку серьюрных дескрипторов файловой системы?
Я поэтому и предлагаю самый простой и работоспособный вариант.
Пушыстый_winnie on Декабрь, 18, 2007 15:32 (UTC)
> If users need to have write access to the common files, then during installation the application must create a sub-folder of CSIDL_COMMON_APPDATA with “Modify” privilege for all users.

То есть, если за инсталлятор ответсвенна другая компания, то это малоюзабельно для того, что бы "лениво" распаковывать свои данные.
Пушыстый_winnie on Декабрь, 18, 2007 15:38 (UTC)
То есть, такое ощущение, что чем больше журналисты и пользователи в восторге от игры, тем больше игре наплевать на правила поведения виндовых приложений :)
Gregory Sitninrdesperado on Декабрь, 20, 2007 20:01 (UTC)
что-то у меня есть ощущение, что ты не работал с мало-мальски серьёзными инсталляторами. ошибочное, надеюсь.
Пушыстый_winnie on Декабрь, 20, 2007 20:03 (UTC)
Всё точно так ;)
С ними работает 20 других издателей. Вклинить в инсталляцию что-то своё сложное - невозможно.
Gregory Sitninrdesperado on Декабрь, 21, 2007 10:05 (UTC)
чудно как. все издатели пользуются кастомными инсталлерами (я реально не в курсе)? просто в наиболее распространённых инсталлшилдах и прочих есть и пре-пост-инсталлы, и возможность зафигачить свою dll и выполнить её код во время установки конкретного набора и т.д. да, тяжело у вас в геймдеве =)
dalesaysdalesays on Декабрь, 19, 2007 08:46 (UTC)
Под дот.нет советуют в Isolated Storage писать, его можно и по юзерам и по сборкам разделять - по желанию. Там что получается нечто вроде виртуального файлового пространства, к которому ручками лезть не надо.
oleganzaoleganza on Декабрь, 18, 2007 16:04 (UTC)
Вот почему на маке все на своих местах и дерьма с UAC и им подобными нет? На винде всегда бардак: в реестре, в Program Files, в системах "безопасности".

http://www.faqs.org/docs/artu/
(Удалённый комментарий)
Пушыстый_winnie on Декабрь, 18, 2007 18:15 (UTC)
Жалко что \r\n <-> \n не временно ;(
Gregory Sitninrdesperado on Декабрь, 20, 2007 20:02 (UTC)
потому, что "традицию" на маках сложила сама appl, которая знает, куда и что писать.
Ирвин Непоседаearwin on Январь, 10, 2008 01:10 (UTC)
Ну нееее! :)

Недавняя попытка апгрейднуть преинсталлированый леопардовский перл свежими модулями из cpan привела к смерти клипбоарда и спотлайта :)
Ну и вообще, repair permissions никогда бы не стала столь популярной кнопкой, если бы на маке всё было на своих местах.
Alexey Shakindieash on Декабрь, 18, 2007 22:32 (UTC)
хочу заметить, что теперь бОльшая часть всех наших мастер-кандидатов будет в обязятельном порядке проходить через мои цепкие руки

Скромно хотел бы заметить, что человеческое тело обычно плохо относится к процессу растягивания ;) Если где-то прибыло, значит где-то убыло. А значит где-то может возникнуть недосмотр и "пострадать" другие проекты. Это замечание к фразе "в обязятельном порядке проходить через мои цепкие руки" (с)

Не проще ли (да и правильнее, с точки зрения процессов) эти проверки возложить на QA? Это вполне их задачи - вначале зафиксировать всё необходимое в тест-плане, а затем уже проверить продукт, в частности, на соответствие техническим требованиям со стороны издателя. Имею мнение, что осуществление таких проверок не входит в обязанности технического продюсера :)
doc_allegatordoc_allegator on Декабрь, 19, 2007 03:50 (UTC)
"да только воз и ныне там!" :)
daradiboga on Декабрь, 19, 2007 03:59 (UTC)
Ха три раза.
Я:
1. не понимаю, почему такие вещи должен проверять технический продюсер, а не тестеры.
2. что-то не понимаю, что ты будешь делать, когда какой-нить QW:ET не захочет под висту рестриктед юзер работать.

И это. Вы игры-то подписывать уже умеете?
Дядя Димаddima on Декабрь, 19, 2007 04:17 (UTC)
1. Уже писал выше: четко специфицированные тесткейсы будут переводиться в тестерский отдел.
2. Ну как минимум - уточнять это в системных требованиях.
И "это" мы тоже уже умеем.
(Удалённый комментарий)
Дядя Димаddima on Декабрь, 19, 2007 11:27 (UTC)
Я уже говорил выше (http://ddima.livejournal.com/32807.html?thread=341799#t341799) - можно писать и в геймфолдер. Но надо это правильно делать.
Поэтому или не думая - в My Documents. Или в гейм фолдер, но при условии, что оно будет работать.
sleepy_drago on Декабрь, 19, 2007 16:22 (UTC)
Самое приятное в этом потоке "новых правил от мелкософта" - это позиция ихнего же легаси.
Тот же VS2008 или офффис и UAC :evil grin:
Я не говорю уже про тех кто не дай боже продолжает саппортить свои продукты под 98ю тк юзеры то еше не вымерли ;)
Так что при всей правильности "праведного гнева" нужно смотреть на детали неформально.
best regards
Касымkasym on Декабрь, 19, 2007 14:39 (UTC)
Проблема переустановки винды решается переносом файлов из старого профиля на новый. C:\Users\user\AppData\Roaming не более скрыто и неясно, чем /Users/user/Library/Application Support или как его там. Так работает Мак ОС Х и прочие вменяемые системы. В них даже есть визард для переноса файлов. И в винде такой визард есть.

Нет никаких причин требовать записи в Program Files, кроме кривости рук.
_zerg on Декабрь, 19, 2007 19:28 (UTC)
Не все рядовые пользователи знаю и умеют переносить данные из старого в новый профиль. К сожалению.
Justerjust3r on Июль, 17, 2008 17:57 (UTC)
Ну вроде бы все объяснили, все обсудили, но у меня все равно остался неразрешенный вопрос.
В какой папке можно свободно создавать и записывать файлы и папки?
Я пробовал CSIDL_COMMON_APPDATA, но в ограниченном профайле Vista это дело не срослось, некоторые файлы тупо не создались.
Попробовал CSIDL_COMMON_DOCUMENTS (c:\Users\Public\Documents\) и все заработало, однако причину я пока не понял. Почему в COMMON_APPDATA не вышло с созданием файлов? (Папку приложения создавал через _wmkdir, права создаваемой папке не менял)