Прошлый тут
Общий доход с игр 2800. -480 относительно прошлого месяца
Игра про остров принесла только 317. И теперь у нее 3180, не очень много, но и не очень мало.
январь 3
февраль 9
март 35
апрель 162
май 169
июнь 200
июль 520
август 515
сентябрь 620
октябрь 630
ноябрь 317
Новый релиз принес копейки. Только 33 доллара. Это демотивирует, потому, что из всех игр в нее вложено больше всего времени, денег и сил.
Для других проектов не написал ни строчки, потому, что решил переводить оба на Unity и пока трачу время на его осваивание.
Продуктивность.
Выхожу из черной полосы бездельничанья потихоньку.
Хотя rescuetime.com уверяет меня, что я показал результат хуже чем в прошлом месяце на самом деле в ноябре 44 часа программирования, а в октябре только 23 с половиной. Плюс на графике видно, что динамика продуктивности положительная.
Акции
Основной счет -2%
Второстепенный счет +2%
Тиньков +2,2%
Криптовалюты +16,8% (Сейчас 92% счета в кэше, и пока не вижу возможности войти)
В середине месяца снизил долю русских акций, обжегшись на аэрофлоте (вышел в коридоре 157-160 по пути чуток по-спекулировав, сейчас аэрофлот 148.), но снова влез, на этот раз в втб и еще в пять компаний «по мелочи».
По ВТБ сейчас моя средняя 0,056, актуальная цена в данный момент 0,0516, то есть я потерял 7,86%. Собственно если бы я не полез обратно на российский рынок то месяц был бы в плюсе.
Unity
Всерьез и окончательно решил переходить на юнити.
Осталась еще некоторая неуверенность, потому, что не рассмотрел варианты corona и cocos2d…
Но:
1)Бесплатность. После флеша я побаиваюсь бесплатных решений. Рано или поздно с них придется уходить.
2)Язык. Lua у меня сразу вызвал отторжение.
Сравните сами
while num < 50 do num = num + 1 -- Нельзя ++ и += end
И
while (num < 50) { num++; //Можно и ++ и += }
Скобки очевидно повышают читаемость кода, автоматически разделяя его на блоки и я не хочу от них отказываться.
Когда в проекте мегабайт кода, то такие «мелочи» в виде скобок, важны.
К тому же у corona мало серьезных проектов.
Cocos2d уже выглядит серьезным решением.
Но я никогда не писал в плюсах, а как только где-то обсуждают плюсы, то о них говорят как о сложном языке.
У юнити же C#, на котором я уже написал хорошее приложение и остался очень высокого мнения о языке.
3)Перспективы. Ну тут очевидно. С юнити всегда можно перейти в 3D разработку, уже как минимум просто повернув камеру. Потому, что на самом деле разработка и идет в 3D.
Но главный секрет в том, что ВСЕ быстрые игры это 3D, даже мои три последние игры написанные на флеше это технически все тот же 3D (но только если они написаны через starling).
Просто, если вы не видите 3D, это лишь значит что его так глубоко обернули, что оставили только 2D абстракцию (как в том же флеше)
Юнити же изначально трехмерный и максимальной быстрый выход к базовым функциям графики подразумевается сам собой. Поэтому, да можно начать с спрайтов, но если захочется максимальной скорости, то переход на уровень mesh потребует только подтянуть некоторые теоретические знания, касающиеся 3D.
С другой стороны это неприкрытое 3D может мешать, когда делаешь плоскую игру. Но это уже дело привычки.
__
Другие системы?
Unreal?
Тот же 3D и слишком дорогой. 5% отчислений хотят.
Флэш?
Он прекрасен для 2D, но годы шоу под названием «похороны флеша» не прошли даром. Он стал отставать от андроида. И время от времени то там то там какая-нибудь ошибка в релизнутой игре происходит. И со временем процент ошибок стал критичной причиной для перехода.
Все остальное не подходит по той же причине что и флэш. Бесплатные, не сильно распространенные решения имеют слишком критичный (для меня) риск начать однажды накапливать ошибки в готовой игре, как это начал делать флэш.
__
В целом потихоньку осваиваю. Структура завязанная на компоненты немного сбивает с толку. И из-за нее некоторые вещи выглядят громоздкими, впрочем я уже слепил свой микрофреймворк, который прячет в себе код не имеющий значения для меня, но важный для юнити.
А некоторые вещи наоборот простые. Например загрузка текстуры из файла
Texture2D texture= Resources.Load("имя_файла_без_разрешения", typeof(Texture2D)) as Texture2D;
Файл должен быть в папке Resources.
Нет папки Resources? Не проблема, создай ее где нибудь (на любом уровне вложения) в папке Assets и кидай туда картинки.
Еще очень много неочевидных вещей. Хотя у меня складывается ощущение, что они очевидны для всех кроме меня.
Итак, я гуглил создание маски на меши, использование шейдеров, генерацию мешей, и создание событий клика мышки.
Ответы есть на каждый запрос, но каждый раз авторы пропускают какую-то важную (для меня) деталь.
Чаще всего дают код, без малейшего пояснения куда это вставить, ответ висит заплюсованный, а мне ничего не понятно.
Так например, маска на меши делается через шейдеры, в гугле есть несколько вариантов этих шейдеров, но нет ни одного ответа, объясняющего куда этот шейдер ставить.
Просто запрос про шейдеры выводит десятки статей о том, как это круто использовать шейдеры и какие интересные вещи с ними можно сделать. О том, что шейдер выставляется в настройках материала ни одной строчки.
Генерация меша? Пожалуйста, вот статья прям в мануале https://docs.unity3d.com/ru/530/Manual/Example-CreatingaBillboardPlane.html
Вон там вершины, нормали, координаты на текстуре. А вот понять КАКОЙ ИМЕННО ТЕКСТУРЕ соответствуют эти координаты я должен как-то сам.
(В итоге я конечно понял, когда где-то увидел пример кода, что берется текстура материала меша)
Как текстуру прилепить к материалу в графичесском редакторе я так и не понял. В коде просто
GetComponent<Renderer>().material.mainTexture = текстура из примера выше;
Но когда во всем этом разберешься, то остаются только положительные стороны.
Автор: Elsper.ru