0
27
6 лет назад
0

» Fa_losophy / Wc3 Mobile?

а че, есть удобный способ играть в ртс на мобилках?
20
27
6 лет назад
20

» Блог sleep`a / GUI или jass?

нормальные гейдизайнеры сначала GUI дрочат, потом в JASS долбятся
0
27
6 лет назад
0

» Дневник одного повара / Виды людей

PrincePhoenix, нет
продуктивно поговорили
0
27
6 лет назад
0

» Дневник одного повара / Виды людей

PrincePhoenix, твоя цитата чем-то опровергает мной сказанное? По-моему наоборот =)
0
27
6 лет назад
0

» Дневник одного повара / Виды людей

Неприятно, так ведь?)
Чего неприятно? Это было бы забавным ответом, но не верным )
4
27
6 лет назад
4

» Дневник одного повара / Виды людей

Я думаю, что тебе нужно лучше думать, но это моё мнение.
Вот здесь нужно повторить твою демагогию про компетенцию.
0
27
6 лет назад
Отредактирован Devion
0

» Дневник одного повара / Виды людей

Многими это сколько? 100? 200? 1 000?
Население любого развитого города 1 млн, твои "разговоры" в рамках такой узкой выборки - это не анализ.
А он публикует этот материал в научном журнале и претендует на то чтобы это считали научным исследованием? Вроде нет.
Ты знаком со значением слова анализ?
Потружусь за тебя:
Анализ (др.-греч. «разложение, расчленение») — в философии, в противоположность синтезу, анализом называют логический приём определения понятия, когда данное понятие раскладывают по признакам на составные части, чтобы таким образом сделать познание его ясным в полном его объёме.
Вау, в таком случае то что он сделал это вроде как... анализ? Вот так поворот!
PrincePhoenix:
твои псевдо-выводы вообще хоть как-то коррелируют с явью.
А ты видишь у него статистику?
PrincePhoenix:
Ещё пунктик, чтобы делать выводы, на основе своих вопросов, нужно обладать соответствующей компетенцией, не факт, что твои псевдо-выводы вообще хоть как-то коррелируют с явью.
Я думаю чтобы делать выводы достаточно уметь думать. А чтобы быть доверенным авторитетным источником по теме - нужно обладать компетенцией. Эти вещи не одно и тоже.
В остальном я в принципе солидарен, но этому костру не хватает дров.
0
27
6 лет назад
Отредактирован Devion
0

» Программирование / C# Делегаты и события

даже базовый тип ничего не сделает, т.к. под капотом 'i' будет находиться в экземпляре делегата, и это будет один и тот же экземпляр во всех элементах списка.
На выходе компилятора будет примерно вот такое:
    public void Do()
    {
      List<Action> actionList = new List<Action>();
      DisplayClass displayClass = new DisplayClass();
      for (displayClass.i = 0; displayClass.i < 3; displayClass.i++)
      {
        actionList.Add(new Action((object) displayClass, __methodptr(<Do>b__0)));
      }
    }

    [CompilerGenerated]
    private sealed class DisplayClass
    {
      public int i;

      internal void <Do>b__0()
      {
        Console.Write((object) this.i);
      }
    }
т.к. вся лямбда внутри контекста захваченных переменных будет формировать отдельный класс то по факту замыкания не будет, если вынести лямбду в отдельный от цикла метод.
Так же можно создать переменную со значением и записать туда i, и уже эту переменную прокинуть в лямбду, в этом случае будет создаваться отдельный экземпляр делегата каждый виток цикла (но в старых версиях компилятора это будет работать иначе, что вроде как баг, ибо для пользователя оно по факту должно выглядеть как "передача ссылки").
Бтв, тут всплывает тема с аллокацией, т.к. как ты можешь заметить создание экземпляра каждый виток цикла это дичь )
0
27
6 лет назад
0

» Программирование / C# Делегаты и события

Имхо еще что можно сделать по теме, чуть посложнее чем для новичков, но интересно:
# объяснить подробнее про вычитание списка делегатов
Например, разъяснить почему:
  Action a = () => Console.Write("A");
  Action b = () => Console.Write("B");
  Action c = () => Console.Write("C");
  Action s = a + b + c;
  (s - (b + c))();      //A
  //но при этом
  (s - (a + c))();      //ABC
Упомянуть про порядок вычитания, например
s = a + b + a;
(s - a)(); //AB, а не BA

рассказать про аллокации, связанные с лямбдами, когда они происходят и почему, а так же почему то что оно аллоцирует может быть проблемой

например, как тут:
    string str = "str1";
    Action d1 = () => Debug.Log(str); //аллоцирует при каждом вызове метода, который объявляет d1
    Action d2 = () => Debug.Log("str1"); //аллоцирует лишь однажды

рассказать про неявный захват переменных

Например объяснить, почему если очистить 'd1', 'a' останется в памяти до очистки 'd2'
    var a = new object();;
    var b = new object();
    
    Action d1 = () =>
    {
        Debug.Log(a);
        Debug.Log(b);
    };
    Action d2 = () => Debug.Log(b);

ну и про замыкания само собой, т.е. почему вот это выведет 333

    var actions = new List<Action>();
    for (int i = 0; i < 3; i++)
        actions.Add(() => Console.Write(i));

    foreach (var action in actions)
        action();
0
27
6 лет назад
Отредактирован Devion
0

» Зона Агрена. / Выбор движка для создания игры. Прошу помощи.

vasex, нет реальной разницы, возьмешь ты тот или другой инструмент. Они оба универсальны.
Оба позволят написать игру такую какую тебе нужно. Попробуй по очереди, а там уже сам посмотри какой юнити именно тебе заходит
3
27
6 лет назад
Отредактирован Devion
3

» Программирование / Работа с файлами конфигурации приложения

Про геймдев я сказал, т.к. это широкая стенд-элон индустрия, в вебе и сетевых аппликухах xml уже давно пережиток прошлого, за исключением некоторых протоколов (хотя нет, привет андроиду и жаве с их вьюхами)
Файлы конфигурации в xml очень жестко навязывались в дотнетах. Например
  • app.config, который, как пример, мы создаем если хотим например зареплейсить какой-нибудь референс в зависимостях проекта
  • web.config
  • банально файлы sln и csproj
  • в ксамарине шаблоны форм (причем и под платформы и "свое" в таком виде)
  • вроде как MVC тоже что-то такое тянули, но не открывал давненько, боюсь ошибиться
  • файлы ресурсов всякие
  • WPF
  • WCF
  • если зайти на msdn и поглядеть там 90% вшитых файлов конфигураций xml
Видно, что сейчас от этого отходят, например .Net Core где солюшн уже в другом формате, или стандарт online темплейтов в json сделан, и на .Net Core можно переобъявлять старые app.config на другой лад
но как суть, более старые решения там навязывали xml, мб из-за вопросов совместимости.
Понятно что xml это синтаксически перегруженный кусок говна и юзать его намеренно на новых проектах то еще удовольствие, но момент относительно "всякого нативного" в дотнете еще актуален - то что постулируют писать в xml, пишется в xml.
0
27
6 лет назад
0

» Программирование / Работа с файлами конфигурации приложения

не знаю что за yml, знаю yaml.
для сложных типов данных как раз не xml а yaml, т.к. это больше чем разметка, есть поддержка алиасов специально для сериализации ссылочных типов
1
27
6 лет назад
Отредактирован Devion
1

» Шатер GenElCon'a / Когда нужно покупать / не покупать игры

Тут тоже довольно шаткий пункт, т.к. многие просто хейтят некоторые лаунчеры, хотя по большому счету от лаунчеров требуется только загрузить игру и запустить ее при нажатии на большую кнопку "Играть".
Я хейчу лаунчеры юбисофта:
  • потому что когда ты качаешь немаленькую игру в стиме около часа
  • потом при запуске выдает ошибку и не хочет запускать
  • потом лазая по обсуждениям внезапно узнаешь что это старый лаунчер и нужно скачать новый там-вот
  • но для этого нужно зарегистрироваться
  • активировать игру снова
  • потом снова скачать
  • потом при запуске игры встанет разрешение которое не поддерживается монитором
  • ты сначала ковыряешься в лаунчере в котором вообще таких настроек нет
  • потом ковыряешься в директории игры меняя что-то в файлах но это не спасает
  • берешь ноутбук и ставишь туда лаунчер
  • потом ставишь игру
  • и потом оказывается что разрешение не поддерживается и там
  • в результате по видосу на ютубе ты находишь как чувак заходит в настройки, составляешь список что нужно нажать на клаве
  • вслепую жмешь кнопки в надежде поменять разрешение
  • после этого наконец собираешься поиграть но сетка не ищет кооператив, а ты хотел кооператив
Вот где-то на этой стадии любой пердак порвет, потому что просто скачав пиратку внезапно все проблемы исчезают и все работает, не приходится тратить несколько часов просто чтобы сделать то, что должно сработать в 1 клик
по нормальному должно было быть так:
  • если при запуске лаунчер устарел или ошибка, предложить скачать новый, дав ссылку, а не писать launcher error: -1
  • прикреплять аккаунт, а не заставлять регаться
  • не заставлять перекачивать уже скачанную игру
  • позволить в лаунчере менять конфиг игры, как в нормальных лаунчерах
я с трудом представляю, что это так сложно для такого гиганта рынка.
"я встроил в твой дистрибутив игр свой дистрибутив игр", вот чем это на самом деле является. И покуда люди будут покупать игры в таком формате у издателя ничего не щелкнет.
Это первое.
А второй фактор банальный - я не хочу держать 20 лаунчеров разных контор на компе и помнить логины/пароли ко всем этим аккаунтам, чтобы поиграть в игру через стим.
3
27
6 лет назад
Отредактирован Devion
3

» Зона Агрена. / Выбор движка для создания игры. Прошу помощи.

Не удивлюсь если анрилы были вынуждены паблишить сурсы по причине того, что горячо любимый С++ не имеет того же уровня рефлексии и нормально не декомпилится с сохранением имен, что существенно усложняет работу с АПИ.
Мне в принципе глубоко толерантно на чем вы НЕ сделаете игру, но естественно топлю за юнити, потому что это православный движок, там все функции окрапленые святой водичкой, из-за этого бешеный прирост по всем параметрам.
Про хрюшу вообще бы советовал забыть ее перестают поддерживать все кому не лень, а к моменту не готовности твоего проекта вообще станет мамонтом в духе Windows 98. Проще поставить вин 7 и перестать страдать.
Холивары про графику/производительность/тулкит из коробки вообще перестают быть актуальными, на юнити можно уже добиться и рантайм графики топовой (в 2018.1 завезли более широкий доступ к рендеру и несколько заготовок, система освещения в юнити уже давно выдает результаты получше сами-знаете-чего по дефолту, можно на ютубе видео сравнений найти где рассматриваются артефакты освещения), по производительности там есть штуки в духе IL2CPP и JobSystem, IL2CPP это приближение по скорости к C++ с небольшим урезанием функционала, оно конечно не 1 к 1, но нужно понимать что и шарп сам по себе язык более дружелюбный, достаточно компромиссное решение, какие-то штуки для дизайнеров есть в духе машины состояний из стора выкупленной, хотя до блюпринта конечно оно не дотягивает по отзывам коллег, но терпимо, таймлайны там какие-то, PackageManager то ли уже вышел, то ли вот вот выйдет, ну в бетах уже есть. Короче на удивление много всякой работы кипит по улучшению движка, там фичи выходят мы их тупо осваивать уже не успеваем, тонны наработок вообще выбрасывать приходится ибо оно уже в движке появилось, обещают по 50 девственниц каждому разработчику, мы тут вообще уже от счастья плачем, спустилась мана небесная, и фреймворк обновили, и модульность есть, и контроль версий встроенный, и редактирование сцены одновременное по сетке, и ассеты скоро по репкам развезут, и еще что забавно что большая часть разработчиков это такое дно что они даже половиной всех фич ни разу в жизни не пользовались, но это уже другая история.
А игру советую делать на Unreal Engine, это очень модно советовать, чтобы показать себя проженным знатоком геймдева, топить за плюсы несмотря на их корявость, ведь это же производительность, а других параметров в разработке типа сроков, удобства как всем известно нет и быть не может. Короче чтобы пацаны уважали пиши игру на плюсах, зажмут в темном переулке скажешь что пишешь на анрыле, тебя может даже бить не будут, а лучше вообще сразу в бинарник херачь тогда тебя вообще любой пахан зауважает.
0
27
6 лет назад
0

» Зона Агрена. / Выбор движка для создания игры. Прошу помощи.

Если этот пост чем-то нарушает правила сайта, пожалуйста, можете объяснить, чем именно? Я пытался задать этот вопрос в разделе gamedev, там его почему-то сразу же забанили\скрыли. Что я нарушил?
В разделе геймдева есть баг, что все заданные вопросы автоматически скрываются, и их нужно сразу уводить в паблик чтобы они были заданы. Этот баг уже несколько лет, про него говорилось, но он все еще там. Так что ничего не нарушил, просто никому нет дела до этого бага.
3
27
6 лет назад
3

» Огонёк Феникса / Усилия

любопытное явление: автор разлагается под действием примитивнейших поверхностных суждений, при этом думая что он растет над собой.
0
27
6 лет назад
0

» Блог им. Diabfall / vsИнди

Каждый новый стул - копия другого стула. И что ты на это скажешь, Джон Сноу?
0
27
6 лет назад
0

» Блог им. Diabfall / vsИнди

Может ты сможешь ответить ,на мой вопрос?
А что отвечать, я ему лайк влепил.
0
27
6 лет назад
0

» Блог им. Diabfall / vsИнди

не ставь перед собой мнимую цель выучить c#, а создание игры выделяя лишь инструментом.
PrincePhoenix, я прекрасно знаком с логическими уловками
2
27
6 лет назад
2

» Блог им. Diabfall / vsИнди


Вести беседу с человеком, который мерит уровень своей компетентности мышления годами участия в проектах второго сорта. без обид, но блестар сёрфер не впечатлил
Если годы практики по профессии не показатель компетентности, то я уже не знаю.
2
27
6 лет назад
2

» Блог им. Diabfall / vsИнди

  1. просто хочу освоить c# 2. много контента и обучающих статей 3. на мой дилетантский глаз больше профита в будущем (модульность?)
Как я еще смогу мотивировать себя учить c#, не занимаясь вещами, которые мне интересны?
планирую познакомится с какими-то базовыми вещами, пиля говно прототип игры.
Этот блог про путь, который я собираюсь преодолеть, делая инди-игру.
PrincePhoenix, честно говоря, в последнем посте ты меня своей "демагогией" никому не нужной окончательно утомил. Лучше бы пошел статью написал на эту тему. А я как-нибудь сам разберусь. :)
3
27
6 лет назад
3

» Блог им. Diabfall / vsИнди

PrincePhoenix, ты вообще понимаешь что ты просто начинаешь какую-то телегу про планирование, риски, рентабельность, дизайн доки просто на почве того что ТС решил начать изучать юнити? А в ответ на попытку тебе намекнуть что тебя заносит ты начал нести тему "в таком случае ты дальше не уедешь / у меня IQ самый большой / у меня образование в чехии / вы делаете клоны фу позор / вы просто любители без ААА-проектов". Насколько это идет умным людям?
4
27
6 лет назад
4
14
27
6 лет назад
14

» Блог им. Diabfall / vsИнди

Ну ок. Почитав тред я понял что учиться играючи не стоит. Нужно сразу включать в себе профессионала, работать на результат. Если вы делаете игру, начните с диздока, когда вы его раздуете до невообразимых размеров с невообразимой точностью, когда обзаведетесь заинтересованной аудиторией - садитесь писать игру. Поздравляем, теперь вы осознали, что ваша дотошная точность абсолютно не согласуется с реальными инструментами в движке, и там все делается совсем не так как вы себе представляли. Поздравляем, количество фич которые вы запланировали вы реализуете примерно через 20 лет, так как ваши амбиции оказались выше ваших реальных возможностей. Поздравляем, вы опозорились перед аудиторией, которой наобещали золотых гор. Поздравляем, вы потратили время зря.
То что я написал выше это именно то, что с вами случится, если вы умудритесь послушать товарища PrincePhoenix. Когда-то давно, лет в 15 я имел печальный опыт послушать таких экспертов и, увы, не было никакого клампа, который мог встрять в беседу и полить автора говном, а люди без опыта, знаете, достаточно доверчивы. В результате это, конечно, дало мне бесценный опыт, осознание огромной тонны ошибок, но было бы лучше, если бы это был кто-то другой, а потом он мне бы про это рассказал, понимаете?
Вы не начинаете с концептов, если вам нужно освоить 3д моделлирование. Вы берете туториалы, и пробуете отсечь один кубик от другого, делаете очень много такой мишуры пока вы не поймете что готовы. Когда собираетесь писать нейросети вы сначала узнаете про матрицы, про веса, про обратное распространение ошибки, дифференциальное исчисление. А когда садитесь учиться писать игры, подумать только - вы не делаете концепт супер гениальной игры, вы берете и начинаете ковыряться, пытаясь сделать так чтобы кубик поехал при нажатии на кнопочку. Без продумывания средневекового сеттинга для этого кубика, так немного полегче.
Дизайн доки, контроль версий, обмазывание абстракциями, планирование, модульность - это все придет со временем, но потом.
Вообще, я не перестаю удивляться, как каждое следующее поколение новичков раз за разом совершает одни и те же ошибки, слушая убедительное мнение профанов, наслушавшихся таких же профанов и игнорируя мнение специалистов, которые через это уже прошли. Причем первые пытаются маскироваться под вторых. У меня прямо жопу рвёт от такого. Но в этот раз, к счастью, все не так, но случай достаточно показательный в том, как именно это происходит.
Мне бы очень хотелось, чтобы кто-то желающий учиться прочитал то что написано мной выше и воспринял это как слова высеченные на камне. Через этот урок прошли очень многие.

А реально мне помогло, кстати, просто ковыряние в игровом движке. Так я освоил первый "взрослый" язык. Игровой движок - отличное место чтобы оседлать ООП! Это камень вот сюда:
prog:
Я еще не видел ни одного человека, который бы успешно изучил язык одновременно ковыряясь в движке, особенно печальные результаты наблюдались когда это еще и первый "взрослый" язык программирования для человека
Почему то как сяду писать комментарий так распирает на тонну текста. Не умею выражаться лаконично. Простите уж.