The Operative: No One Lives Forever (2000)
Разработчик: Monolith Productions
Издатель: Fox Interactive / Sierra Entertainment / MacPlay
Платформа: Windows / Mac / PlayStation 2
У движка LithTech история долгая, хотя он и находится в тени более известных Quake и Unreal engine. Я особенно не рылся в исходника NOLF, но я подозреваю, что там есть лишь исходники самой игры, но не графического движка. И однозначно там не будет частей, связанных с работой на PlayStation 2.
А жаль – разработка для PS2 в наши дни должна выглядеть для программистов инопланетным делом, поскольку она гораздо сильнее подходила в методу ориентации на данные, чем это делают современные API.
Исходники: www.codersnotes.com/files/gamesrc/NOLFSource003.zip
#gamedev
👉 @game_devv
Разработчик: Monolith Productions
Издатель: Fox Interactive / Sierra Entertainment / MacPlay
Платформа: Windows / Mac / PlayStation 2
У движка LithTech история долгая, хотя он и находится в тени более известных Quake и Unreal engine. Я особенно не рылся в исходника NOLF, но я подозреваю, что там есть лишь исходники самой игры, но не графического движка. И однозначно там не будет частей, связанных с работой на PlayStation 2.
А жаль – разработка для PS2 в наши дни должна выглядеть для программистов инопланетным делом, поскольку она гораздо сильнее подходила в методу ориентации на данные, чем это делают современные API.
Исходники: www.codersnotes.com/files/gamesrc/NOLFSource003.zip
#gamedev
👉 @game_devv
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Abuse (1996)
Разработчик: Crack dot Com
Издатель: Electronic Arts / Origin Systems
Платформа: DOS / Linux / Mac
В игре было использовано несколько инноваций. Крутая система управления одновременно с мыши и клавиатуры. Динамическое освещение (неслыханная вещь для платформеров).
Но больше всего, как программисту, мне понравилась система «визуального Lisp». Вся игра заскриптована на языке, напоминающем Lisp. Поведение врагов можно изменять во время выполнения игры, а не просто включать в код.
Ещё одним интересным моментом стал способ, по которому события можно подключать во встроенном редакторе карт – визуально перетаскивать линии от выключателя к двери, или от ловушки к месту, где появляются враги. Присутствует возможность задавать логику И/ИЛИ в виде скрытых объектов на уровне. Такого я в других редакторах не встречал.
Коммерческого успеха игра не снискала и через два года исходники были опубликованы. Следующая игра от Crack Dot Com, Golgotha, была выпущена по принципу open-source, включая всю графику.
Abuse / Исходники: www.codersnotes.com/files/gamesrc/abuse_pd.tgz
Golgotha / Исходники: abuse.zoy.org/wiki/download
#gamedev
👉 @game_devv
Разработчик: Crack dot Com
Издатель: Electronic Arts / Origin Systems
Платформа: DOS / Linux / Mac
В игре было использовано несколько инноваций. Крутая система управления одновременно с мыши и клавиатуры. Динамическое освещение (неслыханная вещь для платформеров).
Но больше всего, как программисту, мне понравилась система «визуального Lisp». Вся игра заскриптована на языке, напоминающем Lisp. Поведение врагов можно изменять во время выполнения игры, а не просто включать в код.
Ещё одним интересным моментом стал способ, по которому события можно подключать во встроенном редакторе карт – визуально перетаскивать линии от выключателя к двери, или от ловушки к месту, где появляются враги. Присутствует возможность задавать логику И/ИЛИ в виде скрытых объектов на уровне. Такого я в других редакторах не встречал.
Коммерческого успеха игра не снискала и через два года исходники были опубликованы. Следующая игра от Crack Dot Com, Golgotha, была выпущена по принципу open-source, включая всю графику.
Abuse / Исходники: www.codersnotes.com/files/gamesrc/abuse_pd.tgz
Golgotha / Исходники: abuse.zoy.org/wiki/download
#gamedev
👉 @game_devv
👍9
Quake 1/2/3 (1996-1999)
Разработчик: id Software
Издатель: GT Interactive / Activision
Платформа: DOS / Windows / others
Code review: fabiensanglard.net (Quake 1)
Code review: fabiensanglard.net (Quake 3)
Тут писать особо нечего, вы и сами всё знаете. Знатная веха в создании полностью трёхмерных движков, без всяких хаков вроде 2.5D
Упомяну несколько интересных подробностей. Возможно, это первая коммерческая игра, скомпилированная компилятором с открытым исходным кодом (DJGPP for DOS, ранний порт gcc).
В игре был свой скриптовой язык “Quake C” (позже lcc у Quake 3). Он был встроен специально для того, чтобы игроки могли делать модификации. Это, вкупе с системой ресурсов PWAD, породило огромное сообщество моддеров.
В Quake 1 был инновационный механизм кэширования результатов шейдинга. Но после распространения 3D-ускорителей это потеряло смысл. Следующая игра от id, Rage, использовала эту же идею.
Кроме того, Quake был очень надёжным движком. Никаких глюков растра или обсчёта столкновений.
Quake / Исходники: github.com/id-Software/Quake
Quake 2 / Исходники: github.com/id-Software/Quake-2
Quake 3 / Исходники: github.com/id-Software/Quake-III-Arena
Разработчик: id Software
Издатель: GT Interactive / Activision
Платформа: DOS / Windows / others
Code review: fabiensanglard.net (Quake 1)
Code review: fabiensanglard.net (Quake 3)
Тут писать особо нечего, вы и сами всё знаете. Знатная веха в создании полностью трёхмерных движков, без всяких хаков вроде 2.5D
Упомяну несколько интересных подробностей. Возможно, это первая коммерческая игра, скомпилированная компилятором с открытым исходным кодом (DJGPP for DOS, ранний порт gcc).
В игре был свой скриптовой язык “Quake C” (позже lcc у Quake 3). Он был встроен специально для того, чтобы игроки могли делать модификации. Это, вкупе с системой ресурсов PWAD, породило огромное сообщество моддеров.
В Quake 1 был инновационный механизм кэширования результатов шейдинга. Но после распространения 3D-ускорителей это потеряло смысл. Следующая игра от id, Rage, использовала эту же идею.
Кроме того, Quake был очень надёжным движком. Никаких глюков растра или обсчёта столкновений.
Quake / Исходники: github.com/id-Software/Quake
Quake 2 / Исходники: github.com/id-Software/Quake-2
Quake 3 / Исходники: github.com/id-Software/Quake-III-Arena
👍10🥰2🔥1
Графика древности: легендарный Mode 7
Технологический переход в индустрии видеоигр, случившийся в середине 1990-х годов — от пиксельной графики игр прошлых лет к полигональной графике игр чуть менее прошлых лет — произошёл не одномоментно. Ему предшествовала эпоха экспериментов, когда разработчики придумывали разнообразные способы убедительной имитации трёхмерного изображения в рамках скромных вычислительных ресурсов.
Изометрический движок Filmation и силуэтная графика в Tau Ceti на ZX Spectrum, технология масштабирования спрайтов Super Scaler компании Sega, рейкастинг в Wolfenstein 3D, BSP-дерево в Doom, воксельный ландшафт в игре Comanche — эти времена породили множество любопытнейших технологий, каждая из которых достойна отдельного рассказа.
https://habr.com/ru/companies/ruvds/articles/767602/
#gamedev
👉 @game_devv
Технологический переход в индустрии видеоигр, случившийся в середине 1990-х годов — от пиксельной графики игр прошлых лет к полигональной графике игр чуть менее прошлых лет — произошёл не одномоментно. Ему предшествовала эпоха экспериментов, когда разработчики придумывали разнообразные способы убедительной имитации трёхмерного изображения в рамках скромных вычислительных ресурсов.
Изометрический движок Filmation и силуэтная графика в Tau Ceti на ZX Spectrum, технология масштабирования спрайтов Super Scaler компании Sega, рейкастинг в Wolfenstein 3D, BSP-дерево в Doom, воксельный ландшафт в игре Comanche — эти времена породили множество любопытнейших технологий, каждая из которых достойна отдельного рассказа.
https://habr.com/ru/companies/ruvds/articles/767602/
#gamedev
👉 @game_devv
👍5
10 принципов хорошего левел дизайна
04:23 1- Good level design is fun to navigate.
06:47 2- Good level design does not rely on words.
10:46 3- Good level design tells what to do but never how to do it.
13:35 4- Good level design constantly teaches.
16:06 5- Good level design is surprising.
21:07 6- Good level design empowers the player.
25:16 7- Good level design is easy, medium, and hard.
28:13 8- Good level design is efficient.
32:55 9- Good level design creates emotion.
37:26 10- Good level design is driven by mechanics.
41:50 Recap
https://www.youtube.com/watch?v=iNEe3KhMvXM
#gamedev
👉 @game_devv
04:23 1- Good level design is fun to navigate.
06:47 2- Good level design does not rely on words.
10:46 3- Good level design tells what to do but never how to do it.
13:35 4- Good level design constantly teaches.
16:06 5- Good level design is surprising.
21:07 6- Good level design empowers the player.
25:16 7- Good level design is easy, medium, and hard.
28:13 8- Good level design is efficient.
32:55 9- Good level design creates emotion.
37:26 10- Good level design is driven by mechanics.
41:50 Recap
https://www.youtube.com/watch?v=iNEe3KhMvXM
#gamedev
👉 @game_devv
YouTube
Ten Principles for Good Level Design
In this 2013 GDC session, Square Enix Montreal's Dan Taylor provides a Ramsian-style breakdown of how to create world-class levels, which distills the art and science of level design down to a concentrated set of fundamental principles for innovation, engagement…
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Левел-дизайн 101: язык разработки локаций
Мы рассмотрим исторические корни профессии дизайнера уровней, различные связанные с ней роли, поймем, какой вклад вносят дизайнеры уровней, и изложим некоторые основные подходы к дизайну уровней.
https://medium.com/my-games-company/level-design-101-the-language-of-location-development-6d940a01b949
#gamedev
👉 @game_devv
Мы рассмотрим исторические корни профессии дизайнера уровней, различные связанные с ней роли, поймем, какой вклад вносят дизайнеры уровней, и изложим некоторые основные подходы к дизайну уровней.
https://medium.com/my-games-company/level-design-101-the-language-of-location-development-6d940a01b949
#gamedev
👉 @game_devv
👍3
Набор мебели 3. Бесплатно.
Набор 1 и 2 по $79
Этот пакет активов представляет собой бесплатную версию программ "Мебель 1" и "Мебель 2".
Изучайте и тестируйте модели в необходимых вам программах.
Изучайте сетку модели, принципы текстурирования, оптимизацию модели и другие важные для вас вещи.
https://assetstore.unity.com/packages/3d/props/furniture/furniture-free-260522
#gamedev
👉 @game_devv
Набор 1 и 2 по $79
Этот пакет активов представляет собой бесплатную версию программ "Мебель 1" и "Мебель 2".
Изучайте и тестируйте модели в необходимых вам программах.
Изучайте сетку модели, принципы текстурирования, оптимизацию модели и другие важные для вас вещи.
https://assetstore.unity.com/packages/3d/props/furniture/furniture-free-260522
#gamedev
👉 @game_devv
👍6😁1
Media is too big
VIEW IN TELEGRAM
Движение в стиле Diablo в Unity с использованием NavMesh P2 - Прыжки
00:07 NavMesh Links
01:13 Manually adding Links to NavMesh
03:17 Implementing Spline
07:32 Connecting Spline with NavMesh Link
09:30 Testing Spline
11:15 Adding Jump to AgentMover noscript
18:12 Testing Jump movement
источник
#gamedev
👉 @game_devv
00:07 NavMesh Links
01:13 Manually adding Links to NavMesh
03:17 Implementing Spline
07:32 Connecting Spline with NavMesh Link
09:30 Testing Spline
11:15 Adding Jump to AgentMover noscript
18:12 Testing Jump movement
источник
#gamedev
👉 @game_devv
👍8
Media is too big
VIEW IN TELEGRAM
Телепортация - руководство по Unity
В этом руководстве по Unity мы добавим возможность телепортации в контроллер игрока от первого лица.
источник
#gamedev
👉 @game_devv
В этом руководстве по Unity мы добавим возможность телепортации в контроллер игрока от первого лица.
источник
#gamedev
👉 @game_devv
👍6
Media is too big
VIEW IN TELEGRAM
Как сделать Pong в Unity (полное руководство) 🏓💥
Научитесь создавать классическую двухмерную аркадную игру Pong в Unity. Pong - это аркадная видеоигра на тему настольного тенниса с простой двухмерной графикой, выпущенная компанией Atari в 1972 году. Это одна из самых ранних аркадных видеоигр. Она была создана Алланом Алкорном в качестве тренировочного упражнения по заданию соучредителя Atari Нолана Бушнелла, но Бушнелл и соучредитель Atari Тед Дабни были удивлены качеством работы Алкорна и решили выпустить игру. В основу концепции игры Бушнелл положил электронную игру пинг-понг, входящую в комплект поставки Magnavox Odyssey, первой домашней видеоигровой консоли.
0:00 - Introduction
0:57 - Project Creation
1:55 - Scene Setup
15:49 - Player Paddle
27:22 - Ball Movement
37:20 - Computer Paddle
48:26 - Increasing Speed
57:17 - Scoring
1:06:10 - UI & Cleanup
1:17:26 - Outro
источник
#gamedev
👉 @game_devv
Научитесь создавать классическую двухмерную аркадную игру Pong в Unity. Pong - это аркадная видеоигра на тему настольного тенниса с простой двухмерной графикой, выпущенная компанией Atari в 1972 году. Это одна из самых ранних аркадных видеоигр. Она была создана Алланом Алкорном в качестве тренировочного упражнения по заданию соучредителя Atari Нолана Бушнелла, но Бушнелл и соучредитель Atari Тед Дабни были удивлены качеством работы Алкорна и решили выпустить игру. В основу концепции игры Бушнелл положил электронную игру пинг-понг, входящую в комплект поставки Magnavox Odyssey, первой домашней видеоигровой консоли.
0:00 - Introduction
0:57 - Project Creation
1:55 - Scene Setup
15:49 - Player Paddle
27:22 - Ball Movement
37:20 - Computer Paddle
48:26 - Increasing Speed
57:17 - Scoring
1:06:10 - UI & Cleanup
1:17:26 - Outro
источник
#gamedev
👉 @game_devv
👍5❤1🔥1
Разбор решения Unity Junior тестового задания для Kefir - Очень хорошая задача
https://youtu.be/syvjmS-mflY
#gamedev
👉 @game_devv
https://youtu.be/syvjmS-mflY
#gamedev
👉 @game_devv
YouTube
Разбор решения Unity Junior тестового задания для Kefir - Очень хорошая задача
Для курса Напильник подготовил решение тестовой задачи но к сожалению меня сбрили. :)
Улучшу ваш код и подниму вашу зарплату в два раза - https://ijunior.ru/napilnik?utm_source=youtube&utm_medium=video&utm_campaign=denoscription&utm_content=kefir
Обучение…
Улучшу ваш код и подниму вашу зарплату в два раза - https://ijunior.ru/napilnik?utm_source=youtube&utm_medium=video&utm_campaign=denoscription&utm_content=kefir
Обучение…
💩7👍3
Media is too big
VIEW IN TELEGRAM
Подробный урок по Zenject в Unity. DI Container
00:00 ► Вступление
00:25 ► Что такое Zenject / Extenject
00:53 ► Разница между библиотекой и фреймворком
01:10 ► Какую проблему решает Zenject
01:41 ► Проблема Singleton'ов
02:41 ► Что делает Zenject / Extenject
03:12 ► SOLID. Принцип DI
03:23 ► Интерфейсы в C#. Разрываем жесткие зависимости
05:22 ► Возвращаемся к Zenject'у
05:52 ► Project Context
06:04 ► Scene Context
06:09 ► Как установить Zenject
06:41 ► Как создать Project Context
07:00 ► Что такое Bindings (регистрации по типу)
07:15 ► Как создать Scene Context
07:43 ► MonoInstaller
08:04 ► Container.Instantiate
08:35 ► Container.Bind
08:45 ► AsSingle
09:13 ► AsCached
09:17 ► AsTransient
09:27 ► NonLazy
09:33 ► Другие методы регистраций
09:59 ► Как зарегистрировать интерфейс
11:09 ► Последний шаг регистраций
11:21 ► Zenject Validate Scene
11:44 ► Как использовать биндинги в коде
13:04 ► Проблема Instantiate
13:22 ► Как разрешить зависимости Instantiate
14:22 ► Второй способ
14:47 ► Оператор объединения с null
15:42 ► Возвращаемся к Project Context
16:14 ► Итог
16:23 ► Когда нет необходимости в Zenject?
источник
#gamedev
👉 @game_devv
00:00 ► Вступление
00:25 ► Что такое Zenject / Extenject
00:53 ► Разница между библиотекой и фреймворком
01:10 ► Какую проблему решает Zenject
01:41 ► Проблема Singleton'ов
02:41 ► Что делает Zenject / Extenject
03:12 ► SOLID. Принцип DI
03:23 ► Интерфейсы в C#. Разрываем жесткие зависимости
05:22 ► Возвращаемся к Zenject'у
05:52 ► Project Context
06:04 ► Scene Context
06:09 ► Как установить Zenject
06:41 ► Как создать Project Context
07:00 ► Что такое Bindings (регистрации по типу)
07:15 ► Как создать Scene Context
07:43 ► MonoInstaller
08:04 ► Container.Instantiate
08:35 ► Container.Bind
08:45 ► AsSingle
09:13 ► AsCached
09:17 ► AsTransient
09:27 ► NonLazy
09:33 ► Другие методы регистраций
09:59 ► Как зарегистрировать интерфейс
11:09 ► Последний шаг регистраций
11:21 ► Zenject Validate Scene
11:44 ► Как использовать биндинги в коде
13:04 ► Проблема Instantiate
13:22 ► Как разрешить зависимости Instantiate
14:22 ► Второй способ
14:47 ► Оператор объединения с null
15:42 ► Возвращаемся к Project Context
16:14 ► Итог
16:23 ► Когда нет необходимости в Zenject?
источник
#gamedev
👉 @game_devv
👍4
Не Unity единым…
Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются гениями-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.
Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок захватил мир. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игра была сделана не на Unity, а на православном SDL?
https://habr.com/ru/articles/770244/
#gamedev
👉 @game_devv
Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются гениями-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.
Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок захватил мир. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игра была сделана не на Unity, а на православном SDL?
https://habr.com/ru/articles/770244/
#gamedev
👉 @game_devv
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
DOOMoji
Doom, который рендерится с помощью эмоджи
https://github.com/CrociDB/doomoji
https://crocidb.com/post/rendering-doom-with-emojis/
#gamedev
👉 @game_devv
Doom, который рендерится с помощью эмоджи
https://github.com/CrociDB/doomoji
https://crocidb.com/post/rendering-doom-with-emojis/
#gamedev
👉 @game_devv
👍7🤯3
В конце октября 2023 года произошло значимое событие в индустрии геймдева — исполнилось ровно 20 лет одной из самых известных франшиз в мире — Call of Duty 🔥
В связи с этим юбилеем, наш коллега решил собрать воедино всю доступную информацию о развитии серии и рассказать о студиях, которые принимали участие в разработке — в общем собрал этакий небольшой геймдев-альманах, охватывающий целых 44 года истории.
Телеграм канал подкаста:
Геймдев Разгон
Где послушать подкаст:
Apple Podcasts | Yandex Music | Spotify | Google Music | Amazon
В связи с этим юбилеем, наш коллега решил собрать воедино всю доступную информацию о развитии серии и рассказать о студиях, которые принимали участие в разработке — в общем собрал этакий небольшой геймдев-альманах, охватывающий целых 44 года истории.
Телеграм канал подкаста:
Геймдев Разгон
Где послушать подкаст:
Apple Podcasts | Yandex Music | Spotify | Google Music | Amazon
👍3🔥1💩1
Оптимизация Unity UI без кода
Ведущий UI/UX-художник Никита Кандыбин и технический UI-художник Ольга Кинчак из студии Banzai Games написали колонку, в которой поделились базовыми практиками по оптимизации Unity UI.
Практически во всех перечисленных ниже пунктах можно обойтись без кода, настраивая компоненты непосредственно в редакторе, а что-то даже предусматривая заранее на стадии проектирования макетов интерфейса.
https://dtf.ru/gamedev/84298-optimizaciya-unity-ui-bez-koda
#gamedev
👉 @game_devv
Ведущий UI/UX-художник Никита Кандыбин и технический UI-художник Ольга Кинчак из студии Banzai Games написали колонку, в которой поделились базовыми практиками по оптимизации Unity UI.
Практически во всех перечисленных ниже пунктах можно обойтись без кода, настраивая компоненты непосредственно в редакторе, а что-то даже предусматривая заранее на стадии проектирования макетов интерфейса.
https://dtf.ru/gamedev/84298-optimizaciya-unity-ui-bez-koda
#gamedev
👉 @game_devv
👍6