Pull to refresh

Как создавать инди-хиты и обходить грабли. Интервью с авторами книги «Хочу в геймдев!»

Reading time10 min
Views7.7K

Очевидно, что на входе игровая индустрия слишком романтизирована: тут грезится и воображаемый глоток свободы, и самореализация, и большой заработок. Хотя по факту геймдев — это в первую очередь бизнес со всеми вытекающими следствиями и последствиями. Из него иногда выскакивают потрясающие исключения в виде Minecraft, из-за которых многие начинают думать: «Раз те парни смогли, чем я хуже?»

Мне подвернулся случай пообщаться на все эти темы: про устройство игровой индустрии, про качества инди-разработчиков, где черпать вдохновение и искать единомышленников и можно ли сделать коммерчески успешную игру с первой попытки. Под катом — разговор с Вячеславом Уточкиным @viacheslavnu и Константином Сахновым @Kallist, которые выпустили на днях книгу «Хочу в геймдев! Основы игровой разработки для начинающих».

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments9

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

Reading time52 min
Views60K

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

Простите, я не могу так больше. Я слишком хорошо знаю Python, чтобы молчать при виде такого кода.
Я устал. Я не могу это читать. Простите за токсичную критику, накипело.

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...
Total votes 144: ↑139 and ↓5+134
Comments153

3 ошибки хорошего Product Manager

Reading time7 min
Views4K

С 2013 года я работаю в IT и прошла путь от Account manager до Senior Product manager в таких компаниях как МегаЛабс (Мегафон), Билайн, X5 Retail Group. С 2017 года я начала собирать свои команды в роли PO (до этого работала под руководством других PM или PO) и все это время я изучала, что же входит в широкий термин «Управление командой». Проходила множество обучений на эту тему, наблюдала за коллегами и их опытом работы, слушала доклады PO на проф. мероприятиях и читала статьи на тему. И все это интересовало меня, так как была цель дать максимум пользы крутым специалистам, с которыми мне повезло работать в одной команде.

В этой статье я не буду рассказывать о распределении рабочей загрузки или описывать тактики управления командой. Информации (разного качества) на эту тему предостаточно. Я расскажу о своем опыте, с точки зрения «чего делать НЕ нужно». Каждый пункт, который я опишу, был найден моим лбом в виде граблей из самых лучших побуждений. Если опыт моих провалов окажется полезным для вас, буду очень рада.

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments9

Про переводы

Reading time6 min
Views47K

Это вот «Плаксовая манта» по версии издателя

Мы тут постоянно переводим настольные игры, и я в этом довольно живо участвую. Потому что, например, терпеть не могу объяснять «ночной столик» жестами или рисовать «базовый лагерь».

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

Имена в примерах

Почти все понимают, что в примерах должны участвовать Alice, Bob и другие товарищи по алфавиту. При этом в мнемонической системе ещё есть персонажи Eve и Mallory, которые не ложатся в последовательность, потому что это Eavesdropper и Malicious attacker, то есть пассивный и активный злоумышленники. В нашей мнемонической системе злоумышленника играет Зиновий, что часто придаёт особый шик переводам примеров.
Читать дальше →
Total votes 140: ↑138 and ↓2+136
Comments114

Практика IPv6

Reading time4 min
Views31K
Краткое содержание:
  • Новости облака Селектел:
    1. IPv6 во всех шаблонах включен по умолчанию. Все новые машины устанавливаются с настройками IPv6 и сразу после установки доступны по своему IPv6 адресу.
    2. В списке шаблонов доступна openSUSE 12.3 с ядром Linux 3.7-xen
  • Рассказ про практические проблемы, с которыми мы столкнулись при эксплуатации IPv6.


С openSUSE всё понятно, так что обсудим последствия IPv6.



Оригинал статьи в корпоративном блоге Селектел.

IPv6 для облачных серверов


