Последний поезд доживает свой век

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


     Это арт-идея для комикса. История о будущем, путешествие на последнем поезде в новый мир.

     Если вам понравилась идея, оставьте лайк или комментарий!


     Работа на DA: http://fav.me/dd1bbgp

     VK:  https://vk.com/rzedu

     Прогресс: 


Меню меню меню...

Version in English

Меню — это перечень блюд и напитков, подаваемых в кафе, ресторане или баре. (с) Википедия.

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

...и сразу первая версия меню!
Collapse )

Эффективный метод вывода 2D графики средствами СPU

Version in English

Ранее я писал о том, что я решил сделать визуализацию анимированной картинки как отдельный проект "Pixel Walker". Но самое главное, что при работе мне нужно было добиться вывода изображения в режиме реального времени.

Помимо медленной скорости генерации и перегенерации объектов, стояла проблема с медленным выводом самой графики, так как для неё использовались медленные дефолтовые методы вывода графики Canvas-ом.

Первое решалось выводом в отдельный поток генерации объектов, а вот методу вывода графики посвящен данный пост.

Можно было бы использовать готовые графические библиотеки, аля opengl или directx но, вдохновившись байками, что современные процессоры в состоянии выводить 2D графику быстрее современных видео-карт, я решил поэксперементировать с возможностями CPU.

Сперва были тесты вывода с помощью дефолтовых методов и библиотек, Canvas-ом. Особых результатов они не дали, я решил попробовать вывод с помощью технологии scanline. В итоге решил сохранять изображение в байт массив, обрабатывать сам массив и записывать его обратно как изображение.

Изображение имеет формат Bitmap — специальный формат растрового изображения, имеющий структуру заголовка и массив пикселей, по 4 байта на каждый.

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

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

Collapse )

Палка, палка, огуречик, вот и вышел человечек

Version in English

В прошлом посте, я упомянул, о двух объектах, созданные для проекта "Where The Storm". Это "птица" и "персонаж", о которых пойдет речь.

"Подрисовали" персонажа

Это "персонаж", точнее очень первый его прототип, на котором его разработка пока закончена. Он состоит из двух кругов и двух линий — глаз. А вариант справа, это "дорисованная" на том самом графическом редакторе версия.


По аналогии с "персонажем" сначала я добавил туловище и голову, а так же крылья:

Первая версия птицы


Был создан "скелет" крыльев, так же было важно сделать для них поворот, получилось некоторое псевдо 3д:

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

Это финальная версия, на момент работы с "Where The Storm". В ней птица летает за курсором, поворачиваясь в нужном направлении:

На текущей момент, птица так же изменена, главное отличие, что у неё изменилась анимация крыльев:

Для создания объектов, используется детализация. Если необходимо создать "стаю птиц", то прорисовывать для них детали не обязательно:

Сейчас реализован именно самый низкий уровень детализации, и, естественно, в дальнейшем я планирую сделать более высокую детализацию объектов.

В отличии от других объектов, "птица" получила явное свойство анимации. Причём в том виде, в котором она есть сейчас, именно анимации уделено больше работы. 

Это натолкнуло меня на мысль, что неплохо бы сделать в графическом редакторе "анимацию" объектов, своего рода живую картинку. И после того, как работы с графическим редактором были приостановлены, я решил сделать визуализацию анимированной картинки как отдельный проект "Pixel Walker".

Его название в последствии перекочевало в сам движок, который получил в результате более широкое применение. Об этом я подробнее напишу в следующем посте, а сейчас традиционно видео! Результат тестирования сериализации и десириализации объекта, на примере копирования объектов:


Если вы хотите поддержать мой проект, это можно сделать по ссылке или пополнив один из счетов WebMoney:

R163522901261

Z180352303030

X054099745452

Благодарю всех, читателей и тех, кто оставляет свои отзывы!

Земля в иллюминаторе видна или там где штормит, там новые объекты

Version in English

В данном посте, я напишу об одном из первых проектов, на движке Pixel Walker'а и об одном из объектов для него. Этот проект получил тематическое название "Where The Storm". Это игра в которой игроку предстоит управлять птицей и разгребать препятствия, перед идущим в шторм персонажем.


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

Первым делом, я взялся за "землю", а потом как поднял её над головой, и стою, жду,  на черепахе рядом с тремя слонами! И так оно может быть и было, если бы я в своём посте "Небо и земля pixel walker'а" не доказал бы, что земля круглая. =) 

По задумке, "земля" должна была быть некоторым контуром, случайно изменяющий свою высоту. Но в процессе реализации всплыли некоторые подводные камни:

Первая версия рельефа "земли"
Collapse )