Начальник взял в руки лопату
Телеграм канал для тех, кому интересны другие мои приключения руководителя в IT.
Телеграм канал для тех, кому интересны другие мои приключения руководителя в IT.
Итак, друзья. За плечами рабочая неделя и можно подвести первые итоги. На данном этапе - глубоко промежуточные.
Не то, чтобы мне было что рассказать, но мои 183 подписчика этого, наверное, ждут.
Во-первых, хотел спросить, не нужен ли кому-нибудь активный тг-канал на тысячу подписчиков за разумную цену?
Шутка. Специально для @casanex, :) #comment_255189162
Однако, обо всем по порядку. Как многие могли догадаться, все пошло по пизде несколько не так, как задумывалось. Я искренне верил, что пост не выйдет в горячее и меня ждут человек 30 с горящими глазами, 20-25 пар из которых оперативно потухнут. И с таким количеством людей можно было бы более-менее активно взаимодействовать лично. План был великолепен, надежен, как швейцарские часы.
Первый звоночек, что часы - китайская подделка, прозвучал, когда буквально за пару часов в моей личке было 60+ человек, а пост уверенно себя чувствовал в Горячем. Но кого волнуют такие мелочи? Вижу цель - не вижу препятствий, решил я и пошел листать список контактов, в поисках коллег, которые имели опыт менторства или желание попробовать. План все еще оставался надежным - раскинуть часть нагрузки между отозвавшимися друзьями и сохранить тот формат, который декларировался на старте: личный подход, никакой групповухи и вот это вот все. С этими мыслями я и ложился спать.
Однако с утра стало понятно, что часы были даже не китайскими, а просто игрушечными и вообще без стрелок. По состоянию на 09:00 по МСК в моей личке было около 200 человек. Сколь-нибудь адекватно взаимодействовать с такой толпой в режиме о2о - совершенно невозможно. Волевым решением пришлось создавать тг-канал. Не стану дублировать ссылку, чтобы не расшатывать чуткое душевное равновесие @casanex, ссыль можно найти в предыдущем посте. В целом, текущая концепция строится на поддержании канала и консультациях в ЛС всех желающих, вне зависимости от текущего уровня.
Это все была большая преамбула. Теперь, собственно, итоги:
С момента поста с желанием изучать Java ко мне в ЛС постучалось 300+ человек. Насколько + - не знаю, после трех сотен я перестал считать.
На канал подписалась тысяча с небольшим человек. Насколько эта цифра отражает число действительно заинтересованных людей - тяжело сказать, но в связанном тг-чате только 208 участников:)
Из приятного - в личку постучались трое пикабушников с предложением своей помощи. @echo0, спасибо за отзывчивость, ников других не знаю, но все равно благодарен) Также идею поддержали пятеро коллег. Так что теперь у нас есть команда из 9 энтузиастов. Насколько будет серьезен вклад каждого - еще предстоит выяснить. Также спасибо тем ребятам, которые еще сами в процессе обучения, но стараются отвечать на вопросы совсем новичков. Не всегда ответы идеальны, но вы снимаете часть нагрузки, а это уже что-то.
Из того, что не очень приятно, но отметить надо. Из-за нехватки времени и рук, сейчас материалы выходят раз в сутки и рассчитаны на самых начинающих. К тому же, если изначально был ориентир на шаринг готовых материалов других авторов и ответу на последующие вопросы - сейчас кажется более верным давать хоть информацию, сверх ссылок на статьи или видео - хотя бы в формате ключевых моментов и акцентов к темам, по которым даются ссылки. Более продвинутым и опытным ребятам канал на текущем этапе малополезен, им стараюсь помогать через личку, но это капля в море. Очень надеюсь, что ситуация устаканится, команда не разбежится и мы сможем покрывать больше тем на разных уровнях, дабы никто не чувствовал себя обделенным.
Однако, если у кого-то есть вопросы или вы их даже задали, но я не отвечаю больше суток - не стесняйтесь сообщить о себе. Постараюсь помочь в меру сил. Ссылку на свой тг приложу ниже.
Говоря о моих впечатлениях после первого шока - я даже начал получать своеобразное удовольствие от этого процесса. Есть мысли и идеи, как улучшить текущую организацию, некоторые хорошие идеи услышал от подписчиков. Надеюсь, все получится и через какое-то время моя личка снова будет разрываться, но уже от людей, которые с долей моей помощи смогли найти первый оффер:)
Если интерес не пропадет - буду периодически сообщать о результатах. Получилось многабукаф, пойму тех, кто не осилит)
Также если кто-то чувствует силы и желание помочь в нелегком волонтерском труде - пинайте в личку, дело найдется всем.
тг для связи: @ironicMotherfucker
Собственно, основной посыл в заголовке.
Нет, речь не про остров в Индонезии.
Java - один из наиболее популярных и востребованных языков программирования. Остальную информацию для ознакомления можно найти в гугле:)
Если для вас неактуально - дальше можно не читать.
Немного более подробно о том, что будет, чего не будет и что потребуется от вас
Что требуется от вас: рабочий комп, доступ в Интернет, желание учиться.
Что будет: Вечерника с блек джеком и шлюхами. Нет, это позже.
На самом деле, я надеюсь, что моя помощь может быть актуально для ребят с разным уровнем и опытом. Возможно, у вас за плечами какие-то курсы, может быть, сталкивались с программированием в универе. Возможно, вы все еще думаете о том, что свинья изучать острова в Индонезии - охуенная тема. В целом, все зависит от начального уровня. Вопрос формата пока остается открытым, но это точно не будет групповая история. Постараюсь найти личный подход.
Тем, кто в поиске первой работы - могу попытаться помочь с составлением CV, закрытием каких-то пробелов перед собесами.
Чего не будет:
Попыток заставить вас делать что-то, если вы потеряли интерес, вам скучно и вообще "ну его нахуй, стану проституткой".
Реклам говнокурсов, книг, еще какой-то коммерческой херни. Я искренне убежден, что все, что нужно на начальном этапе - есть в открытом доступе, платить за это - кормить инфоцыган.
Мотивационной хуйни, аля "давай, все получится", "гарантированное трудоустройство", "72 девственницы" - тоже не будет. Все зависит от вашего желания, усидчивости и способностей. Я буду искренне рад, если для кого-то моя помощь станет билетом в дивный новый мир, но вполне осознаю, что большая часть заинтересовавщихся отвалится в процессе.
Самое главное. Легко тоже не будет. Особенно без профильного или инженерного образования.
Если вы еще не скипнули, возможно, вам интересно, зачем это все мне.
Так вот.
Во-первых, меня заебала Skillbox, которая лезет ко мне из каждой щели Пикабу и не только и обещает обучить меня моей работе. Спасибо, не надо. Надеюсь, моя помощь сэкономит кому-то время и деньги.
Во-вторых - это попытка принести пользу обществу или хотя бы отдельным его представителям. И в-третьих - я просто хотел бы, что в свое время кто-то так помог мне. Будем называть это красивым словом сублимация.
Сейчас важный момент! Поздравляю, скорее всего вы поняли, что речь действительно не про остров в Индонезии. И, возможно, вы боитесь потратить свое время зря. Поэтому пару слов обо мне.
За последние 4 года мне довелось поучаствовать в серверной разработке совершенно разных проектов: от покера до крупных финансовых систем родом из 80х. Проводить собеседования, обучать стажеров и руководить командой таких же долбоебовпрограммистов. Поэтому если мы дойдем до этапа поиска работы - надеюсь, что смогу помочь с грамотный составлением резюме, подготовкой к собесам, действительно талантливых ребят постараюсь порекомендовать кому-то их бывших или текущих работодателей. Или не порекомендую, это тоже зависит от вас.
Тг для связи: @ironicMotherfucker
Пост без рейтинга. Поднимите, пожалуйста, возможно кому-то это действительно интересно.
Всем мир
P.S. Я не слишком шарю в пикабушных лигах, если знаете подходящую - можете перенести. Если что-то упустил/напутал в тегах - буду рад помощи.
P. P. S. Если будет интересно - постараюсь через время отписать, что из этой идеи получилось
UPD: Друзья!
Я не ожидал, что пост так выстрелит, поэтому пришлось немного изменить подход и создать общий канал для информации: https://t.me/+relA0-qlUYAxZjI6
Тем, кто уже успел написать в личку - продублирую, наберитесь терпения. Вас около трех сотен, если не больше. Личка также открыта, но быстрых ответов не обещаю. Те, кто готов помочь в нелегком волонтерском труде - обозначайте себя, пожалуйста, уже были эксцессы)
Привет всем! Хочется немного поделиться своим опытом по части разработки, интеграции шрифта и локализации нашей игры, которую мы разрабатываем на Unity.
Поиски бесплатного шрифта
Месяцев 7 назад мне пришлось работать над шрифтом. Ранее не доводилось работать со шрифтами (в шрифтах не специалист), так что создавал всё путем поиска наиболее подходящих, на мой взгляд, образцов. За основу нашего шрифта был взят шрифт, которым написано слово "МОЛОКО":
Далее проводились бесконечные попытки начертания глифов в тетради в клетку и их перенос в растровый формат. Перенос глифов в растровый формат - это моя большая ошибка. Правильнее было бы сразу все делать в векторе. Ниже прилагаю сохранившийся материал из процесса работы над некоторыми глифами (первые наброски):
Финальные тесты в Unity:
Перенос шрифта с бумаги в png-файл:
Пример стилизованного символа "Q" :
Так выглядят текстуры наших финальных кириллических и латинских глифов/символов (растровый вариант):
Поддержка языков, проблемы
Предполагалось, что система локализации должна быть максимально гибкой. То есть должна быть возможность добавления новых шрифтов "без проблем".
Разработка шрифта стала для меня большим проектом. Кроме разработки и переноса шрифта в старой системе шрифтов Unity, нужно было вручную разметить участки текстуры, которые отвечали за символы:
Позже возникла необходимость добавить немецкий язык. Пришлось вспомнить о том, как сложно создавать растровые шрифты, а потом настраивать их развёртки. Вся эта работа превращалась в бесконечный ад, который склонял к использованию чего угодно, помимо имеющейся системы шрифтов.
Позже выяснилось, что ручной подход настройки отображения шрифтов изначально был негибким, не учитывали кучу особенностей символов. Основная особенность - в разных алфавитах разное количество букв. А ещё бывают весьма экзотические буквы, которые либо значительно сокращают место на карте текстуры шрифта, либо требуют особой настройки отображения из-за отличающихся габаритных размеров. Например, лигатуры и "умлауты (umlauts)":
Лигатуры - это символы, которые состоят из нескольких склеенных символов (как на рис. выше).
К счастью, в Unity появился бесплатный TextMesh Pro. Это очень хороший плагин, который автоматизирует процесс переноса шрифтов из ttf-формата в текстуру с настроенными параметрами отображения. Часы работы по настройке отображения каждого глифа, задания расстояний и прочего сократились до пары щелчков мышкой. Фантастика!
Зачем нам свой шрифт, когда можно взять бесплатный?
На самом деле, зачем он и для чего? Очень часто у многих встаёт такой вопрос. В сети нередко возникают споры между дизайнерами и остальными разработчиками по поводу того, что на шрифтах можно здорово сэкономить.
К слову, в сети очень часто высказываются в пользу минимизации времени работы над шрифтами, так как многие предполагают, что шрифт вносит незначительный вклад в восприятие игры и в геймплей в целом. Часто предлагают: "не заморачиваться и использовать что-то попроще".
На самом деле есть доля правды в отсутствии необходимости проработки шрифтов. Согласно моему опыту, все зависит от конечного продукта, от его качества, от того, что дизайнеру необходимо передать (в том числе и с помощью шрифта).
Для дизайнера шрифт - это не просто обезличенные символы, это нечто намного большее. Это способ общения с человеком, это качество общения, качество сервиса, эмоции, способ восприятия информации, нарратива. Это целая вселенная.
Сам по себе шрифт - это мощнейший инструмент, который нужно уметь использовать. Подобрав неверный шрифт, можно не то чтобы испортить атмосферу игры, можно просто сделать игру бессмысленной, непонятной, противоречивой.
Давайте рассмотрим следующий пример.
Допустим, у нас игра для детей 7-10 лет, без насилия. В игре есть милые NPC, которые здороваются с вами, сажают овощи, желают хорошего дня, вечера и так далее. Что-то типа игры про весёлую ферму.
И, допустим, в этой игре дизайнер принял решение писать пожелания и все остальные фразы милого зайки-NPC красным цветом и таким шрифтом потому, что шрифт бесплатный и не было времени работать над собственным шрифтом:
Вы прочувствовали всю доброту пожеланий?
Или вот ещё варианты передачи фраз добродушного зайчика посредством шрифта:
Наверно очевидно, что шрифт решает многое и он, часто, крайне важен.
Одна и та же фраза может передавать абсолютно разную информацию. И эта информация заложена в контексте, в данном случае в шрифте.
Пример с зайчиком, конечно, утрирован, но он хорошо показывает мощь и возможности передачи огромной информации с помощью такого, на первый взгляд, незаметного инструмента как шрифт.
Бесплатные шрифты
Согласно моему опыту, у бесплатных шрифтов есть большие недостатки. Во-пепвых бесплатных шрифтов очень много (тысячи). Во-вторых лично мне не удалось найти в этой разнообразной тьме что-то подходящее для нашего проекта. Убив значительное время на поиски, я изрядно замучался и был поражён скудностью огромного разнообразия в бесплатном.
Среди платных шрифтов мне попалась пара подходящих вариантов. Но в этих вариантах отсутствовали либо кириллические символы, либо латинские. Цена использования каждого из таких шрифтов в коммерческих проектах (приложения) была в диапазоне по 90 - 120 тыс. руб за шрифт. Для использования на сайте цена была ниже. Ну а для личного приватного использования плата вовсе не взымалась.
Перед разработчиками стоит непростая проблема:
- либо нужно вложить 2x * много денежных средств на приобретение шрифта
- либо нужно вложить много сил и создать свой шрифт
Для нас выбор был очевиден - придётся работать и создавать свой шрифт.
Создание векторного шрифта
Начну сразу с платного ПО, которое использовал. Birdfont - замечательная программа за $5 на которой мы остановили свой выбор. Программа позволила быстро перенести растровый шрифт в векторный формат.
Достоинства:
- очень дешёвая лицензия
- достаточно удобная (когда освоишься)
Недостатки:
- тормозит, есть баги, недоработки
- интуитивно непонятный интерфейс и горячие клавиши
Возможно есть ещё какие-то недостатки, которые видны профессионалам, но меня пока все устроило (особенно цена).
Тонкости создания глифов
Birdfont сильно упростил процесс создания векторных глифов и мы расширили поддержку алфавита. Добавили поддержку следующих языков (кроме английского и русского):
- немецкий
- французский
- испанский
- итальянский
- польский
- чешский
- венгерский
Кажется ничего не упустил.
В процессе работы над глифами обнаружил, что играл со шрифтами и сильно проиграл.
Ситилизация шрифтов - головная боль для дизайнера. Как можно играть с дизайном глифов и проиграть.
Дело в том, что мы пытались стилизовать шрифты других стран без глубокого понимания того, что можно делать, а что нельзя: упрощали, перерисовывали части глифов на свое усмотрение. Ниже представлены примеры глифов, которые ранее стилизовали неверно:
В конце мы передали свой шрифт друзьям-лингвистам из бюро переводов Code-Switcher, чтобы похвастаться они все проверили. У них, в основном, трудятся переводчики-носители языка, они-то точно должны адекватно оценить нашу работу. Те, в свою очередь, посмотрели и отправили в ответ пренеприятное известие примерно такого содержания:
Ваши символы "A", "B", "C" стилизованы не совсем верно. Символы "D", "E", "F" содержат серьёзные проблемы.Далее следовало уточнение о том, что неверно и почему. В целом наш шрифт вызывал бы неприязнь, отторжение у носителей языка. Забраковали работу :(
Особо отмечу, что сильно забраковали эти два символа, которые похожи на "А" и "С". Вот они:
Заметили мелкие крючки на конце?
Крючки, точки, кружки с отверстием, вопросительный знак перевернутый вверх ногами - неучтенные мною глифы, которые оказались серьёзной болью при дальнейшем расширении языковой поддержки. Ребята из кодсвичера доходчиво объяснили, что наши дизайнеры слабо разбираются в шрифтах и нам необходимо ввести дополнительные символы вопроса и восклицания для испанского языка.
Дело в том, что испанцы сперва ставят перевернутый знак вопроса / восклицания, далее идёт предложение, а в конце ставятся обычные знаки вопроса / восклицания. И без перевернутых знаков в начале предложения никак не обойтись, просто вот совсем никак, вынь да положь.
В итоге мы учли всю критику от ребят из бюро переводов и добавили полную поддержку перечисленных выше языков.
Теперь попробуем сравнить текст на немецком и английском (наш шрифт) и текст на русском (точно не помню какой именно шрифт в примере):
Наверно заметили, что здесь что-то не то с кириллическим русским текстом. Да, это так. Разный шрифт - разный дизайн.
Кажется, что текст выделяется из-за того, что шрифт очень широкий. И все можно исправить простым сжатие глифов. На самом деле проблем больше и простым ужатием шрифта по горизонтали не обойтись.
Штош, что только не сделаешь, чтобы конечный продукт выглядел неразношорстно, в одном стиле. Наш финальный результат:
Привет Пикабу! Обычно в этом разделе делятся успехами и рассказывают о проектах, но я считаю, что ещё немаловажно учиться на чужих ошибках. Пусть даже в моём случае умудриться совершить подобное нужно ещё очень постараться.
Сразу уточню, что во всей сложившейся ситуации виноват прежде всего я сам. Так что я разбавлю свои жалобы полезной информацией, чтобы повысить читабельность данного поста.
Напоминаю, что 17 августа я вышел в релиз Steam, о чём написал довольно большой пост. Это мой первый релиз и когда эйфория от первого месяца продаж прошла, на меня свалилась просто тонна информации по распродажам, ивентам, раундам показов и добавлению контента. Но обо всём по порядку.
Как вы знаете немаловажную роль в продажах играют скидки. У многих покупателей наличие скидки психологически влияет на решение покупать товар или нет. Да что далеко ходить – я и сам порой добавляю игру в вишлист чтобы потом купить её по скидке, т.к. знаю, что рано или поздно продавец скинет 10%/20% а то и 50% и воспринимаю начальную цену как «завышенную».
Что говорит Steam: Предоставление скидок может служить полезным механизмом по расширению вашей аудитории и увеличению продолжительности существования вашего продукта в Steam. Вы можете участвовать в официальных распродажах и пользоваться специальными инструментами, чтобы устанавливать индивидуальные скидки.
Первая скидка игры после релиза очень важна. Вишлисты ещё «горячие» и полны тех игроков, которым игра понравилась, но релизные 10% для них слишком малая скидка. Поэтому я решил подойти к задаче основательно. Сделать первое крупное обновление игры - добавить удобства и контента. Сделать скидку и запустить первый раунд показов. Что могло пойти не так? Да в моём случае - всё.
Изначально я хотел зарелизить обнову и скидку около 20 сентября. Но ввиду того, что тогда проходил Steam Bash Bash, я решил не пересекаться своим контентом с ивентом от Steam и отложить на поздний срок (27 сентября).
Попутно я зарегистрировался в Хеллоуин фестивале Steam и рассчитывал установить ивентовую скидку уже после моей личной (тут уже знающие люди начинают чувствовать подвох). Стоит уточнить что моя игра – хоррор и для таких игр распродажи на Хеллоуин чрезвычайно важны, да и сам я очень люблю этот зарубежный праздник. Ещё когда моя была лишь демкой я уже проводил в игре тематичные ивенты с тыквами и призраками.
Выше я упомянул некий подвох. Так вот, обратимся к справке Steam чтобы понять в чём вероятно мог возникнуть конфликт.
Правила бойцовского клуба установки скидок от Steam:
1. Вы можете установить скидку в честь выпуска, но по её окончании вы не сможете устанавливать скидки в течение 28 дней.
2. Невозможно установить скидку на продукт в течение 28 дней с момента повышения цены на него в любой валюте.
3. Нельзя устанавливать новые скидки в течение 28 дней после окончания предыдущей, за исключением сезонных мероприятий в Steam.
4. Нельзя устанавливать скидки во время сезонных распродаж в течение 28 дней с момента выпуска приложения или с момента окончания скидки в честь выпуска, а также в течение 28 дней после повышения цены в любой валюте.
5. Нельзя изменять цены во время проведения промоакции.
6. Нельзя установить скидку на продукт выше 90% или ниже 10%.
7. Продолжительность пользовательских скидок не должна составлять более 2 недель и менее 1 дня
Главное правило, которое меня волновало было на тот момент: нельзя устанавливать новые скидки в течение 28 дней после окончания предыдущей, за исключением сезонных мероприятий в Steam.
Но ведь проблем быть не должно, да? Я уверил себя, что Хеллоуин определённо сезонная распродажа, ведь связан с осенним сезоном и проходит стабильно раз в год…
На самом деле всё совсем не так. Всего у Valve 4, крупные сезонные распродажи (совсем недавно из списка убрали Лунный новый год но добавили весеннюю). В итоге остались:
осенняя — с 22 по 29 ноября 2022 года;
зимняя — с 22 декабря 2022 года по 5 января 2023-го;
весенняя — с 16 по 23 марта 2023 года.
летняя - дата точно не определена.
Ссылка на новость
Но на момент 27 сентября я ещё об этом не догадывался. И усиленно готовился к релизу первой крупной обновы Self-Delusion. Если вкратце - я улучшил много неявных моментов, добавил контента и атмосферы, добавил много того, что игроки просили (например, переигровку уровней, а невыход в меню после проигрыша) и конечно же переработал игровой баланс и способности некоторых монстров.
Я загрузил обнову, опубликовал подготовленные новости и запустил свой первый цикл показов, иначе называемый visibility round. Раунды это 5 специальных возможностей повысить видимость твоего приложения. И обычно они посвящены крупным обновлениям игры.
Всё шло неплохо. Пошли покупки по скидке. Но я решил зайти в настройки распродажи и проверить – «а не выставить ли мне заранее скидку на Хеллоуин?». Тут меня немного прошиб холодный пот. Потому что я увидел это:
И тут уже я всё понял. Из-за своей собственной распродажи, которую вполне можно было перенести я угробил свои шансы поучаствовать в распродаже от Steam, ещё и Хеллоуиновской. Но время что-то предпринять ещё оставалось. К сожалению, самостоятельно отменить свою скидку я не мог (тут я мысленно кричу себе прошлому – АСТАНАВИТЕСЬ, но он меня не слышит), поэтому обратился к поддержке Steam (не делай этого!!!).
Со словами – «Гейбушка, это мой первый проект, и я очень ошибся ,можно ли отменить мою собственную распродажу но только, чтобы моя игра поучаствовала в распродаже на Хеллоуин?», я обратился в техподдержку Стима. На что получил отказ. Вот тут лучше бы всё закончилось. Но тут ночью в тред ворвался новый специалист по имени Эндрю (да, я тоже удивлён что на кейсы отвечает не один и тот же специалист).
Андрюша не стал особо разбираться и убил мою распродажу со словами: «Окей чувак, через 28 дней ждём вас на распродаже Steam Scream». Когда я зашёл в настройки и опять увидел conflict я приуныл окончательно. Потому что мою распродажу то закрыли, а в скидку на Хеллоуин я так поставить то и не смог. Кроме того, в пылу этих попыток попасть на Хеллоуиновскую распродажу я забыл даже про активированный visibility round.
И не хватило мне для установки скидки на Хеллоуин буквально 1-2 дня :(Дальнейшие разбирательства с поддержкой ни к чему не привели. Уменьшить кулдаун на 1 день мне никто не захотел. Андрюша походу понял, что натворил и из переписки пропал.
Общение с поддержкой Steam и их решения мне напомнили загадывание желаний у Джина, где у каждого желания есть скрытая сторона. В моём случае моё желание исполнилось необычайно криво – мало того, что я как не смог попасть на распродажу Steam, так и ещё свою распродажу потерял и раунд показов без толку использовал. Хотя как я уже писал выше – во всей это ситуации виноват только я сам, но… наверное надеялся на большее понимание и вникание в проблему со стороны поддержки.
Сейчас я нахожусь в сильном смятении, ведь в начале была надежда как-то улучшить ситуацию, но мои решения привели лишь к ещё более худшей концовке. Если подвести общий итог - пожадничал я :D
Планирую в ближайшем будущем собраться и закончить подготовку к празднованию Хэллоуина в Self-Delusion. Добавить новых испытаний и хорошенько украсить дом :)
Надеюсь, мой опыт кому-то поможет впредь избежать стрессов. Берегите свои нервы и внимательно читайте документацию 😊)
На всякий случай оставляю мои контакты:
Почта: selfdelusiongame@gmail.com
Страница игры Steam: Self-Delusion
Группа ВК: ссылка
Этот пост является продолжением цикла постов посвящённых разработке приложения для стимуляции внутреннего туризма.
В этом посте я поведаю про написание ТЗ на коленке.
Как говорится: Без ТЗ - Результат ХЗ.
Далее я буду выкладывать скриншоты, иногда с пояснениями.
Для избежания сливов - даже в ТЗ не прописана олимпиада.
Все ценовые ограничения, как и механика комиссии (помимо прибыли) - направлены на минимизацию возможностей манипуляции игрой и жульничества.
Мы за честность!
Как бонус: макет лендинга.
Я из тех раздолбаев - которые делают такие вещи или с мобилы или от руки, на коленке.
За ошибки извиняюсь. Часть ТЗ пришлось вырезать... там нюансы по скрытым механикам.
Надеюсь, было интересно.
Рублёв (вступление)
Рублёв (ч.1 создание концепции)
Рублёв (ч.2)
Привет всем! Меня зовут Леонид, я являюсь СЕО Mind Simulation – лаборатории, ведущей исследования и разработки в направлении Общего Искусственного Интеллекта. Некоторое время назад мы показывали на примере Геральта из Ривии то, как собираемся оживлять NPC в играх. Это большая работа, которая постепенно продвигается.
Сегодня хочу поделиться достижениями и дать погонять бесплатно синтез речи, которым мы тоже занимаемся, чтобы неписей было приятно слушать. Благодаря последнему обновлению мы теперь можем переносить голоса между языками, что даёт возможность использовать один и тот же голос в разных локализациях, подбирать подходящие для персонажей голоса, не ограничиваясь поиском только нативных спикеров и озвучивать Инди на разных языках.
С момента выхода видео проект мы переименовали в SteosVoice, домен остался тот же. Голос G-man'а мы создали на основе английских реплик из HL:Alyx, там примерно 2 минуты. Сейчас наш синтез знает два языка: русский и английский. Неважно на каком языке говорит источник, система воспроизводит голос, манеру и говорит сразу на обоих языках. Добавим новый язык, голоса заговорят и на третьем языке.
Разработка развитие синтеза речи (да и распознавания тоже) для нас очень важна: если мы собираемся оживлять NPC, то нам нужно закрывать полный цикл, ведь персонажи должны озвучивать свои мысли тем же голосом и манерой, что и актёр, который записывал для них сюжетные реплики.
Зависимость от сторонних сервисов — неприемлемо. К тому же в нашем случае выдвигаются высокие требования:
• Минимальное количество аудио для воспроизведения голоса. Просить «несколько часов» исходных данных нереально, так как такое количество аудио наберётся только у двух-трёх главных персонажей большой RPG.
• Высокое качество звука. Звук должен быть такой же насыщенный, плотный, как и в оригинале.
• Быстрый синтез, чтобы не было ожидания между вопросом и ответом.
• Работа оффлайн, например, на четвёртой плойке. Потому как во-первых, ни одна студия не потянет такие расходы на облака, а во-вторых, игрок должен быть независим от интернет-соединения, особенно если он играет в сингл.
Нам это удалось. Чтобы создать цифровую копию любого голоса в высоком качестве, нам нужно всего семь минут речи спикера в идеальных условиях. С некоторыми компромиссами в финальном качестве достаточно и одной минуты аудио. Голос Гейба Ньюэлла (в рамках демонстрации, естественно, голос на платформе не доступен) мы создали на основе одной минуты аудио из документари HL2: Lost Coast. Да, есть ещё, но голос в силу возраста на них отличается, плюс у аудио в разном качестве и на большинстве присутствуют сторонние звуки, вроде шума вентилятора. Ниже пример (видео сжато).
SteosVoice как создаёт собственные уникальные голоса, так и сотрудничает с актёрами, выплачивая 20% роялти с каждого синтезированного символа на платформе авторам голосов.
Однако сейчас сервис бесплатен для всех желающих. Мы сделали это, чтобы поддержать сообщество разработчиков и создателей контента. Так что если вы хотели попробовать синтез речи в своих проектах или вам нужна озвучка, приглашаю. Также будем рады обратной связи!:)
Следующие обновления будут посвящены полному избавлению от акцента при переносе между языками, более точечной настройке эмоций и новым языкам. Бонусом сейчас в работе около 60 новых голосов, которые в ближайшее время будут добавлены на платформу.
Ссылка на проект, где можно попробовать синтез: https://cybervoice.io/ru/
В этом посте продолжаю делиться советами о тонкостях работы веб-разработчиком. Начало здесь
Ниже я приведу список того, о чем лучше не говорить на собеседованиях.
1. О негативном опыте
Одна из ключевых задач собеседования - выставить себя в лучшем свете перед потенциальным работодателем. Представитель компании, в свою очередь, будет превозносить свою компанию, всячески убеждая вас, что работая у них, сотрудники быстро и легко развиваются, получая при этом очень достойную оплату, а кожа становится гладкой и шелковистой. На фоне всего этого вам важно выглядеть идеальным кандидатом, с идеальной улыбкой на идеальном лице. Если у вас есть весомые недостатки, например с технической стороны, то опытный тимлид определит их парой вопросов. Если же этого не произошло - возможно, это не так уж и важно =) и эти мелкие промахи уже в прошлом или совсем не помешают работе здесь.
2. О своих руководителях в негативном ключе.
Во всех компаниях есть скелеты в шкафу. За 9 лет веб-разработки я не видел педантантов-идеалистов примерно ни разу. Если вы красочно и с подробностями будете отвечать на вопросы о причинах ухода с предыдущего рабочего места, то это мало кому понравится. Все понимают, что текучка кадров очень даже существует и, скорее всего, через пол года-год вы, с таким же энтузиазмом, будете говорить уже при них.
3. Избыточно подробно о нюансах работы на предыдущих местах.
Прежде всего стоит понимать, что соглашение о неразглашении, все-таки, существует не для красоты и его нужно соблюдать. Если вас спросят про обязанности на предыдущих рабочих местах то будет плюсом если, помимо ответа на этот вопрос вы еще скажете какую пользу это принесло компании. Например "Ускорил API в 2 раза, что позволило сэкономить на аренде сервера 40%". Руководители среднего звена очень любят такой подход.
4. О том, что написано резюме.
Поверьте, его и так уже прочитали. Если вас просят кратко рассказать о себе и своих достижениях - используйте историю как вы героически исправляли ошибку на продакшене в пятницу вечером, что помогло избежать многомиллионных потерь </sarcasm>
5. О нерелевантном опыте
Не особо уместно упоминать о том, что сложно конвертировать в регулярное закрытие бизнес-задач. Сам факт, что вы смогли немного всесторонне развиться совсем не означает что это будет постоянно и с должным качеством. Например стоит упоминать о небольших достижениях в сфере бекенд-разработки если вы идете во фронтенд и наоборот. Как минимум потому, что каждая из этих сфер очень объемна и постоянно растет. Рост в глубину больше способствует качеству, чем рост в ширину.
6. О своих успешных проектах
Этот совет подойдет уже более опытным разработчикам. Если у вас есть личные проекты, которые пользуются спросом и в перспективе могут принести доход(или уже приносят) то лучше о этом умолчать. Для работодателя это может быть причиной вашей незаинтересованности в росте непосредственно на рабочем месте или же поводом думать что вы уволитесь как только дела пойдут лучше непосредственно у в вашем начинании.
Совсем недавно у меня был случай, когда я успешно прошел техническое собеседование в довольно крупную компанию, но мне отказали как-раз таки из-за наличия своих проектов. Формулировка была примерно такая: "ну вот сейчас ваш проект выстрелил и вы от нас уйдете".
7. О деньгах в первую очередь.
Рекрутеры, чаще всего, довольно опытны в своем деле. Они понимают, что вопросы оплаты труда нужно будет оговорить и они это, непременно, сделают.
Лучший вариант - занять сильную позицию в диалоге. Для этого нужно подчеркнуть ваши сильные и, желательно, уникальные стороны. Выставление денег на первый план - это проявление эгоизма, который будет бить по эгоизму работодателя. Учитывая что сотрудников очень даже часто переманивают путем предложения более высокой зарплаты то, в этом контекте, вы будете казаться немного ненадежным элементом.
Мой канал в Telegram, где я помогаю новичкам: https://t.me/LearnRubyForPikabu
Уже 42 моих подписчика дошли до получения работы.
Добро пожаловать всем желающим.