Как стать автором
Обновить
8
0

Пользователь

Отправить сообщение

Программисты, давайте изучать исходники классических программ

Время на прочтение2 мин
Количество просмотров54K
Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
Читать дальше →
Всего голосов 74: ↑69 и ↓5+64
Комментарии68

Make C++ great again!.. in Tula

Время на прочтение11 мин
Количество просмотров21K
Не так давно на базе нашего офиса мы провели бесплатный курс лекций «Современный и эффективный С++» и записали их на видео. Курс был рассчитан на недавно прибывших в наш коллектив программистов, стажеров и всех желающих. В этой статье мы хотели бы осветить цель данного курса, процесс подготовки к нему, подвести итоги. Надеемся, что для кого-то из вас наш курс лекций будет интересен и вы оцените наш труд. Желаем приятного просмотра докладов!

Всего голосов 67: ↑61 и ↓6+55
Комментарии16

Создание дизайн-документа миссии повествовательной игры на примере Last of Us

Время на прочтение12 мин
Количество просмотров12K
image

Я всегда начинаю с того, что задаю много вопросов и провожу активные исследования. За свою карьеру я успел поработать над множеством сиквелов уже существовавших франшиз. Лучшее, что ты можешь сделать в этом случае — полностью освоить жанр игры и изучить мир. Среди прочих проектов, мне приходилось с головой нырять в Halo, StarWars, Hellboy и Division. Хорошие гейм-дизайнеры — это хорошие исследователи.

Naughty Dog мастерски реализовала The Last of Us: Left Behind, и прежде чем браться за этот проект, мне нужно было хорошо подготовиться. Если вы не играли в Last of Us, то сыграйте! Это одна из самых потрясающих историй и несравненный пример развития персонажей. Другие разработчики очень многому могут научиться у создателей этой игры. Из-за сильного упора на повествование Naughty Dog называет свои дизайн-документы миссий «набросками глав». Мне кажется, это очень милый штрих. Это заставляет больше думать о повествовании при создании контента и придавать дизайну более сюжетную структуру.

Предупреждение — в статье содержатся спойлеры Last of US и Last of Us DLC.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

О сетевой модели в играх для начинающих

Время на прочтение11 мин
Количество просмотров37K
image

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

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

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

Хотя архитектура peer-to-peer по-прежнему используется в некоторых играх, стандартом является клиент-серверная: она проще в реализации, требует канал меньшей ширины и облегчает защиту от читерства. Поэтому в этом руководстве мы сосредоточимся на клиент-серверной архитектуре.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии6

Почему многие недооценивают свои игры

Время на прочтение5 мин
Количество просмотров5.4K


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

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

На мой взгляд, за некоторыми примечательными исключениями, о которых я расскажу позже, игра должна стоить не менее 20 долларов США (18 евро) — и соответствующие разумные суммы в местных валютах, логически снижающиеся примерно до одной трети для китайской версии (пример — Descenders). Устанавливать цену следует тактически, и с учетом региональных рынков.



Переведено в Alconost
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии18

Что почитать тимлиду и СТО: подборка из 50 книг с оценками и не только

Время на прочтение4 мин
Количество просмотров46K
Привет, завтра мы собираем за одним столом руководителей разработки из разных известных компаний — обсудим 6 вечных вопросов: как замерять эффективность разработки, внедрять изменения, нанимать и так далее. Ну а накануне решили поднять седьмой вечный вопрос — что читать, чтобы расти?

Профессиональная литература — сложный вопрос, особенно если говорить о литературе для руководителей в сфере IT. Чтобы понять, на что потратить вечно не хватающее время, мы опросили подписчиков канала «Тимлид Леонид» и собрали подборку из полусотни книг*. А затем добавили отзывы наших тимлидов к самым популярным. Так как список ниже глубоко субъективен и основан на отзывах незнакомых вам людей, оценивать литературу мы будем в «сферических совах».




1. «Джедайские техники. Как воспитать свою обезьяну, опустошить инбокс и сберечь мыслетопливо» / Дорофеев Максим


TL;DR

Из книги вы узнаете:

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

Я бы всем советовал начинать совершенствование тайм-менеджмента именно с этой книги. Но, если вы прочитали уже несколько книг, то и в этой уверен тоже найдете много техник и идей. Полезно *всем*. Читается просто, язык отличный. Также я выписал все книги из примечаний и вписал себе в бэклог.

