Pull to refresh
380
153
Sergei Kushnirenko @dalerank

Люблю (ш)кодить, алгоритмы и старые авто.

Send message

Ловись игрок, платящий и не очень…

Reading time18 min
Views2.2K

Видеоигры — наверное одно из самых популярных развлечений сегодня. В них играют все подряд, от детей до взрослых. Это одновременно хобби и занятие, которое расслабляет, стимулирует, объединяет в сообществах и поднимает настроение. Повсеместное развитие мобилок превратило игры из развлечения, привязанного в основном к домашней консоли или компу, в способ провести время, доступный всем в любом месте и в любое время. Мобильные игры привлекли аудиторию большинства возрастов и социальных групп, занимая значительную часть доли рынка игр, приносят огромные прибыли студиям разработки и стимулируют создание новых, гипер аддиктивных и прибыльных игровых парадигм, например «гача», «казуал», "триматч", "батлрояль", "ферма" и др.

Хорошо, когда игра сделана с душой, удивляет сюжетом и механиками, и удерживает органичными способами. Как и везде, в играх есть грязные трюки — которые заставляют людей тратить больше времени или денег, чем они бы хотели. Аудитория игр, игровых сервисов, комьюнити и околоигровых форумов по разным подсчетам достигает 3.5млрд человек, т.е. почти каждый второй на планете, играет, играл или будет играть. Большая часть этих людей порядка 70% от общего числа, были привлечены мобильными проектами в последние 10 лет, которые, чего уж тут отнекиваться стали диктовать шаблоны и дизайны разработки всем остальным. Это не хорошо, и не плохо, это уже есть - когда у тебя есть настолько большая аудитория, то можно проверять самые различные идеи, механики и теории, в очень короткие сроки на разных возрастных группах, социальных слоях и вообще разных культурах. И это позволяет находить хорошие и отличные сочетания, двигая индустрию вперед, а высокая конкуренция не дает застояться отдельным студиям или жанрам. Но у любой медали две стороны, и вместе с положительными моментами и прогрессом идей мы получаем развитие различных темных и серых механик и практик. Зачем тратить сотни часов дизайнера, рисовать уникальный арт, оттачивать баланс и придумывать интересные активности, если можно сыграть на особенностях психологии человека?

Монеты сами себя не купят
Total votes 20: ↑17 and ↓3+15
Comments15

Дружить надо со всеми

Reading time7 min
Views8.6K

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

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

Записки ездового кота
Total votes 24: ↑16 and ↓8+13
Comments7

На кой review это надо?

Level of difficultyEasy
Reading time11 min
Views4.6K

Вы проводите код-ревью на текущем проекте или считаете что это просто пустая трата времени?

На собеседованиях я иногда спрашиваю, зачем проводят код-ревью. Вы можете удивиться, но один матерый senior, с 10+ лет в игрострое, и еще пятерку отмотавший в ембедед разработке за наглость получения красного диплома, ответил "потому что все так делают" - это конечно редкий запущенный случай, но было. Еще встречается такое - "потому что так сказал сенсей" (лид, бабушка, ажаль шеф - подставьте свое). Еще какой-то процент людей отвечали, "потому что так делают в гугле", и когда, заметьте не первый человек, на полном серьезе говорит это на собесах я начинаю сомневаться в способностях нашего tech-HR проводить первичное собеседование, а он, надо сказать, иногда еще пишет продуктовый код и эти самые ревью регулярно проходит наравне со всей командой разработки. Не сомневаться же людях, которые пришли?

Поревьювать статью
Total votes 15: ↑11 and ↓4+12
Comments48

Чему стоит поучиться у старенькой Bioshock: Infinite?

Level of difficultyEasy
Reading time8 min
Views8.1K

