Search
Write a publication
Pull to refresh
0
0
Светлов Александр @Mehalich

Пользователь

Send message

Генерация ландшафта как в MineCraft

Reading time2 min
Views35K
image

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

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

XNA Draw или пишем систему частиц. Часть II: шейдеры

Reading time6 min
Views17K
Привет всем разработчикам игр и просто людям, которые интересуются геймдевом.

Пришло время рассказать вам о пиксельных шейдерах и о том, как сделать post-proccesing. Это вторая часть статьи о графических методах в XNA, в прошлой статье — мы рассматривали методы Draw и Begin у spriteBatch. Для примера: улучшим нашу систему частиц добавлением пиксельного шейдера, который будет искажать пространство.
Читать дальше →

XNA Draw или пишем систему частиц. Часть I

Reading time6 min
Views29K
И опять, привет хабравчанам!

Буквально несколько дней назад — начал цикл статей, о том, как можно создавать крутые игры с помощью XNA Framework, своей студии у меня нет, поэтому ограничимся только 2D играми.

На этот раз — мы более подробно рассмотрим Draw и напишем свою первую систему частиц.
Читать дальше →

Пошаговая стратегия как хобби

Reading time5 min
Views38K


Привет, хабралюди! Кто из вас не мечтал создать свою игру? А возможно ли написать браузерную стратегию, не имея при этом опыта и денег? Возможно, если очень этого хотеть.

Под катом моя история создания бесплатной пошаговой стратегии.

Читать дальше →

Создание очередной казуалки на Flash-платформе с физикой. Часть II

Reading time7 min
Views5.1K
Привет хабра-сообществу.

Относительно недавно достаточно давно писал статью про создание очередной казуалки на Flash-платформе с физикой, обещал вторую статью, встречайте.
В этой статье — научу рисовать мир и расскажу о сенсорах. Остальное под катом.

Что можно сделать из этих двух уроков, можно посмотреть тут (музыку отключить нельзя, но можно убрать звук в системе).
Читать дальше →

Знакомство с XNA и написание первой музыкальной игры

Reading time13 min
Views49K
Привет всем начинающим геймдевелоперам и просто хорошим людям. Сегодня, я хочу познакомить вас с замечательным фреймворком XNA (набор инструментов с управляемой средой времени выполнения dotNet). Программировать мы будем на C#.
Для того, чтобы познакомить вас с XNA ближе, я предлагаю написать простую «музыкальную» 2D игрушку. Остальное под катом.
Читать дальше →

Влияние сохранение и загрузки игрового состояния на игровой процесс

Reading time5 min
Views7.4K

Введение


Несмотря на то, что функция сохранения (save) и загрузки (load) игрового состояния (game state) относится скорее к системному функционалу, в определённых случаях их можно рассматривать и в разрезе игрового дизайна, как влияющие на механику игрового процесса.

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

Кроме того, сохранение и загрузка позволяет в принципе избежать такого состояния как проигрыш (game over). Имеется ввиду, конечно, не проваленная попытка, а невозможность выиграть, не начиная сначала. От смерти в результате падения в яму сохранение и загрузка не спасают.
Читать дальше →

Основы саунддизайна: киберпанк в Древнем Египте

Reading time16 min
Views10K

Введение


Недавно был опубликован топик, по результатам обсуждения которого я решил написать эту статью. Мы разберём основы саунддизайна, используя два метода синтеза звука (а именно: субтрактивный и FM) на примере создания подходящего тембра для следующей мелодии. В результате у нас получится вот что.
Я сразу хочу предупредить: после прочтения этой (как и любой другой) статьи вы не станете крутым саунддизайнером — это целая профессия, требующая долгого и упорного изучения. Цель этой статьи — показать, как вообще всё это происходит. Я постараюсь продемонстрировать ход моих мыслей, дать некоторые базовые знания насчёт основных компонентов синтезатора и покажу пару интересных приёмов. Надеюсь, это вдохновит вас двигаться дальше — именно для этой цели в конце статьи я привёл краткий список того, что следует почитать, если тема покажется интересной.
Читать дальше →

Sound Design в Cubase 5

Reading time3 min
Views8.5K
Одна из самых интересных областей работы со звуком на мой взгляд — это звуковой дизайн. Соответственно звуковой дизайнер — это человек, ответственный за оформление звука в том или ином мультимедийном проекте. Я давно занимаюсь и интересуюсь звуком и музыкой. В этой статье я бы хотел рассмотреть достаточно простой пример — как на видео наложить звуковое оформление и написать подходящую музыку.