Для всех виртуальных машин в пулах Санкт-Петербург (1) и Санкт-Петербург (2) при установке новых виртуальных машин и переустановке существующих поддержка IPv6 включается по умолчанию (и является предпочтительным протоколом для исходящих соединений). IPv4, разумеется, остаётся и работает. Раньше мы IPv6 выдавали, но по умолчанию не включали.

Зачем это нужно? Честно сказать, сейчас львиная доля Интернета работает на ipv4. Отдельные островки живого IPv6 есть в Азии, плюс несколько крупных сайтов (таких, как google.com, vk.com, facebook.com) отвечают по IPv6. Домашние пользователи в России практически все работают только по IPv4.
Вот более-менее актуальная информация о том, у кого из провайдеров России есть IPv6: version6.ru/isp

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

Что означает появление IPv6 с практической точки зрения для конкретно взятого облачного сервера?
О проблемах в postgre, dad и прочих сложных вещах
Total votes 75: ↑67 and ↓8+59
Comments27

Как я искал нишу для стартапа и делал конструктор мобильных приложений

Reading time5 min
Views49K
В 14 лет я начал как все — основал свою студию веб-дизайна. Создавал, кстати, её на пару со знакомым, с которым встретился в поезде в детский лагерь. Студия приносила небольшой (но весомый для школьника) доход, а после была продана за хорошую сумму.

Главное – красивая секретарша


Студент с деньгами и без бизнес-опыта — это к катастрофе. Поэтому на следующем проекте я собрал почти все ошибки из возможных. Бизнес-идея MJ.ru была простая: это аналог живого журнала, где лучшие авторы получали гонорары. Вместо команды профессиональных программистов я снял огромный офис и нанял красивую секретаршу. Про бизнес-модель начал думать уже тогда, когда деньги начали кончаться. Так я получил первый ценный опыт.

Внизу — ещё несколько итераций и детальный рассказ про выбор ниши для стартапа.
Читать дальше →
Total votes 90: ↑64 and ↓26+38
Comments38

Мобильное приложение — must have наших дней

Reading time3 min
Views6K
Как часто вы слышите от собеседника фразу: «Сейчас еще почту проверю», хотя он залипает в своем телефоне уже на протяжении получаса. Сколько времени вы сами проводите в обнимку с любимыми гаджетами? Что же это? Всепоглощающая мода на мобильные приложения? Мобильная болезнь века под названием «оторвите взгляд от своего смартфона»? Называйте, как хотите, но рынок мобильных приложений действительно развивается со скоростью света, и мы активно идем в ногу со временем, используя приложения в повседневной жизни. Но остановимся на приложениях, которые создаются для бизнеса.

Хороший толчок для развития бизнеса


Люди начинают больше зарабатывать и больше тратить, а ввиду того, что наша жизнь становится более мобильной, деньги тратятся в частности на смартфоны и мобильные приложения. Такое положение дел — хороший толчок для развития бизнеса, особенно для стремительно развивающегося рынка мобильных приложений.
Тот факт, что рынок смартфонов и планшетов за 2012 год вырос вполовину, не может игнорироваться собственниками бизнеса. Уже сейчас аналитики KPCB говорят о преобладании поставок мобильных устройств над поставками ноутбуков и персональных компьютеров, и это значит, что мы вступаем в, так называемую, «пост-компьютерную эру».

image
Читать дальше →
Total votes 29: ↑10 and ↓19-9
Comments6

Как попытаться сделать пользователю удобно и кое-что запороть в процессе

Reading time6 min
Views6.4K
Любое обновление приложений должно нести в себе что-то содержательное. Хотя бы для того, чтобы чейнджлог был информативнее, чем «Мелкие исправления и улучшение стабильности». Ведь раз выкатывается новая итерация приложения, хорошо бы даже поверхностно объяснить пользователю, что именно в нем, собственно, нового.


