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. Менеджер ресурсов

    В прошлой статье я разбирал паттерны и необходимость компромиссов в реальной разработке, и там была одна мысль которую я намеренно оставил в стороне. Паттерны редко живут в одиночку, и любая реальная система это не один паттерн, а несколько, склеенных, скрученые, слепленных, и местами прибитых сбоку гвоздями, и каждый из них закрывает только часть проблемы. Менеджер ресурсов это, наверное, самый показательный пример такой склейки, потому что снаружи он обычно выглядит как пару строчек вида LoadTexture(" bark.dds ") , а внутри это кэш, политика дефолтов, механика восстановления после сбоя и ещё полдюжины вещей, каждая из которых прошла через пот, кровь и пиксели и осталась в архитектуре этой системы. Если открыть любую книгу по разработке игр или игрового движка и попробовать найти определение "игровой ресурс", то получится что ресурс - это набор данных, которые были загружены или созданы с конкретными параметрами. Любые уточнения вроде «текстура», «меш», «звук» или «шейдер» здесь уже будут лишними, потому что нам важна не природа данных, а что они существуют именно определенной форме. Понятие "определенная форма" тем не менее тоже звучит абстрактно, поэтому люди предпочитают использовать "текстуру", "меш", "звук" и т.д. Но одну и ту же текстуру wall.dds , которую можно загрузить в DXT5 со сжатием, sRGB и mip-фильтром box, а можно без сжатия, в линейном пространстве и с другим фильтром. Формально у нас был один файл на диске, но с точки зрения ресурсного менеджера теперь это два разных "ресурса", потому что их параметры различаются. Подмена одного ресурса другим в рантайме может сломать игру, потому что игра ожидает определенных данных для шейдера, которая изменилась после фильтра или определённую раскладку мипов, которой может не оказаться. Более явный пример для шейдеров будет, когда lighting.fx , скомпилированный с дефайном SIMPLE_BUMP_MAPPING , и lighting.fx , скомпилированный с PARALLAX_BUMP_MAPPING , физически выглядят в исходниках как один файл, но дают два разных пайплайна, со своими константными буферами и со своими ожиданиями к набору текстур, а если ресурсный менеджер этого не понимает, то он либо начнёт раздавать второй вариант, когда просят первый. С мешами история та же самая, и ship.mesh , загруженный в менеджере ресурсов, и тот же ship.mesh , лежащий в GPU это два разных объекта, у которых даже время жизни и поведение при потере устройства будут отличаться, не говоря уже о том, что первый мы можем менять, а в второй нет. Грузись текстурка, большая и маленькая

    habr.com/ru/articles/1039266/

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

  6. Менеджер ресурсов

    В прошлой статье я разбирал паттерны и необходимость компромиссов в реальной разработке, и там была одна мысль которую я намеренно оставил в стороне. Паттерны редко живут в одиночку, и любая реальная система это не один паттерн, а несколько, склеенных, скрученые, слепленных, и местами прибитых сбоку гвоздями, и каждый из них закрывает только часть проблемы. Менеджер ресурсов это, наверное, самый показательный пример такой склейки, потому что снаружи он обычно выглядит как пару строчек вида LoadTexture(" bark.dds ") , а внутри это кэш, политика дефолтов, механика восстановления после сбоя и ещё полдюжины вещей, каждая из которых прошла через пот, кровь и пиксели и осталась в архитектуре этой системы. Если открыть любую книгу по разработке игр или игрового движка и попробовать найти определение "игровой ресурс", то получится что ресурс - это набор данных, которые были загружены или созданы с конкретными параметрами. Любые уточнения вроде «текстура», «меш», «звук» или «шейдер» здесь уже будут лишними, потому что нам важна не природа данных, а что они существуют именно определенной форме. Понятие "определенная форма" тем не менее тоже звучит абстрактно, поэтому люди предпочитают использовать "текстуру", "меш", "звук" и т.д. Но одну и ту же текстуру wall.dds , которую можно загрузить в DXT5 со сжатием, sRGB и mip-фильтром box, а можно без сжатия, в линейном пространстве и с другим фильтром. Формально у нас был один файл на диске, но с точки зрения ресурсного менеджера теперь это два разных "ресурса", потому что их параметры различаются. Подмена одного ресурса другим в рантайме может сломать игру, потому что игра ожидает определенных данных для шейдера, которая изменилась после фильтра или определённую раскладку мипов, которой может не оказаться. Более явный пример для шейдеров будет, когда lighting.fx , скомпилированный с дефайном SIMPLE_BUMP_MAPPING , и lighting.fx , скомпилированный с PARALLAX_BUMP_MAPPING , физически выглядят в исходниках как один файл, но дают два разных пайплайна, со своими константными буферами и со своими ожиданиями к набору текстур, а если ресурсный менеджер этого не понимает, то он либо начнёт раздавать второй вариант, когда просят первый. С мешами история та же самая, и ship.mesh , загруженный в менеджере ресурсов, и тот же ship.mesh , лежащий в GPU это два разных объекта, у которых даже время жизни и поведение при потере устройства будут отличаться, не говоря уже о том, что первый мы можем менять, а в второй нет. Грузись текстурка, большая и маленькая

    habr.com/ru/articles/1039266/

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

  7. Менеджер ресурсов

    В прошлой статье я разбирал паттерны и необходимость компромиссов в реальной разработке, и там была одна мысль которую я намеренно оставил в стороне. Паттерны редко живут в одиночку, и любая реальная система это не один паттерн, а несколько, склеенных, скрученые, слепленных, и местами прибитых сбоку гвоздями, и каждый из них закрывает только часть проблемы. Менеджер ресурсов это, наверное, самый показательный пример такой склейки, потому что снаружи он обычно выглядит как пару строчек вида LoadTexture(" bark.dds ") , а внутри это кэш, политика дефолтов, механика восстановления после сбоя и ещё полдюжины вещей, каждая из которых прошла через пот, кровь и пиксели и осталась в архитектуре этой системы. Если открыть любую книгу по разработке игр или игрового движка и попробовать найти определение "игровой ресурс", то получится что ресурс - это набор данных, которые были загружены или созданы с конкретными параметрами. Любые уточнения вроде «текстура», «меш», «звук» или «шейдер» здесь уже будут лишними, потому что нам важна не природа данных, а что они существуют именно определенной форме. Понятие "определенная форма" тем не менее тоже звучит абстрактно, поэтому люди предпочитают использовать "текстуру", "меш", "звук" и т.д. Но одну и ту же текстуру wall.dds , которую можно загрузить в DXT5 со сжатием, sRGB и mip-фильтром box, а можно без сжатия, в линейном пространстве и с другим фильтром. Формально у нас был один файл на диске, но с точки зрения ресурсного менеджера теперь это два разных "ресурса", потому что их параметры различаются. Подмена одного ресурса другим в рантайме может сломать игру, потому что игра ожидает определенных данных для шейдера, которая изменилась после фильтра или определённую раскладку мипов, которой может не оказаться. Более явный пример для шейдеров будет, когда lighting.fx , скомпилированный с дефайном SIMPLE_BUMP_MAPPING , и lighting.fx , скомпилированный с PARALLAX_BUMP_MAPPING , физически выглядят в исходниках как один файл, но дают два разных пайплайна, со своими константными буферами и со своими ожиданиями к набору текстур, а если ресурсный менеджер этого не понимает, то он либо начнёт раздавать второй вариант, когда просят первый. С мешами история та же самая, и ship.mesh , загруженный в менеджере ресурсов, и тот же ship.mesh , лежащий в GPU это два разных объекта, у которых даже время жизни и поведение при потере устройства будут отличаться, не говоря уже о том, что первый мы можем менять, а в второй нет. Грузись текстурка, большая и маленькая

    habr.com/ru/articles/1039266/

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

  8. Менеджер ресурсов

    В прошлой статье я разбирал паттерны и необходимость компромиссов в реальной разработке, и там была одна мысль которую я намеренно оставил в стороне. Паттерны редко живут в одиночку, и любая реальная система это не один паттерн, а несколько, склеенных, скрученые, слепленных, и местами прибитых сбоку гвоздями, и каждый из них закрывает только часть проблемы. Менеджер ресурсов это, наверное, самый показательный пример такой склейки, потому что снаружи он обычно выглядит как пару строчек вида LoadTexture(" bark.dds ") , а внутри это кэш, политика дефолтов, механика восстановления после сбоя и ещё полдюжины вещей, каждая из которых прошла через пот, кровь и пиксели и осталась в архитектуре этой системы. Если открыть любую книгу по разработке игр или игрового движка и попробовать найти определение "игровой ресурс", то получится что ресурс - это набор данных, которые были загружены или созданы с конкретными параметрами. Любые уточнения вроде «текстура», «меш», «звук» или «шейдер» здесь уже будут лишними, потому что нам важна не природа данных, а что они существуют именно определенной форме. Понятие "определенная форма" тем не менее тоже звучит абстрактно, поэтому люди предпочитают использовать "текстуру", "меш", "звук" и т.д. Но одну и ту же текстуру wall.dds , которую можно загрузить в DXT5 со сжатием, sRGB и mip-фильтром box, а можно без сжатия, в линейном пространстве и с другим фильтром. Формально у нас был один файл на диске, но с точки зрения ресурсного менеджера теперь это два разных "ресурса", потому что их параметры различаются. Подмена одного ресурса другим в рантайме может сломать игру, потому что игра ожидает определенных данных для шейдера, которая изменилась после фильтра или определённую раскладку мипов, которой может не оказаться. Более явный пример для шейдеров будет, когда lighting.fx , скомпилированный с дефайном SIMPLE_BUMP_MAPPING , и lighting.fx , скомпилированный с PARALLAX_BUMP_MAPPING , физически выглядят в исходниках как один файл, но дают два разных пайплайна, со своими константными буферами и со своими ожиданиями к набору текстур, а если ресурсный менеджер этого не понимает, то он либо начнёт раздавать второй вариант, когда просят первый. С мешами история та же самая, и ship.mesh , загруженный в менеджере ресурсов, и тот же ship.mesh , лежащий в GPU это два разных объекта, у которых даже время жизни и поведение при потере устройства будут отличаться, не говоря уже о том, что первый мы можем менять, а в второй нет. Грузись текстурка, большая и маленькая

    habr.com/ru/articles/1039266/

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

  9. Чтение на выходные: «Разработка игр и теория развлечений» Рафа Костера

    Большинство из нас проводит в играх немало времени, даже если не называет себя геймерами. Но почему одни игры мы проходим запоем, а другие бросаем на пятой минуте? Что делает Tetris вечным, а очередной блокбастер скучным уже через неделю после покупки? Этим вопросом задался человек, который точно знает, о чём говорит: Рэф Костер, один из архитекторов первых массовых онлайн-миров. Костер — легендарная фигура в геймдеве. Начинал ещё с MUD-ов, текстовых многопользовательских миров, где весь геймплей крутился вокруг набранных команд. Потом был ведущим дизайнером Ultima Online — игры, которая в конце 90-х подарила миллионам ощущение жизни в альтернативной вселенной. Позже — креативным директором Star Wars Galaxies. В 2012 году его назвали «Легендой онлайн-игр» на конференции разработчиков — формальное признание того, что сообщество и так давно знало.

    habr.com/ru/companies/onlinepa

    #разработка_игр #геймдев #геймдевелопмент #геймдев_обучение #чтение_книг #чтение_на_выходные

  10. Архитектурные компромиссы в разработке игр

    У меня есть книга, которая называется Game++ и несколько статей, где я разбирал какие паттерны применяются в играх и движках. В книге почти сто страниц отведено про эти самые паттерны и подробно рассказано какие они бывают, как выглядят в C++, где у них подводные камни и как их применять. Т.е. ровно те мелочи реализации, которые обычно интересно перечитать, когда вы в очередной раз решаете делать фабрику отдельным классом или попробовать обойтись std::function. Когда я её писал, мне казалось, что это будет очень полезный практический текст, и он таким и получился, и человек с опытом довольно быстро находит там нужное. Но если читать книгу целиком, а не эти отдельные главы, то хорошо видно, как я по неопытности и уверенности молодого автора в собственной правоте взял с места в карьер и сразу начал рассказывать про реализации, как будто читатель уже всё для себя решил и его интересует только синтаксис, предположив, что мы все тут делаем условный AAA-движок, в котором сериализация неизбежна, а скрипты обязательны. В результате получился классический случай, когда книжка отвечает на вопрос «как», но обходит вопрос «а собственно зачем», а без ответа на него все ответы про «как» оказываются либо случайно-полезными, либо системно-вредными, потому что человек берёт оттуда подход, переносит его в проекта или прикручивает к своей мини-игре и потом жалуется, что у него теперь полторы тысячи строк инфраструктуры на ту же мини-игру, а работает она ровно так же, как раньше, только медленнее. Если вам вдруг надоест читать эти 106 минут, там в конце есть TL;DR секция, где собрано краткое описание. Больше паттернов, богу паттернов

    habr.com/ru/articles/1037740/

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

  11. Архитектурные компромиссы в разработке игр

    У меня есть книга, которая называется Game++ и несколько статей, где я разбирал какие паттерны применяются в играх и движках. В книге почти сто страниц отведено про эти самые паттерны и подробно рассказано какие они бывают, как выглядят в C++, где у них подводные камни и как их применять. Т.е. ровно те мелочи реализации, которые обычно интересно перечитать, когда вы в очередной раз решаете делать фабрику отдельным классом или попробовать обойтись std::function. Когда я её писал, мне казалось, что это будет очень полезный практический текст, и он таким и получился, и человек с опытом довольно быстро находит там нужное. Но если читать книгу целиком, а не эти отдельные главы, то хорошо видно, как я по неопытности и уверенности молодого автора в собственной правоте взял с места в карьер и сразу начал рассказывать про реализации, как будто читатель уже всё для себя решил и его интересует только синтаксис, предположив, что мы все тут делаем условный AAA-движок, в котором сериализация неизбежна, а скрипты обязательны. В результате получился классический случай, когда книжка отвечает на вопрос «как», но обходит вопрос «а собственно зачем», а без ответа на него все ответы про «как» оказываются либо случайно-полезными, либо системно-вредными, потому что человек берёт оттуда подход, переносит его в проекта или прикручивает к своей мини-игре и потом жалуется, что у него теперь полторы тысячи строк инфраструктуры на ту же мини-игру, а работает она ровно так же, как раньше, только медленнее. Если вам вдруг надоест читать эти 106 минут, там в конце есть TL;DR секция, где собрано краткое описание. Больше паттернов, богу паттернов

    habr.com/ru/articles/1037740/

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

  12. Архитектурные компромиссы в разработке игр

    У меня есть книга, которая называется Game++ и несколько статей, где я разбирал какие паттерны применяются в играх и движках. В книге почти сто страниц отведено про эти самые паттерны и подробно рассказано какие они бывают, как выглядят в C++, где у них подводные камни и как их применять. Т.е. ровно те мелочи реализации, которые обычно интересно перечитать, когда вы в очередной раз решаете делать фабрику отдельным классом или попробовать обойтись std::function. Когда я её писал, мне казалось, что это будет очень полезный практический текст, и он таким и получился, и человек с опытом довольно быстро находит там нужное. Но если читать книгу целиком, а не эти отдельные главы, то хорошо видно, как я по неопытности и уверенности молодого автора в собственной правоте взял с места в карьер и сразу начал рассказывать про реализации, как будто читатель уже всё для себя решил и его интересует только синтаксис, предположив, что мы все тут делаем условный AAA-движок, в котором сериализация неизбежна, а скрипты обязательны. В результате получился классический случай, когда книжка отвечает на вопрос «как», но обходит вопрос «а собственно зачем», а без ответа на него все ответы про «как» оказываются либо случайно-полезными, либо системно-вредными, потому что человек берёт оттуда подход, переносит его в проекта или прикручивает к своей мини-игре и потом жалуется, что у него теперь полторы тысячи строк инфраструктуры на ту же мини-игру, а работает она ровно так же, как раньше, только медленнее. Если вам вдруг надоест читать эти 106 минут, там в конце есть TL;DR секция, где собрано краткое описание. Больше паттернов, богу паттернов

    habr.com/ru/articles/1037740/

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

  13. Архитектурные компромиссы в разработке игр

    У меня есть книга, которая называется Game++ и несколько статей, где я разбирал какие паттерны применяются в играх и движках. В книге почти сто страниц отведено про эти самые паттерны и подробно рассказано какие они бывают, как выглядят в C++, где у них подводные камни и как их применять. Т.е. ровно те мелочи реализации, которые обычно интересно перечитать, когда вы в очередной раз решаете делать фабрику отдельным классом или попробовать обойтись std::function. Когда я её писал, мне казалось, что это будет очень полезный практический текст, и он таким и получился, и человек с опытом довольно быстро находит там нужное. Но если читать книгу целиком, а не эти отдельные главы, то хорошо видно, как я по неопытности и уверенности молодого автора в собственной правоте взял с места в карьер и сразу начал рассказывать про реализации, как будто читатель уже всё для себя решил и его интересует только синтаксис, предположив, что мы все тут делаем условный AAA-движок, в котором сериализация неизбежна, а скрипты обязательны. В результате получился классический случай, когда книжка отвечает на вопрос «как», но обходит вопрос «а собственно зачем», а без ответа на него все ответы про «как» оказываются либо случайно-полезными, либо системно-вредными, потому что человек берёт оттуда подход, переносит его в проекта или прикручивает к своей мини-игре и потом жалуется, что у него теперь полторы тысячи строк инфраструктуры на ту же мини-игру, а работает она ровно так же, как раньше, только медленнее. Если вам вдруг надоест читать эти 106 минут, там в конце есть TL;DR секция, где собрано краткое описание. Больше паттернов, богу паттернов

    habr.com/ru/articles/1037740/

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

  14. Превратили настолку в цифровую игру на ̶U̶n̶i̶t̶y̶ Godot

    Ambush! — быстрая дуэльная игра о боевых построениях и захвате фишек противника. Когда-то один из членов нашей команды создал настольную версию этой игры, а в рамках студенческого проекта в ФИИТ мы решили превратить её в полноценную компьютерную с мультиплеером. Рассказываем, почему выбрали не Unity, а Godot, что учились делать впервые без опыта и с какими проблемами столкнулись.

    habr.com/ru/companies/skbkontu

    #разработка_игр #godot #игра_своими_руками #геймдизайн #ui #steam_api

  15. Превратили настолку в цифровую игру на ̶U̶n̶i̶t̶y̶ Godot

    Ambush! — быстрая дуэльная игра о боевых построениях и захвате фишек противника. Когда-то один из членов нашей команды создал настольную версию этой игры, а в рамках студенческого проекта в ФИИТ мы решили превратить её в полноценную компьютерную с мультиплеером. Рассказываем, почему выбрали не Unity, а Godot, что учились делать впервые без опыта и с какими проблемами столкнулись.

    habr.com/ru/companies/skbkontu

    #разработка_игр #godot #игра_своими_руками #геймдизайн #ui #steam_api

  16. Превратили настолку в цифровую игру на ̶U̶n̶i̶t̶y̶ Godot

    Ambush! — быстрая дуэльная игра о боевых построениях и захвате фишек противника. Когда-то один из членов нашей команды создал настольную версию этой игры, а в рамках студенческого проекта в ФИИТ мы решили превратить её в полноценную компьютерную с мультиплеером. Рассказываем, почему выбрали не Unity, а Godot, что учились делать впервые без опыта и с какими проблемами столкнулись.

    habr.com/ru/companies/skbkontu

    #разработка_игр #godot #игра_своими_руками #геймдизайн #ui #steam_api

  17. Превратили настолку в цифровую игру на ̶U̶n̶i̶t̶y̶ Godot

    Ambush! — быстрая дуэльная игра о боевых построениях и захвате фишек противника. Когда-то один из членов нашей команды создал настольную версию этой игры, а в рамках студенческого проекта в ФИИТ мы решили превратить её в полноценную компьютерную с мультиплеером. Рассказываем, почему выбрали не Unity, а Godot, что учились делать впервые без опыта и с какими проблемами столкнулись.

    habr.com/ru/companies/skbkontu

    #разработка_игр #godot #игра_своими_руками #геймдизайн #ui #steam_api

  18. Трое в лодке, нищета и собаки (с)

    Недавно я был на отраслевой конференции, где встретил пару знакомых, с которыми начинал ещё в питерских студиях. В отличие от меня, который всегда работал на «дядю», они в какой-то момент выбрали тернистый путь создания инди, своих студий и (судя по тому, как они заказывали напитки) этот путь оказался значительно тернистее, чем выглядел десять лет назад. Хотя глаза у них горели ровно так же, как тогда. Что тогда, что сейчас эти горящие глаза одновременно вызывали и зависть, и лёгкое подозрение, что они просто не успели ещё по-настоящему устать. Потом мы разговорились. Пусть будет Костя, с которым мы когда-то делали "симсов", уже год пилит гачу для очередных китайцев, чтобы платить зарплаты своим ребятам. А пусть будет Лёша, держит студию из четырёх человек и занимается код-ревью аишных коммитов, но теперь уже для индийских ребят, только тех, которые в солнечной Калифорнии, а не в прекрасном Дели. Тут я вспоминаю своё четвертьвековое легаси, и когда мне говорят, что искусственный интеллект скоро заменит программистов, тихо радуюсь: после стольких лет разработки большинство систем там устроено настолько коряво, что любая нейросеть сжирает все токены, просто пытаясь осмыслить, куда она попала. А значит, как минимум до конца поддержки игры у меня будут задачи. Про запиливание гач и работу на китайцев инди-студии не очень любят рассказывать вслух, потому как ломается стереотип «свободных и независимых», особенно на отраслевых мероприятиях, где все ходят с одинаковыми бейджами и одинаково уверенными лицами. В целом попасть в инди относительно несложно, а вот прожить в нём дольше, чем длится цикл разработки одного среднего проекта, оказывается задачей со звёздочкой.

    habr.com/ru/articles/1034678/

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

  19. Трое в лодке, нищета и собаки (с)

    Недавно я был на отраслевой конференции, где встретил пару знакомых, с которыми начинал ещё в питерских студиях. В отличие от меня, который всегда работал на «дядю», они в какой-то момент выбрали тернистый путь создания инди, своих студий и (судя по тому, как они заказывали напитки) этот путь оказался значительно тернистее, чем выглядел десять лет назад. Хотя глаза у них горели ровно так же, как тогда. Что тогда, что сейчас эти горящие глаза одновременно вызывали и зависть, и лёгкое подозрение, что они просто не успели ещё по-настоящему устать. Потом мы разговорились. Пусть будет Костя, с которым мы когда-то делали "симсов", уже год пилит гачу для очередных китайцев, чтобы платить зарплаты своим ребятам. А пусть будет Лёша, держит студию из четырёх человек и занимается код-ревью аишных коммитов, но теперь уже для индийских ребят, только тех, которые в солнечной Калифорнии, а не в прекрасном Дели. Тут я вспоминаю своё четвертьвековое легаси, и когда мне говорят, что искусственный интеллект скоро заменит программистов, тихо радуюсь: после стольких лет разработки большинство систем там устроено настолько коряво, что любая нейросеть сжирает все токены, просто пытаясь осмыслить, куда она попала. А значит, как минимум до конца поддержки игры у меня будут задачи. Про запиливание гач и работу на китайцев инди-студии не очень любят рассказывать вслух, потому как ломается стереотип «свободных и независимых», особенно на отраслевых мероприятиях, где все ходят с одинаковыми бейджами и одинаково уверенными лицами. В целом попасть в инди относительно несложно, а вот прожить в нём дольше, чем длится цикл разработки одного среднего проекта, оказывается задачей со звёздочкой.

    habr.com/ru/articles/1034678/

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

  20. «Игру нельзя придумать на совещании»: как делают «Войну миров: Сибирь», сбор средств и команды в российском геймдеве

    Геймдев часто представляют как романтичную индустрию, где идея рождается на вдохновенном брейншторме, а дальше команда просто «делает игру мечты». В реальности всё сложнее: сценарий, прототипы, бюджет, пайплайны, десятки профессий, постоянная коммуникация и риски, которые невозможно посчитать в Excel до конца. Я, Александр, автор телеграм-канала « Shulepov Code », поговорил с Альбертом Жильцовым — автором телеграм-канала « После титров », креативным продюсером 1С Game Studios, работавшим над «Ил-2 Штурмовик», «Калибр», «Сказки Старой Руси» и сейчас создающим приключенческую RPG «Война миров: Сибирь» — о том, как на деле устроена индустрия: от идеи и инвестиций до найма, зарплат, нейросетей, сроков, кризисов и того, почему большая игра — это не «трейлер с красивой картинкой», а сложнейшее производство.

    habr.com/ru/articles/1036318/

    #геймдев #разработка_игр #Война_миров_Сибирь #Альберт_Жильцов #1С_Game_Studios #инвестиции_в_игры #зарплаты_в_геймдеве #команда_разработки

  21. Недельный геймдев: #278 — 17 мая, 2026

    Из новостей : продажи Subnautica 2 достигли двух миллионов копий, авторы Indika привлекли 5 миллионов долларов, Windrose продалась тиражом в 2 миллиона копий, продажи Mouse: P.I. for Hire превысили 730к копий. Из интересностей: как выбрать движок для своей игры, документалка об оригинальной версии Uncharted 4, как Rockstar удалось уместить целый город в память PlayStation 2, почему Unreal доминирует.

    habr.com/ru/articles/1036270/

    #разработка_игр #новости #дайджест #gamedevnews #gamedev #news #digest

  22. Недельный геймдев: #278 — 17 мая, 2026

    Из новостей : продажи Subnautica 2 достигли двух миллионов копий, авторы Indika привлекли 5 миллионов долларов, Windrose продалась тиражом в 2 миллиона копий, продажи Mouse: P.I. for Hire превысили 730к копий. Из интересностей: как выбрать движок для своей игры, документалка об оригинальной версии Uncharted 4, как Rockstar удалось уместить целый город в память PlayStation 2, почему Unreal доминирует.

    habr.com/ru/articles/1036270/

    #разработка_игр #новости #дайджест #gamedevnews #gamedev #news #digest

  23. Недельный геймдев: #278 — 17 мая, 2026

    Из новостей : продажи Subnautica 2 достигли двух миллионов копий, авторы Indika привлекли 5 миллионов долларов, Windrose продалась тиражом в 2 миллиона копий, продажи Mouse: P.I. for Hire превысили 730к копий. Из интересностей: как выбрать движок для своей игры, документалка об оригинальной версии Uncharted 4, как Rockstar удалось уместить целый город в память PlayStation 2, почему Unreal доминирует.

    habr.com/ru/articles/1036270/

    #разработка_игр #новости #дайджест #gamedevnews #gamedev #news #digest

  24. Недельный геймдев: #278 — 17 мая, 2026

    Из новостей : продажи Subnautica 2 достигли двух миллионов копий, авторы Indika привлекли 5 миллионов долларов, Windrose продалась тиражом в 2 миллиона копий, продажи Mouse: P.I. for Hire превысили 730к копий. Из интересностей: как выбрать движок для своей игры, документалка об оригинальной версии Uncharted 4, как Rockstar удалось уместить целый город в память PlayStation 2, почему Unreal доминирует.

    habr.com/ru/articles/1036270/

    #разработка_игр #новости #дайджест #gamedevnews #gamedev #news #digest

  25. «Дешевая» желтая ретро-консоль: как собрать почти полноценную игровую приставку своими руками

    Возможно, вы слышали про дешёвый жёлтый дисплей, он же CYD (Cheap Yellow Display). Если нет, то это плата с ESP32, с дисплеем, жёлтая и, сюрприз, дешёвая. У платы достаточно активное сообщество, хотя готовых проектов не так уж много. Но на Instructables мне встретился один, который использует эту плату для создания ретро-консоли. При этом она получилась приятной на вид и рекомендуется самим сайтом (то есть имеет метку featured). Поэтому я сразу захотел собрать её. В данной статье расскажу о процессе создания этой консоли полностью в домашних условиях, который не обошёлся без небольшой и, как оказалось, простой головоломки. Покажу, как она работает, и расскажу, сколько действительно она стоит. Если вы размышляли, что бы такое собрать самому, то, возможно, вам будет интересно почитать про данный проект.

    habr.com/ru/companies/timeweb/

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

  26. «Дешевая» желтая ретро-консоль: как собрать почти полноценную игровую приставку своими руками

    Возможно, вы слышали про дешёвый жёлтый дисплей, он же CYD (Cheap Yellow Display). Если нет, то это плата с ESP32, с дисплеем, жёлтая и, сюрприз, дешёвая. У платы достаточно активное сообщество, хотя готовых проектов не так уж много. Но на Instructables мне встретился один, который использует эту плату для создания ретро-консоли. При этом она получилась приятной на вид и рекомендуется самим сайтом (то есть имеет метку featured). Поэтому я сразу захотел собрать её. В данной статье расскажу о процессе создания этой консоли полностью в домашних условиях, который не обошёлся без небольшой и, как оказалось, простой головоломки. Покажу, как она работает, и расскажу, сколько действительно она стоит. Если вы размышляли, что бы такое собрать самому, то, возможно, вам будет интересно почитать про данный проект.

    habr.com/ru/companies/timeweb/

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

  27. «Дешевая» желтая ретро-консоль: как собрать почти полноценную игровую приставку своими руками

    Возможно, вы слышали про дешёвый жёлтый дисплей, он же CYD (Cheap Yellow Display). Если нет, то это плата с ESP32, с дисплеем, жёлтая и, сюрприз, дешёвая. У платы достаточно активное сообщество, хотя готовых проектов не так уж много. Но на Instructables мне встретился один, который использует эту плату для создания ретро-консоли. При этом она получилась приятной на вид и рекомендуется самим сайтом (то есть имеет метку featured). Поэтому я сразу захотел собрать её. В данной статье расскажу о процессе создания этой консоли полностью в домашних условиях, который не обошёлся без небольшой и, как оказалось, простой головоломки. Покажу, как она работает, и расскажу, сколько действительно она стоит. Если вы размышляли, что бы такое собрать самому, то, возможно, вам будет интересно почитать про данный проект.

    habr.com/ru/companies/timeweb/

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

  28. «Дешевая» желтая ретро-консоль: как собрать почти полноценную игровую приставку своими руками

    Возможно, вы слышали про дешёвый жёлтый дисплей, он же CYD (Cheap Yellow Display). Если нет, то это плата с ESP32, с дисплеем, жёлтая и, сюрприз, дешёвая. У платы достаточно активное сообщество, хотя готовых проектов не так уж много. Но на Instructables мне встретился один, который использует эту плату для создания ретро-консоли. При этом она получилась приятной на вид и рекомендуется самим сайтом (то есть имеет метку featured). Поэтому я сразу захотел собрать её. В данной статье расскажу о процессе создания этой консоли полностью в домашних условиях, который не обошёлся без небольшой и, как оказалось, простой головоломки. Покажу, как она работает, и расскажу, сколько действительно она стоит. Если вы размышляли, что бы такое собрать самому, то, возможно, вам будет интересно почитать про данный проект.

    habr.com/ru/companies/timeweb/

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

  29. В Москве пройдет большая конференция для игровых разработчиков

    Организация развития видеоигровой индустрии (РВИ) вместе с Агентством креативных индустрий города Москвы проведет ежегодную B2B-конференцию для участников видеоигрового рынка России. В этом году главной темой события станут технологии, применяемые в разработке и то, как они выходят за пределы геймдева. Заготовили 7 сессий , на которых поговорим о движках , графике , применении ИИ в разработке, онлайн-инфраструктуре и интеграции видеоигровых технологий в другие сферы. Конференция состоится 22 мая по адресу Вознесенский переулок, 22 . Мероприятие бесплатное – зарегистрироваться или подать заявку на участие в обсуждении в качестве спикера можно на сайте .

    habr.com/ru/companies/miip/art

    #геймдев #разработка_игр #индиразработка #конференция_для_разработчиков_игр #мероприятия_для_разработчиков #оптимизация_игр #геймификация #игровые_движки #регулирование_игр #нарративный_дизайн

  30. В Москве пройдет большая конференция для игровых разработчиков

    Организация развития видеоигровой индустрии (РВИ) вместе с Агентством креативных индустрий города Москвы проведет ежегодную B2B-конференцию для участников видеоигрового рынка России. В этом году главной темой события станут технологии, применяемые в разработке и то, как они выходят за пределы геймдева. Заготовили 7 сессий , на которых поговорим о движках , графике , применении ИИ в разработке, онлайн-инфраструктуре и интеграции видеоигровых технологий в другие сферы. Конференция состоится 22 мая по адресу Вознесенский переулок, 22 . Мероприятие бесплатное – зарегистрироваться или подать заявку на участие в обсуждении в качестве спикера можно на сайте .

    habr.com/ru/companies/miip/art

    #геймдев #разработка_игр #индиразработка #конференция_для_разработчиков_игр #мероприятия_для_разработчиков #оптимизация_игр #геймификация #игровые_движки #регулирование_игр #нарративный_дизайн

  31. В Москве пройдет большая конференция для игровых разработчиков

    Организация развития видеоигровой индустрии (РВИ) вместе с Агентством креативных индустрий города Москвы проведет ежегодную B2B-конференцию для участников видеоигрового рынка России. В этом году главной темой события станут технологии, применяемые в разработке и то, как они выходят за пределы геймдева. Заготовили 7 сессий , на которых поговорим о движках , графике , применении ИИ в разработке, онлайн-инфраструктуре и интеграции видеоигровых технологий в другие сферы. Конференция состоится 22 мая по адресу Вознесенский переулок, 22 . Мероприятие бесплатное – зарегистрироваться или подать заявку на участие в обсуждении в качестве спикера можно на сайте .

    habr.com/ru/companies/miip/art

    #геймдев #разработка_игр #индиразработка #конференция_для_разработчиков_игр #мероприятия_для_разработчиков #оптимизация_игр #геймификация #игровые_движки #регулирование_игр #нарративный_дизайн

  32. В Москве пройдет большая конференция для игровых разработчиков

    Организация развития видеоигровой индустрии (РВИ) вместе с Агентством креативных индустрий города Москвы проведет ежегодную B2B-конференцию для участников видеоигрового рынка России. В этом году главной темой события станут технологии, применяемые в разработке и то, как они выходят за пределы геймдева. Заготовили 7 сессий , на которых поговорим о движках , графике , применении ИИ в разработке, онлайн-инфраструктуре и интеграции видеоигровых технологий в другие сферы. Конференция состоится 22 мая по адресу Вознесенский переулок, 22 . Мероприятие бесплатное – зарегистрироваться или подать заявку на участие в обсуждении в качестве спикера можно на сайте .

    habr.com/ru/companies/miip/art

    #геймдев #разработка_игр #индиразработка #конференция_для_разработчиков_игр #мероприятия_для_разработчиков #оптимизация_игр #геймификация #игровые_движки #регулирование_игр #нарративный_дизайн

  33. Про 10x программистов

    Есть такая старая и немного протухшая дискуссия про 10x программистов. То ли они существуют, то ли это миф стартаперов, то ли это просто мечтания менеджеров про «давайте наймем одного волшебника вместо команды». В презентациях, постах и разговорах эта тема всплывала регулярно, обычно где-то рядом с «нам нужны сильные люди», «у нас маленькая команда» и «дедлайн вчера», а уж на фоне AI-агентов, так и вовсе расцвела опять буйным цветом. Меня в этой теме всегда смущало, что под 10x часто пытаются запихнуть вообще всё: скорость написания кода, умение чинить баги, знание проекта, способность не делать больно проекту, опыт коммуникации с менеджментом, архитектурный вкус и опытный опыт, готовность сидеть ночью и баф на везение. А потом из этого делают красивую легенду про человека, который работает в десять раз быстрее остальных. Мечты ПМа, это все же мечты, а в реальной жизни всё скучнее и интереснее одновременно. Я видел людей, которые действительно делали задачи сильно быстрее других. Видел в open-source, видел в игровых проектах, видел на старом коде, видел в маленьких библиотеках. Но почти всегда причина была не в том, что человек родился с коэффициентом x10 и бафом на скорость набирания буковок, а в том, что за его скоростью стоял какой-то накопленный капитал, вроде знания проекта, инструмента, узкой экспертизы или годов ковыряния в похожих задачах.

    habr.com/ru/articles/1032574/

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

  34. Про 10x программистов

    Есть такая старая и немного протухшая дискуссия про 10x программистов. То ли они существуют, то ли это миф стартаперов, то ли это просто мечтания менеджеров про «давайте наймем одного волшебника вместо команды». В презентациях, постах и разговорах эта тема всплывала регулярно, обычно где-то рядом с «нам нужны сильные люди», «у нас маленькая команда» и «дедлайн вчера», а уж на фоне AI-агентов, так и вовсе расцвела опять буйным цветом. Меня в этой теме всегда смущало, что под 10x часто пытаются запихнуть вообще всё: скорость написания кода, умение чинить баги, знание проекта, способность не делать больно проекту, опыт коммуникации с менеджментом, архитектурный вкус и опытный опыт, готовность сидеть ночью и баф на везение. А потом из этого делают красивую легенду про человека, который работает в десять раз быстрее остальных. Мечты ПМа, это все же мечты, а в реальной жизни всё скучнее и интереснее одновременно. Я видел людей, которые действительно делали задачи сильно быстрее других. Видел в open-source, видел в игровых проектах, видел на старом коде, видел в маленьких библиотеках. Но почти всегда причина была не в том, что человек родился с коэффициентом x10 и бафом на скорость набирания буковок, а в том, что за его скоростью стоял какой-то накопленный капитал, вроде знания проекта, инструмента, узкой экспертизы или годов ковыряния в похожих задачах.

    habr.com/ru/articles/1032574/

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

  35. Про 10x программистов

    Есть такая старая и немного протухшая дискуссия про 10x программистов. То ли они существуют, то ли это миф стартаперов, то ли это просто мечтания менеджеров про «давайте наймем одного волшебника вместо команды». В презентациях, постах и разговорах эта тема всплывала регулярно, обычно где-то рядом с «нам нужны сильные люди», «у нас маленькая команда» и «дедлайн вчера», а уж на фоне AI-агентов, так и вовсе расцвела опять буйным цветом. Меня в этой теме всегда смущало, что под 10x часто пытаются запихнуть вообще всё: скорость написания кода, умение чинить баги, знание проекта, способность не делать больно проекту, опыт коммуникации с менеджментом, архитектурный вкус и опытный опыт, готовность сидеть ночью и баф на везение. А потом из этого делают красивую легенду про человека, который работает в десять раз быстрее остальных. Мечты ПМа, это все же мечты, а в реальной жизни всё скучнее и интереснее одновременно. Я видел людей, которые действительно делали задачи сильно быстрее других. Видел в open-source, видел в игровых проектах, видел на старом коде, видел в маленьких библиотеках. Но почти всегда причина была не в том, что человек родился с коэффициентом x10 и бафом на скорость набирания буковок, а в том, что за его скоростью стоял какой-то накопленный капитал, вроде знания проекта, инструмента, узкой экспертизы или годов ковыряния в похожих задачах.

    habr.com/ru/articles/1032574/

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

  36. Про 10x программистов

    Есть такая старая и немного протухшая дискуссия про 10x программистов. То ли они существуют, то ли это миф стартаперов, то ли это просто мечтания менеджеров про «давайте наймем одного волшебника вместо команды». В презентациях, постах и разговорах эта тема всплывала регулярно, обычно где-то рядом с «нам нужны сильные люди», «у нас маленькая команда» и «дедлайн вчера», а уж на фоне AI-агентов, так и вовсе расцвела опять буйным цветом. Меня в этой теме всегда смущало, что под 10x часто пытаются запихнуть вообще всё: скорость написания кода, умение чинить баги, знание проекта, способность не делать больно проекту, опыт коммуникации с менеджментом, архитектурный вкус и опытный опыт, готовность сидеть ночью и баф на везение. А потом из этого делают красивую легенду про человека, который работает в десять раз быстрее остальных. Мечты ПМа, это все же мечты, а в реальной жизни всё скучнее и интереснее одновременно. Я видел людей, которые действительно делали задачи сильно быстрее других. Видел в open-source, видел в игровых проектах, видел на старом коде, видел в маленьких библиотеках. Но почти всегда причина была не в том, что человек родился с коэффициентом x10 и бафом на скорость набирания буковок, а в том, что за его скоростью стоял какой-то накопленный капитал, вроде знания проекта, инструмента, узкой экспертизы или годов ковыряния в похожих задачах.

    habr.com/ru/articles/1032574/

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

  37. Как работают с памятью в игровых консолях

    Самая продаваемая консоль поколения имела худшую архитектуру памяти, самая технически грамотная продалась хуже всех, а самая простая в разработке принадлежала компании которая никогда раньше не делала консолей. Вы наверное узнали тут PS2, GameCube и Xbox. Иногда шутят, что когда разработчик переносил игру с Xbox на PS2, то первое что он делал это выбрасывал систему управления памятью и писал новую с нуля, потому что 32Мб плюс 4Мб плюс 2Мб не помещается в 64Мб. Для чтения этой статьи вам не потребуется знать ассемблер или работать с конкретными SDK. Достаточно понимать, что такое указатель, чем стек отличается от кучи и что рендерить геометрию параллельно с её обновлением плохая идея, и что классические GPU и CPU паттерны работы по-разному нагружают память. Там, где в тексте встречается псевдокод, он нужен для иллюстрации концепции, а не как готовый код для компиляции. Я уже подзабыл конкретные константы и названия буферов на каждой платформе, но паттерн работы всегда был примерно одинаковый.

    habr.com/ru/articles/1033736/

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

  38. Как работают с памятью в игровых консолях

    Самая продаваемая консоль поколения имела худшую архитектуру памяти, самая технически грамотная продалась хуже всех, а самая простая в разработке принадлежала компании которая никогда раньше не делала консолей. Вы наверное узнали тут PS2, GameCube и Xbox. Иногда шутят, что когда разработчик переносил игру с Xbox на PS2, то первое что он делал это выбрасывал систему управления памятью и писал новую с нуля, потому что 32Мб плюс 4Мб плюс 2Мб не помещается в 64Мб. Для чтения этой статьи вам не потребуется знать ассемблер или работать с конкретными SDK. Достаточно понимать, что такое указатель, чем стек отличается от кучи и что рендерить геометрию параллельно с её обновлением плохая идея, и что классические GPU и CPU паттерны работы по-разному нагружают память. Там, где в тексте встречается псевдокод, он нужен для иллюстрации концепции, а не как готовый код для компиляции. Я уже подзабыл конкретные константы и названия буферов на каждой платформе, но паттерн работы всегда был примерно одинаковый.

    habr.com/ru/articles/1033736/

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

  39. Как работают с памятью в игровых консолях

    Самая продаваемая консоль поколения имела худшую архитектуру памяти, самая технически грамотная продалась хуже всех, а самая простая в разработке принадлежала компании которая никогда раньше не делала консолей. Вы наверное узнали тут PS2, GameCube и Xbox. Иногда шутят, что когда разработчик переносил игру с Xbox на PS2, то первое что он делал это выбрасывал систему управления памятью и писал новую с нуля, потому что 32Мб плюс 4Мб плюс 2Мб не помещается в 64Мб. Для чтения этой статьи вам не потребуется знать ассемблер или работать с конкретными SDK. Достаточно понимать, что такое указатель, чем стек отличается от кучи и что рендерить геометрию параллельно с её обновлением плохая идея, и что классические GPU и CPU паттерны работы по-разному нагружают память. Там, где в тексте встречается псевдокод, он нужен для иллюстрации концепции, а не как готовый код для компиляции. Я уже подзабыл конкретные константы и названия буферов на каждой платформе, но паттерн работы всегда был примерно одинаковый.

    habr.com/ru/articles/1033736/

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

  40. Как работают с памятью в игровых консолях

    Самая продаваемая консоль поколения имела худшую архитектуру памяти, самая технически грамотная продалась хуже всех, а самая простая в разработке принадлежала компании которая никогда раньше не делала консолей. Вы наверное узнали тут PS2, GameCube и Xbox. Иногда шутят, что когда разработчик переносил игру с Xbox на PS2, то первое что он делал это выбрасывал систему управления памятью и писал новую с нуля, потому что 32Мб плюс 4Мб плюс 2Мб не помещается в 64Мб. Для чтения этой статьи вам не потребуется знать ассемблер или работать с конкретными SDK. Достаточно понимать, что такое указатель, чем стек отличается от кучи и что рендерить геометрию параллельно с её обновлением плохая идея, и что классические GPU и CPU паттерны работы по-разному нагружают память. Там, где в тексте встречается псевдокод, он нужен для иллюстрации концепции, а не как готовый код для компиляции. Я уже подзабыл конкретные константы и названия буферов на каждой платформе, но паттерн работы всегда был примерно одинаковый.

    habr.com/ru/articles/1033736/

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

  41. Недельный геймдев: #277 — 10 мая, 2026

    Из новостей : продажи Pragmata достигли 2 миллионов копий, продажи Olden Era достигли 500к копий, Unity AI Beta, Atari приобрела права на первые пять частей классической серии Wizardry. Из интересностей: как подписать игру с издателем, 400 дней ежедневно разрабатывать свою игру, имитация 3D-персонажей в 2D-движке, ключевые показатели для успеха инди-разработчика в Steam.

    habr.com/ru/articles/1033680/

    #разработка_игр #новости #дайдждест #gamedev #gamedevnews #news #digest

  42. Недельный геймдев: #277 — 10 мая, 2026

    Из новостей : продажи Pragmata достигли 2 миллионов копий, продажи Olden Era достигли 500к копий, Unity AI Beta, Atari приобрела права на первые пять частей классической серии Wizardry. Из интересностей: как подписать игру с издателем, 400 дней ежедневно разрабатывать свою игру, имитация 3D-персонажей в 2D-движке, ключевые показатели для успеха инди-разработчика в Steam.

    habr.com/ru/articles/1033680/

    #разработка_игр #новости #дайдждест #gamedev #gamedevnews #news #digest

  43. Недельный геймдев: #277 — 10 мая, 2026

    Из новостей : продажи Pragmata достигли 2 миллионов копий, продажи Olden Era достигли 500к копий, Unity AI Beta, Atari приобрела права на первые пять частей классической серии Wizardry. Из интересностей: как подписать игру с издателем, 400 дней ежедневно разрабатывать свою игру, имитация 3D-персонажей в 2D-движке, ключевые показатели для успеха инди-разработчика в Steam.

    habr.com/ru/articles/1033680/

    #разработка_игр #новости #дайдждест #gamedev #gamedevnews #news #digest

  44. Недельный геймдев: #277 — 10 мая, 2026

    Из новостей : продажи Pragmata достигли 2 миллионов копий, продажи Olden Era достигли 500к копий, Unity AI Beta, Atari приобрела права на первые пять частей классической серии Wizardry. Из интересностей: как подписать игру с издателем, 400 дней ежедневно разрабатывать свою игру, имитация 3D-персонажей в 2D-движке, ключевые показатели для успеха инди-разработчика в Steam.

    habr.com/ru/articles/1033680/

    #разработка_игр #новости #дайдждест #gamedev #gamedevnews #news #digest

  45. Рассказ про то, как я увеличил количество вишлистов моей игры в 2 раза за время фестиваля в Steam

    Хороший заголовок, да? Ведь так? Тем более в нём нет ни слова неправды. И очень оптимистичный. Правда, это всего-навсего чистейший кликбейт (правдивый, но искажающий суть заголовок), и на самом деле статья будет посвящена рассказу о том, как я всё про… фукал (другое слово точнее передавало бы суть) за время фестиваля в Steam. Но обо всём по порядку.

    habr.com/ru/articles/1033662/

    #tank_general #Разработка_игр #Индиигра #ККИ #карточная_игра #Танки #steam #продвижение_игры

  46. Рассказ про то, как я увеличил количество вишлистов моей игры в 2 раза за время фестиваля в Steam

    Хороший заголовок, да? Ведь так? Тем более в нём нет ни слова неправды. И очень оптимистичный. Правда, это всего-навсего чистейший кликбейт (правдивый, но искажающий суть заголовок), и на самом деле статья будет посвящена рассказу о том, как я всё про… фукал (другое слово точнее передавало бы суть) за время фестиваля в Steam. Но обо всём по порядку.

    habr.com/ru/articles/1033662/

    #tank_general #Разработка_игр #Индиигра #ККИ #карточная_игра #Танки #steam #продвижение_игры

  47. Рассказ про то, как я увеличил количество вишлистов моей игры в 2 раза за время фестиваля в Steam

    Хороший заголовок, да? Ведь так? Тем более в нём нет ни слова неправды. И очень оптимистичный. Правда, это всего-навсего чистейший кликбейт (правдивый, но искажающий суть заголовок), и на самом деле статья будет посвящена рассказу о том, как я всё про… фукал (другое слово точнее передавало бы суть) за время фестиваля в Steam. Но обо всём по порядку.

    habr.com/ru/articles/1033662/

    #tank_general #Разработка_игр #Индиигра #ККИ #карточная_игра #Танки #steam #продвижение_игры

  48. Рассказ про то, как я увеличил количество вишлистов моей игры в 2 раза за время фестиваля в Steam

    Хороший заголовок, да? Ведь так? Тем более в нём нет ни слова неправды. И очень оптимистичный. Правда, это всего-навсего чистейший кликбейт (правдивый, но искажающий суть заголовок), и на самом деле статья будет посвящена рассказу о том, как я всё про… фукал (другое слово точнее передавало бы суть) за время фестиваля в Steam. Но обо всём по порядку.

    habr.com/ru/articles/1033662/

    #tank_general #Разработка_игр #Индиигра #ККИ #карточная_игра #Танки #steam #продвижение_игры

  49. Как не перепутать мечту, портфолио и вторую работу

    У разработчиков игр есть довольно странная профессиональная болезнь, когда после рабочего дня, проведенного за тасками и кодом хочется открыть ноутбук и снова писать код, только уже «для себя». Большинство моих коллег по цеху, придя домой тратят 1+ часов чтобы: поделать свой движок или переписать/помодить/любимую/старую/новую/другую (нужное подчеркнуть) игру или собрать какую-нибудь библиотеку, или починить инструмент, который всех раздражает. Не знаю, может эта заразно и гуляет по студиям, а может это просто кусочек творческой атмосферы, который ты уносишь из офиса, и он некоторое время живет вне этого пространства. Часто бывает что маленький проект, который был на "пару вечеров" внезапно превращается в несколько лет жизни. Я много раз видел это снаружи и изнутри: СorsixTH , 0AD , Akhenaten , Cytopia , StoneKingdoms , (тут больше open-source-games) очень разные проекты (из тех куда я комитил), но все они хорошо показывают одну и ту же вещь, что пет-проект почти никогда не остаётся «просто маленькой штукой». Он либо умирает, либо начинает требовать от автора взрослого отношения и тянет за собой архитектуру, поддержку, документациу, общение с коллегами по цеху и теми кто просто играет, разбора багов, релизов и неприятных компромиссов. И главный вопрос тут не «как найти мотивацию», а точно ли тебе это нужно?

    habr.com/ru/articles/1032486/

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

  50. Как не перепутать мечту, портфолио и вторую работу

    У разработчиков игр есть довольно странная профессиональная болезнь, когда после рабочего дня, проведенного за тасками и кодом хочется открыть ноутбук и снова писать код, только уже «для себя». Большинство моих коллег по цеху, придя домой тратят 1+ часов чтобы: поделать свой движок или переписать/помодить/любимую/старую/новую/другую (нужное подчеркнуть) игру или собрать какую-нибудь библиотеку, или починить инструмент, который всех раздражает. Не знаю, может эта заразно и гуляет по студиям, а может это просто кусочек творческой атмосферы, который ты уносишь из офиса, и он некоторое время живет вне этого пространства. Часто бывает что маленький проект, который был на "пару вечеров" внезапно превращается в несколько лет жизни. Я много раз видел это снаружи и изнутри: СorsixTH , 0AD , Akhenaten , Cytopia , StoneKingdoms , (тут больше open-source-games) очень разные проекты (из тех куда я комитил), но все они хорошо показывают одну и ту же вещь, что пет-проект почти никогда не остаётся «просто маленькой штукой». Он либо умирает, либо начинает требовать от автора взрослого отношения и тянет за собой архитектуру, поддержку, документациу, общение с коллегами по цеху и теми кто просто играет, разбора багов, релизов и неприятных компромиссов. И главный вопрос тут не «как найти мотивацию», а точно ли тебе это нужно?

    habr.com/ru/articles/1032486/

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