Ноябрь 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: 9.6/10 (5 votes cast)
Ноябрь 2017, 9.6 out of 10 based on 5 ratings

24 thoughts on “Ноябрь 2017

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

  2. У Короны есть ещё один недостаток. Она бесплатная, да, но пока не захочешь вставить в приложение рекламу. Тут выясняется, что для этого следует купить профессиональную версию (700$ в год) или отдельный плагин AdMob (200$ в год). И то и другое для инди-разработчика многовато, как мне кажется.

  3. elsper, у Юнити щас как дела с 2D-функционалом? Тебе всего хватает или по чему-то скучаешь из флеша?

  4. О том, что шейдер выставляется в настройках материала ни одной строчки.
    Генерация меша? Пожалуйста, вот статья прям в мануале https://docs.unity3d.com/ru/530/Manual/Example-CreatingaBillboardPlane.html
    Вон там вершины, нормали, координаты на текстуре. А вот понять КАКОЙ ИМЕННО ТЕКСТУРЕ соответствуют эти координаты я должен как-то сам.

    О даа, это пздц частая ситуация при изучении. Опытные разработчики не ставят себя на место изучающих. Им-то оно понятно как 2×2=4, а тот кто в первый раз это видит — хз как догадываться должен.

  5. @elsper, во всех 2D-коммьюнити принято считать, что Unity для 2D — это громоздко и неоптимально. Как считаешь, оно так, или байка со старых времен, которую все по привычке повторяют?

  6. если Appodeal добавляет от полгигабайта к размеру дистрибутива на iOS — неоптимальность Unity для 2D уже перестает быть таковой

  7. Что в флеше, что в юнити я в итоге свел все к простейшей записи. Так, что непреодолимых препятствий нет, точно.

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

    Первое из неудобств это сетка, в которой зачем-то поменяли размеры в 100 раз. С этим или смириться, или у каждой текстуры менять параметр «Pixels Per Unit» с 100 на 1.
    (Хотя может есть возможность изменить эту настройку по умолчанию для всех и я просто не нашел.)
    Так же надо чуток настроить камеру. Во первых сместить ее центр, потому, что изначально начало сцены в центре камеры. Кому-то может быть удобно, а кто-то привык работать только в положительной области.
    Изменить Size камеры, если меняли «Pixels Per Unit» (у меня SIze 240, половина высоты экрана)

    Еще из неудобств это то, что порядок отображения надо настраивать отдельным компнентом SortingGroup. Иерерахия работает криво.

    Впрочем относительно недавно добавили компонент Canvas и к нему кучку UI элементов. Картинки, тексты, маски.
    И с этими элементами юнити стал похож на обычный редактор интерфейсов.
    Так, что предположение о том, что «байка со старых времен, которую все по привычке повторяют» отчасти верна.

    В целом же:
    1) Юнити громоздок своей системой компонентов. И нужно некоторое время чтобы привыкнуть к самой идее навешивания этих компонентов. Впрочем привыкнув перестаешь ее считать чем-то неудобным.
    2) Обычное 2D там есть. И в виде UI, и в виде спрайтов. Я думаю протестировать еще вариант 3D mesh, просто повернутого в двухмерной плоскости (чтобы выжать максимум производительности), хотя это уже только кодом можно.
    3) И да, все можно сделать кодом. Один раз разобраться, сделать свои классы для типовых задач и вся громоздскость улетучится. Я так и поступил.

  8. «Берешь текстуру и перетаскиваешь ее в Albedo материала.»
    Разобрался спасибо. Но прямо скажу, это сверхнеочевидно.

  9. while num < 50 do
    num = num + 1 — Нельзя ++ и +=
    end

    Щас бы в 2k17 ванильные языки сравнивать 🙂

    В любом языке достаточно же глянуть синтаксис циклов, массивов, функций, и пр.
    А остальное — уже взаимодействие с движком/фреймворком. Ну можно потом еще в свободное время какую-нить ванильную книжку %название_языка% Cookbook осилить, больше для души, нежели для заработка.

    Lua оч.удобен, на нем оч.много чего скриптят, от Angry Birds до World of Warcraft

    К тому же у corona мало серьезных проектов.

    На 2D-фреймворках 2D-приложений релизнуто в тысячи раз больше чем 2D-приложений на Unity. Просто не все отчитываются, кто на чем пишет, сколько зарабатывает, и т. д.

    Как мне кажется, основное требование к фреймворку — зрелая развитая экосистема
    1) обилие плагинов, библиотек, эффектов на все случаи жизни, чтобы каждый раз самому не изобретать велосипеды
    2) обилие туториалов (чтобы не пришлось как долбаный Кулибин ковырять non-user-friendly документацию, написанную кодерами этого фреймворка хз для кого, но уж точно не для начинающих этот фреймворк изучать)
    3) быстрая компиляция и тестирование на моб.устройствах, отсутствие геммороя с экспортом

    Unity по пунктам 1&2 для нас конечно привлекательнее Unreal Engine, особенно для тех кто не силён в английском, т. к. для Unreal на русском хрен да нихрена

  10. Я на этот раз промолчу. Просто приведу факты: больше месяца мы спорим, что лучше. Элспер начал осваивать Unity, но пока даже простую демку своих хомяков показать не может.

    Отсюда заключаю что на осваивание и мастеринг Unity нужно МНОГ времени, что в наше времяне позволительная роскошь.

    ИМХО надо не технологиями заниматься, а деньги зарабатывать, набивая руку в разработке игр и осваиванием психологии игрока. Многие хитовые игры (angry birds, cut the rope, DTM) имеют минимальный интерфейс но загребают миллионы… даже Шахта Элспера помогла ему заработать первый свой доллар

  11. Андрей, золотые слова, чем флуд разводить, надо брать и делать.

    Щас до сих пор мусор в стиле «Sexy Girls Wallpapers HD» или «дурак на раздевание» бывает набирают сотни тысяч инсталлов.
    Время-то летит, грех упускать возможности, с каждым годом рынок перенасыщается.

  12. Я только одно скажу — не переделывай старые проекты на новом движке. Только если это оправдано, если в них продолжают играть и выпуск апдейта имеет смысл больше, чем выпуск новой игры.

    Будут те же игры, но с новыми недоработками. Лучше новые игры на новом движке.

  13. Совет в копилку. Если работаешь в 2D, при импорте текстур/спрайтов убирай галочку Generate Mip Maps. Юнька автоматически ее выставляет, так как заточена под 3D. В итоге значительно уменьшишь размер билда и увеличишь производительность. Плюс на некоторых устройствах мипмапы были причиной разрывов текстур, появлений артефактов. Ну и про Npot текстуры не забывай, чтобы текстуры корректно компрессились.

  14. Жека «дурак на раздевание» это классика жанра и она никогда не умрет. Не смотря на то, что интернет полон не то что голых баб, но видео роликов в любом жанре, игра имеет преимущество. У игрока желание раздеть именно эту девушку, почему? Да потому от природы мы охотники… сам посуди, что вкусней рыба купленная в магазине или пойманная на свою удочку? =) Элспер где-то палил ссылку на сайт одного разработчика, где он разибрал психологию игрока

  15. Джентельмены, обновил программу и думаю на этом больше правок делать не буду. Список TODO не уменьшаеться. Вот только удалил два пункта и добавил новый =)

    1) В целом принял во внимание замечание Элспера и добавил кнопку пропустить инструкцию. На главную добавил две кнопки (с радостью выслушаю предложения как их можно лучше оформить): для отправки сообщения и включения туториала.

    2) Также добавил новый мелкий туториал который запускаеться при первой попытке включить экзамен. Ну а так как туториалы смотреть не любят, переименовал «бонус ошибок» в «количество ошибок». А сверху написал «условия сдачи экзамена». Для страховки еще дописал числовое значение под сердечком и часами.

    3) Отключил блокировку нажатия на варианты ответов. Для себя открыл способ принудительного завершения tween анимации, так что бы анимация не просто останавливалась, а перескакивала на конец анимации.

    4) Поправил ошибку в режиме правописания, но ее думаю пока еще ни кто и не видел =) Ну и улучшил деления слова на слоги (с виду простая задача, а на самом деле там строк 400 кода).

    http://html5-game.ru/wp-content/uploads/chapter-40/learn-english/index.html

    Жду критику, замечания и предложения. Пока пошел писать тесты для проверки все ли слова имеют озвучку и графическое изображение. Жека у тебя в компании как создавали JS тесты?

  16. Расскажу кулстори
    В 2003 был я менеджером по контактам с разработчиками игр в одной компании — издателе J2Me игр (никаких живых контактов с тех пор не сохранилось, увы)

    И как-то бойко тогда шли эротические слайд-шоу. Кто-то разрабатывал клоны классических игр, кто-то серьезно трайхардил, рубил очень качественные аркады, выжимая все возможное из J2Me и тогдашних телефончиков (одна оптимизиция под экраны шириной в 128 пикселов чего стоила!).

    И тут один разработчик из Томска забрасывает нам свежие эротические слайд-шоу. Ну, товар ходовой, а народ на свежатинку идет. Поставили на витрины (сайты свои и партнеров). Фигакс — по 2-3 тысячи долларов каждый месяц одних только гонораров для этого разработчика. Сразу в топе, чуть ли не первый по доходам в РФ. Всякие Gameloft и прочие парятся, трайхардят, а все равно не могут оторваться.

    А по функционалу те эротические слайд-шоу были сделаны так
    1. Запускается апплет, выводится первая картинка
    2. Нажимаем любую клавишу — выводится следующая картинка.
    3. Доходим до конца, начинаем сначала.

    Я тогда довольно сильно жалел, что вообще не умел ничего программировать. Ну а потом никогда не был в таком месте, когда научился вывод картинок делать )

  17. Zaxx, щас до сих пор на Google Play часто примитивные приложения миллионы скачиваний набирают. Так что не всё потеряно.

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

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

    окстись:)) Лучше Юнити ничего нет в плане туториалов, на тот же Unreal туториалов в десятки раз меньше
    Другого такого движка наверно нет, под который настолько дофига туториалов как под Юнити.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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