На хабрахабре периодически предпринимаются попытки описания процесса игроделания с самых разных сторон — от воплощения 3D-графики до создания сетевых протоколов. Эти темы, безусловно, важны, однако довольно узкие. В данной статье я попробую использовать более широкий подход — рассмотрю принцип создания игрового движка для т.н. казуальных игр. Описываемая механика вполне подойдет для создания всяческих пакманов, арканоидов, платформеров и пр. Описание процесса будет на примере примитивного scrolldown шутера (из ностальгических чувств к Zybex и Xevious) — летаем по полю, сбиваем метеориты. Инструмент — Qt.

291.41
Рейтинг
Разработка игр *
Разработка игр
Сначала показывать
Порог рейтинга
Уровень сложности
Концептуальная игра Chain World задумана как религия
2 мин
5.7KВ то время как на рынке массовых игр кто-то видит застой и однообразие, у независимых разработчиков идеи бьют через край. Они придумывают игры, которые ни на что не похожи. Более того, они создают концепции, которые вообще трудно назвать играми.
Журнал Wired опубликовал большую статью об американском инди-разработчике Джейсоне Рорере (Jason Rohrer) и его игровом эксперименте под названием Chain World. Этот мод Minecraft стал лауреатом последнего конкурса Game Design Challenge вовсе не за красивую графику, а за сумасшедшую идею.
Идея такова. Chain World существует в единственном экземпляре на одной USB-флэшке. Для игрока действуют жёсткие правила, которые похожи на библейские заповеди. Игру нельзя переписывать на другой носитель или делать копию. После смерти виртуального персонажа игрок обязан передать флэшку другому игроку (самоубийство разрешается). Запрещено оставлять в игре знаки или текстовые сообщения для будущих игроков. Запрещено рассказывать кому-либо, что игрок видел или делал в игре. Запрещено играть второй раз.
Журнал Wired опубликовал большую статью об американском инди-разработчике Джейсоне Рорере (Jason Rohrer) и его игровом эксперименте под названием Chain World. Этот мод Minecraft стал лауреатом последнего конкурса Game Design Challenge вовсе не за красивую графику, а за сумасшедшую идею.
Идея такова. Chain World существует в единственном экземпляре на одной USB-флэшке. Для игрока действуют жёсткие правила, которые похожи на библейские заповеди. Игру нельзя переписывать на другой носитель или делать копию. После смерти виртуального персонажа игрок обязан передать флэшку другому игроку (самоубийство разрешается). Запрещено оставлять в игре знаки или текстовые сообщения для будущих игроков. Запрещено рассказывать кому-либо, что игрок видел или делал в игре. Запрещено играть второй раз.
+17
Разработка под Android с использованием Linderdaum Engine
8 мин
9.9KПривет хабрасообщество!
Тема написания приложений под андроид на С++ незаслуженно забыта. Сегодня мы узнаем как писать многоплатформенные приложения под Android используя Linderdaum Engine.
Тема написания приложений под андроид на С++ незаслуженно забыта. Сегодня мы узнаем как писать многоплатформенные приложения под Android используя Linderdaum Engine.
+24
NeoAxis Game Engine 1.0 наконец-то увидел свет
4 мин
8.6KХочу опубликовать топик, обзор релиза кросс-платформенного игрового движка NeoAxis, так как у авторов пока нет аккаунта на Хабре. Далее от первого лица:
Уже более шести лет мы (компания NeoAxis Group) ведем разработку нового игрового 3D движка, начинавшегося как задумка энтузиаста-одиночки, но превратившегося в полномасштабный проект, над которым теперь работает международная команда специалистов. После стольких лет упорного труда мы рады сообщить, что NeoAxis Engine достиг версии 1.0!

Уже более шести лет мы (компания NeoAxis Group) ведем разработку нового игрового 3D движка, начинавшегося как задумка энтузиаста-одиночки, но превратившегося в полномасштабный проект, над которым теперь работает международная команда специалистов. После стольких лет упорного труда мы рады сообщить, что NeoAxis Engine достиг версии 1.0!