В 2016-м году мы решили серьезно обновить одну из критичных функций мобильного приложения «Альфа-Мобайл», а именно – авторизацию и регистрацию новых пользователей. Стремления у затеи были самые что ни на есть лучшие – и сделать пользователю удобно, и догнать пару других банков, у которых авторизация проходила по новой схеме.

Итогом же стало падение рейтинга приложения в аппсторе с 4 звезд до 1,5, множество недовольных отзывов и слегка поседевший продакт.

А вот как это было.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments15

Тексты, которые выгоняют пользователя с сайта

Reading time4 min
Views6.6K
image

Магическая сила слова способна на многое. В руках умелого копирайтера словосочетания превращаются, превращаются словосочетания в емкий и информативный текст, способный подтолкнуть пользователя к принятию решения о покупке. Как проверить себя и отличить качественный текстовый контент от «водяного» текста, способного выгнать потенциального клиента с сайта после прочтения первых двух абзацев.
Читать дальше →
Total votes 12: ↑7 and ↓5+2
Comments2

Ansible не так прост

Reading time8 min
Views54K
У меня есть три сервера, но я не профессиональный сисадмин. Это означает, что несмотря на четыре базы данных и стопяцот приложений, бэкапы нигде не ведутся, к любой проблеме на сервере я подхожу, шумно вздохнув и бросив тарелку в стену, а операционные системы там достигли EOL два года назад. Я бы рад обновить, но на это нужно выделить, наверное, неделю, чтобы всё забэкапить и переставить. Проще забыть про yum update и apt-get upgrade.

Конечно, это неправильно. Я давно присматривался к chef и Puppet, которые, как я думал, решат все мои проблемы. Но я смотрел на конфиги знакомых проектов и откладывал. Это же нужно изучать, разбираться с ruby, бороться с многочисленными, по отзывам, косяками и ограничениями. Две недели назад статья Георгия amarao стала животворящим пинком. Даже не сама статья, а перечисление систем управления конфигурацией. После чтения комментариев и лёгкого гугления решил: возьму Ansible. Потому что питон, и на проблемы никто не жалуется.



Что ж, тогда я первым буду.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments52

Юридические грабли инди-разработчиков и методы их обхода

Reading time6 min
Views2.5K

Никита Проскурин, СЕО Rummy Games Studio, компании которая занимается разработкой пошаговой стратегической игры Saturated Outer Space поделился личными ссадинами, шишками и любовно собранной коллекцией грабелек на пути к релизу. На этот раз мы с ним вместе зашли в выставочный зал юридического садового инструмента.


Total votes 14: ↑1 and ↓13-12
Comments9

Как мы делали планшет

Reading time10 min
Views18K

В 2018-м в Skyeng появились онлайн-занятия математикой. Так мы столкнулись с тем, что наша платформа, адаптированная под устный английский, не очень подходила для письменных занятий с дробями, формулами и геометрическими фигурами.

Читать далее
Total votes 133: ↑131 and ↓2+129
Comments84

Про грабли

Reading time2 min
Views1.5K
Юзеp — человек, наступающий на гpабли.

Чайник — начинающий юзеp, ни pазу не наступавший на гpабли и потому увеpенный, что гpаблей не существует.

Ламеp — юзеp, pегуляpно наступающий на гpабли, но по-пpежнему увеpенный что гpаблей не существует.

Читать дальше →
Total votes 27: ↑13 and ↓14-1
Comments9

goto в CORE:: GLOBAL:: exit — где грабли?

Reading time2 min
Views1.1K
У меня есть CGIшка, которую хочется запустить под FastCGI.

Она использует фреймвок, который обрабатывает html-шаблоны, выводит ошибки (die) в браузер, делает всяческие редиректы, отдаёт файлы, etc. — всё как обычно. Этот фреймвок, после формирования и вывода ответа на STDOUT, делает exit() — что тоже, в общем, не оригинально.