На релизе новенький Bioshock:Infinite (2013) смог удивить многих, удивил бюджетом разработки, превысившим $100 миллионов, на тот момент неслыханные деньги для одиночных шутеров, редко какой поднимался выше пары-тройки десятков. Топы конечно подбирались к этим размерам (Battlefield 4  - 100$М, Grand Theft Auto V - 250$М, Watch Dogs 1 - 70$M). Удивил не суперпродвинутыми технологиями, которые сжигали видяху (игра была сделана движке прошлой игры серии) — хотя картинка превосходная, даже на фоне вышедших топов. Не смесью жанров всего и вся, по сути игра стала намного более линейной, ближе к идеям первой части, чем сама первая часть. Игра удивляла показанной историей, богато поданной, по-настоящему захватывающей до последнего поворота сюжета, который может сравниться по стилю подачи с лучшими книгами, за каждой открытой дверью, как за перевернутой страницей рисуя живой мир с яркими хорошо прописанными и вписанными в геймплей образами, резкими, отталкивающими но запоминающимися персонажами. Сюжетными твистами в декорациях Диснейленда, скрывающего за красивым фасадом дом ужасов.

Перепроходил по двум причинам, интересно было посмотреть порт на switch - шелезяка очень слабенькая в плане производительности, на уровне 6-7 iphone. Еще интересно было освежить в памяти приемы взаимодействия с игроком посредством визуальных образов и функциональности объектов от мастера двойных смыслов Кена Левина. Как говорят ещё "поднять наигранность", хотя, наверное тут уже надо говорить "освежить". Может кому из коллег в игрострое будет тоже интересно, а читателю еще немного рассказать о закулисье создания игр, игровом дизайне, важности психологии в играх, управления игроком и ломания пятой стены.

Читать далее
Total votes 14: ↑14 and ↓0+17
Comments17

Птичий язык (пятничное)

Level of difficultyEasy
Reading time13 min
Views3.5K

Стоим мы как-то раз в курилке с коллегами, обсуждаем новый полис в GOAP и планируем расход задач на неделю, пару тасок решили кинуть в обезьянку, две ноды вернуть из ада депрекейта и настроить для работы с новым бт, а одну вернуть мастеру - пусть сам свои фланкинги ковыряет, раз уж он их и заимплементил, а еще две сжечь, а еще надо выделить время, чтобы покопать TSA, потому что новый GD сломал пару вейтов, и теперь хуман ходит не в тот ковер. Еще одну придется собирать из г..на и палок частей других нод, потому что дизайнеру нужно вчера, а времени на инвестигейт нет, покрасим её в фиолетовый, чтобы в билд не пробралась. А программеры с соседнего проекта, не аишные, смотрят на нас круглыми глазами и иногда посмеиваются. И вот я сажусь заполнять таски в jira, и понимаю чему удивлялись мои коллеги, потому что придется все эти короткие термины разжевать в таске. Давайте я дам названия терминов, а вы их попробуете объяснить сами, до раскрытия спойлера? Интересный должен игродевовский квиз получиться :) КДПВ просто прикольная, C++ тут нет.

C++ тут нет
Total votes 12: ↑11 and ↓1+14
Comments9

И целых 20 ядер мало

Level of difficultyEasy
Reading time27 min
Views18K

Если вы посмотрите на общую раздутость современного софта, загружаемые 100 гигабайтные игры, ежегодную Nvidia X090 дающую +20% год от года, и 20-ядерные процессоры, то со стороны может показаться, что оптимизация производительности неважно чего, будь то игры или другой софт, казалось бы, утратила свою актуальность. В эпоху безнаказанной производительности аппаратной части можно расплескивать хоть половину этой мощи, и пользователь этого даже не заметит. Это все может и верно, если вы не делаете игру. Почему же тогда на этих двадцати ядрах, фризит и тормозит (хорошо что не вылетает часто) игра выпущенная два года назад?

Почему тормозит я вам не скажу: возможно разработчики, которые делали её (на не самом новом движке, надо сказать) просто делали игру и не задумывались о рядовых игроках, которые сидят на пятилетнем железе, хотя даже пятилетнее железо уделывает приставки текущего поколения. Возможно это другая причина - когда твоя рабочая машина с 64 гибайтами оперативки и 4080 на борту тянет редактор, то беспокоиться об игроках можно начинать после патча первого дня.

