GameDev: разработка игр – Telegram
GameDev: разработка игр
6.63K subscribers
633 photos
632 videos
7 files
969 links
Канал для разработчиков игр, геймдевелоперов, художников, левел-дизайнеров, сценаристов, геймдизайнеров.

По всем вопросам @evgenycarter
Download Telegram
Gish (2004)

Разработчик: Cryptic Sea
Издатель: Chronic Logic / Stardock
Платформа: Windows / Linux

Gish был примечателен физикой «мягкого тела» и интересным подходом ко времени. Интересно разбираться в его исходниках и выяснять, как что работает. Никаких сторонних физических движков тут нет.

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

Исходники: www.crypticsea.com/download/gishsource153.zip

#gamedev

👉 @game_devv
👍9😍2
Freespace 2 (1999)

Разработчик: Volition, Inc.
Издатель: Interplay Entertainment
Платформа: Windows

Как бы наследник франшизы Descent, но не совсем. Кампания и мультиплеер проходят полностью в космическом пространстве.

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

Исходники: www.codersnotes.com/files/gamesrc/fs2source.zip

#gamedev

👉 @game_devv
👍5
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
👍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
👍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
👍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
👍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
👍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
👍3
Набор мебели 3. Бесплатно.

Набор 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
👍8
Media is too big
VIEW IN TELEGRAM
Телепортация - руководство по Unity

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

источник

#gamedev

👉 @game_devv
👍6
👍17😁6👎1
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
👍51🔥1
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
👍4
Не Unity единым…

Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются гениями-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок захватил мир. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игра была сделана не на Unity, а на православном SDL?

https://habr.com/ru/articles/770244/

#gamedev

👉 @game_devv
👍10