Этот exit() может быть вызван внутри eval(), а то и нескольких вложенных eval-ов — к примеру, если где-то, в глубине вычислений, CGIшка решает выдать юзеру редирект. Она при этом вызывает функцию фреймвока, он делает print "Location: ..." и exit().

Но под FastCGI exit() делать нельзя.
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments31

Cookies та просто готовились

Reading time1 min
Views577
Обнаружил вдруг сегодня, что на локальном зеркале проекта не работают кукисы. Что бы ты не ставил, всегда возвращает testCookie = 1, что в Сафари, что в Файрфоксе. Перерыл проект в поисках ошибки — пусто, перерыл все зависимые библиотеки (вдруг шалят то ;-) — пусто. Обновил все что только можно — без результатно. От бессилия решил погуглить… ну и понятное дело, что нашел в чем причина. Прямо в спецификации и сказано, что A Set-Cookie with Domain=.com or Domain=.com., will always be rejected, because there is no embedded dot. Одного не понимаю, как я за всю свою жизнь раньше не напоролся на подобную граблю? :-)
Rating0
Comments0

CMS своими руками. Теория велосипедостроения

Reading time8 min
Views25K
Как много веселых ребят
И все делают велосипед.
А один из них как-нибудь утром
Придумает порох.
Виктор Цой.

image

Сначала я хотел написать в раздел «Я пиарюсь» статью о том какой я молодец и какую замечательную штуку сделал но, немного поискав в сети, я без удивления обнаружил, что я совсем не единственный в своем роде. Тогда я решил пойти от обратного: наверное, практически каждый Веб-программист хотя бы раз в своей жизни пытается написать полноценную CMS. При этом, в процессе проектирования (а это процесс, зачастую, наступает уже во время написания кода) у разработчика непременно возникают вопросы. С этими вопросами он обращается к поисковикам и попадает на сайты тех, кто по подобным граблям уже прошествовал.

Итак, я стал смотреть, по каким же запросам попадают ко мне начинающие «разработчики велосипедов», и постарался осветить некоторые вещи, которые для меня самого были неочевидны в начале работ.

Ну-с, показывайте ваши синяки...
Total votes 168: ↑147 and ↓21+126
Comments208

Обновляем Nexus 4 до Android 4.4 в Linux

Reading time6 min
Views42K
Наверное, я не одинок в своем нежелании ждать OTA обновления телефона. Интересно же посмотреть, что нового в версии Android 4.4. Ниже я постараюсь описать максимально подробно процесс обновления прошивки в Linux системах. Надеюсь, это может быть кому-то полезно, так как большинство инструкций почти исключительно для Windows. Также постараюсь описать неочевидные грабли для некоторых ревизий Nexus 4.

image
Читать дальше →
Total votes 53: ↑46 and ↓7+39
Comments82

Шесть загадок по С++

Reading time5 min
Views38K
В очередной раз наступив на досадные необязательные грабли, я решил систематизировать свои знания о них. Если вы какое-то время разрабатываете на C++, то можете и не найти здесь ничего нового, но кому-то приведенный в статье материал точно поможет. Если бы я знал это лет пять назад, то однозначно сэкономил бы несколько безвозвратно потерянных дней жизни и нервных клеток.

Чтобы было интереснее, материал представлю в виде простых задачек. Сразу подчеркну, что я не считаю приведенные примеры просчетами языка. Во многом появляется смысл и логика, если вопрос обдумать. Это скорее случаи, когда может отказать интуиция, особенно если голова забита чем-нибудь еще. Есть и пара примеров вида «Ну чего этому компилятору надо, только что то же самое работало!»

И последнее замечание. Это не будут задачи на внимательность типа «Тут я поставил точку с запятой сразу после for — а никто и не заметил». Проблемы не в опечатках. Все необходимые библиотеки можно считать подключенными — не относящийся к описываемой ситуации код я опускал, чтобы не загромождать статью.
Читать дальше →
Total votes 98: ↑63 and ↓35+28
Comments86