При том, что все эти 30 — 60 — 120 — 200 фпс в играх, это чисто маркетинговый показатель, это время с которой движок может создавать фреймы для видеокарты, но движок это не только картинка, есть физика — а она как работала на 30 фпсах 10 лет назад, так и работает. Или звуковая подсистема, так она вообще своей отдельной жизнью живет в своих приоритетных тредах, мы просто кидаем туда меседжи с настройками и номером фрейма, чтобы засинхронизировать это с картинкой. Это сложно, но решаемо, но звук не привязан к картинке.

Налево пойдешь проца не хватит...
Total votes 58: ↑58 and ↓0+76
Comments52

Как я провел лето…

Level of difficultyEasy
Reading time16 min
Views9.9K

Никогда особо не стремился в большие компании, по душе всегда были небольшие уютные игровые студии, где и "отеческий" нагоняй от лида получить легко, да и самому "парой ласковых" объяснить коллегам где они были не правы можно. Но конечно шальные мысли, а вот если бы в Я..., да какой-нибудь еще фейсгугл попробоваться. Жаль только они не делают игры, но мысль эта таилась на закорках подсознания, периодически напоминая о себе в моменты просмотра объявлений, да после писем рекрутеров на linkedin. Около года назад два моих знакомых, которые давно уже живут на другом континенте, но с кем застали еще распад питерского EA, вдруг объявились на страничке в linkedin, оставили отзывы да отсыпали скилов. Сначала я не придал этому особого значения, мало ли чего там себе люди думают, может просто сеть знакомых обновляют, есть у них там за океаном такая забава. И так получилось, что на эти отзывы сагрились hr-боты большого G..., что и привело в дальнейшем к очень интересному опыту взаимодействия с людьми, знакомством с кухней отбора, этапами собеседования и воронкой "смерти" входа. Осторожнее надо быть со своими желаниями.

Где-то уже на хабре были статьи и про G... и про Я..., такие, что читая описания задачек на собесах, волевым решением на следующее утро начинал решать leetcode. Воли обычно хватало где-то на неделю, а потом рутина боевых задач и митинги затаскивали обратно в уютную берлогу не очень большого игростроя. Почему я решил написать об этом только через год после всех событий? Да банально подмахнул на третьем собеседовании NDA о методах проведения интервью, а когда понял ЧТО подписал - уже было поздно.

Вам письмо от G...
Total votes 53: ↑49 and ↓4+54
Comments19

За пригоршню ачивок

Reading time8 min
Views3.6K

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

Тогда значение коллекционирования мало меня волновало, да и не особо задумывался является ли это увлечение, собственно, коллекционированием - просто было интересно собрать весь набор, раскладывать картинки по годам, моделям, мощности двигателя и рассматривать модели машин. Коллекции стары как мир, а сами механики сбора предметов появились в играх с тех пор, как сами игры появились на свет. Любое коллекционирование - это собирательства, а собирательство является неотъемлемой чертой человека, начиная с тех времён, когда у него появилась сама возможность что-то собирать. И если поначалу люди собирали какие-то утилитарные вещи, вроде ритуально важных предметов для обрядов, то поднимаясь выше по пирамиде Маслоу коллекционирование однородных объектов, объединённых по каким-то признакам, стало чем-то вроде досуга. Психологическая сторона коллекционирования настолько сильна, что психологи сравнивают её с азартными играми и страстью, так глубоко это увлечение может зацепить.

Читать далее
Total votes 12: ↑9 and ↓3+8
Comments8

Последний из Deus Ex

Level of difficultyEasy
Reading time12 min
Views6.4K

