Pull to refresh
1
0
Send message

Процедурная генерация подземелий в roguelike

Reading time31 min
Views45K
image

Процедурно генерируемые карты — базовая особенность roguelike. Для жанра, который почти является синонимом понятия «случайность» (и на то есть причины), рандомизированные карты стали простейшим способом демонстрации его ключевого элемента, потому что они влияют на многие аспекты геймплея — от стратегии исследования и тактического позиционирования до расположения предметов и врагов.

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

Поэтому рандомизированные карты обеспечивают нам бесконечную реиграбельность, каждый раз ставя перед нами разные задачи. Кроме того, удовольствие усиливается тем, что прогресс игрока зависит от его собственного навыка, а не от проб и ошибок. Схема каждой новой карты на 100% неизвестна, что тоже добавляет напряжённости процессу её изучения.

Конечно же, преимущества процедурных карт бессмысленны без большой вариативности механик и контента — однообразный hack-and-slash здесь не подойдёт. Поэтому все roguelike, выдержавшие испытание временем, имеют глубокий геймплей.

Этот пост является результатом моей работы над генерацией карт для Cogmind.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments4

Каким был первый Unreal Editor

Reading time17 min
Views17K

В последнее время стали популярны ретроспективы классических игр, но очень редко вспоминают о классических инструментах разработки. Мне удалось побеседовать с Тимом Суини о первой версии Unreal Editor, или UnrealEd.

BSP и заблуждения: «Нам нужно написать свой редактор»


Дэвид Лайтбоун: Спасибо, что нашли время поговорить со мной, Тим! Давайте начнём с ранних дней Unreal Editor. Я читал, что Джеймс Шмальц, создатель Epic Pinball, показал вам игру, над которой работал, и когда вы увидели её, то предложили создать для неё редактор. Всё верно?

Тим Суини: Точно! Его вдохновила игра Bullfrog Magic Carpet. Джеймс — безумно талантливый разработчик, но он писал код только на языке ассемблера, он не хотел учить C. [смеётся] Таким образом, он написал на чистом ассемблере этот 3D-движок, который рендерил фон рельефа и игровые объекты. Он не хотел создавать редактор, поэтому вручную изготовил BSP-дерево и поместил на этот рельеф капсулу. Когда я увидел это, я сказал: «Нет-нет-нет, Джеймс, Джеймс… нужно делать совсем не так». [смеётся]
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments29

Как проверить автомобиль перед покупкой: используем доступные в Интернете базы данных и логику

Reading time11 min
Views144K


Согласно данным аналитического агентства «АВТОСТАТ», по итогам октября 2017 года объем рынка легковых автомобилей с пробегом в России составил 473 тыс. единиц, а по итогам 10 месяцев 2017 года — около 4,4 млн единиц, что на 1,5% больше, чем год назад.

Источник: www.autostat.ru/press-releases/32145

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

Однако, благодаря некоторым усилиям государственных органов и прочих организаций у нас появилась возможность довольно оперативно собирать интересующую информацию о конкретных автомобилях по открытым источникам в Интернете. Как делать это быстро и бесплатно, мы постараемся рассказать в этой статье.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments61

oDesk (Upwork). Мой опыт за полтора года

Reading time12 min
Views445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Total votes 192: ↑185 and ↓7+178
Comments321

История создания iOS игры о быстрой реакции и стальных нервах

Reading time7 min
Views35K
В начале апреля я уволился с работы. От переизбытка свободного времени я решил написать игру для iOS. Игра про бедного кубика, которого постоянно преследуют другие геометрические фигуры. Настоящая драма. Кубику нужно продержаться как можно дольше без столкновений. Прототип игры был написан примерно за 8 часов. Всего разработка игры заняла 3,5 месяца. Чем я занимался все это время можно узнать ниже.


Читать дальше →
Total votes 64: ↑56 and ↓8+48
Comments50

Постмортем: как умудриться совершить 14 ошибок, разработав одну социальную игру

