Рубрика «Gamedev» - 39

Многопользовательский онлайн-шутер на WebGL и asyncio, часть вторая - 1
В этом материале постарался описать создание браузерного 3D-шутера, начиная от импорта симпатичных моделей танков на сцену и заканчивая синхронизацией игроков и ботов между собой с помощью websocket и asyncio и балансировкой их по комнатам.

Введение
1. Структура игры
2. Импорт моделей и blender
3. Подгрузка моделей в игре с babylon.js и сами модели
4. Передвижения, миникарта и звуки игры в babylon.js
5. Вебсокеты и синхронизация игры
6. Игроки и их координация
7. Балансировка игроков по комнатам и объектный питон
8. Asyncio и генерация поведения бота
9. Nginx и проксирование сокетов
10. Асинхронное кэширование через memcache
11. Послесловие и RoadMap

Всех кому интересна тема асинхронных приложений в Python3, WebGL и просто игр, прошу под кат.
Читать полностью »

Я преподаю в IT школе Samsung программирование под Android для школьников. Программа обучения охватывает множество разнообразных тем. В числе прочих предусмотрен один урок, знакомящий учеников с основами 3D-графики под Android. Стандартный учебный материал этого урока показался мне очень бесполезным по нескольким причинам:

  1. Используется голый OpenGL, а поскольку на практике в программировании игр чаще всего используются готовые движки, то это мало полезно для школьников в контексте их собственных проектов. Кто-то может возразить, что увидеть в деле чистый OpenGL полезно для понимания основ, но здесь вступает в дело 2-й недостаток.
  2. Урок очень непонятный. У типичного школьника, пусть и разбирающегося в программировании, нет достаточной базы, чтобы понимать многое из того, что описано в уроке (например матрицы многие пройдут только уже в ВУЗе).
  3. В конце урока мы приходим к результату — отрисовка 3-х треугольников средствами OpenGL. Это настолько далеко от реальной 3D-игры, что легко может отбить интерес у школьника.

Поэтому я решил подготовить свой урок, описывающий основы использования libGDX под Android, а раз я все равно готовлю этот материал, заодно разместить его здесь — на хабре. В этом уроке мы сделаем наипростейшую 3D игру под Android, скриншот которой вы можете видеть во вступлении к статье. Итак, интересующиеся, добро пожаловать под кат.
Простейшая 3D игра на libGDX под Android в 200 строк кода - 1
Читать полностью »

Меня зовут Светлана, я занимаюсь разработкой в компании Бука. Хочу поделиться с вами историей о том, как мы портировали игру.

Как всё начиналось

imageМногие наверняка помнят золотую эру квестов, которая пришлась на 90-е годы прошлого века. А некоторые из тех, кто постарше, даже застали лучших представителей жанра: King’s Quest, Space Quest, Myst, Broken Sword, Grim Fandango, Monkey Island.

Российский геймдев тоже не сидел сложа руки: коробки с играми серий «Братья Пилоты» и «Петька и Василий Иванович» расхватывали с прилавков магазинов как горячие пирожки!

Старые игры с возрастом не становятся хуже, но запустить их с каждым годом всё сложнее. Поэтому, как и многие другие издательства, мы решили портировать одну из своих лучших игр на современные устройства. И в качестве пробы пера выбрали классический квест «Петька и Василий Иванович: Спасают Галактику».
Читать полностью »

Вольный перевод статьи gingearstudio.com/why-i-quit-my-dream-job-at-ubisoft от бывшего разработчика из Ubisoft.

Вступление

2005 год, я помню как начальство спросило меня, где я вижу себя через 10 лет, на что я ответил, что вижу себя в роли software архитектора крупнейших AAA класса гейм проектов. Мечта стала реальностью буквально через несколько лет, когда я начал работать над проектом Assassin’s Creed Syndicate в роли, как вы уже догадались, software архитектора. И вот, казалось бы, наконец, моя мечта быть причисленным к числу тех самых крутых, высокоуважаемых гейм разработчиков, становится реальностью в процессе работы над престижнейшей игровой франшизой.

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

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

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

Читать полностью »

Здравствуйте, дорогие читатели!

У нас активно расходится третий доптираж крайне успешной книги «Изучаем C++ через программирование игр». Поэтому сегодня вашему вниманию предлагается перевод интересной статьи на одну из узких тем, связанных с программированием игр на C++. Также просим вас поучаствовать в опросе
Читать полностью »

«Галоп пикселя — часть третья» — Анимация - 1

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

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

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

Лопаты в руки.

«Галоп пикселя — часть третья» — Анимация - 2
Читать полностью »

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

Немного теории

Итак, что такое шейдер? Шейдеры в OpenGL — это небольшие программы, написанные на C подобном языке GLSL. Эти программы исполняются напрямую на GPU. Шейдеры работают в паре: вершинные шейдеры и фрагментные.
Читать полностью »

Всем привет. Это перевод статьи из официального блога движка Unity. В ней пойдет речь о способе создания своих корутин, появившемся в версии 5.3.

Кастомные корутины в Unity 5.3 - 1

Среди новых блестящих возможностей Unity 5.3 я обнаружил одну небольшую вещь, которая оказалась мне полезной, и, думаю, может пригодиться и вам. Это кастомные корутины, представленные классом CustomYieldInstruction. Благодаря ему, вы сможете очень просто создать свои собственные корутинные yield-операторы. Давайте рассмотрим это на живом примере.
Читать полностью »

Это вторая часть моей статьи с левел-дизайнерскими Tips and Tricks, которые разработчик может использовать, чтобы повысить общее качество своей игры. Это ни в коем случае не пошаговое руководство, а только сборник идей и полезных советов, основанных на моём личном опыте. Первая часть статьи была больше ориентирована на визуальную составляющую дизайна уровней, в этот же раз мы поговорим о ещё более фундаментальных вещах, начиная с прототипирования и заканчивая плэйтестингом с аналитикой.

Создание игровых уровней: советы и хитрости (часть 2) - 1Читать полностью »

На Хабрахабре достаточно много инди-разработчиков, некоторым из них приходится в той или иной степени заниматься левел-дизайном. В течение последних нескольких месяцев я безвылазно работал над примерно полусотней различных игровых уровней, и хотел бы поделиться своим опытом. В планах написать две статьи с эффективными Tips and Tricks, которые вы можете использовать, чтобы повысить качество вашей игры. Это ни в коем случае не пошаговое руководство, а только сборник идей и полезных советов.

Создание игровых уровней: советы и хитрости - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js