Оценка: 6,50 сферических сов.


Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии17

На какие языки переводить свою игру в 2019

Время на прочтение7 мин
Количество просмотров16K


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

Сразу ключевые тезисы:

  • План-минимум перевода: описание, ключевые слова + скриншоты.
  • Топ 10 языков для перевода игры (если она уже на английском): французский, итальянский, немецкий, европейский, испанский, упрощенный китайский, бразильский португальский, русский, японский, корейский, турецкий.
  • Наибольший трехлетний рост показали турецкий, малайзийский, хинди, упрощенный китайский, тайский и польский языки (по данным LocalizeDirect).
  • Перевод на языки FIGS+ZH+ZH+PT+RU – «новый черный» в локализации.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии18

Асинхронное программирование (полный курс)

Время на прочтение2 мин
Количество просмотров98K

Методы асинхронного программирования


Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaScript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения разработчиков. Предлагаю вашему вниманию целостный и наиболее полный курс с объяснением всех широко распространенных методов асинхронного программирования, адаптеров между ними и вспомогательных проемов. Сейчас он состоит из 23 лекций, 3 докладов и 28 репозиториев с множеством примеров кода на github. Всего около 17 часов видео: ссылка на плейлист.

Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии17

Доступно о кватернионах и их преимуществах

Время на прочтение13 мин
Количество просмотров207K

От переводчика: ровно 175 лет и 3 дня назад были изобретены кватернионы. В честь этой круглой даты я решил подобрать материал, объясняющий эту концепцию понятным языком.

Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.

$i^2=j^2=k^2=ijk=-1$




Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.

В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
Читать дальше →
Всего голосов 83: ↑83 и ↓0+83
Комментарии54

Под капотом Graveyard Keeper: Как реализованы графические эффекты

Время на прочтение5 мин
Количество просмотров55K
Всем привет! Целых 4 года я не писал на Хабр. Последняя моя серия постов была о различных инструментах и приемах, которые мы применяли на нашей прошлой игре (разрабатывая ее на Unity). С тех пор игру ту мы благополучно выпустили, а также выпустили и новую. Так что теперь можно немного выдохнуть и написать несколько новых статей, которые могут быть кому-то полезны.


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

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

Для начала, кратко перечислю из чего собирается картинка в нашей игре:
Читать дальше →
Всего голосов 179: ↑178 и ↓1+177
Комментарии98

Где мои деньги, чувак: о чем молчит Steam

Время на прочтение8 мин
Количество просмотров89K
Это первая из шести статей, в которых я хочу рассмотреть весь процесс паблишинга игр на ПК от начала и до конца. Оставим за скобками разработку — помимо неё вас ждут много других приключений. Выбор издателя или самостоятельное издание, локализация и адаптация игры, маркетинг и PR, выбор цен и планирование скидок, работа с издателями, дистрибьюторами и посредниками.



Мы много будем говорить о Steam, самой крупной открытой платформе для игр, потом посмотрим на 3rd-party дистрибуцию и альтернативные варианты продаж. До того, как вы найдете свои собственные ответы — давайте трезво посмотрим на то, как маховик издания игр работает сейчас.

Простите, ребята, но это будет очень меркантильная статья с цифрами и процентами — я считаю, что если создание игр ваша страсть и ремесло, без них сложно уверенно идти вперёд. Начнём с цен, скидок и того, как работает список желаемого в Steam.
Читать дальше →
Всего голосов 122: ↑120 и ↓2+118
Комментарии182

Научпоп от издательства MIT

Время на прочтение12 мин
Количество просмотров12K

Хорошая научно-популярная литература — это очень, очень здорово. И в MIT её делать умеют, а судя по количеству книг — любят. Для Хабра я выбрал книги с профессиональным уклоном, а здесь то, что в первую очередь интересно читать. Итак, под катом 14 книг по истории IT, медиа и ещё много восхитительных вещей на английском языке.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии15

Руководство по фоновой работе в Android. Часть 3: Executors и EventBus

Время на прочтение5 мин
Количество просмотров24K


Приветствую, коллеги. Рад видеть вас снова в третьей части «Руководства по фоновой работе в Android». Если не видели предыдущие части, вот они:


