Многим знакомо чувство, когда чувствуется энергия от той самой идеи, что позволит свернуть горы и разработать законченное приложение, а не пополнить кладбище недоделок. Я по доброму завидую тем людям, что умеют трезво рассчитывать свои силы, а не увязать в трясине под гнётом рутины. У меня хватало сил, чтобы не дать начать себе что-то новое… Но конечно, разработка больших и длинных хобби проектов «потому, что бросить» жалко тянет соки, а не приносит радость. Эта публикация о том, как я намеренно дал слабину, чтобы поднять себе настроение, разработав простую игру за три дня. И сделал её за неделю, потратив десять маффинов, но получив кучу опыта и хорошего настроения.
Читать полностью »
Рубрика «Gamedev» - 40
Фейковая Новелла: маленькая игра, разработка которой многому меня научила и очередной бан от Google
2016-03-07 в 9:59, admin, рубрики: game development, Gamedev, unity3d, аниме, визуальная новелла, игры, кооперация разработки, мобильная разработка, Программирование, разработка, разработка мобильных приложений, Разработка под android, Тестирование игр, управление проектамиPathfinding: До одури простая реализация алгоритма воронки (Funnel Algorithm)
2016-02-28 в 22:21, admin, рубрики: c++, game development, Gamedev, Алгоритмы, в этом посте есть подвох, дальше можно не читать, муравьи, наконец не в recovery, переведены даже картинки, подозрительные жёлтые пятна, поиск пути, пока ставится android sdk, Программирование
Алгоритм воронки — это простой алгоритм поиска наипростейшего пути, проходящего через «порталы». Наиболее подробное описание можно найти по ссылке Efficient Triangulation-Based Pathfinding (2)
Здесь же этот алгоритм будет реализован до одури просто. Вместо использования очередей и прочих очешуительных вещей, наша простейшая реализация перезапускает цикл каждый раз, когда обнаруживает очередной угол. Это значит, что некоторые порталы будут опрашиваться таки чаще, чем должны были бы, тем не менее, делая реализацию всяко проще.
Читать полностью »
История персонажа: менеджеры звука, рекламы и языка в Unity3D
2016-02-24 в 11:37, admin, рубрики: C#, game development, Gamedev, tutorial, unity3dМеня зовут Элай и я… червь.
Да-да, Вы не ослышались. Самый обычный кольчатый червь, который сейчас скачет по клавиатуре и переставляет грузики, чтобы Вы, мой дорогой читатель, могли насладиться знаками препинания и заглавными буквами. Однажды я издам книгу «Быстрая печать на клавиатуре для кольчатых червей и их зомби-половинок за 23 года». Возможно, до конца этой книги не доживет ни один червь, но должен же быть какой-то изъян в совершенно безукоризненной книге.
В любом случае, это уж точно будет раньше, чем Создатели самостоятельно разродятся написать статью обо мне и моих аппетитных внутренностях. А писать есть о чем! Читать полностью »
Покопаемся в «режиссёрской версии» Wasteland 2: механики и интерфейсы
2016-02-24 в 7:02, admin, рубрики: 2, game development, Gamedev, wasteland, Блог компании Мосигра, здравый смысл, Змей Варгас, игра, механика, разбор, сюжет
На мой взгляд, самый «фаллаутный» фаллаут после второго — это Wasteland 2 в полной версии, которая Director’s Cut. В эпоху зеркальных римейков игр и фильмов эта штука очень радует и старым духом, и новыми решениями. Поэтому я предлагаю покопаться немного у неё под капотом в плане механик GameDev.
Начнём с самого главного – эта игра, которая следует старой доброй формуле «Мир, игра, игроки». Современные высокобюджетные проекты нацелены на то, чтобы игрок решал, что и как происходит в мире, и не пропускал какие-то важные действия. Максимум контента за один проход, чтобы ничего не осталось за кадром. Это путь хорошего фильма. Путь хорошей игры – реалистичный мир, живущий в экосистеме, которую можно покачнуть силами одного человека только с очень большим трудом.
Так вот, миру Wasteland 2 плевать на вас. Там нет счастливых прибытий в последний момент, чтобы всех спасти, нет ожидающих чего-то NPC. Реальное время. Например, когда вы входите в Хайпул, там горит дом. Не успели потушить – ну, он тупо сгорит. Второй важный аспект – крутой постоянно движущийся сюжет, скорее, характерный своими поворотами для серии Биошоков. Захватывающий с первых минут, без долгой раскачки. И этот сюжет – реально высокого разрешения. Постоянно предлагающий суровый выбор между моралью, порядком и законом.
И это три разных выбора.Читать полностью »
Многопользовательский онлайн-шутер на WebGL и asyncio, часть вторая
2016-02-16 в 8:06, admin, рубрики: aiohttp, asyncio, babylon.js, game development, Gamedev, html, javascript, mongodb, nginx, nosql, python, python3, WebGL, игры
В этом материале постарался описать создание браузерного 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
и просто игр, прошу под кат.
Читать полностью »
Простейшая 3D игра на libGDX под Android в 200 строк кода
2016-02-11 в 3:12, admin, рубрики: android, game development, Gamedev, Работа с анимацией и 3D-графикой, Разработка под android, метки: 3d-графикаЯ преподаю в IT школе Samsung программирование под Android для школьников. Программа обучения охватывает множество разнообразных тем. В числе прочих предусмотрен один урок, знакомящий учеников с основами 3D-графики под Android. Стандартный учебный материал этого урока показался мне очень бесполезным по нескольким причинам:
- Используется голый OpenGL, а поскольку на практике в программировании игр чаще всего используются готовые движки, то это мало полезно для школьников в контексте их собственных проектов. Кто-то может возразить, что увидеть в деле чистый OpenGL полезно для понимания основ, но здесь вступает в дело 2-й недостаток.
- Урок очень непонятный. У типичного школьника, пусть и разбирающегося в программировании, нет достаточной базы, чтобы понимать многое из того, что описано в уроке (например матрицы многие пройдут только уже в ВУЗе).
- В конце урока мы приходим к результату — отрисовка 3-х треугольников средствами OpenGL. Это настолько далеко от реальной 3D-игры, что легко может отбить интерес у школьника.
Поэтому я решил подготовить свой урок, описывающий основы использования libGDX под Android, а раз я все равно готовлю этот материал, заодно разместить его здесь — на хабре. В этом уроке мы сделаем наипростейшую 3D игру под Android, скриншот которой вы можете видеть во вступлении к статье. Итак, интересующиеся, добро пожаловать под кат.
Читать полностью »
Как мы портировали старый добрый русский квест
2016-02-10 в 8:42, admin, рубрики: game development, Gamedev, gamedevelopment, unity, unity3d, бука, игры, петька и василий иванович, разработка, разработка игрМеня зовут Светлана, я занимаюсь разработкой в компании Бука. Хочу поделиться с вами историей о том, как мы портировали игру.
Как всё начиналось
Многие наверняка помнят золотую эру квестов, которая пришлась на 90-е годы прошлого века. А некоторые из тех, кто постарше, даже застали лучших представителей жанра: King’s Quest, Space Quest, Myst, Broken Sword, Grim Fandango, Monkey Island.
Российский геймдев тоже не сидел сложа руки: коробки с играми серий «Братья Пилоты» и «Петька и Василий Иванович» расхватывали с прилавков магазинов как горячие пирожки!
Старые игры с возрастом не становятся хуже, но запустить их с каждым годом всё сложнее. Поэтому, как и многие другие издательства, мы решили портировать одну из своих лучших игр на современные устройства. И в качестве пробы пера выбрали классический квест «Петька и Василий Иванович: Спасают Галактику».
Читать полностью »
Почему я покинул Ubisoft — работу своей мечты
2016-02-07 в 19:11, admin, рубрики: Game Development Industry, Gamedev, Игровые приставки, игрыВольный перевод статьи gingearstudio.com/why-i-quit-my-dream-job-at-ubisoft от бывшего разработчика из Ubisoft.
Вступление
2005 год, я помню как начальство спросило меня, где я вижу себя через 10 лет, на что я ответил, что вижу себя в роли software архитектора крупнейших AAA класса гейм проектов. Мечта стала реальностью буквально через несколько лет, когда я начал работать над проектом Assassin’s Creed Syndicate в роли, как вы уже догадались, software архитектора. И вот, казалось бы, наконец, моя мечта быть причисленным к числу тех самых крутых, высокоуважаемых гейм разработчиков, становится реальностью в процессе работы над престижнейшей игровой франшизой.
Но всё изменилось, я покинул работу в пользу своих инди проектов. Несколько друзей и членов семьи конечно же осудили мое внезапное и необдуманное, по их мнению, решение. Они были удивлены, почему же я оставил хорошо оплачиваемую, уважаемую, со огромными дополнительными плюшками работу. Туда же можно включить мою страсть к работе подобного рода, да и вообще это же работа над знаменитыми игровыми продуктами, о которых я всегда мечтал.
Прощаясь со всеми в свой последний рабочий день никто даже не спросил почему я ухожу в инди разработку, да даже люди, едва знавшие меня, скорее всего догадывались почему. Конечно же, большинство профессиональных гейм разработчиков скорее всего знали истинную причину моего ухода.
В общем, после всего, я принял решение написать статью не про свой уход из компании, а про реальный процесс разработки игр AAA класса как это я видел, участвовал, работая в компании Ubisoft.
Управление игровыми состояниями в C++
2016-01-29 в 10:10, admin, рубрики: c++, design patterns, game development, Gamedev, Блог компании Издательский дом «Питер», книги, ПрограммированиеЗдравствуйте, дорогие читатели!
У нас активно расходится третий доптираж крайне успешной книги «Изучаем C++ через программирование игр». Поэтому сегодня вашему вниманию предлагается перевод интересной статьи на одну из узких тем, связанных с программированием игр на C++. Также просим вас поучаствовать в опросе
Читать полностью »
«Галоп пикселя — часть третья» — Анимация
2016-01-22 в 16:25, admin, рубрики: animation, example, game development, Gamedev, gamedevelopment, indiedev, lesson, pixel, pixel-art, pixelart, sample, tutorial, weilard, обработка изображений
Рад сообщить вам, что мы вплотную подошли к созданию анимации. Также как и в случае первой статьи — мы начнем с азов. Потому что иными способами анимацию не сделать. Никаких бегающих и прыгающих людей, искрометных схваток и батальных сцен нам не получить, в том случае если нам неизвестно как двигаются простейшие объекты, до тех пор пока мы не понимаем, а главное не чувствуем принципов движения и динамики. И как уж повелось — это не будет чем-то сложным и малопонятным.
Думаю, что все уже привыкли к тому, что материал рассматривается так, чтобы будущим художником использовалось как можно меньшее количество инструментария, при максимальном нажиме на главные аспекты рассматриваемой темы. В этой статье вы не прочтёте дифирамбов тому или иному пакету, не будете затянуты в пучину зубодробительных терминов, не будете отправлены на множество сторонних веб-ресурсов, где вам будет предложено самостоятельно знакомиться с чем-либо. Все изображения будут созданы здесь, вместе с вами, элементарными средствами на базе классической покадровой анимации.
Не смотря на то, что вторая часть цикла о пиксель-арте собрала куда меньше положительных отзывов и согласно статистике пользовалась меньшим успехом на Хабре — мы продолжим копать пиксель-арт так, чтобы исследованные нами территории перестали быть белыми пятнами, чтобы мы могли, наконец, воздвигнуть здесь надежный укрепрайон. Популярность вещь приходящая и уходящая. Было бы смешно руководствоваться исключительно ею. Тем более что есть люди, которые настояли на скорейшем выпуске этой части цикла. Я ещё коснусь этой темы в конце публикации.
Лопаты в руки.