• Gamedev - популярные и перспективные технологии?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Unity - это тема. Без вариантов.

    Но с зарплатами вы ошиблись. В геймдев идут не ради денег, а ради счастья и удовольствия от работы. Даже если вы будете учредителем, шансы заработать что-то ощутимое очень малы.

    На 5 лет вперед вам тоже никто не скажет. В этой сфере всё быстро меняется. Пожалуй, Unity надолго укрепился и занял вершину славы. Ну и тенденция в мобилки. В остальном сложно сказать, что будет модно и востребовано. Кто бы мог подумать, что забагованный PUBG с кучей негативных отзывов зарабатывает миллиард долларов в год? Тем не менее, люди покупают.
    Ответ написан
    Комментировать
  • Gamedev - популярные и перспективные технологии?

    Tiendil
    @Tiendil
    Разработчик ПО.
    И наверное в геймдеве вообще нет проблем с удаленкой, в офисе сидеть уже нет никакого желания.

    Большинство сидит в офисе. Особенно программеры. Удалённо может быть локализация, художники, маркетинг.

    С вашим бэком Unity будет вполне приемлемым вариантом. Но это всё равно довольно широкая тема. Раз нравится визуалка, то либо графоний программировать, либо интерфейс и утилиты вспомогательные. Графоний требует отдельной компетенции (алгоритмы те же), поэтому остаётся гуи с утилитами. А это тоска, по сути. Ничем от фронтенда в вебе особо не будет отличаться по ощущениям. И платить будут не шибко много.

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

    Попробуйте покопаться в подкасте Как делают игры Там должны быть выпуски, который помогут сориентироваться.
    Ответ написан
    2 комментария
  • Как зациклить функцию внутри себя без Promise?

    Вас по сути попросили свои Promise написать. Зациклить там не получится, т.к. чейнинг тогда не будет работать (как у вас например).
    Вот простенький вариант того, как будет работать. Т.е. собираем все функции сразу, сохраняем все хэндлеры в массиве handlers, и затем уже вызываем асинхронное ожидание чего-то.
    var def = {
          handlers: [],
          when : function (func) {
            console.log ('start async');
            func.call(def, def.done);
            waiter();
            function waiter() {
              setTimeout (function () {
                if (def.result) {
                  def.resolve(def.result);
                }
                else {
                  waiter();
                }
              }, 500);
            }
            
    
              return def;
          },
          
          resolve: function(result) {
            console.log('start resolving');
            var _result = result;
            def.handlers.forEach(function(handler) {
              _result = handler(result);
            });
            def.result = _result;
          },
          then : function (func) {
            def.handlers.push(func);
            return def;
          },
          
          done : function (result) {
            def.result = result;
          }
          
        };
    Ответ написан
    7 комментариев