В прошлый раз мы разобрались, как работают Loaders, а сразу после этого Google взял и сообщил, что они полностью переписали LoaderManager. Видимо, мне надо позже вернуться к этой теме, но пока что буду следовать плану и делиться подробностями того, как организовать фоновую работу в Android исключительно с помощью джавовых thread pool executors, а также как EventBus может помочь в этом, и как всё это работает под капотом.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии8

Введение в Postman

Время на прочтение12 мин
Количество просмотров601K

image


“Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, Inc

Когда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом "монстры" наконец-то падут перед тобой!


В этой статье мы расскажем о Postman и попробуем написать свой первый скрипт.

Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии43

Реализация быстрых 2D-теней в Unity с помощью 1D shadow mapping

Время на прочтение7 мин
Количество просмотров12K

Введение


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

Таким ограничением я отбрасывал множество уже существовавших способов расчёта теней, которые мне удалось найти. Популярной была пара техник. В одной применялась реализуемая на ЦП трассировка лучей, определяющая границы силуэтов блокирующей свет геометрии. В другой все препятствия для света рендерились в текстуру, а затем для неё выполнялся алгоритм типа ray-stepping с несколькими проходами для создания карты теней. Эти техники обычно используются не более чем с парой источников света и точно не позволили бы мне работать с десятками источников света в соответствии с выбранными мной ограничениями.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии6

Программисту: ресурсы для изучения новых слов и грамматики английского языка

Время на прочтение5 мин
Количество просмотров27K
Мы не будем углубляться в тему актуальности английского языка для программистов. И пускай сам Кэп нас поддержит! Конечно, многие разработчики готовы отстаивать иную точку зрения. Однако сложно спорить с тем фактом, что все основные ресурсы для развития в сфере разработки – англоязычные.

Да, всегда есть выбор: использовать необходимую информацию сразу после ее появления или ждать месяцы/годы перевода и надеяться, что полезные материалы еще не устарели. Но зачем ждать, когда есть столько полезных сервисов, которые научат английскому даже самых упертых антиполиглотов.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии38

Создание языка программирования с использованием LLVM. Часть 10: Заключение и другие вкусности LLVM

Время на прочтение8 мин
Количество просмотров8.9K
Оглавление:
Часть 1: Введение и лексический анализ
Часть 2: Реализация парсера и AST
Часть 3: Генерация кода LLVM IR
Часть 4: Добавление JIT и поддержки оптимизатора
Часть 5: Расширение языка: Поток управления
Часть 6: Расширение языка: Операторы, определяемые пользователем
Часть 7: Расширение языка: Изменяемые переменные
Часть 8: Компиляция в объектный код
Часть 9: Добавляем отладочную информацию
Часть 10: Заключение и другие вкусности LLVM



9.1. Заключение


Добро пожаловать в заключительную часть руководства “Создание языка программирования с использованием LLVM”. На протяжении этого руководства, мы вырастили наш маленький язык Калейдоскоп с бесполезной игрушки до довольно интересной (хотя, возможно, по-прежнему бесполезной) игрушки.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии4

Разработка персонажей для игры «Аллоды Онлайн»

Время на прочтение25 мин
Количество просмотров192K
image

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

Всё, что говорится в правилах, основано на огромном опыте разработки. Тут каждая буква имеет значение, и если вам показалось, что где-то есть ошибка или недосказанность, то лучше семь раз переспросить, чем сделать абы как. Ниже расписаны правила успешной работы в игровой индустрии. Если их не соблюдать, то ваша работа будет или недолгая, или неуспешная, или мучительная и для вас, и для заказчика. А если станете создавать персонажей в полном соответствии с этим руководством, то вас ждёт успех!
Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии36

Для ИТ-ишников. Если у вас устают глаза, покраснения, раздражение. Возможно эта статья для вас

Время на прочтение3 мин
Количество просмотров107K


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

Недавно меня спросил один знакомый, как это все выдерживают мои глаза и зрение остается хорошим?! Я всегда отвечаю, что годы тренировок помогают. Думаете это сарказм? Только отчасти:) На самом деле это тренировки.
Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии98

Стать востребованным на рынке труда: какие темы нужно знать Java разработчику?

Время на прочтение4 мин
Количество просмотров16K
Нам часто задают вопросы про программу обучения: почему мы предлагаем именно такую программу и почему считаем, что именно специалисты, изучившие темы, которые мы рассматриваем на курсе, будут востребованы на рынке.
Читать дальше →
Всего голосов 13: ↑7 и ↓6+1
Комментарии19

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность