home.social

#игры_и_игровые_приставки — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #игры_и_игровые_приставки, aggregated by home.social.

  1. Почему советские программисты не сделали GTA

    Алексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти. К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders? В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже. Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.

    habr.com/ru/articles/1039828/

    #программирование #разработка_игр #игры_и_игровые_приставки

  2. Почему советские программисты не сделали GTA

    Алексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти. К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders? В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже. Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.

    habr.com/ru/articles/1039828/

    #программирование #разработка_игр #игры_и_игровые_приставки

  3. Почему советские программисты не сделали GTA

    Алексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти. К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders? В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже. Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.

    habr.com/ru/articles/1039828/

    #программирование #разработка_игр #игры_и_игровые_приставки

  4. Почему советские программисты не сделали GTA

    Алексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти. К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders? В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже. Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.

    habr.com/ru/articles/1039828/

    #программирование #разработка_игр #игры_и_игровые_приставки

  5. Карманный брелок Doom на Arduino nano

    Привет! Это карманный брелок-приставка с игрой Doom на Arduino nano! Из данного гайда вы узнаете как собрать карманную приставку с легендарной игрой Doom , с возможностью перепрошивки на что-нибудь другое! Также вы сможете получить опыт в 3D-печати, сборке и пайке электроники Arduino, и, разумеется, новые впечатления от создания таких компактных устройств.

    habr.com/ru/articles/1037230/

    #arduino #3dпечать #3dпринтер #программирование #игры_и_игровые_приставки #с++ #с#

  6. Карманный брелок Doom на Arduino nano

    Привет! Это карманный брелок-приставка с игрой Doom на Arduino nano! Из данного гайда вы узнаете как собрать карманную приставку с легендарной игрой Doom , с возможностью перепрошивки на что-нибудь другое! Также вы сможете получить опыт в 3D-печати, сборке и пайке электроники Arduino, и, разумеется, новые впечатления от создания таких компактных устройств.

    habr.com/ru/articles/1037230/

    #arduino #3dпечать #3dпринтер #программирование #игры_и_игровые_приставки #с++ #с#

  7. Писать код проще, чем книгу о том, как писать код

    Иногда книга начинается с одной статьи, опубликованной в нужный момент и в нужном Хабре и в моём случае всё действительно началось с публикации про аллокаторы , которая несмотря на обилие технического материала, кода и схем набрала больше всего плюсов среди моих статей на околоплюсовую и игродев разработку. А дальше и сам цикл Game++ постепенно вырос из отдельных технических размышлений о C++, архитектуре движков и производительности в связный нарратив. За спиной Game++ стоит еще больше узкотехнических материалов в блоге и вики моей компании и я бы рад ими поделиться, да и делюсь периодически, но сами понимаете выкладывать можно не всё и даже из то, что выложено на Хабре, частенько было подрезано, ибо NDA и секретные технологии-бла-бла-бла. Та статья стала точкой, когда я увидел, что разрозненные тексты на самом деле образуют скелет будущей книги, нужно лишь перестать относиться к ним как к «постам» и начать воспринимать как главы. Идея написать книгу не пришла просто так, и несколько не связанных между собой людей и компаний связались и предложили переписать цикл статей в виде книги .

    habr.com/ru/articles/1002546/

    #с++ #game++ #игры_и_игровые_приставки #разработка_игр #программирование

  8. Ретроэстетика в моде. Опять

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

    habr.com/ru/companies/gaz-is/a

    #газинформсервис #ретроэстетика #ретроигры #игры #игры_и_игровые_приставки

  9. Ретроэстетика в моде. Опять

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

    habr.com/ru/companies/gaz-is/a

    #газинформсервис #ретроэстетика #ретроигры #игры #игры_и_игровые_приставки

  10. Ретроэстетика в моде. Опять

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

    habr.com/ru/companies/gaz-is/a

    #газинформсервис #ретроэстетика #ретроигры #игры #игры_и_игровые_приставки

  11. Ретроэстетика в моде. Опять

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

    habr.com/ru/companies/gaz-is/a

    #газинформсервис #ретроэстетика #ретроигры #игры #игры_и_игровые_приставки

  12. Чтение на выходные: подборка книг о взлетах и провалах в геймдеве

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

    habr.com/ru/companies/onlinepa

    #игры #игры_и_игровые_приставки #sierra #чтение_на_выходные

  13. Игровая механика. Как игровые автоматы проложили путь компьютерным играм

    История компьютерных игр начинается в середине XX века с появлением современных электронных компьютеров. Поначалу игры, как и компьютеры, были редкими диковинами; после 1970 года появление дешевых микросхем привело к созданию множества игровых консолей, первой из которых стала в 1972 году Magnavox Odyssey . В том же году появился и первый видеоигровой автомат — Pong от фирмы Atari . Именно с Pong начался закат предыдущего поколения игровых автоматов — механических и электромеханических устройств, появившихся на рубеже XIX и XX веков. Может показаться, что эти громоздкие машины не имеют ничего общего с пришедшими им на смену компьютерными играми. Но история демонстрирует, что сходств между ними намного больше, чем представляется на первый взгляд.

    habr.com/ru/articles/926964/

    #история #история_ит #история_it #игры #игры_и_игровые_приставки #игровые_автоматы #история_игр #история_игровой_индустрии #компьютерные_игры

  14. Как Python делает жизнь геймера проще: от Telegram-ботов до сортировки скриншотов

    Компьютерные игры прошли громадный путь — от аркад 70-х до современных AAA-проектов, стоимость которых сопоставима с крупнейшими инженерными постройками. Геймдев — это не только искусство создания миров, но и многомиллиардная индустрия, где экономика играет ключевую роль. Разработка AAA-игр требует бюджетов в десятки и сотни миллионов долларов, а рынок инди-игр и пользовательского контента ежегодно приносит миллионы благодаря платформам вроде Steam и моддинг-комьюнити. Моддеры, создавая дополнения для таких игр, как Skyrim или Minecraft, не только расширяют игровой опыт, но и формируют целые экосистемы с собственной экономикой: от донатов на Patreon до продаж модов. В этом мире Python становится всё более полезным инструментом — как для разработчиков, так и для продвинутых геймеров.

    habr.com/ru/companies/mvideo/a

    #Мвидео #Эльдорадо #python #games #игры #игры_для_программистов #игры_и_игровые_приставки #игры_для_iphone #игры_про_программирование #игры_про_алгоритмы

  15. Рынок видеоигр в графиках

    За 50 лет своего существования индустрия видеоигр стала самым высокодоходным сегментом медиа и развлекательного пространства. По прогнозам PwC, в 2026-2027 году продажи видеоигр могут превысить 300 млрд долл.

    habr.com/ru/articles/900282/

    #gaming #игры_для_iphone #игры #игры_и_игровые_приставки #игры_для_мобильных_устройств

  16. Game++. Heap? Less

    Один из частых вопросов, которые я получаю от студентов или на наших внутренних студийных лекциях, — это какую стратегию выделения памяти лучше применять при разработке? Ответ: хотелось бы никакую, т.е. не использовать аллокации рантайм, но жизнь вносит свои коррективы. Мы все знаем, что нельзя просто выделять память, когда вздумается, но откладываем решение этой проблемы до конца проекта. К тому времени дедлайны начинают давить, майлстоуны и некоторые части тела подгорать, и обычно уже слишком поздно, чтобы вносить серьезные изменения. Ну хотябы есть пара недель перед релизом, чтобы поправить основные проблемы. Динамическое выделение памяти — это как раз то, что относится к той категории вещей для большинства программистов, о которой все знают, но забивают пока не приходит OOM. Хотя немного продуманности и предварительного планирования могут помочь избежать большинства этих проблем, и даст небольшую надежду, что игра не вылит по памяти в самый неподходящий момент. Попробую убедить вас не использовать std::string/vector в функциях. При написании кода для пк, неважно - игры это или что-то другое, программа обычно разделяется на условно пять областей памяти. Burn them all

    habr.com/ru/articles/896958/

    #с++ #высокая_производительность #игры_и_игровые_приставки #разработка_игр

  17. Будни ретрогеймера: совершенная игровая Nintendo

    Возвращаемся к шестнадцати битам! Сегодня я готовлю к эксплуатации сразу две игровые консоли Super Nintendo с целью погружения в богатый внутренний мир этой замечательной платформы сразу двух неофитов. Проводником же для них в туда выступит опытный Сусанин, то есть я. Задача на этот раз максимально проста: доукомплектовать две консоли и сделать им простейший мод со снятием региональной блокировки. Не очень интересный процесс в свете предыдущих публикаций цикла, но можно немного сместить фокус: сегодня это просто повод поговорить про замечательную, но не особо популярную в наших краях платформу, и рассказать личную историю, связанную с ней. Да и модификации получились достаточно разными, а в процессе также были подняты некоторые полезные вопросы. Очередная будня ретрогеймера начинается!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #игры_и_консоли #ретрогейминг #16_бит #16bit #16bit_games #super_nintendo #super_famicom #snes #картридж #картриджи #pal #ntsc #моддинг #модификация #diy #сделай_сам #arduino #ардуино #ruvds_статьи

  18. Будни ретрогеймера: совершенная игровая Nintendo

    Возвращаемся к шестнадцати битам! Сегодня я готовлю к эксплуатации сразу две игровые консоли Super Nintendo с целью погружения в богатый внутренний мир этой замечательной платформы сразу двух неофитов. Проводником же для них в туда выступит опытный Сусанин, то есть я. Задача на этот раз максимально проста: доукомплектовать две консоли и сделать им простейший мод со снятием региональной блокировки. Не очень интересный процесс в свете предыдущих публикаций цикла, но можно немного сместить фокус: сегодня это просто повод поговорить про замечательную, но не особо популярную в наших краях платформу, и рассказать личную историю, связанную с ней. Да и модификации получились достаточно разными, а в процессе также были подняты некоторые полезные вопросы. Очередная будня ретрогеймера начинается!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #игры_и_консоли #ретрогейминг #16_бит #16bit #16bit_games #super_nintendo #super_famicom #snes #картридж #картриджи #pal #ntsc #моддинг #модификация #diy #сделай_сам #arduino #ардуино #ruvds_статьи

  19. Будни ретрогеймера: совершенная игровая Nintendo

    Возвращаемся к шестнадцати битам! Сегодня я готовлю к эксплуатации сразу две игровые консоли Super Nintendo с целью погружения в богатый внутренний мир этой замечательной платформы сразу двух неофитов. Проводником же для них в туда выступит опытный Сусанин, то есть я. Задача на этот раз максимально проста: доукомплектовать две консоли и сделать им простейший мод со снятием региональной блокировки. Не очень интересный процесс в свете предыдущих публикаций цикла, но можно немного сместить фокус: сегодня это просто повод поговорить про замечательную, но не особо популярную в наших краях платформу, и рассказать личную историю, связанную с ней. Да и модификации получились достаточно разными, а в процессе также были подняты некоторые полезные вопросы. Очередная будня ретрогеймера начинается!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #игры_и_консоли #ретрогейминг #16_бит #16bit #16bit_games #super_nintendo #super_famicom #snes #картридж #картриджи #pal #ntsc #моддинг #модификация #diy #сделай_сам #arduino #ардуино #ruvds_статьи

  20. Будни ретрогеймера: совершенная игровая Nintendo

    Возвращаемся к шестнадцати битам! Сегодня я готовлю к эксплуатации сразу две игровые консоли Super Nintendo с целью погружения в богатый внутренний мир этой замечательной платформы сразу двух неофитов. Проводником же для них в туда выступит опытный Сусанин, то есть я. Задача на этот раз максимально проста: доукомплектовать две консоли и сделать им простейший мод со снятием региональной блокировки. Не очень интересный процесс в свете предыдущих публикаций цикла, но можно немного сместить фокус: сегодня это просто повод поговорить про замечательную, но не особо популярную в наших краях платформу, и рассказать личную историю, связанную с ней. Да и модификации получились достаточно разными, а в процессе также были подняты некоторые полезные вопросы. Очередная будня ретрогеймера начинается!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #игры_и_консоли #ретрогейминг #16_бит #16bit #16bit_games #super_nintendo #super_famicom #snes #картридж #картриджи #pal #ntsc #моддинг #модификация #diy #сделай_сам #arduino #ардуино #ruvds_статьи

  21. Почему игродев остается на С++17

    Последние пару-тройку лет на конференциях все чаще я слышу жалобы знакомых в игрострое о том, что текущий вектор развития "современного C++" не соответствует потребностям игровой разработки. Реальные полезные нововведения фактически закончились с выходом C++17, а попытки внедрить C++20 часто заканчиваются обнаружением множества "гейзенбагов" и существенным снижением производительности - критичные для нас на 10-15% от сборки к сборке. Пошатавшись по разным игровым студиям, блин, скоро будет 15 лет как я тут, у меня таки немножечко есть, что вам рассказать. Все современные студии, что крупнее двух с половиной землекопов, пишущие игры на плюсах, шарпе или чем-то близком - используют Visual Studio или переходят со своих поделок на Unreal/Unity, который так-то тоже плюсы, хоть и со странностями. Так исторически сложилось, что винда и майки были, есть и в ближайшем будущем горизонта лет десяти останутся самым крупным рынком ПК-консольных игр, а сами консоли давно стали "ну совсем ПК", но чтобы не терять эксклюзивы (и шекели) вендоры в этом не признаются никогда. Мобилки, как-бы отдельно, и там свои свои покемоны Mac с Android, но в Visual Studio в том или ином виде создаются, дебажатся и оптимайзятся 95% игр, остальное - погрешность. С момента начала золотой эры игростроя (где-то в конце 90-х), большинство игр писались с учетом того, что они будут выпущены на ПК, под ПК понимается - под винду. И наследие многих A+-студий так или иначе связано с Microsoft, даже для не-Microsoft консолей и мобилок.

    habr.com/ru/articles/894736/

    #с++ #с++17 #игры #игры_и_игровые_приставки #ненормальное_программирование

  22. Game++. Unpacking containers

    Независимо от того, начинаете ли вы разрабатывать свою игру или присоединяетесь к уже существующему проекту, когда приходит время оптимизировать память и заниматься разным улучшайзингом, то всегда встают одни и те же вопросы. Стоит ли использовать собственные контейнеры? Если использовать свои, то какой лучше выбрать - похожий на vector, или больше подойдет map? Является ли связный список наилучшим выбором при частых вставках и удалениях элементов? А откуда эти вставки вообще взялись, но это конечно другой вопрос. В большинстве случаев студии начинают реализовывать свои решения, заточенные под игру, это со временем приводит к появлению библиотеки решений, а частенько и полной замене всего STL стека. Основная причина - это добиться непрерывного размещения элементов в памяти, чтобы максимизировать локальность кэша при их обходе. Надеюсь, понятно для чего это делают: часто быстрее обойти 1000 элементов, которые лежат друг за другом, чем дюжину, которая раскидана по разным частям оперативки. Если вы не готовы писать и поддерживать свою STL, старайтесь, использовать vector, он хотя бы предсказуем по времени на всех платформах. Так вам скажет большинство разработчиков игр на C++, но проблема в том, что vector перераспределяет хранимые объекты в памяти при вставке новых элементов, а также при удалении любого элемента, кроме последнего. Это означает, что указатели на элементы вектора становятся недействительными, и тогда все зависимости и взаимодействия между элементами перестают работать. Конечно, можно обращаться к элементам через индексы вместо указателей, но индексы тоже теряют актуальность при вставке или удалении элементов не с конца контейнера. К тому же, аллокация памяти тоже небесплатная и может сильно подкосить перф при неправильном использовании. Да, вектора много где выигрывают у других контейнеров, но не одним только вектором жив игрострой, у нас есть кое-что и побыстрее и постабильнее.

    habr.com/ru/articles/891700/

    #с++ #игры_и_игровые_приставки #разработка_игр #программирование #ненормальное_программирование

  23. Game++. Building arcs

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

    habr.com/ru/articles/885780/

    #c++ #разработка_игр #игры_и_игровые_приставки #управление_проектами

  24. Game++. run, thread, run…

    Разрабатывая свою игру, движок или фреймворк, вы в любом случае столкнетесь с необходимостью реализации системы загрузки ресурсов, выполнения задач вне основного цикла игры, вынесения различных подсистем (звук, рендер, физика, эффекты) в отдельные потоки, чтобы снизить время подготовки кадра и улучшить общую производительность. Будучи классическим программистом, вы, наверное, знаете о проблемах реализации реализации многопоточности, использовании блокировок и алгоритмов, которые основаны на блокировках. В обычном программировании с блокировками, когда возникает необходимость пошарить данные, приходится использовать механизмы сериализации доступа к таким данным, чтобы операции, выполняющие работу с такими данными, были ограничены от одновременного вмешательства со стороны других потоков и возможности их поломать. В прямом смысле поломать. Даже такая простая операция, как ++count , где count имеет тип integer , требует блокировки, поскольку операция инкремента в общем случае представляет собой трехшаговую операцию (чтение, модификация, запись), которая не является атомарной. Про что-то более сложное и длительное я уже и не говорю. За кажущейся простотой скрывается множество граблей и ловушек: взаимные блокировки (deadlock), «голодание» потоков, асинхронные ошибки. Это похоже на попытку дирижировать оркестром, где музыканты игнорируют ритм. Проще говоря, любые действия над данными могут привести к проблемам, и чтобы этого не происходило, операции над данными должны быть атомарными, это решается вводом в код примитивов синхронизации, вроде мьютексов, семафоров, спинлоков. Первая хорошая сторона программирования с блокировками состоит в том, что пока ресурс заблокирован, никакая другая логика не может вмешаться. Вторая хорошая сторона — люди прекрасно понимают, читают и работают с таким кодом, потому что он хорошо вписывается в "естественное" понимание устройства мира. А вот дальше начинаются проблемы...

    habr.com/ru/articles/882684/

    #c++ #игры_и_игровые_приставки #разработка_игр #программирование

  25. Game++. Juggling STL algorithms

    Мы все пишем циклы, в каждом софте, в каждой игре они будут. Вы не можете обойтись без них. Скажете, что делает этот код? stl::vector numbers = {1, 2, 3, 4, 5}; int sum = 0; for (int num : numbers) { sum += num; } Конечно, это просто: код суммирует элементы массива. Похожую задачу про суммирование или другую операцию над массивом мой лид даёт на собесах :) Люди смотрят с удивлением, а потом большинство пишут, вот то, что было выше. И тут три вещи - человек либо поленился прочитать про STL алгоритмы, либо не доверяет нам и знает про них, но думает что не поймем мы, либо знает, но не понимает зачем показываеть эти знания, почему? вопрос оставим открытым. Этот пример с циклом - простейший алгоритм. Алгоритмы STL — это настоящий швейцарский нож для разработчика. Они не просто помогают писать код, а делают его чище, понятнее и надежнее. В проектах с большими кодовыми базами, где легаси код не всегда стабилен и удобен для поддержки, это особенно важно. Каждый, кто писал циклы вручную, сталкивался с ошибками: вылезли за границы массива, забыли обработать пустой контейнер, сделали лишнее копирование. STL-алгоритмы избавляют от многих проблем, позволяя выразить мысли кратко и четко. Вместо простыней кода с индексами — несколько строк с понятным смыслом. Так что, если вы еще не знакомы со стандартными алгоритмами, самое время это исправить. Это один из тех инструментов, которые однажды освоив, уже невозможно забыть, это как езда на велосипеде, хорошем промышленном велике, за автором Кнута или Саттерра - надежном и с серийным номером.

    habr.com/ru/articles/880918/

    #с++ #программирование #разработка_игр #игры_и_игровые_приставки

  26. Автоматизируй всё! Настройка CI-CD в Unity для ленивых (и умных) разработчиков. Часть первая

    Все еще собираешь билды вручную? Тогда статья идет к вам! Привет Хабр! Я уверен, что любая команда постоянно выполняет множество рутинный задач, одна из которых создание и релиз сборок В этой статье мы разбираемся, что такое CI/CD, какие сервисы доступны Unity-разработчикам и как сделать процесс релизов быстрее и удобнее. Также рассмотрим как внедрение автоматизации упростило процесс релиза в нашей компании

    habr.com/ru/articles/880792/

    #unity #юнити #игры_и_игровые_приставки #автоматизация #devops #cicd

  27. Автоматизируй всё! Настройка CI-CD в Unity для ленивых (и умных) разработчиков. Часть первая

    Все еще собираешь билды вручную? Тогда статья идет к вам! Привет Хабр! Я уверен, что любая команда постоянно выполняет множество рутинный задач, одна из которых создание и релиз сборок В этой статье мы разбираемся, что такое CI/CD, какие сервисы доступны Unity-разработчикам и как сделать процесс релизов быстрее и удобнее. Также рассмотрим как внедрение автоматизации упростило процесс релиза в нашей компании

    habr.com/ru/articles/880792/

    #unity #юнити #игры_и_игровые_приставки #автоматизация #devops #cicd

  28. Автоматизируй всё! Настройка CI-CD в Unity для ленивых (и умных) разработчиков. Часть первая

    Все еще собираешь билды вручную? Тогда статья идет к вам! Привет Хабр! Я уверен, что любая команда постоянно выполняет множество рутинный задач, одна из которых создание и релиз сборок В этой статье мы разбираемся, что такое CI/CD, какие сервисы доступны Unity-разработчикам и как сделать процесс релизов быстрее и удобнее. Также рассмотрим как внедрение автоматизации упростило процесс релиза в нашей компании

    habr.com/ru/articles/880792/

    #unity #юнити #игры_и_игровые_приставки #автоматизация #devops #cicd

  29. Автоматизируй всё! Настройка CI-CD в Unity для ленивых (и умных) разработчиков. Часть первая

    Все еще собираешь билды вручную? Тогда статья идет к вам! Привет Хабр! Я уверен, что любая команда постоянно выполняет множество рутинный задач, одна из которых создание и релиз сборок В этой статье мы разбираемся, что такое CI/CD, какие сервисы доступны Unity-разработчикам и как сделать процесс релизов быстрее и удобнее. Также рассмотрим как внедрение автоматизации упростило процесс релиза в нашей компании

    habr.com/ru/articles/880792/

    #unity #юнити #игры_и_игровые_приставки #автоматизация #devops #cicd

  30. Performance matter

    Я люблю хорошо сделанный, стабильный и быстрый софт. Не только игры, мой любимый жанр — стратегии и неспешные ситибилдеры, главное, чтобы они были без тормозов, фризов и статтеров. Больше игр я люблю инструменты, которые помогают создавать игры и делать эти инструменты. Быстрые тулы — это незабываемо: быстрый компилятор не заставляет тебя идти к кофеварке, быстрый редактор кода не тормозит при поиске алиасов и ссылок, он просто дополняет код без вертячки, быстрый редактор просто открывает уровень, даже большой уровень, даже очень большой уровень. Быстрые тулы не должны быть чем-то WOW, это необходимость для нормальной работы — когда не надо отвлекаться от реализации, ломать ход мыслей, ходить за кофе. Итерации запуска уровня должны быть в пределах секунды или их вообще не должно быть. Это не должны быть минуты, которые складываются в часы, дни и годы простоя моего времени. Текущее состояние тулзов в индустрии мне хочется назвать "быстрософт", не от слова "быстро работает", а потому что быстро сделали на коленке и быстрее всех выложили в стор, пока другие не сделали то же самое. Но я помню ощущения от настоящего "быстрософта".

    habr.com/ru/articles/880118/

    #с++ #разработка_игр #игры_и_игровые_приставки #управление_разработкой

  31. Game++. Dancing with allocators

    C и C++ не имеют встроенной сборки мусора, поэтому разработчик сам решает, как и когда выделять и освобождать память. Мы, конечно, можем покивать в сторону STL, сокрытия аллокаций в контейнерах, но от этого они никуда не денутся. Просто если раньше приходилось думать про выделенный кусок памяти, понимать, как он скажется на времени фрейма, помнить, что его надо удалить (а может, не надо и стоит оставить на следующий фрейм), то теперь всё заворачивается в сахарные контейнеры и разработку в стиле STL-blin-vse-sterpit . STL-то может и стерпит, и даже как-то будет ворочаться, однако не стоит полагаться исключительно на системный аллокатор, бездумно вызывая new или malloc для каждого запроса памяти. Вы ведь понимаете, что std::vector посреди цикла или горячей функции — это плохая идея? Кроме того, такая практика приводит к ожидаемым проблемам с производительностью даже в обычных приложениях, чего уж говорить про высоконагруженные системы или игры, которые претендуют на что-то быстрее 20 фреймов в секунду. Пытаться оптимизировать код, который использует системные аллокаторы, — всё равно что сгребать листья в кучу ветреным днём: куча, конечно, сгребается, но постоянно приходится махать грабельками, чтобы она оставалась на одном месте. Даже если выделения памяти происходят последовательно, друг за другом, вот прям без всяких перерывов, нет гарантии, что эти участки будут расположены хотя бы близко друг к другу. В результате при обработке таких данных процессору приходится прыгать по разным участкам памяти, теряя такты просто на поиск данных вместо того, чтобы работать с ними. Я отнюдь не призываю вас встать на путь ручного управления памятью, ибо он будет усеян ловушками, граблями и чреват утечками. Но разработчик в итоге оказывается перед выбором: либо довериться системному аллокатору и столкнуться с проблемами вроде размазанного перфа, когда вроде и код написан правильно, модно и молодежно, но отчего-то работает небыстро, либо взять всё в свои руки, создавая собственные механизмы выделения и освобождения ресурсов. Ребята из HFT, Database, Automotive и Embedded-систем наверняка могут рассказать немало интересных историй про оптимизацию new / delete . Давайте я расскажу немного про разные аллокаторы в играх? Больше алокаторов Богу алокаторов

    habr.com/ru/articles/876804/

    #c++ #игры_и_игровые_приставки #разработка_игр #ненормальное_программирование #программирование

  32. Золото отечественного ретродева: RetroSouls

    Мода на ретро постоянно возвращается. Чем дальше человечество продвигается в своё туманное будущее, тем больше растёт увлечённость некоторой его части наследием минувших лет, того «раньше», которое было лучше. Речь идёт не об историках, а о самых обычных людях, испытывающих тёплые чувства к чему-то из прошлого. Многообразие взгляда, обращённого назад, велико, но чаще всего это массовая культура и различные её порождения: фильмы, музыка, мода, машины. Не обойдены этим вниманием и информационные технологии. Например, сейчас в моде «ретрогейминг» — довольно удивительное явление, когда люди играют в компьютерные игры прошлого, при наличии практически бесконечного количества новейших, более совершенных разработок. Но есть и ещё более удивительное явление: «ретродев», или «ретрогеймдев» — разработка новых игр для старых платформ. Занимаются этим во всём мире, и в наших краях тоже, причём порой весьма успешно. Настолько успешно, что мужики-то не знают. Будучи частью этого движения, кому, как не мне, рассказывать об этом — в частности, о ретро-играх и людях, создававших их в различные исторические периоды. Это будут люди, с творчеством которых я давно знаком и которое меня впечатляет и вдохновляет. Начинаем!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #zx_spectrum #денди #nes #famicom #сега #sega #8_бит #16_бит #commodore_64 #вектор_06ц #апогей #апогей_бк01 #msx #воксель #воксельная_графика #воксельные_игры #indie_games #indie #indie_gamedev #ruvds_статьи

  33. Золото отечественного ретродева: RetroSouls

    Мода на ретро постоянно возвращается. Чем дальше человечество продвигается в своё туманное будущее, тем больше растёт увлечённость некоторой его части наследием минувших лет, того «раньше», которое было лучше. Речь идёт не об историках, а о самых обычных людях, испытывающих тёплые чувства к чему-то из прошлого. Многообразие взгляда, обращённого назад, велико, но чаще всего это массовая культура и различные её порождения: фильмы, музыка, мода, машины. Не обойдены этим вниманием и информационные технологии. Например, сейчас в моде «ретрогейминг» — довольно удивительное явление, когда люди играют в компьютерные игры прошлого, при наличии практически бесконечного количества новейших, более совершенных разработок. Но есть и ещё более удивительное явление: «ретродев», или «ретрогеймдев» — разработка новых игр для старых платформ. Занимаются этим во всём мире, и в наших краях тоже, причём порой весьма успешно. Настолько успешно, что мужики-то не знают. Будучи частью этого движения, кому, как не мне, рассказывать об этом — в частности, о ретро-играх и людях, создававших их в различные исторические периоды. Это будут люди, с творчеством которых я давно знаком и которое меня впечатляет и вдохновляет. Начинаем!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #zx_spectrum #денди #nes #famicom #сега #sega #8_бит #16_бит #commodore_64 #вектор_06ц #апогей #апогей_бк01 #msx #воксель #воксельная_графика #воксельные_игры #indie_games #indie #indie_gamedev #ruvds_статьи

  34. Золото отечественного ретродева: RetroSouls

    Мода на ретро постоянно возвращается. Чем дальше человечество продвигается в своё туманное будущее, тем больше растёт увлечённость некоторой его части наследием минувших лет, того «раньше», которое было лучше. Речь идёт не об историках, а о самых обычных людях, испытывающих тёплые чувства к чему-то из прошлого. Многообразие взгляда, обращённого назад, велико, но чаще всего это массовая культура и различные её порождения: фильмы, музыка, мода, машины. Не обойдены этим вниманием и информационные технологии. Например, сейчас в моде «ретрогейминг» — довольно удивительное явление, когда люди играют в компьютерные игры прошлого, при наличии практически бесконечного количества новейших, более совершенных разработок. Но есть и ещё более удивительное явление: «ретродев», или «ретрогеймдев» — разработка новых игр для старых платформ. Занимаются этим во всём мире, и в наших краях тоже, причём порой весьма успешно. Настолько успешно, что мужики-то не знают. Будучи частью этого движения, кому, как не мне, рассказывать об этом — в частности, о ретро-играх и людях, создававших их в различные исторические периоды. Это будут люди, с творчеством которых я давно знаком и которое меня впечатляет и вдохновляет. Начинаем!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #zx_spectrum #денди #nes #famicom #сега #sega #8_бит #16_бит #commodore_64 #вектор_06ц #апогей #апогей_бк01 #msx #воксель #воксельная_графика #воксельные_игры #indie_games #indie #indie_gamedev #ruvds_статьи

  35. Золото отечественного ретродева: RetroSouls

    Мода на ретро постоянно возвращается. Чем дальше человечество продвигается в своё туманное будущее, тем больше растёт увлечённость некоторой его части наследием минувших лет, того «раньше», которое было лучше. Речь идёт не об историках, а о самых обычных людях, испытывающих тёплые чувства к чему-то из прошлого. Многообразие взгляда, обращённого назад, велико, но чаще всего это массовая культура и различные её порождения: фильмы, музыка, мода, машины. Не обойдены этим вниманием и информационные технологии. Например, сейчас в моде «ретрогейминг» — довольно удивительное явление, когда люди играют в компьютерные игры прошлого, при наличии практически бесконечного количества новейших, более совершенных разработок. Но есть и ещё более удивительное явление: «ретродев», или «ретрогеймдев» — разработка новых игр для старых платформ. Занимаются этим во всём мире, и в наших краях тоже, причём порой весьма успешно. Настолько успешно, что мужики-то не знают. Будучи частью этого движения, кому, как не мне, рассказывать об этом — в частности, о ретро-играх и людях, создававших их в различные исторические периоды. Это будут люди, с творчеством которых я давно знаком и которое меня впечатляет и вдохновляет. Начинаем!

    habr.com/ru/companies/ruvds/ar

    #игры #игры_и_игровые_приставки #zx_spectrum #денди #nes #famicom #сега #sega #8_бит #16_бит #commodore_64 #вектор_06ц #апогей #апогей_бк01 #msx #воксель #воксельная_графика #воксельные_игры #indie_games #indie #indie_gamedev #ruvds_статьи

  36. Цитаты великих в игрострое

    В студии Arkane в Лионе на входе в офис есть стена с разными вещами, которые присылают фанаты. Одно время там висела большая борда с цитатами великих разработчиков игр, к сожалению тогда не подумал её сфотографировать. Это была не просто декорация, часто там стояли люди, даже читавшие её не один раз. Где-то в середине разработки Deathloop этот источник вдохновения, который встречал каждого входящего, убрали на склад. Впрочем там поменяли большинство экспонатов. Среди цитат можно было найти слова Джона Кармака, говорящего о важности технологии, или слова Сид Мейера о том, что игра — это серия выборов, мысли гравного "Марио" Шигэру Миямото о том, что плохая игра останется плохой навсегда. Эти цитаты напоминали людям, что они не просто создают игры, а продолжают традиции, заложенные легендами индустрии. Слова мастеров оставались в памяти, напоминая, что каждое решение — от механики до дизайна уровней — должно быть осмысленным и значимым. Цитат было немного, точно не считал, но около тридцати, подумал может кому будут интересны высказывания мэтров. Все на память не помню, пришлось спрашивать у гугла. Кодзима плохого не скажет...

    habr.com/ru/articles/876484/

    #разработка_игр #история_it #игры_и_игровые_приставки #цитаты #цитаты_программистов

  37. Добро пожаловать в Древний…

    ...Египет — мир величественных пирамид, бурных вод Нила и одной из самых теплых и ламповых 2D-стратегий из 1999 года! Здесь вы станете архитектором и правителем, строя города, заботясь о благополучии жителей и возводя памятники, достойные фараонов. А вы знали, что у Фараона была полноценная демка? Хотя это нормально для индустрии того периода, вот о различиях с retail версией и пойдет речь. …но помните, что в 2025-м всё это великолепие может не завестись и потребует доработки напильником, для работы на современных системах. Самый надежный способ насладиться стареньким, но не потерявшим свою магию, ситибилдером без глюков — это установить виртуалку с WinXP, но и это не всегда работает. Виртуалка поможет избавиться от большинства проблем, к сожалению на всех ОС после XP игра работает все хуже и хуже. На моей системе например версия из стима выглядела так, что я только не пробовал.

    habr.com/ru/articles/875784/

    #с++ #игры_и_игровые_приставки #разработка_игр #разработка

  38. Осторожно, работают люди

    После прошлой статьи про "испанских синьор-программистов" в комментариях и личных сообщениях было много вопросов о том, как выглядит работа в игровой студии изнутри. Некоторые даже в линкед вопросы закидывали. Эта статья про то и начиналась, но быстро стало понятно, что получается скучно - таких уже с десяток точно есть и не только на хабре. Поэтому решил рассказать не столько о процессах, сколько о людях их творящих, с примерами из жизни, чтобы было поинтереснее. Ведь игры делают именно люди, и очень надеюсь, чатик не скоро отберёт у нас эту работу. А пока, я перечитываю в четвертый, наверное, раз "Мифический человеко-месяц" Брукса, которой в этом году стукнет 50 лет, только подумайте, книга была написана полвека назад, но она по-прежнему актуальна. Люди — это всегда про общение. Это взгляды, жесты, разговоры на кухне, в чатах, в курилке и на террасе. Хочешь работать в команде и делать игры? Прокачивай софт-скиллы. Кто бы мог подумать, что для программиста это настолько важно. Лет десять назад я бы посмелся на тем, кто скажет, что половина моего времени будет уходить на обсуждения, убеждения дизайнеров делать "как надо", а не "как хочется", код-ревью, обучение новичков и решение задач, которые вообще не связаны с программированием. Не тяни кота за хвост...

    habr.com/ru/articles/872518/

    #программирование #игры_и_игровые_приставки #разработка_игр #управление_проектами

  39. В Испании все программисты сеньоры

    Моя текущая позиция и аутсорсы последних пяти лет на 90% были в западных gamedev студиях, соответвенно и общение было преимущественно с не-ру коллегами. А когда надолго отрываешься от славянских коллективов разработки, то отличия начинают проявляться очень четко, начиная от модели управления командой и заканчивая культурой разработки. Хотя вот культурой я бы это не назвал, скорее плясками варваров-полуиндусов на останках штатовской империи софтостроения. Индийцы тут не причем, а вот практики и сам процесс написания кода, очень попахивает этими жителями полумифической страны Индустана. Есть немало книг по истории развития игровой индустрии и истории успехов и провалов разных студий, в основном западных, оставлю в статье список самых интересных и захватывающих если решите углубиться в историю (кому интересно будет под спойлером). Одная из последних - "Not All Fairy Tales Have Happy Endings" ( Ken Williams ), мемуары одного из основателей Sierra On-Line, прочитана была около года назад и понравилась больше других, наверное потому, что читая книгу - я наконец понимал большинство решений и причин которые привели к тому или иному результату. Этого понимания точно не было десять лет назад, это сложно объяснить если не работал непосредственно сам долгое время с людьми с иным образом мыслей, культурным кодом, как сейчас принято говорить. Нынешня команда на 95% франко-испано-английская - австралийцы, немного европейцев и американцы. В студии по-русски говорят трое, включая меня. До этого в карьере были по большей части все же ру-студии с привычными менталитетом, пускай и под управлением все тех же американцев, но менеджмент скрадывал все огрехи и брал "разговоры как надо" на себя, а нам доставались только технические задачи, грамоты и иногда премии. Десять лет назад, придя в индустрию создания игр, я не задавался вопросом - чем отличаются мои таски, мой код, мои идеи от тасок, кода и идей Джона из Кемпбеловки под Сан-Хосе, потому что вокруг были все "свои". Сейчас уже тоже все "свои", но те "свои", от этих "своих" отличаются примерно - всем.

    habr.com/ru/articles/870144/

    #программирование #игры_и_игровые_приставки #разработка_игр #управление_проектами

  40. Spears & bits

    В играх часто используется паттерн упаковки булевых значений в биты. Это удобно для оптимизации памяти и ускорения выполнения массовых проверок. Например, такие проверки могут включать нахождение игрока в тайле, определение доступности клеток на четырех- или шестигранной сетке, или другие пространственные проверки, которые необходимо выполнять быстро. Это не ракетостроение, но когда профайлер показал одну из таких функций в числе горячих, мне стало интересно, как именно она работает и можно ли её оптимизировать. Структура данных bitset — это способ эффективно представлять множество целых индексов, которое к тому же поддерживает различные операции над ним, например объединение, разность, пересечение. Итак - каждый юнит может занимать один или несколько тайлов, особенно если это большой юнит, вроде колесницы или требюшета и мы хотим создать производную карту, которая хранит другие признаки, например: есть ли в тайле юнит, или фильтр по здоровью юнитов. Такие карты используютя для разных быстрых проверок, вроде такой: можно ли переместиться в точку, или каких юнитов имеет смысл атаковать. Для представления данных мы можем использовать индекс юнита в тайле. В качестве типовой задачу проверять будем только юнитов, у которых здоровье превышает определённое значение. Это условие не взято с потолка. Например, некоторые юниты используют стратегии вроде "убей слабейшего" или "нападай стаей". Для таких стратегий поюнитный обход всех юнитов вокруг (особенно если это выполняют все юниты в группе) может стать крайне затратной по времени операцией. Название статьи получилось как-то само собой: недалеко от моего дома есть хорошее кафе Chief&Bites, достаточно популярное у местных жителей, но пирожные там начинают делать после заказа, такой вот формат анти-кафе. Сами понимаете, прождать пока сделают свежайшее пирожное полчаса, а то и час - легко, там даже на чеке пишут время, когда начали делать именно твое пирожное. Заранее извиняюсь за "велосипеды" в коде, но, возможно, эта тема покажется кому-то полезной. Паковай давай...

    habr.com/ru/articles/867134/

    #с++ #ненормальное_программирование #разработка_игр #игры_и_игровые_приставки #программирование

  41. Microsoft Flight Simulator 2024: новый цифровой двойник Земли

    Бонджорно, мои золотые! Это Идар Табухов. Я работаю скрам-мастером в МТС Диджитал, а в свободное время веду канал с прохождением игр. В прошлый раз я писал об играх для macOS , а сегодня расскажу о авиасимуляторе. Microsoft Flight Simulator считается одним из лучших авиасимуляторов, и версия 2024 года подтверждает этот статус. У игры новая графика, куча локаций, гора контента — все это радует и любителей авиации, и профессионалов. Одна из фишек — цифровой двойник Земли, его обновили и сделали намного лучше, чем в предыдущей версии. Что там появилось и проапгрейдилось? Давайте оценивать.

    habr.com/ru/companies/ru_mts/a

    #симуляторы #полеты #игры_и_игровые_приставки #разработка_игр

  42. Хорошие книги для gamedev AI программера

    После статьи о книгах для саморазвития gamedev программиста , меня просили больше написать про аишную часть и том, что стоит почитать по этой теме. Для программиста ИИ в игрострое ситуация с книгами схожа, но с несколькими интересными особенностями. Здесь важна не только глубина знаний, сколько наработанность с инструментами, библиотеками и технологиями в целом, а с учетом что новые подходы развиваются с поразительной скоростью, поразительной для игростроя конечно. Казалось только лет 10 назад стали использоваться BT (behavior tree), но и они уже имеют редакцию 4.x ( behaviortree.dev/ ). Но важно не зацикливаться на затаскивании в проект модных примочек, базовые знания остаются самым важным что можно получить. Это как в притче о удочке — дай человеку рыбу, и он накормит себя сегодня; дай ему удочку, и он будет кормить себя всю жизнь. Удочкой в этом случае выступает знание, как оно работает, а не как можно его использовать. ИИ до сих пор стоит в игрострое особняком, потому что до сих пор нет стандартов построения игровой логики, каждая из студий решает свои уникальные технические и инженерные задачи, и вынуждена находить баланс между чем-то новым и общей стабильностью игры. Этот путь усеян пробами и ошибками, даже если вы уже прошли по нему в прошлом, и мало кто поможет вам увидеть ошибки заранее, банально потому, что прошел по другому пути, со своими граблями и костылями. Тем хуже когда, именитый разработчик приходит в команду и начинает продавать свои решения и опыт, которые часто не бьются с разработками команды. Но, статья не об этом, а о полезных книгах.

    habr.com/ru/articles/859496/

    #с++ #игры_и_игровые_приставки #разработка_игр

  43. 486-го хватит всем

    В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время для свободных вопросов, которые можно задать команде или кому-то из интервьюеров. Эту практику я переносил из компании в компанию, и она всегда помогала разрядить обстановку или вывести человека на разговор, если он был напряжен во время общения. Вопросы могут быть любые, кроме личных или тех, что под NDA. Обычно кандидаты задают технические вопросы по стеку, пайплайнам, иногда пытаются задать каверзные вопросы, особенно по плюсам, чтобы проверить нас. Иногда мы не можем ответить на них. Вопросы в стиле Google — например, «почему таблетки круглые?» — тоже встречаются, но недавно на одном из интервью прозвучал вопрос, на который вроде все и знали ответ, но никто сразу не смог его дать. Вопрос звучал так: « Какие общие технологии и решения появились в процессорах с времён 486, которыми мы часто пользуемся? » Вопрос действительно интересный — что нового появилось, чем мы пользуемся каждый день? Что умеют современные процессоры, чего не могли процессоры год или два назад, пять или десять лет назад, сорок лет назад? Мы просто используем миллиарды транзисторов, даже не зная, как они работают. Покопавшись в Википедии, на сайте Агнера Фога и в документации Intel, я составил список того, что появилось и используется в современных процессорах. Всё, что указано ниже, относится в основном к x86 и консолям, если не указано иное. Поскольку консоли после третьего поколения PlayStation — фактически ПК с минимальными отличиями, речь дальше пойдёт в основном о ПК. История имеет склонность повторяться, и многое из того, что мы сейчас имеем, вводилось не один раз, просто под разными названиями.

    habr.com/ru/articles/856572/

    #процессоры #программирование #разработка_игр #игры_и_игровые_приставки #с++

  44. No Man's Sky: от полного разочарования до шедевра

    Бонджорно, мои золотые! Это Идар Табухов, скрам-мастер в МТС Диджитал и фанат компьютерных игр. В прошлый раз я рассказывал, во что поиграть на macOS , а сегодгя поговорим о взлетах и падениях No Man's Sky. No Man's Sky от студии Hello Games — одна из самых противоречивых в игровой индустрии. До нее историй от практически полного провала и побивания камнями всех причастных до успеха и восхищенных отзывов игроков и критиков почти не было. Особенно если учесть многолетний путь этого проекта (11 лет, Карл!) и его маленькую команду с ограниченными ресурсами на старте. Эту ситуацию наилучшим образом описывает древний афоризм: Per aspera ad astra — «через тернии к звездам». И ведь действительно: запуск игры был неудачным. Наверное, если бы разгневанным геймерам позволили, то авторов проекта кинули бы в те самые тернии. Но они (разработчики, не колючие кусты) не сдались и продолжали улучшать игру до тех пор, пока она не стала тем, чем является сегодня. Подробности — под катом.

    habr.com/ru/companies/ru_mts/a

    #no_man's_sky #игрострой #игры_и_игровые_приставки #itкомпании #разработка_игр

  45. Как Unity отказались от своих строк

    В 2014 году в движке Unity набралось столько критических изменений и новинок, что "пятерка" фактически была другим движком. И хотя многие за одинаковым фасадом не особо этого и заметили, но изменения коснулись всех компонентов движка, начиная от файловой системы и заканчивая рендером. Питерский офис EA имел свою ветку основного репозитария, отставая от мастера максимум на месяц. Я уже писал про различные реализации и типы строк в игровых движках , но в Unity была своя реализация, имевшая как положительные так и отрицательные стороны, которая использовалась практически во всех подсистемах. К ней привылки, знали слабые стороны и плохие "use cases" и хорошие "best practices". Поэтому когда эту систему стали выпиливать из движка много чего поломалось, и если у обычных пользователей был сразу переход на новую версию и наблюдались только отголоски шторма, то допущенные до "тела" наловили много прикольных багов. Эти строки - вам не те строки

    habr.com/ru/articles/854494/

    #c++ #ненормальное_программирование #разработка_игр #игры_и_игровые_приставки #unity

  46. Простой советский геймдев: многокадровый, цветной

    Около года назад, в одной из прошлых своих публикаций, я уже вскользь касался темы самой совершенной советской видеоигровой аркадной платформы, ТИА-МЦ1. Недавно поступило предложение рассказать про это поподробнее: какое я имею к ней отношение, как и когда удалось создать её эмулятор для современных ПК, как она устроена, в конце концов. Приступаем!

    habr.com/ru/companies/ruvds/ar

    #тиамц1 #конёк_горбунок #городки #советские_игры #советские_игровые_автоматы #музей_советских_игровых_автоматов #игры #игры_и_игровые_приставки #видеоигры #8080 #кр580вм80 #кр580ик80 #кр580ви53 #msx #zx_spectrum #ruvds_статьи

  47. Простой советский геймдев: многокадровый, цветной

    Около года назад, в одной из прошлых своих публикаций, я уже вскользь касался темы самой совершенной советской видеоигровой аркадной платформы, ТИА-МЦ1. Недавно поступило предложение рассказать про это поподробнее: какое я имею к ней отношение, как и когда удалось создать её эмулятор для современных ПК, как она устроена, в конце концов. Приступаем!

    habr.com/ru/companies/ruvds/ar

    #тиамц1 #конёк_горбунок #городки #советские_игры #советские_игровые_автоматы #музей_советских_игровых_автоматов #игры #игры_и_игровые_приставки #видеоигры #8080 #кр580вм80 #кр580ик80 #кр580ви53 #msx #zx_spectrum #ruvds_статьи

  48. Простой советский геймдев: многокадровый, цветной

    Около года назад, в одной из прошлых своих публикаций, я уже вскользь касался темы самой совершенной советской видеоигровой аркадной платформы, ТИА-МЦ1. Недавно поступило предложение рассказать про это поподробнее: какое я имею к ней отношение, как и когда удалось создать её эмулятор для современных ПК, как она устроена, в конце концов. Приступаем!

    habr.com/ru/companies/ruvds/ar

    #тиамц1 #конёк_горбунок #городки #советские_игры #советские_игровые_автоматы #музей_советских_игровых_автоматов #игры #игры_и_игровые_приставки #видеоигры #8080 #кр580вм80 #кр580ик80 #кр580ви53 #msx #zx_spectrum #ruvds_статьи

  49. История серии Mass Effect: любовь геймеров, скандалы и оглушительный провал

    Студия BioWare выпустила первую игру знаменитой научно-фантастической франшизы аж 17 лет назад — в 2007 году. Мне трудно вообразить этот промежуток времени: кажется, что я играл в нее буквально вчера, сразу после выхода на Xbox 360. Но сколько же за это времени утекло воды…. Недавно я стал счастливым обладателем Xbox Series X. И решил первым делом перепройти всю оригинальную трилогию, тем более в подписке Game Pass есть Mass Effect: Legendary Edition. А после — поиграть в Mass Effect: Andromeda, про которую слышал так много негативного. В общем, в процессе игры вдохновился написать статью о том, как создавалась серия. И заодно — поделиться своими ощущениями от этого шедевра.

    habr.com/ru/companies/timeweb/

    #игры #игры_и_игровые_приставки #разработка_игр #дизайн_игр #mass_effect #геймдев #геймдизайн #геймплей #гейминг #timeweb_статьи_выходного_дня

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

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

    habr.com/ru/articles/836144/

    #разработка_игр #управление_проектами #игры_и_игровые_приставки #управление_людьми