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

Добрый день! В предыдущей статье была рассмотрена общая часть процесса создания игр жанра HOPA (Hidden Object Puzzle Game или «поиск предметов»). В этой статье мы рассмотрим принцип двухуровневой программной абстракции, который является парадигмой основных платформозависимых компонентов нашего движка, и общую структуру нижнего уровня движка. Такой подход позволил нам добиться гибкости в портировании как движка на новые платформы, так и самих игр с одной платформы на другую. А также нам удалось создать:

  • трехуровневую структуру игры;
  • унифицированную подсистему 2D графики;
  • универсальную организацию исходного кода.

В основу программной части Alawar Engine входят 2 библиотеки: SF (Stargaze Framework library) и QE (Stargaze Quest Engine library). SF является ядром всей системы и содержит почти всю платформозависимую реализацию игры. При этом библиотека имеет одну общую ветку исходников для всех платформ. На данный момент SF функционирует под шестью платформами: Windows (XP, Vista, Windows 7), Mac OS X, iOS, Android, PS3 и Windows 8 (в разработке).
Читать полностью »

На написание статьи меня подтолкнула данная статья а так же тот факт, что в данный момент я заканчиваю разработку довольно продвинутого AI для своего сервера. Все что описано здесь я уже использую на сервере и это работает.

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

Начнём немного не по порядку – с pathfollow, т.е. с передвижения по уже найденному пути и вообще с движения монстров/NPC. О том, как найти этот путь, мы поговорим позже… и так, поехали.Читать полностью »

В предыдущих уроках мы заложили основу для разработки игры. Мы создали базовый каркас с набором общих процедур, класс для обработки событий, а также класс для работы с поверхностями. В этом уроке мы будем использовать наши наработки и создадим первую игру — крестики-нолики (Tic Tac Toe). Не волнуйтесь, все будет довольно просто. За основу возьмем код написанный в предыдущих уроках.
Читать полностью »

    В конце первой половины 90-х на рынок СНГ попала первая консоль от фирмы Sony — Playstation 1 или PSX. Ее можно считать уникальной со многих точек зрения, но для всех нас главным отличием пожалуй было то, что наконец-то в играх появилось полноценное видео, вменяемая 3D-графика, а также возможность сохранятся не при помощи пароля, судорожно ища бумажку(да простят меня читатели за неловкое сравнение, возникшее в их головах), а, как и подобает белому человеку, на цифровой носитель.

    Playstation: как это было

    На самом деле эта консоль обозначила собой тихую революцию и в программировании игр. Именно об этом я бы и хотел рассказать сегодня. И более того, если вы захотите написать свою игру для пылящейся в кладовке приставки, отомстив таким образом за творческое бессилие, испытанное в отрочестве, то под катом вы сможете получить представление о том, как это сделать.Читать полностью »

Привет. Сегодня мы начинаем цикл статей, который познакомит вас с процессом разработки игр на движке Alawar Engine. Первая статья вводная, в ней мы в общих чертах расскажем о создании игрового контента, блочной системе скриптования, с помощью которой из разрозненных частей собирается игра, а также немного о других бизнес-процессах в студии Alawar Stargaze. На текущий момент движок лицензируется внешними студиями, сотрудничающими с Alawar, в разработке находится около 20 проектов. Некоторые проекты, созданные лицензиатами, уже выпущены, например Weird Park.Broken Tune.

Разработка игры начинается с человека, у которого есть идея будущей игры. Да, как обычно без большой и заразительной идеи никуда. Она должна включать в себя общее представление о создаваемой игре, описание игрового мира и персонажей. Из идеи рождается сценарий, в котором прописываются основные сюжетные линии и повороты. Гейм-дизайнеры создают проектную документацию, которая, по сути, является техническим заданием для 3D-модельеров, 2D-художников, аниматоров, специалистов по созданию эффектов, скриптеров, композиторов и других участников команды.
Читать полностью »

Взяв за основу первый урок, мы будем углубляться в мир поверхностей SDL. Как я уже говорил, SDL поверхности, в основном, это изображения, сохраненные в памяти. Представьте себе, что у нас есть пустое окно размером 320x240 пикселей. В системе координат SDL, окно представлено следующим образом:

Перевод SDL Game Framework Series. Часть 2 — SDL Coordinates and Bliting
Читать полностью »

Статья с тэгом «обучающий материал». С нуля, поэтому будем писать свой не сложный (для начала) физический движок и сразу же не сложную игру (я выбрал змейку) на нем. Но статья скорее будет не об этом, так как это не такое уж и сложное задание, а о том, как это все будет на JavaScript, причем с максимально красивым (правильным) кодом (жду, что все что можно сделать еще лучше вы опишите в комментариях). «А в ответ полетели спелые помидоры..». Начнем.
(кто дочитал аж до сюда, держите печеньки, управления стрелками влево-вправо):
вот что будет: в части один
и это же (dev-mode)
Читать полностью »

Я поискал по хабру перевод уроков с этого сайта, но нашлось только одно упоминание, да и то — в комментариях:

Перевод SDL Game Framework Series. Часть 1 — SDL Tutorial Basics

Потому и решил исправить положение, попытался дополнить и разнообразить примеры своими наработками, а заодно попрактиковался в переводе. Также, поскольку моей любимой ОС сначала была WinXP а теперь Ubuntu, постараюсь сделать кроссплатформенные примеры, захватив как можно больше нюансов настройки для этих платформ. В данной серии уроков рассматривается создание фрэймфорка, достаточного для начала разработки 2D игр.
Что из этого получилось Читать полностью »

Относительно недавно (чуть больше мясяца назад) вышел в свет документальный фильм Minecraft: the Story of Mojang / Minecraft: История Mojang.

И сейчас я, и несколько других энтузиастов с сайта Notabenoid.com, подготовили перевод для этого фильма на русский язык (в виде субтитров).

image

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

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

Привет! Недавно я перешел из разработки casual игр для PC на игры для смартфонов. Поскольку я очень люблю платформу Android и игры, то частенько сам играю на своем Samsung Galaxy S. К сожалению, я убежден, что огромному количеству игр не достает глубины и качества. Поэтому я наивно мечтаю, что за несколько лет смогу увеличить количество интересных и качественных игр хотя бы на несколько тайтлов. А пока этого не произошло, я собрал свои наблюдения и замечания по часто встречающимся недостаткам в мобильных играх. Здесь я не буду упоминать очевидные вещи, справедливые для любых игр, так как их уже упоминали много раз до меня.

1. Первая проблема — управление гироскопом. Даже в идеальных условиях управлять наклонами устройства неудобно. Я пробовал играть в гонки, но несмотря на заложенную аналоговость, управлять было даже сложнее чем на клавиатуре (где ты либо поворачиваешь в стороны без возможности явно задать угол поворота). Может быть, я просто привык к клавиатуре и мыши, а современные дети таких проблем не почувствуют? Тогда приведу другие проблемы в подобного управления.
Пример: Chasing Yello, наклоном устройства игрок перемещает плывущую рыбку влево-вправо по вертикальной дорожке. Решил я как то поиграть в неё в автобусе, но не тут то было. Качка автобуса влияла на гироскоп и рыбка непредсказуемо дергалась. Стоит ли говорить о том, что лежа на кровати в такие игры играть вообще невозможно?
Проблемы в мобильных играх

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


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