Reading time9 min
Views73K
В феврале 2012 года было принято решение сделать компьютерную игру самостоятельно. Исходя из смешанного опыта, замахиваться на величайшие вершины геймдева я не стал, сконцентрировавшись на достижимых целях: небольшая социальная игра на паре крупнейших российских платформ. Все условия этому способствовали: желание разрабатывать игры, опыт ведения проекта от идеи до релиза и поддержки, знание специфики социалок, опыт работы с инвесторами, хорошие знакомые, у которых всегда можно спросить если и не помощи, то хотя бы совета.

image

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

КДПВ: текущее распределение проектов в геймдеве, одна Белоснежка и семь гномов.
Читать дальше →
Total votes 133: ↑127 and ↓6+121
Comments34

After Reset — игра в которую сложно поверить даже увидев (Kickstarter Campaign)

Reading time16 min
Views112K


Страница проекта на Кикстартер — (Kickstarter link page)
Страничка проекта на Фейсбуке — (Facebook game page)
Официальный сайт разработчика After Reset Official web-site
Гейм-плейное видео на Youtube Video-link
Эксклюзивное видео снятое специально для Хабра на Vimeo Video-link

Так уж получается, что под Новый Год разработчики начали выбрасывать на Кикстартер проекты один краше другого. Если честно – не знаешь, о каком из них писать первым. Их действительно много, и многие из них достойны огласки. Сегодня мне хочется остановить наше внимание на проекте After Reset. Также мне подумалось, что будет хорошей практикой брать интервью у разработчика, по возможности с эксклюзивными материалами. Все-таки Хабр, крупнейший российский IT-ресурс, как тут обойтись без редких артефактов?



Если кратенько, — это еще один проект, претендующий на пьедестал нашего любимого пустынного изометрического друга с блек-джеком и сами знаете кем. Претензия серьезна столь, что впору усомниться. И я усомнился. И не стесняюсь этого. Сомневаюсь, кстати, даже после того как ознакомился с редкими публикациями в сети, видео и даже погонямши билд для прессы (именно с этой версии и сняты скриншоты). Выглядит блюдо отменно. Особенно на фоне Пустынного Гамбургера. Откуда же сомненья?

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


Читать дальше →
Total votes 164: ↑106 and ↓58+48
Comments193

Резюме программистов. Часть 2 (хорошие)

Reading time3 min
Views283K
Я сполна получил п***й за первый пост. Самое время писать продолжение! Итак, чего же мне надо от резюме разработчика?

Все ниже в порядке приоритета.

Код


Я хочу видеть код, которым вы гордитесь. Я хочу знать, как вы называете переменные, как декомпозируете систему, как проверяете входные условия и насколько любите все усложнять. Очень желательно, если будет описание проблемы, иначе понимание кода и решения затруднено.
Читать дальше →
Total votes 201: ↑135 and ↓66+69
Comments341

Пишем iOS видео-плеер и рекодер за 5 минут

Reading time5 min
Views23K
Привет хабра-люди,

Под катом пошаговая инструкция как создать свое приложение с потоковым видео под iOS. Понадобится XCode, СДК с клиентским АПИ, ровные руки (в принципе необязательно) и чашечка кофе.


Поехали
Total votes 37: ↑33 and ↓4+29
Comments10

Снова «Морской бой». Считаем число возможных расположений кораблей

Reading time6 min
Views34K
Раз уж неделя «Морского боя» на Хабре продолжается, добавлю и я свои два цента.
При попытке найти оптимальную стратегию для игры за компьютер довольно быстро приходим к такому приближению:

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

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


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

На первый взгляд, задача кажется неподъёмной. Число конфигураций представляется порядка 1020 (на самом деле их несколько меньше — ближе к 1015), так что на полный перебор времени уйдёт слишком много. Перебирать раскраски поля и оставлять только допустимые — не лучше: всё равно нам каждую комбинацию придётся просмотреть.

Что же ещё попробовать? Любой олимпиадник тут же ответит — динамическое программирование. Но как его организовать?

Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments55

Information

Rating
Does not participate
Registered
Activity