Рубрика «game development» - 54

Визуальные эффекты для Skyforge: теория и практические советы

Художник по эффектам — это алхимик. Его задача: за неимением золота это золото добыть. В любом случае это будет фейк, но от опыта художника зависит, насколько он будет правдоподобным. Художник по эффектам — универсал. Если задача не укладывается в стандартный пайплайн художников, значит эта задача для художника по спецэффектам. Нужно уметь как можно больше и не бояться нестандартных решений, но только если они дадут выгоду. В этой статье я постараюсь подробно рассказать, чем руководствуются художники по эффектам на нашем проекте. Расскажу о некоторых хитростях. Затрону сторону оптимизации арта и расскажу о взаимоотношениях в команде.
Читать полностью »

При разработке игр часто возникает необходимость реализации следования некоторому маршруту. Например, персонажу нужно проложить путь из точки A в точку B. Допустим рассчитали его по какому-нибудь алгоритму поиска пути, идем. И тут оказывается, что из точки C в точку D идет другой юнит и пересекает нам дорогу и надо бы его обойти. Что делать? Постоянно перестраивать путь – накладно, много лишних вычислительных расходов, когда достаточно слегка изменить направление уже во время движения, чтобы избежать столкновения.
Виды изменения направления по ходу движения и есть steering behaviors.
Читать полностью »

Задумали мы с приятелем (и по совместительству одногруппником) написать курсовую работу «Танчики» (самые обычные, 2D). Впрочем, не такие уж обычные, а танки в лабиринте. Вообще, задумывалось все как грандиозный и улучшенный клон флешевой одноименной игрушки.

И не надо фукать, игру за один день написать реально. Ну, может быть, вы не сделаете из нее конфетку, может быть в ней будет куча багов… Но если нужно завтра показать прототип проекта, клаву в руки — и вперед!

Изначально план был примерно таков (пишется все на C#, WindowsForms, графика — GDI+, сервер — WCF):

  1. Разобраться с алгоритмом генерации лабиринта (или, точнее, декомпилировать вышеупомянутую флеху и слямзить код оттуда);
  2. Нарисовать все это дело + один (пока — свой) танк;
  3. Заставить танк двигаться (причем так же, как в оригинальной игре);
  4. Приделать WCF-службу, которая будет раздавать клиентам лабиринт;
  5. Добавить службе второй танк и синхронизацию движений между игроками;
  6. Добавиьт полет снаряда;
  7. Прикрутить базу данных, допилить графику, перевести проект с Windows Forms на WPF.

Как видно, план весьма подробный, но все же недостаточно для того, чтобы сказать, что это четкое руководство к действию. Хотя, жить можно. Забегая вперед скажу, что, все-таки, нельзя. Мы начали не с того…

Времени у нас было предостаточно — три недели, но так уж вышло (ну да, ну да, не надо тут...), что сели делать мы его за 4 дня до сдачи. Почему пост называется «Как написать игру за 1 день»? Потому что фактически мы писали ее один день.
Читать полностью »

Привет!
Ничего не писал со времен своей первой статьи, решил, что пора это исправить.

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

Ниже я даю рецензии на книжки, которые считаю очень полезными в различных разделах computer science, которые используются в геймдеве. Я намеренно опускаю книги по C++ и алгоритмам: мне кажется, эта тема уже настолько изучена и освещена, что больше про нее не стоит рассказывать.

Я старался покрыть максимальное количество разных топиков, особенно тех, что спрашивают на собеседованиях. Я старался воздерживаться от domain-specific литературы: профессионалы и так знают. Все картинки содержат ссылки на амазон.

А какие книжки нравятся вам?
Также в комментах можете писать, на какие темы вам были бы интересны посты.

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

Данная статья — перевод моего туториала, который я изначально писал на английском. Однако этот перевод содержит дополнения и улучшения по сравнению с оригиналом.
Туториал не требует знания Lua, а вот C++ нужно знать на уровне чуть выше базового, но сложного кода здесь нет.

Когда-то я написал статью про использование Lua с C++ с помощью Lua C API. В то время, как написать простой враппер для Lua, поддерживающий простые переменные и функции, не составляет особого труда, написать враппер, который будет поддерживать более сложные вещи (функции, классы, исключения, пространства имён), уже затруднительно.
Врапперов для использования Lua и C++ написано довольно много. С многими из них можно ознакомиться здесь.
Я протестировал многие из них, и больше всего мне понравился LuaBridge. В LuaBridge есть многое: удобный интерфейс, exceptions, namespaces и ещё много всего.
Но начнём по порядку, зачем вообще использовать Lua c С++?
Читать полностью »

image

С того момента, как id Software прекратила поддержку Linux и Mac и сделало Launcher для QuakeLive в виде отдельного standalone-приложения, написанного на C# с использованием кроссплатформенного фреймворка(!) для рендеринга веб-страниц в OpenGL, прошло немало времени. Я уже затюнил свой дистр для стабильного-максимального количества fps (у меня все равно слабая видеокарта), но он по-прежнему тормозил. Сейчас я расскажу, что сделал для того, чтобы поиграть в любимую игру в свободное время, в игру, с которой я начинал свое сидение за компьютером в 7 лет. Я не останусь равнодушным к таким плевкам к людям никогда. Под катом расскажу о том, как повысить производительность в игре на Linux и о том, как я сделал свой собственный Launcher.
Читать полностью »

Не так давно компания Epic Games сделала невероятно щедрый подарок всем желающим — движок UE4 с исходным кодом всего за $20/мес, считай даром! Воспользуемся их щедростью и великодушием и попробуем создать что-нибудь не очень сложное, но, по крайней мере, более-менее играбельное — 2D платформер.
Читать полностью »

Опубликован код игры Commander Keen

На Github опубликован исходный код игры Commander Keen, одной из первых видеоигр для персонального компьютера IBM PC/XT с операционной системой MS-DOS. Серия отличалась новаторским использованием графики, в том числе использованием передового формата EGA и первым в мире использованием для сдвига картинки адаптивного обновления тайлов, которое изобрёл Джон Кармак.

Это одна из первых игр id Software и Джона Кармака. Оригинальная версия вышла в декабре 1990 года.
Читать полностью »

От хобби до компании ценой в 2,5 миллиарда долларов менее, чем за 6 лет: история Minecraft в цифрах и датах

На Хабре уже несколько раз обсуждалась продажа компании-разработчика игры Minecraft, с суммой сделки в 2,5 миллиарада долларов США, уход создателя игры из компании и все прочие моменты.

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

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

Как я участвовал в конкурсе маленьких игр js13kGames

В программерских конкурсах широко принято и приветствуется написание постмортемов. Никаких похорон: фактически, это сочинение на тему «Что я узнал, участвуя в конкурсе».
Контест маленьких игр на джаваскрипте js13kGames не исключение, и я хотел бы поделиться с Хабром накопившимися ощущениями начинающего игродела.

(Для тех, кто хочет поиграть, но не хочет читать откровения, вот ссылка на игру.)

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


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