Еще когда я учился в вузе, я был участником команды ребят, которая разрабатывала научный ролик для кафедры физики. Ролик демонстрировал различные физические явления, а также затрагивал вопросы происхождения нашей вселенной. Проще говоря, мы делали для университета свой national geographics репортаж. Для ролика была смоделирована масса 3d анимаций. В качестве материала для данной статьи, я взял прекрасно подходящую один нашу короткую анимацию о большом взрыве, и в роли композитора и дизайнера дополнил его.

Вот что мы собственно сделаем:


Читать дальше →

Cocos2d-x: Сборка проекта под Android

Reading time4 min
Views31K
В предыдущей статье мы узнали, как легко начать писать свою игру, используя кроссплатформенный движок cocos2d-x и научились запускать наше приложение на платформе Win32. Но этого не достаточно, ведь основная цель, разработка для мобильных устройств. В этой статье мы соберем проект под операционную систему Android.
Читать дальше →

Воксельный движок Atomontage

Reading time2 min
Views24K
Почитав статьи и посмотрев ролики на тему «революции» в компьютерной графике от Euclideon с их Unlimited Detail движком, решил посмотреть, что нового есть в этом направлении. И наткнулся на один интересный движок Atomontage.

image

Парни работают над ним с 2004 года и имеют десятилетний опыт в геймдеве, в том числе и проектах уровня AAA. Кстати, ведущий разработчик из Словакии, живет в Братиславе. За 7 лет работы сделано на первый взгляд не очень много, но по своему опыту знаю, что когда делаешь, что-то новое — копаешь один в новых направлениях, то на это требуется время.
Читать дальше →

Euclideon отвечает на критику Unlimited Detail, показывает новое демо и отвечает на вопросы в 40 минутном интервью

Reading time2 min
Views3.2K
Не так давно по интернетам прогремела новость от австралийской компании Euclideon которая утверждает что создала новый тип графического движка, который поддерживает «неограниченную детализацию» (Unlimited Detail). Оригинальное видео есть здесь и здесь.

