Unity. Тесты скорости разных способов вывода графики.

(Кому лень читать весь пост, читайте вывод в самом конце)

Так как я перехожу на юнити, а в играх перехожу на нормальное игровое поле (а не только интерфейсы как до этого), то сама собой возникла необходимость найти самый быстрый способ вывода графики.

Для теста берется 1000 элементов квадратов 200 на 200 между которыми раскидано 16 текстур (200 на 200) с прозрачными и полупрозрачными кусками.
И рандомно меняем им позицию каждый кадр. Плюс часть вариантом тестировались с тряской общей сцены, а не отдельных элементов.

Статья получилась очень специфичная, так, что тем, кому не интересно, лучше пропустить.

Continue reading «Unity. Тесты скорости разных способов вывода графики.»


Автор: Elsper.ru


VN:F [1.9.14_1148]
Rating: 4.0/10 (21 votes cast)

Ноябрь 2017

Прошлый тут

Общий доход с игр 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


VN:F [1.9.14_1148]
Rating: 6.5/10 (15 votes cast)

Итог октября. Акции падают.

Прошлый тут

Игры

Общий доход с игр 3280. На 20 больше чем месяц назад.

Игра про остров принесла 630.
Итого уже 2863$.

Или если помесячно:

январь 3
февраль 9
март 35
апрель 162
май 169
июнь 200
июль 520
август 515
сентябрь 620
октябрь 630

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

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

Продуктивность

А вот тут полный провал.

Рабочих только 23 часа. И ноябрь на данный момент еще хуже.
Впрочем я не сильно грущу. Из реальных проблем только, что по одной из игр художница сильно опережает меня и непонятно, какие задачи давать. Но вроде пока придумываются и получается поддерживать загрузку работников.

Акции

А вот тут совсем плохо. Две компании в которых у меня были основные деньги рухнули. И маржинальная торговля так порадовавшая меня в прошлом месяце, в этом ударила с не меньшей силой. А за первые числа ноября еще добавила на несколько процентов.
Был, даже, день, когда мне срезало 70 тысяч рублей.

И в общем, казалось было ставшая положительной торговля, снова стала отрицательной.

Основной счет -8%
Второстепенный счет -5,4%
Тиньков +0,4%
Криптовалюта +1% (на фоне роста биткойна это конечно полный провал)

Думаю надо снижать плечо, а то состояния так не накопить ))

Прочее

Треть месяца проболел, что собственно и послужило основным тригером для переходя а режим распиздяя.
Но вообще-то и радоваться жизни тоже надо уметь, а не только думать о работе.
И проводя время за играми или ютубчиком, я откровенно наслаждаюсь состоянием потока.
Самое интересное, что я заметил анализируя свое прошлое, что такие дни/недели когда я нонстопом играл или смотрел сериальчики мне не вспоминаются как «потерянное время».
Потерянным ощущается только время, которое утекало в какую-то прокрастинационную шелуху, которой были наполненные в том числе более успешные по продуктивности месяцы.

А время осознанно и с интересом потраченное на игру оно не «потерянное», а «использованное». Конечно это звучит, как оправдание.
Но мало кому в голову придет называть, например, время потраченное в чтении потерянным. Вот и тут так же.

Хотя будем честны и среди книг и среди игр и особенно среди сериалов, конечно есть те, времяпровождение в которых именно будет потерянным. И время потерянное за чтением плохих книг даже более вредное, чем потерянное в играх, потому, что порождает самообман, якобы потраченного с пользой времени.
Думаю основным критерием отличия потерянного от потраченного будет послевкусие спустя, например, неделю, месяц, год.
Если ничего не можешь вспомнить, то это потеря. Отдал время, и ничего не получил взамен. Если же есть какое-то чувство удовлетворенности, законченности или вообще какой то новый жизненный принцип, то очевидно что это трата. Отдал время и что-то получил взамен.

Могу так же добавить, что осознание того, тратишь ли ты своё бесценный ресурс в виде времени или же просто тупо его теряешь, в целом, один из самых жизненно важных навыков.
Как мне кажется необходимый для того, чтобы чувствовать себя счастливым и целостным.
Ведь в некоторых обстоятельствах наоборот работа 10 на 7 является потерянным временем (например нелюбимая или бесполезная работа). Или уже приведенный пример чтения плохих книг.

 


Автор: Elsper.ru


VN:F [1.9.14_1148]
Rating: 6.6/10 (12 votes cast)

Публичная разработка игры. Часть 11

Прошлый пост тут

По итогам прошлого поста было 95 часов.