Серии Deus Ex повезло стать не только родоначальником жанра cyberpunk stealth immersive, но и во многом благодаря стараниям команды под началом Warren Spector и Sheldon Pacotti, дала жизнь таким не менее известным проектам как Cyberpunk 2077, Dishonored, Prey, Alpha Protocol и другим. Последние игры, именно что последние, потому что Embracer закрыли два проекта по вселенной в этом году, а права на IP ушли с молотка куда-то в сторону Activision, про "аугов" и "чистых" запомнились игрокам не только уникальным визуальным стилем в черно-золотых тонах, но и игровые уровнями с большим числом "вертикальных" загадок, и свободным перемещением, где единственно правильным решением квестов будет то, которое выбрал игрок, доставят десятки часов увлекательного исследования игрового мира. Это конечно не откровения первого деуса, все-таки оригинал сложно превзойти, как по части механик, так и по сюжетным твистам. Но авторы продолжения смогли расширить игровыми механики, не сломав по пути комбинаторику взаимодействия. В прошлой статье я рассказал про важность естественной архитектуры при создании уровней, так что давайте в этой больше уделим внимания мелочам и той самой комбинаторике механик, которая и является отличительной чертой серии. На относительно небольших уровнях задача "подружить" разнообразные, а зачастую блокирующие друг друга, игровые механики становится сродни пазлу, а на отладку и граничные кейсы у дизайнеров уходят месяцы фактической работы.

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments12

Коридоры не рассказывают сказки

Level of difficultyEasy
Reading time12 min
Views5.5K

Около года назад я подарил сыну Steam Deck, как оказалось консоль подходит не только для забегов в Fortnite, но и для старых добрых хитов, которые не удавалось пройти в момент выхода. Первый Bioshock - одна из моих любимых игр, достаточно старая, чтобы показать, что принципы хорошего дизайна уровней известны достаточно давно. И хотя игра при первом прохождении, тогда в 2008, несколько разочаровала, в плане однообразности поведения NPC и боёвки, нечеткой структуры повествования и отрывочного сюжета, это не помешало ей остаться в моем личном топе игр, и архитектурный дизайн уровней сыграл здесь определенно немалую роль.

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

Читать далее
Total votes 26: ↑24 and ↓2+30
Comments1

Я скучаю по механикам из старых игр

Reading time13 min
Views74K

За время существования индустрии разработки игр формул разных механик, способных развлечь нас, придумали не одну сотню. Что-то умерло засветившись в паре игр, что-то ушло со временем, какие-то существуют до сих пор. Есть и такие, которые не просто выжили, но стали мейнстримом, хотя только портят нервы игрокам. Игровой дизайн большинства старых игр, от второго фолыча до первого FarCry и пятью активными перками, пусть и не был вершиной искусства - затягивал не хуже современных песочниц с миллионом активностей. Редкую игру захочется пройти второй раз, а как вспомню, что на прохождение можно потратить под сотню и больше часов - думаю, а оно мне действительно было надо? Можно же было заняться чем-то более интересным. Я знаю, чем закончился второй фолыч, знаю это уже четвертый раз, но каждый раз игра удивляет меня чем-то новым. А вот нового "Аватара" бросил на половине, слишком много всего и все недоделанное, и прозрачные стены... просто бич игры. И тут вопрос, чего-то не хватает в этой раздутой, перекачанной сотней механик игре? Только задумайтесь - в аватаре больше сотни основных механик, которые влияют на окружение. Может в играх что-то потерялось? Хотя "потерялось" - звучит странно - за столько лет индустрия только создала просто море всего нового. Статья ориентирована на "побурчать", так что не ждите каких-то великих секретов и тонкостей мастерства.

Раньше и флешки квадратнее были...
Total votes 135: ↑130 and ↓5+150
Comments457

Теорвер не нужен в играх, но это не точно

Level of difficultyEasy
Reading time9 min
Views8.1K