+80
Разработка игрового приложения под iPhone. Часть 2
7 мин
3.3KЧасть вторая
Первую часть можно прочитать тут.
Программная часть
iPad приложение
Доработка приложения для iPad заняло всего неделю. Основное время было затрачено на переработку пользовательского интерфейса. Аспект разрешения экрана iPad и iPhone разный, следовательно если вы не учли это при проектировании интерфейса — у вас проблема (особенно если количество экранов у вас велико).
Если 1024, не меняя аспект, привести к 480, то результирующая картинка будет 480x360 — получаем 40 лишних пикселей по вертикали. Одно из простых решение, это оставить пустое место снизу и сверху. Мне этот подход не нравится. Так как у меня всего три экрана (и почти все в векторе) я переделал исходные материалы под расширение 1024x768 и написал утилиту перегоняющую в 480x320, урезая(сдвигая) конкретные не нужные мне части сверху, снизу или с обоих сторон.
0
Синхронные движки RTS и история рассинхронизаций
7 мин
9.2KПеревод
Случалось ли Вам играть в игру вроде StarCraft или Supreme Commander и получать сообщение об ошибке вроде “Обнаружена рассинхронизация”, за которым следует закрытие игры? Хотите узнать отчего так происходит? Это наследие архитектуры игрового движка, часто используемой стратегиями в реальном времени.1
Мой опыт в этой области происходит из работы с движком Supreme Commander в студии Gas Powered Games. В период бета тестирования в Starcraft и Warcraft 3 тоже были проблемы с синхронизацией, так что можно сказать что в целом они работают так же. Для простоты я буду говорить именно о движке Supreme Commander. Нахождение сходства с другими играми оставлю как упражнение для читателя :)
Мой опыт в этой области происходит из работы с движком Supreme Commander в студии Gas Powered Games. В период бета тестирования в Starcraft и Warcraft 3 тоже были проблемы с синхронизацией, так что можно сказать что в целом они работают так же. Для простоты я буду говорить именно о движке Supreme Commander. Нахождение сходства с другими играми оставлю как упражнение для читателя :)
+108
Cut the Rope — первое место в Android Market. Сколько заработано?
2 мин
10K
Российская игра Cut the Rope всего за неделю после выхода под Android заняла первое место в списке платных приложений Android Market. Это большой успех для отечественных разработчиков, которые сделали один из самых успешных игровых проектов на мировом мобильном рынке. В AppStore игра на пятом месте среди платных приложений, а по темпам роста обгоняла график Angry Birds. Первый миллион скачиваний состоялся всего на девятый день после релиза, что является рекордом для платных игр в AppStore.
Кстати, издателем Cut the Rope является британская компания Chillingo — та же самая, что у Angry Birds.
+74
Математика с фиксированной точкой в Marmalade SDK
4 мин
4.9KНе так давно на хабре был пост «Погружаемся в 3D с помощью Marmalade SDK», который оставил у меня достаточно много вопросов. В первую очередь это касалось магических шестнадцатиричных чисел, которые передавались в функции, т.е. вычислений с фиксированной точкой. В интернете достаточно плохо описана эта тема, поэтому пришлось экспериментировать. Если интересно — добро пожаловать под кат.
+15
Пьеса «Разработка многопользовательской сетевой игры.» Часть 2: Это страшное слово «протокол»
7 мин
19KRecovery Mode

Часть 1: Архитектура
Часть 3: Клиент-серверное взаимодействие
Часть 4: Переходим в 3D
Итак, продолжим создание многопользовательской игры.
Сегодня мы рассмотрим создание протокола передачи данных.
А также создадим заготовки TCP сервера и соответственно клиента.
+66
Выбираем мультиплатформенный движок для разработки мобильных игр (часть 1)
4 мин
53K
+53
Пьеса «Разработка многопользовательской сетевой игры.» Часть 1: Архитектура
3 мин
21KRecovery Mode
Часть 2: Протокол
Часть 3: Клиент-серверное взаимодействие
Часть 4: Переходим в 3D
В общем, как и обещал, публикую серию статей по разработке многопользовательской сетевой игры. Изначально я хотел просто накатать статейку по разработке серверной части на интересном языке Scala. Но понял, что одной статейкой для развертывания темы не получится обойтись. А писать очередной топик обо всем и ни очем, не хотелось изначально. Поэтому встречайте пьесу в трех действиях. В течении которой мы разработаем архитектуру проекта, реализуем серверную и клиентскую части…
Все помнят прикольные танчики на денди?
Ну вот на примере этих танчиков и будем разрабатывать сервер и клиент.
+91
История противостояния OpenGL и Direct3D
11 мин
26KПеревод
Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.
+195
Почему девушки все же играют в видеоигры
3 мин
13KНа самом деле девушки не так уж и мало играют в видеоигры. Попробую опровергнуть некоторые высказывания из топика и привести примеры игр, в которые активно играют девушки.
Капитан Очевидность
В школе разделение по половому признаку может и работает, но чем старше становятся девушки, тем меньше это разделение. Кто-то выбирает «мужские» профессии, кто-то разочаровывается в мужчинах, кого-то просто реальность привлекает все меньше и меньше. Женщины, которые, не первый год в браке довольно часто подаются в компьютерные игры чтобы просто разнообразить свой досуг.
Капитан Очевидность
В школе разделение по половому признаку может и работает, но чем старше становятся девушки, тем меньше это разделение. Кто-то выбирает «мужские» профессии, кто-то разочаровывается в мужчинах, кого-то просто реальность привлекает все меньше и меньше. Женщины, которые, не первый год в браке довольно часто подаются в компьютерные игры чтобы просто разнообразить свой досуг.
+40
Ближайшие события
Женщины и игры. Ключевые моменты
6 мин
17K
В этой статье я расскажу о своих наблюдениях и исследованиях женской психологии применительно к играм, будут выделены ключевые моменты и опровергнуты некоторые предубеждения.
+63
Реализация серверной части в многопользовательских онлайн играх
3 мин
16KЗа свою недолгую жинь я ни разу не встречал программиста, который бы не любил игры. И уж тем более, программиста, который никогда их не писал.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.
В эру интернета и социальных сетей играть одному неинтересно, хочется общаться и играть вместе с друзьями.
И не просто общаться, а ходить группой в подземелье или показать кто на арене хозяин.
В данной статье я бы хотел рассказать о своем подходе к серверной реализации такого взаимодействия.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.
В эру интернета и социальных сетей играть одному неинтересно, хочется общаться и играть вместе с друзьями.
И не просто общаться, а ходить группой в подземелье или показать кто на арене хозяин.
В данной статье я бы хотел рассказать о своем подходе к серверной реализации такого взаимодействия.
+153
Почему девушки не играют в видео игры?
11 мин
46KХотела написать что-то умное, но потом решила схалявить, так что поговорим вот о чём — почему же у нас девушки не играют в компьютерные игры? Нет, некоторые, конечно, могут и сильному полу фору дать в какой-нибудь стрелялке. Но чаще всего это не так. Девушка самозабвено и с предвкушением выбирающая в магазине очередной шутер, или пусть даже РПГ, или вообще какую-то игру — редкое зрелище. Почему?
Мне вот как-то говорили даже, что был такой доклад на КРИ — почему девушки не играют. Сказали, доклад был странный, и какой-то феминистически настроенный, с главным месседжем — девушки не играют потому, что игры делают тупые мужики. Ну это со слов очевидцев, сама я не берусь утверждать, был ли доклад плох или хорош — не присутсвовала.
И всё же подумалось, а кстати, почему не играют? Так я стала раскладывать всё по полочкам, и вырисовалась такая картинка.
Мне вот как-то говорили даже, что был такой доклад на КРИ — почему девушки не играют. Сказали, доклад был странный, и какой-то феминистически настроенный, с главным месседжем — девушки не играют потому, что игры делают тупые мужики. Ну это со слов очевидцев, сама я не берусь утверждать, был ли доклад плох или хорош — не присутсвовала.
И всё же подумалось, а кстати, почему не играют? Так я стала раскладывать всё по полочкам, и вырисовалась такая картинка.
+157
Погружаемся в 3D с помощью Marmalade SDK
4 мин
12KПриветствую, братья по цеху, а также просто интересующиеся мобильными платформами и 3D-графикой читатели. В предыдущем посте (а также в майском номере журнала «Хакер») я уже писал о том как начать работать с AirplaySDK (с некоторых пор он теперь называется Marmalade) — инструментарием, позволяющим создавать мобильное приложение на C++ один раз и впоследствии компилировать его на множество платформ: iOS, Android, Windows Mobile, Bada, Symbian и т. д. HelloWorld-приложение — это уже что-то, но останавливаться на достигнутом мы с вами не любим, а потому в этой статье речь пойдёт уже о создании небольшого 3D-приложения. Описываемый SDK имеет добрую документацию, а потому я ограничусь лишь небольшим примером создания 3D-модели, её загрузки в наше мобильное приложение и смены ракурса камеры для просмотра сцены. Ну что же, приступим?
+23
Разработка игрового приложения под iPhone
7 мин
10KРазработка игрового приложения под iPhone
Начало
В октябре 2008 года на очередной встрече с двумя друзьями, я узнал, что оба они занимаются разработками игр под iPhone. В то время я уже имел почти законченный shareware проект под Windows.
Загоревшись желанием портировать его под iPhone, я начал работать в данном направлении.
Цели
Cоздать и настроить средства разработки под Windows платформу без покупки самого девайса, Mac и сопутствующих средств разработки. Покупку Mac была отложена до момента полного понимания что и как работает.
Почти готовый проект и тулзы для него были под Windows поэтому было принято решение всё делать под Windows.
Несколько дней на поиск в интернете и я приступил к осуществлению данной идеи.
Шаг Первый — Настройка окружения и компилятора под Windows, а точнее под Cygwin
Было потрачено где-то около месяца на сборку toolchain под Cygwin. Результатом этого был огромный makefile для сборки toolchain и скомпилированное приложение HelloWorld, которое негде было запустить, так как девайса у меня не было. Когда я говорю что это заняло месяц, это не означает что я месяц по 8 часов в день работал над этим, в основном работа велась по выходным и после работы. Много времени уходило на перекомпиляцию, фикс проблем с путями, фикс проблем компиляции и настройки среды CygWin (только Cygwin я переставлял раза три).
+76
2d на Unity3d
14 мин
220KТуториал
В свое время, в начале разработки двухмерной игры на Unity3d, мне пришлось перерыть кучу документации, сайтов, проштудировать answers.unity3d.com и forum.unity3d.com на тему: как сделать 2d-игру на этом 3d-движке. Самыми первыми вопросами были: как правильно настроить камеру, как сделать 2d-спрайт так, чтобы он отображал текстуру «пиксель в пиксель». На то время уже существовал SpriteManager (далее – SM) и даже SM2 с его мощной поддержкой редактора. Судьба сложилась так, что я не мог его тогда купить, да и пробной версии не было. В итоге, мне пришлось самому написать несколько полезных скриптов для реализации 2d на Unity3d. О том, как это сделать, пойдет речь в этой статье.
"

+59
Kinect for Windows SDK beta
1 мин
3K
Microsoft уже давно обещал дать всем желающим официальную возможность создавать приложения под Kinect. Нужно сказать, что благодаря ряду opensource-проектов это было возможно и раньше, но такое положение вещей не давало всех возможностей, да и с лицензионной точки зрения было недопустимым. Теперь же каждый желающий может вполне официально разрабатывать софт, который на полную катушку использует всю мощь Кинекта.
Список возможностей SDK:
- Разработка на C++, C# или Visual Basic
- Низкоуровневый доступ к данным сенсоров (камера, датчик глубины, массив микрофонов)
- Трекинг скелета для одного или двух человек в кадре
- Продвинутая работа со звуком (шумо- и эхоподавление, определение говорящего, интеграция с движком распознавания речи)
+41
Вклад авторов
alizar 5499.2Milfgard 3768.0dalerank 3413.0Suvitruf 2526.5Weilard 2321.0haqreu 1851.0HotWaterMusic 1802.8InlyIT 1616.4BasmanovDaniil 1367.2GlukKazan 1211.8