Achievements в Visual Studio

    Год назад пробегал топик, мол, а что если сделать в Visual Studio ачивки как в MMO? И вот, народ сделал. Пока что ачивок маловато, но тренд интересный.

    Два года назад я написал статью "Другое видение скучных GTD планировщиков через призму RPG игр". В ней я говорил и об анализе кода, сборке статистики с него и вручении ачивок на основе этой статистики.

    Приятно, что кто-то пытается воплотить эти идеи в жизнь.

    Странно, но на хабре эта новость как-то прошла незамеченной и поиск ничего не дал.

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 41

      +5
      Прикольно… жалко нет ачивки «Хакер 80 левел»…

      Ну тот который из анекдота…
      — Серега вчера сервер поломал
      — Он что хакер?
      — Нет, он мудак…
        +2
        Не туда нажал. Ответ внизу.
        v
        v
        v
        0
        Это, кстати, отличная тема для обсуждения. Потому что ачивки там зачастую не те, что хочется видеть в рабочем проекте. Вот, что говорит о человеке ачивка «Иметь в коде 30 переменных с однобуквенными названиями»?!
          +7
          То, что он знает алфавит?
            0
            если добавить «с различными однобуквенными названиями», то все равно остается вопрос в каком алфавите 30 букв?
              +3
              int я = 33;
                +4
                А он настолько мудак нехороший человек, что еще и верхний регистр начал использовать.
                  +4
                  Ага. И переменные называет I и l, а ещё использует их в конструкциях вроде: if (I|l) {….
              0
              Если не ошибаюсь, у вас была идея системы достижений для программиста? Интересно что с ней стало.
                0
                была, так и осталась идеей
              0
              Жаль, что я не использую VS.
                +1
                Вот собственно ради такого ощущения и задумываются подобные вещи. Это маркетинг чистой воды, к разработке это отношения не имеет — по крайней мере в том виде как это сделано.
                  +3
                  Вы правы. Но разработка должна доставлять фан:)
                +1
                неприкольно получать ачивки, зная наперед что сделать для получения этой самой ачивки =(
                  +1
                  ну а кто заставлял читать наперед? (8
                    +1
                    Любопытно ^_^
                    0
                    в контексте того, что речь всё-таки об ide, можно закопаться в так сказать геймплейных возможностях ;)
                      +1
                      Хочу видеть заработанные ачивки в профиле XBOX Live и PSN :)
                      • UFO just landed and posted this here
                          0
                          Мечтаю использовать свой 20% новогодний купон на покупку VS2012.
                            +1
                            !!!
                            >>Steam Powered – Added Visual Studio as a Steam game
                        0
                        Неприкольно только для неинтересных и простых ачивок…
                        А вот ачивки для которых надо попотеть, вот это да.
                        Ну что нибудь вроде «100 коммитов без багов» или «поддержка 30лвл» за 100 испраленных багов в неделю… в общем суть надеюсь понятна. Нужны ачивки для получения которых приходится попотеть.
                          0
                          такие ачивки очень субьективны
                            +1
                            — Штурман приборы
                            — 20
                            — Что 20?
                            — А что приборы?

                            Можете пояснить ваш камент? Субъективны к чему/кому?
                              +2
                              Если вернуться к моему предыдущему посту. Там я говорил о скилах и ачивках. Как понять, допустим, человек написал 10 классов, он теперь сильно скиловее в данном языке или не очень? Количество классов может посчитать программа, но качество не может. Так же и ачивки типа «100 коммитов без багов» и «100 исправленных багов в неделю». Кто и как будет считать эти комиты? Программа может сказать, что было 100 коммитов и они скомпилировались. А добавил ли человек при этом баги? Убрал ли? Тут система сильно усложняется.

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

                              А в 95% случаев гейм-мастером будет сам разработчик. Сам себе судья. Допустим, я себе судья строгий, а Вася не очень. Он прощает какие-то косяки. Я на 99м коммите создам баг и ачивку сброшу. А Вася оглянется и «ладно, не заметил никто», быстро поправит баг и — тадам! ачивка!
                                –1
                                Вы наверно по жизни зануда… дико извиняюсь если задел.
                                Просто я описал на вскидку пару ачивок, которые простым набиванием количества тех же классов не получишь, и знание о правилах получения которых только добавит интереса к их получению. Например сделать 100 коммитов без багов не так просто. А получив такую ачивку можно «гнуть пальцы» среди коллег. У нас например есть бактрекинг привязанный к комитам. Сопоставить что откуда вполне возможно. Так что ваш гейммастер тоже простейший случай. Собственно никто и не обещал, что построение такой систему будет и должно быть простым…

                                Так что мой пост, всего лишь опровержение тому, что знание правил получения ачивок убивает интерес к их получению… примеры моих ачивок они и есть примеры, просто чтобы показать, что на подсчитывании количества классов все не заканчивается…
                                  0
                                  Хех, я не говорил, что знание правил убивает интерес. И хорошо, что у вас такой багтрекинг. Поэтому я и написал, что автоматизировать это можно.

                                  Но субъективность все равно остается. Я слишком долго думал об этом.
                                    0
                                    > Хех, я не говорил, что знание правил убивает интерес.
                                    Это действительно не вы говорили… это сказал Evgin. Вот ему я и отвечал ))

                                    Да и дело не в бактрегингке и не правилах…
                                    Это всего лишь пример… понимаете? Обычный пример на вскидку и притянутый за уши… В нашей команде ачивка будет такая, в вашей другая… это всего лишь пример, а вы начали его рассматривать как руководство к действию, рассказывая как это будет сложно и как субъективно…
                        0
                        Хочу такую штуку для Eclipse!
                          0
                          Вот тут (уж не знаю, насколько достоверно) есть список ачивок. Есть очень забавные, наподобие Rage quit :)
                            0
                            да что ж я седня не на ту ссылку жму
                            ответ ниже
                            0
                            Это список ачивок из того первого поста. Не факт, что они взяли именно его.
                              +3
                              Я попробовал придумать достижения для 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 подключает модуль, если тот вдруг требуется, но не отключает, когда компонент удалили).
                                0
                                P.S. Мало, т.к. я старался писать только специфичные для Delphi вещи — а не присущие программированию как таковому.
                                0
                                Еще бы привязывать их к проектам, что бы убрать возможность тупого набивания, и сделать негативные ачивки, что бы не лепили однобуквенные переменные в коде)
                                  0
                                  как привязка к проектам защитит от тупого набивания?
                                    0
                                    Если в проекте не нужно делать 50 интерфейсов, то вы их и не будете делать. Все таки тут ачивменты не главное. А для набивки можно создать проект для себя, и набивать в нем все что захочется.
                                  0
                                  Из опыта внедрения score-board на Hudson, работает примерно месяц, потом просто ненужная игрушка.
                                    0
                                    Подожду когда сделают чтобы дропался эпический шмот.
                                      0
                                      Набросал wrapper, чтобы связываться с их сервисами на C#

                                      github.com/alexsuslin/VSAchievementsClient.NET
                                        0
                                        эта хрень, 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

                                        сам столкнулся.

                                        Only users with full accounts can post comments. Log in, please.