После выхода видео, многие стали фанатами компании, предвидя тотальный переворот в мире 3d графики, но многие также и скептически отнеслись к новости, справедливо заметив что у этой технологии должны быть проблемы с анимацией, тенями, размером файлов в которых должен быть сохранён уровень, и т. д. Среди этих людей были и такие небезызвестные личности как Notch (создатель minecraft) (http://www.rockpapershotgun.com/2011/08/02/notch-vs-unlimited-detail/), и John Carmack (http://nwn.blogs.com/nwn/2011/08/is-the-future-of-immersive-3d-in-atoms-euclideoncom.html)

В своём новом видео Euclideon пытается ответить в том числе и на их опасения:

Читать дальше →

Tiling в 2D-играх на Unity, масштабирование материала

Reading time4 min
Views18K
При разработке 2D-игр на Unity часто возникает необходимость делать множество элементов различного размера из одного и того же материала. Самый простой пример – тайлы земли, травы, каменей и прочие элементы во всякого рода платформерах. Как правило, одинаковые тайлы по умолчанию используют один и тот же материал (в противном случае кол-во заранее созаднных материалов было бы чересчур большим). Часто делать каркас уровня из элементарных тайлов может быть неудобно из-за слишком большого кол-ва объектов на уровне, поэтому вместо элементарных тайлов используются большие тайлы – те же тайлы, только увеличенного масштаба. Допустим, нам надо поверх земли «посадить» два участка травы:

image

Читать дальше →

Создание генератора мира для minecraft

Reading time4 min
Views49K

Введение


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

Читать дальше →

Делаем редактор карт для своего платформера

Reading time5 min
Views8.4K
Многие, думаю, создавали, ну или хотя бы пытались создать какую-нибудь игрушку. И очень часто инди-разработчики выбирают жанр аркады, скролл-шутера, платфомера или что-то в этом роде. Здесь я хочу рассказать о создании простейшего редактора уровней к такой аркаде.
В качестве платформы я выбрал C# + XNA 4.0, и WinForms для пользовательских элементов в редакторе уровней.
Создаем в VisualStudio проект Windows Game и вперед!


Читать дальше →

Создаем match-3 игру при помощи Flash и ActionScript

Reading time32 min
Views62K
Всем коллегам, здравствуйте.
Я начинающий FlashGame-разработчик. Мне понравился урок по созданию игры на механике match-three. Сам урок я понял с первого раза, а для чего же я сделал перевод? Во-первых, надеюсь это поможет кому-то, кто не силен в «инглише». Во-вторых, перевод позволил мне разобрать весь код по косточкам, очень тщательно. Ну и в-третьих, отталкиваясь от этой механики вы можете начинать создавать мач-3 вашей мечты. И он необязательно должен быть на Flash.

Перед тем как я начну, выдам пару соглашений. Урок взят мной из книги Gary Rosenzweig — «ActionScript 3.0 Game Programming University». Я уже писал в своем личном блоге, что не все наши флеш-разработчики положительно относятся к этой книге. Перевод может показаться немного деревянным и не очень приятным на слух. Некоторые слова, выражения могут иметь более подходящие аналоги в русском языке. Если это будет критично, исправлю. В программе используется дополнительный класс PointBurst. Я не буду его сейчас описывать, а скорее всего сделаю это в личном блоге, т.к. это довольно интересный класс. Просто пока будем знать, что этот класс выдает эффект всплывающих очков в определенном месте.
И последнее, я не придумывал ничего нового, а просто сделал перевод, т.е. все благодарности автору книги Gary Rosenzweig.



Читать дальше →

Приложение «РосЯма» для iPhone

Reading time2 min
Views14K
image
В конце мая адвокат и общественный деятель Алексей Навальный презентовал проект по борьбе с отвратительным качеством российских дорог и бездействием российских чиновников − «РосЯма». Принцип работы сервиса прост: на сайте rosyama.ru любой желающий может разместить фотографию и данные дефекта дороги (яма, торчащие рельсы, открытые люки и т.п.), нарушающего ГОСТ 50597−93 (Автомобильные дороги и улицы).
image

После чего сайт автоматически генерирует жалобу в ГИБДД, а если никаких мер принято не будет, то и в прокуратуру. Саму жалобу необходимо сохранить или распечатать, после чего отправить нужному адресату.

Чтобы воспользоваться «РосЯмой», пользователь должен зарегистрироваться или зайти, используя один из аккаунтов в социальных сетях.

Приложение «РосЯма» для iPhone, появившееся в iTunes 15 июля, полностью освобождает от процедуры регистрации и необходимости ходить в почтовое отделение. Данное приложение позволяет отправить жалобу на состояние дороги на почтовый ящик соответствующего отделения ГИБДД в письменной форме с уведомлением. Уведомление о его получение представителями ГИБДД придет заявителю на указанный почтовый адрес. В стоимость включаются тарифы, установленные «Почтой России», и комиссия AppStore.

Как это работает?

Читать дальше →

Сравнение потребления памяти у разных структур хранения данных

Reading time2 min
Views26K
Различные структуры в Java потребляют разное количество памяти. Поэтому для нас очень важен выбор наиболее эффективного метода хранения данных.

Какая будет разница по потреблению памяти между конструкциями `new int[1024]` и `new Integer[1024]`?

int[] ints = new int[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;

Integer[] ints = new Integer[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;

Узнать

Выбираем мультиплатформенный движок для разработки мобильных игр (часть 2)

Reading time3 min
Views26K
Слегка затянул с публикацией продолжения, но первая часть не смогла накопить достаточно силы, а потом бац, и какой-то добрый незнакомец помог, за что ему огромное спасибо.

Первую часть читаем здесь: Выбираем мультиплатформенный движок для разработки мобильных игр (часть 1)

В этот раз вводную часть опустим и сразу перейдем к нашим пациентам.
Читать дальше →

Регистрация глобальных нажатий клавиш с использованием JNA

Reading time15 min
Views12K
Здравствуйте, в этой статье я расскажу вам как регистрировать глобальные нажатия клавиш из Java под Windows, Linux, BSD и Mac OSX с использованием отличной библиотеки JNA.

Для чего нужен JNA


Java с десктопом дружит сложно, для некоторых вещей нужно писать мосты для взаимодействия с операционной системой. Одной из таких функциональностей являются глобальные хоткеи, весьма популярные в аудио плеерах, когда даже в скрытом состоянии программой можно управлять с помощью определенных сочетаний клавиш или медиа-кнопок. На помощь приходит JNA — надстройка над jni и libffi для вызова нативных библиотек, она поддерживает почти все популярные платформы, разрабатывается уже долгое время и весьма стабильна.

Для джавы уже есть несколько достаточно стабильных библиотек для всех платформ: JIntelliType для Windows, которая даже поддерживает медиа-кнопки, JXGrabKey для систем Linux, и ossuport-connector для Mac OSX. Однако, все они используют jni, имеют разный интерфейс, и с библиотеками на jni не всегда удобно работать, потому что нужно прописывать пути к нативным библиотекам, разбираться с разрядностью системы и пр. Плюс это будет интересным упражнением по использованию JNA, потому что эту задачу можно сделать полностью на java достаточно малыми усилиями и получить легко поддерживаемый кроссплатформенный код.
Читать дальше →

Information

Rating
Does not participate
Location
Таллин, Эстония, Эстония
Date of birth
Registered
Activity