Comments 41
Прикольно… жалко нет ачивки «Хакер 80 левел»…
Ну тот который из анекдота…
— Серега вчера сервер поломал
— Он что хакер?
— Нет, он мудак…
Ну тот который из анекдота…
— Серега вчера сервер поломал
— Он что хакер?
— Нет, он мудак…
Это, кстати, отличная тема для обсуждения. Потому что ачивки там зачастую не те, что хочется видеть в рабочем проекте. Вот, что говорит о человеке ачивка «Иметь в коде 30 переменных с однобуквенными названиями»?!
Жаль, что я не использую VS.
неприкольно получать ачивки, зная наперед что сделать для получения этой самой ачивки =(
ну а кто заставлял читать наперед? (8
в контексте того, что речь всё-таки об ide, можно закопаться в так сказать геймплейных возможностях ;)
Неприкольно только для неинтересных и простых ачивок…
А вот ачивки для которых надо попотеть, вот это да.
Ну что нибудь вроде «100 коммитов без багов» или «поддержка 30лвл» за 100 испраленных багов в неделю… в общем суть надеюсь понятна. Нужны ачивки для получения которых приходится попотеть.
А вот ачивки для которых надо попотеть, вот это да.
Ну что нибудь вроде «100 коммитов без багов» или «поддержка 30лвл» за 100 испраленных багов в неделю… в общем суть надеюсь понятна. Нужны ачивки для получения которых приходится попотеть.
такие ачивки очень субьективны
— Штурман приборы
— 20
— Что 20?
— А что приборы?
Можете пояснить ваш камент? Субъективны к чему/кому?
— 20
— Что 20?
— А что приборы?
Можете пояснить ваш камент? Субъективны к чему/кому?
Если вернуться к моему предыдущему посту. Там я говорил о скилах и ачивках. Как понять, допустим, человек написал 10 классов, он теперь сильно скиловее в данном языке или не очень? Количество классов может посчитать программа, но качество не может. Так же и ачивки типа «100 коммитов без багов» и «100 исправленных багов в неделю». Кто и как будет считать эти комиты? Программа может сказать, что было 100 коммитов и они скомпилировались. А добавил ли человек при этом баги? Убрал ли? Тут система сильно усложняется.
Конечно, можно посидеть и придумать какое-то автоматическое решение, но оно будет очень сложным. Поэтому, здесь появляется человеческий фактор. Кто-то должен играть роль гейм-мастера. Когда появляется человек, сразу все решения становятся предвзятыми.
А в 95% случаев гейм-мастером будет сам разработчик. Сам себе судья. Допустим, я себе судья строгий, а Вася не очень. Он прощает какие-то косяки. Я на 99м коммите создам баг и ачивку сброшу. А Вася оглянется и «ладно, не заметил никто», быстро поправит баг и — тадам! ачивка!
Конечно, можно посидеть и придумать какое-то автоматическое решение, но оно будет очень сложным. Поэтому, здесь появляется человеческий фактор. Кто-то должен играть роль гейм-мастера. Когда появляется человек, сразу все решения становятся предвзятыми.
А в 95% случаев гейм-мастером будет сам разработчик. Сам себе судья. Допустим, я себе судья строгий, а Вася не очень. Он прощает какие-то косяки. Я на 99м коммите создам баг и ачивку сброшу. А Вася оглянется и «ладно, не заметил никто», быстро поправит баг и — тадам! ачивка!
Вы наверно по жизни зануда… дико извиняюсь если задел.
Просто я описал на вскидку пару ачивок, которые простым набиванием количества тех же классов не получишь, и знание о правилах получения которых только добавит интереса к их получению. Например сделать 100 коммитов без багов не так просто. А получив такую ачивку можно «гнуть пальцы» среди коллег. У нас например есть бактрекинг привязанный к комитам. Сопоставить что откуда вполне возможно. Так что ваш гейммастер тоже простейший случай. Собственно никто и не обещал, что построение такой систему будет и должно быть простым…
Так что мой пост, всего лишь опровержение тому, что знание правил получения ачивок убивает интерес к их получению… примеры моих ачивок они и есть примеры, просто чтобы показать, что на подсчитывании количества классов все не заканчивается…
Просто я описал на вскидку пару ачивок, которые простым набиванием количества тех же классов не получишь, и знание о правилах получения которых только добавит интереса к их получению. Например сделать 100 коммитов без багов не так просто. А получив такую ачивку можно «гнуть пальцы» среди коллег. У нас например есть бактрекинг привязанный к комитам. Сопоставить что откуда вполне возможно. Так что ваш гейммастер тоже простейший случай. Собственно никто и не обещал, что построение такой систему будет и должно быть простым…
Так что мой пост, всего лишь опровержение тому, что знание правил получения ачивок убивает интерес к их получению… примеры моих ачивок они и есть примеры, просто чтобы показать, что на подсчитывании количества классов все не заканчивается…
Хех, я не говорил, что знание правил убивает интерес. И хорошо, что у вас такой багтрекинг. Поэтому я и написал, что автоматизировать это можно.
Но субъективность все равно остается. Я слишком долго думал об этом.
Но субъективность все равно остается. Я слишком долго думал об этом.
> Хех, я не говорил, что знание правил убивает интерес.
Это действительно не вы говорили… это сказал Evgin. Вот ему я и отвечал ))
Да и дело не в бактрегингке и не правилах…
Это всего лишь пример… понимаете? Обычный пример на вскидку и притянутый за уши… В нашей команде ачивка будет такая, в вашей другая… это всего лишь пример, а вы начали его рассматривать как руководство к действию, рассказывая как это будет сложно и как субъективно…
Это действительно не вы говорили… это сказал Evgin. Вот ему я и отвечал ))
Да и дело не в бактрегингке и не правилах…
Это всего лишь пример… понимаете? Обычный пример на вскидку и притянутый за уши… В нашей команде ачивка будет такая, в вашей другая… это всего лишь пример, а вы начали его рассматривать как руководство к действию, рассказывая как это будет сложно и как субъективно…
Хочу такую штуку для Eclipse!
Это список ачивок из того первого поста. Не факт, что они взяли именно его.
Я попробовал придумать достижения для Delphi. Вот что вышло.
По умолчанию: Расположить на одной форме 30 компонентов со стандартными именами и сослаться на них в исходнике.
Создатель: Напрямую вызвать конструктор или деструктор (someObject.Create вместо someObject:=TSomeObject.Create; someObject.Destroy вместо someObject.Free).
Под капотом VCL: Перехватить сообщение CM_ или CN_.
Археолог-неудачник: Попробовать сослаться на функцию из 16-битного DLL (я об известной книге Рея Конопки и bwcc.dll; конечно же, под Delphi 2 и выше этот компонент не заработает).
Гуру Windows: Подключить функцию WinApi или Native Api, не описанную в windows.pas.
Интерфейсный программист: Реализовать интерфейс, поставив заглушки на месте _AddRef и _Release, а не унаследовавшись от TInterfacedObject.
Искатель правды: Отыскать в интернете свободную версию компонента, который позднее коммерциализовался (PNG for Delphi, TNT Unicode Controls или подобный).
Колосажатель: Найти или написать визуальную библиотеку, не подключающую модуль Forms (от названия одной из таких библиотек — KOL).
Паблик Морозов: Написать объект-заглушку для доступа извне к protected-функции.
Часовщик: Применить функции WinApi SetTimer/KillTimer (API таймеров в Windows настолько простое, что зачастую TTimer — излишняя сложность).
Антиквар: Держать установленным Delphi 10-летней давности.
Объектный оптимизатор: Применить тип array of object (динамический массив, нововведение Delphi 4, созданный из устаревших объектов Borland Pascal; обычно такое применяют оптимизации ради).
Крышка ради принципа: 100 раз в одном модуле применить для ^object и ^record конструкцию p^.field, ни разу не упустив крышку (в Паскале принято p^.field, но Delphi позволяет и p.field).
Художник: Сделать 10 компонентов со своими иконками.
Мусорщик: Подключить к программе 25 ненужных модулей (связано с тем, что визуальный редактор Delphi подключает модуль, если тот вдруг требуется, но не отключает, когда компонент удалили).
По умолчанию: Расположить на одной форме 30 компонентов со стандартными именами и сослаться на них в исходнике.
Создатель: Напрямую вызвать конструктор или деструктор (someObject.Create вместо someObject:=TSomeObject.Create; someObject.Destroy вместо someObject.Free).
Под капотом VCL: Перехватить сообщение CM_ или CN_.
Археолог-неудачник: Попробовать сослаться на функцию из 16-битного DLL (я об известной книге Рея Конопки и bwcc.dll; конечно же, под Delphi 2 и выше этот компонент не заработает).
Гуру Windows: Подключить функцию WinApi или Native Api, не описанную в windows.pas.
Интерфейсный программист: Реализовать интерфейс, поставив заглушки на месте _AddRef и _Release, а не унаследовавшись от TInterfacedObject.
Искатель правды: Отыскать в интернете свободную версию компонента, который позднее коммерциализовался (PNG for Delphi, TNT Unicode Controls или подобный).
Колосажатель: Найти или написать визуальную библиотеку, не подключающую модуль Forms (от названия одной из таких библиотек — KOL).
Паблик Морозов: Написать объект-заглушку для доступа извне к protected-функции.
Часовщик: Применить функции WinApi SetTimer/KillTimer (API таймеров в Windows настолько простое, что зачастую TTimer — излишняя сложность).
Антиквар: Держать установленным Delphi 10-летней давности.
Объектный оптимизатор: Применить тип array of object (динамический массив, нововведение Delphi 4, созданный из устаревших объектов Borland Pascal; обычно такое применяют оптимизации ради).
Крышка ради принципа: 100 раз в одном модуле применить для ^object и ^record конструкцию p^.field, ни разу не упустив крышку (в Паскале принято p^.field, но Delphi позволяет и p.field).
Художник: Сделать 10 компонентов со своими иконками.
Мусорщик: Подключить к программе 25 ненужных модулей (связано с тем, что визуальный редактор Delphi подключает модуль, если тот вдруг требуется, но не отключает, когда компонент удалили).
Еще бы привязывать их к проектам, что бы убрать возможность тупого набивания, и сделать негативные ачивки, что бы не лепили однобуквенные переменные в коде)
Из опыта внедрения score-board на Hudson, работает примерно месяц, потом просто ненужная игрушка.
Подожду когда сделают чтобы дропался эпический шмот.
Набросал wrapper, чтобы связываться с их сервисами на C#
github.com/alexsuslin/VSAchievementsClient.NET
github.com/alexsuslin/VSAchievementsClient.NET
эта хрень, VS achivements — причина бажины
Unable to copy file «obj\x86\Debug\MyFile.dll». The requested operation cannot be performed on a file with user-mapped section open
описание тут: stackoverflow com/questions/9011177/the-requested-operation-cannot-be-performed-error-when-compiling-an-xna-project
сам столкнулся.
Unable to copy file «obj\x86\Debug\MyFile.dll». The requested operation cannot be performed on a file with user-mapped section open
описание тут: stackoverflow com/questions/9011177/the-requested-operation-cannot-be-performed-error-when-compiling-an-xna-project
сам столкнулся.
Sign up to leave a comment.
Achievements в Visual Studio