Сейчас 97 часов. Работал на интерфейсом (одна глупая мелочь отняла пол часа), тестировал отображение разных шкурок у хомяков.

Потом поработал еще некоторое время за которое добавил пару комнат. Сделал двух фазное строительство (сначала принос ресов, потом сам процесс строительства на фоне другой картинки), исправил очередную кучу мелких косяков. Столкнулся с проблемами с масштабированием и исправлял их.

На скрине одна из новых комнат и одна из новых шкурок хомяка.

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

104. Полоску строительства сделал. Уход с территории сделал. Попутно исправил еще одну ошибку, хотя пришлось переделать отображение хомяков. Добавил хомякам отображение мыслей/задач (выглядит круто).

108. Активно работал над интерфейсами.

Добавление нового хомяка

Выбор комнаты для строительства

Оба скриншота выглядят невзрачно, потому, что это технические эскизы. Над ними еще не работала художница.

___

110 часов. Поставил некоторые картинки интерфейсов. И частично реализовал поддержку комнат, занимающих три, а не два сектора.

Вообще между 108 и 110 был огромный перерыв в работе. И по итогу весь октябрь получился очень ленивым. Плюс работа над релизом другой игры. Плюс у меня есть еще одна параллельная игра и там накопилось задач для меня.
Но я ведь сразу решил измерять работу не днями а часами.
Поэтому текущее состояние 110 часов. (+15 часов от последнего поста) и 654кб кода (+146кб)

Из ближних планов. Доделать трехсекторные комнаты и продолжить работу над интерфейсами.


Автор: Elsper.ru


VN:F [1.9.14_1148]
Rating: 4.5/10 (17 votes cast)

Итог сентября. Геймдев и акции.

Прошлый итог тут

Игры

Доход с игр снова перевали за 3к. В сентябре вышло 3260 $.

Игра про остров принесла примерно 620$

Получается от нее уже 2233$
январь 3
февраль 9
март 35
апрель 162
май 169
июнь 200
июль 520
август 515
сентябрь 620

Все никак не могу релизнуть новую игру (про рыцаря). Самый нудный релиз из всех на данный момент. Игра еще доделана была к июлю, но все какую-то фигню приходится прикручивать, то гугл ачивки, то инициализацию в фейсбуке. И приходится увязывать в одном проекте сразу несколько разных инструментов, библиотек и модулей, а они между собой не всегда идеально стыкуются, я аж психанул и юнити установил.

Продуктивность

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

Рабочих только 44 часа.

Кстати, в конце прошлого месяца рассуждал о том, что над снижать ютуб, и ирония в том, что я его таки заметно снизил его. Но заменил это время на работой, а играми ))
Думаю на следующий месяц нет смысла ставить какие-то выраженные цели, скорее всего на «эффекте низкого старта» октябрь итак получится лучше сентября.

Акции

Ну и переходим к самому интересному.

Главный счет +11,7% Были моменты когда он поднимался выше +20%, но вторая половина месяца потянула вниз. (Все деньги в Аэрофлоте, ИнтерРАО и Polymetal почти равными частями. Все три демонстрируют падение)
Однако немало удачных внутредневных сделок было. Было пару дней, когда купив и в тот же день продав, получал около 10к р.
Второстепенный счет в финаме +16,3% Тоже получил этот прирост на внутредневке, без нее было бы процентов 5.
Счет в тинькове -0,2%. Начинаю потихоньку торговать американскими в финаме и под это дело буду сокращать позиции в тинькове. Финам дает довольно большое плечо под почти адекватный процент, а без плеча мне как-то и скучно банально.

На криптовалютах только +0,8% (На падающем рынке не так уж и плохо)

Прочее

Попробовал чуток поголодать. Сначала было голодание после трех. Потом настроился и продержался день. Есть небольшой плюс в том, что когда голодаешь, то еда как бы вычеркивается из жизни, не надо о ней думать, думать что съесть, что хотелось бы, где взять и все такое прочее. Это немного разгружает мозги. Но какого-то другого эффекта не ощутил. Даже не похудел, потому, что, когда практиковал вечернюю голодовку, то старался наесться до обеда.

В спортзал ходим регулярно. Через день — два. на 40-45 минут.
Вес стоит (хотя хотелось бы скинуть конечно), но мышцы растут, так, что я в итоге не против.
Приятно когда получается повышать веса.

 


Автор: Elsper.ru


VN:F [1.9.14_1148]
Rating: 5.2/10 (11 votes cast)

Спoнcopcкиe ссылки