Теория вероятностей – одна из важных частей не только игрового дизайна, строго заскриптованые события без вариантов быстро вызовут скуку у игроков. У меня за спиной был всего один год этой дисциплины в универе, и не сказать, чтобы нужно было применять это каждый день, но когда надо объяснить базовые знания дизайнерам, то приходится сталкиваться с тем, что каждый дизайнер понимает теорию вероятности по-своему. Эти мои размышления появились после обсуждения с одним из коллег замечательной статьи Яна Шрайбера о неслучайных случайностях и сломанных ГСЧ в играх. Игры - это огромные недетерминированные системы, независимо от того, закладывали это в проект или нет. И понимание природы случайности для контролирование таких систем, которые влияют на опыт игрока, помогает создавать их так, чтобы они не казались прибитыми сбоку гвоздями. Если в системе есть случайность, нужно понимать как её изменить, приблизив её к бытовому пониманию игроков. И даже если все механики игры строго детерминированные - их взаимодействие дает случайный результат, в чём вы можете убедиться, посмотрев многочисленные видео по различным взломам игровых систем.

Читать далее
Total votes 11: ↑11 and ↓0+13
Comments14

Как построить мастабу

Level of difficultyEasy
Reading time12 min
Views2.9K

Фараон, вышедший в далеком 1999 году был одной из первых игр, которые предлагали поэтапное строительство зданий. Да которые еще и требовали наличие разных ресурсов. Навскидку могу припомнить серию Settlers, Majesty и может еще парочку. После Цезарь III, исхоженного вдоль и поперек, где основным ресурсом при постройке зданий были монеты, это было действительно удивительно и ново. Особым удовольствием было наблюдать, как город живет своей жизнью в процессе постройки монументов, помню просто построил минимальную необходимую инфраструктуру для монумента и просто наблюдал как архитекторы жаловались на недостаток материалов, рабы бегали то на фермы, то на строительную площадку, торговцы периодически продавали кирпичи. Ну и остальной город, конечно, жил своей жизнью, можно даже забыть на какое время про отдельные части города, игра все равно не остановится, и тут понимаешь почему игра до сих пор остается одним из лучших градостроев: отличительная особенность серии — «баланс», баланс отточенный в мелочах. Восстанавливая эту часть игры, я не перестаю удивляться как это все было реализовано на тех аппаратных средствах, замечу, очень и очень небольших, 64Мб оперативки было далеко не у всех. Одним из нововведений монументов было то, что они были составными зданиями, отдельные части могли быть заменены на другие, что в общем давало возможность из одного набора текстур создавать разные по виду здания. Это сейчас кажется, что такой подход есть в любой игре, но в 99 такой механикой могли похвастаться немногие. Сначала я пытался восстановить оригинальный алгоритм отрисовки, но быстро понял, что столько if не осиливаю не только я, но и компилятор, пришлось велосипедить.

Malaria doesn't seem to be a problem here
Total votes 25: ↑25 and ↓0+25
Comments6

Проблема красной бочки

Level of difficultyEasy
Reading time4 min
Views9.8K

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

В разработке игр тоже есть похожая проблема, но уже в отношении существующих вещей, и называется она "red barrel", этот термин я несколько раз слышал от своих англоязычных коллег game-дизайнеров. Страхи те же: критика, негативное отношение к изменениям, отсутствие четкого плана действий.

Если в пылу сражения, например в шутере, вы увидите красную бочку, то точно по ней пальнете, потому что 9 игр из 10 предлагают именно такое поведение - красные бочки взрываются. Бочка взорвется и нанесёт урон врагам, которые (совсем вот глупые) мало того, что бочки с ГСМ расставили по уровню, так еще и курят рядом(все знают что курение убивает). Почему бочки стали проблемой расскажу ниже.

А есть ли проблема?
Total votes 12: ↑11 and ↓1+14
Comments23

Надо ли вести игрока за ручку?

Level of difficultyEasy
Reading time13 min
Views7.1K

В 98 году в школе, где я учился, компьютер был только у директора. Наш учитель биологии, замечательный мужик, который по ночам подрабатывал админом в компьютерном клубе через дорогу, был единственным человеком, который шарил как этот ящик вообще работал. Я там тоже периодически зависал, поэтому в какой-то момент получил доступ к директорскому компу, под видом чистки и настройки. Все попытки заинтересовать меня программированием заканчивались включением SimCity, Caesar или Settlers и парой часов упорных тренировок в мобами. Позже, уже закончив универ, я работал в различных конторах, писал код для проектов не связанных с игростроем, но постоянно мечтал о создании игр. Пробовал заниматься маленькими играми для себя, да только в 2006 году бесплатные движки, такие как Unity и Unreal, ещё не существовали. В итоге получалось в основном писать свои движки с нуля и делать разные демки, которые благополучно забыты.

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

Над открытыми мирами не довелось работать, ну кроме, разве что, Cuisine Royale, которая, как бы, не совсем честный открытый мир, но задачи анализа технических решений в других играх и движках, чтение соответствующих лекций и статей помогают понимать какие решения были приняты дизайнерами при разработке, и главное зачем это было сделано. При погружении в новую игру, эти решения еще не так очевидны, но когда набегаешь под сотню часов в Witcher 3 или Zelda, эти паттерны становятся видны и легко ловятся взглядом. Хочу заметить, что ни та ни другая игра не ставят исследование в качестве основной цели. Квесты в Witcher рассказывают уникальные истории, а Зельда, как бы это не показалось странным, акцентируется на боевке и системе крафта. И что еще заметно, в этих играх не обязательно сильно исследовать окружающий мир. Дизайн уровней и компоновка golden path построены так, что игры ведут игрока за ручку, и он все равно оказывается возле важных областей или сюжетных квестов. А когда появилась возможность покопаться в движке и уровнях Metro: Exodus, то конечнo, с интересом начал разбираться с доступными материалами.

Опять будет много текста и картинок

А ручки - вот они!
Total votes 26: ↑25 and ↓1+28
Comments18

Бобры-п[р]огромисты

Level of difficultyEasy
Reading time4 min
Views14K

Эта история навеяна недавним интервью в одну контору, которая считает, что желтые и красные конторы, не такие синие. Все случайные совпадения неслучайны, имена скрыты. Ни один случайный бобёр за время интервью не пострадал.

Бобер-HRобер: я увидела как грызете дерево в соседнем лесу, не хотите перебраться к нам? У нас деревья синие и потолще ваших, зеленые деревья нынче не в моде.
Бобер-погромист: хм, наверное нет, толщина текущих деревьeв меня устраивает.

Бобер-HRобер: ну вы всё-таки приходите, мы заложили пару делянок, где самые опытные бобры будут распиливать очень старую монолитную сосну с ветками длиной 98 см, на доски очень модной нынче длины 23 см, а еще у вас также будет возможность повлиять на толщину досок длиной 26 см.
Бобер-погромист: а вот это интересно, отправляйте соловья.

Через неделю, на комфортабельной полянке где-то в синем лесу.

Senior-Бобер: Итак, вы считаете себя хорошим бобром?
Бобер-погромист: Всё верно. Грызу деревья разной толщины уже лет двадцать.

Lead-Бобер: А ветки какой длины предпочитаете?
Бобер-погромист: Ветки 17см самые вкусные

Бобры идут, бобрам дорогу!
Total votes 93: ↑82 and ↓11+89
Comments27

Обмани меня, если сможешь

Level of difficultyEasy
Reading time13 min
Views9.9K

Первый игровой автомат Atari Pong, был выпущен в 1972 году. Это игра для двух игроков, основанная на настольном теннисе, где каждый игрок управляет ракеткой и должен отбить мяч на другую сторону. Если игрок промахивается, соперник набирает очки. Первый кто наберет 11 очков становится победителем. Kent Steven в своей книге "The Ultimate History of Video Games" (Вся история видеоигр) описывает, что проект был отдан инженеру Aлану Алькорну (Alan Alcorn), который до этого не занимался играми и игровыми автоматами. Учитывая, что в кармане основателя Atari было немногим больше 500$, и привлечь опытных разработчиков для работы над неизвестным проектом шансы были минимальные, то Нолан Бушелл представил это как выполнение контракта для General Electric.

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

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

Давайте разберем к каким уловкам прибегают игры, чтобы играть было интересно.

Осторожно, много картинок
Total votes 23: ↑21 and ↓2+22
Comments15

Каков C++ в gamedev'e?

Level of difficultyEasy
Reading time11 min
Views29K

Хотел написать продолжение к статье Что почитать игровому программисту? про использование С++ в игровых движках, но размышления свернули куда-то не туда.

Завороженно смотрю как и какими темпами идет развитие языка в последние годы, и понимаю, что получить и особенно применить возможности С++20/3 в разработке игр и движков получится хорошо, если с опозданием лет эдак в пять, как раз на следующее поколение консолей, если вообще получится. Сейчас плюсы в игрострое зависли где-то между 14 и 17 стандартом, Сони только-только выкатила свою версию компилятора с полной поддержкой 17 стандарта, а учитывая реактивность игровых студий в изменении кор пайплайнов, что-то новое начнут только в новых проектах. Менять коня, т.е. компилятор посреди разработки игры равносильно стрельбе не только по ногам себе, но и соседям программистам: работает - не чини.

Если смена компилятора и стандарта не даст гарантированного прироста скорости работы больше 5%, то бюджет и людей я не одобрю. (с)

Знакомство с кодовой базой больших движков дает понимание уровня и объёмов кода в продакшене и в тулзах, и ситуация вырисовывается такая, что эти объемы стали в индустрии, что называется "too big to fall", т.е. написать что-то новое, уровня движков вроде Unity/Unreal/Dagor на другом языке, будь он хоть в тысячу раз безопаснее и в десять раз быстрее не получится, но попытки конечно делаются. И чем дальше продолжается поддержка существующих проектов на плюсах, тем меньше возможности выбора остается.

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

По техдолгам будут платить наши джуны
Total votes 74: ↑73 and ↓1+83
Comments59

Developer Competency Matrix

Level of difficultyEasy
Reading time9 min
Views5.1K

Разбирая завалы файлов на своем старом HDD, Seagate Barracuda 7200.10, объемом аж 80 гигабайт(сейчас туда влезет не всякая игра со стима) наткнулся на интересный документ, который выдавали программистам при приеме в дружную питерскую студию электроников. Он достаточно полно описывал набор знаний, на которые надо было ориентироваться при сдаче ежегодной аттестации. Но помимо соответствия некоторым придуманным требованиям, при поднятии грейда, первую роль конечно играло наличие закрытого объема задач, желание руководства и наличие позиции в штатном расписании.

Были конечно и свои рокстары, которые "спасли контору" или разработали какую-то уникальную технологию в рамках студии, перескочив несколько ступенек сразу, но таких были единицы. В массе же народ просто рос на своих задачах, поднимая грейд каждые 2-4 года. Так что, если кто искал "железные грейды" из кровавого "ентерпрайза" добро пожаловать под кат. Судя по тому, что раздавали этот документ всем желающим, думаю он не был особо секретным или под NDA, на всякий случай убрал оттуда упоминания некоторых продуктов и специфичных технологий. Ну и учтите, что документу скоро будет 10 лет в обед. Требования cгруппированы по областям знаний. Документ так и назывался EA Developer Competency Matrix, переводить на русский не стал, думаю и так все понятно написано. (Оригинал КДПВ тут)

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments7

Что ещё почитать игровому программисту?

Level of difficultyEasy
Reading time6 min
Views8K

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

Но, как справедливо написали в комментариях к прошлой статье, не стоит забывать классическую литературу, поэтому на первое место в этот раз я поставлю "Мертвые души" Гоголя. Произведение рассказывает историю о молодом и амбициозном человеке, который приезжает в провинциальный город с необычным предложением: он собирается купить "мертвые души" - крестьян, умерших или уходящих, но ещё "не снятых с учёта", чтобы заново зарегистрироваться их владельцем и получить на них кредиты и привилегии.

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments2

Information

Rating
24-th
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Game Developer
Senior
From 300,000 ₽
Git
C++
Multiple thread
Applied math
OOP