forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax (http://forum.boolean.name/showthread.php?t=15203)

Matt Merkulov 31.07.2011 08:45

[DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Digital Wizard's Lab - это фреймворк для разработки двумерных игр на BlitzMax.

Проект с открытым кодом, бесплатен для разработки коммерческих программ.

Возможности:
* Проекты с изменяемым кол-вом кадров логики в секунду и автоматическим определением FPS.
* Иерархия слоев игрового мира, которые могут содержать другие объекты.
* Камеры с изменяемым окном вывода, отображающие часть игрового поля.
* Спрайты разных форм: точка, овал и прямоугольник.
* Визуализаторы для отображения группы спрайтов с одними и теми же параметрами отображения. Из нестандартные визуализаторов есть движущаяся штриховая рамка, визуализатор анимированной карты тайлов и отладочный визуализатор, отображающий формы для столкновения, векторы и названия спрайтов.
* Тайловые карты с изменяемым положением, размером, индексами тайлов и автоматическим обрамлением.
* Спрайтовые карты с изменяемым размером ячейки для быстрого определения столкновений и отображения только тех спрайтов, что помещаются в отображаемую камерой часть игрового поля.
* Система столкновений спрайтов, тайловых карт, линий и групп.
* Физика: расталкивание спрайтов и базовые сочленения.
* Печать растровых шрифтов с изменяемой длиной букв и выравниванием.
* Модели поведения, которые могут быть привязаны к спрайтам, активированы и деактивированы.
* Графы, точки и линии с автоматическим поиском пути.
* Карты высот для процедурной генерации тайловых карт и изображений с шумом Перлина, размытием, рисованием кругов со сглаженными краями и различными методами печати на тайловые карты и пиксель-карты.
* Система контроллеров.
* Профили для записи настроек и состояния игры.
* Графический интерфейс пользователя (GUI) с окнами, кнопками, списками, бегунками и текстовыми полями.
* Сохранение и загрузка объектов со всем содержимым из XML-файлов.









В пакет включен мощный редактор игровых миров со следующими возможностями:
* Создание иерархии слоев.
* Создание, перемещение, изменение размера, порядка и параметров спрайтов.
* Создание, импорт, изменение размера, перемещение и рисование тайлами или тайловыми блоками на тайловых картах.
* Создание спрайтовых карт и наполнение их спрайтами.
* Технология авто-обрамления тайловый карт с редактором правил.
* Редактирование форм столкновений тайлов.







Замечание: коммерческое распространение редактора и производных от него программ запрещено.

Ссылки:
* Загрузить фреймворк 1.3.2 с редактором и примерами (13MB)[/url]
* Урок - создание ремейка Super Mario Bros (англ.)
* Урок по созданию изометрической ролевой игры
* Урок по использованию редактора миров (англ.)
* Официальный сайт
* Багтрекер
* Исходный код
* Страница проекта в Фейсбуке
* Страница проекта во ВКонтакте

Если вы захотите создать игру или другое приложение, используя фреймворк DWLab, я могу помочь вам.

Вы можете связаться со мной через:
* ICQ: 392-274-050
* Google Talk: [email protected]
* Skype: matt_merkulov

Reizel 31.07.2011 10:35

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
А можно картинки динамично и попиксельно изменять*????? и быстро, желательно

DarkAmbience 31.07.2011 15:19

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
именно то что нужно ^^ сейчас пощупаем

Matt Merkulov 01.08.2011 03:55

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Цитата:

Сообщение от Павел (Сообщение 197228)
А можно картинки динамично и попиксельно изменять*????? и быстро, желательно

В смысле?

Reks888 01.08.2011 11:58

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Круто, беру себе.
Делаем Game Maker из Blitzmax'a

Черный крыс 06.08.2011 16:13

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Есть ли возможность скриптования уровней,слоев,обьектов?

dimanche13 08.08.2011 12:08

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
возможности скриптования, насколько я в курсе, нет.
А вообще хотелось бы. Потому что скриптование, де-факто, уже стало неотъемлемой частью любого нормально игрового движка.
Так же хочу заметить, что этот проект пилился достаточно продолжительное время, Матвеем практически в одиночку. Он знает все нюансы кода, готов развивать его для любых нужд. Так же он всегда открыт для общения, и если вы решили использовать этот фреймворк, то он безусловно поможет, и словом и кодом.

Matt Merkulov 08.08.2011 14:35

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Зачем что-то скриптовать, когда все можно удобно прописать в коде?

moka 08.08.2011 18:19

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Скрипты используются не программистами, а например квесто-писателями, которые в свою очередь занимаются придумыванием квестов, и пишут скрипты для них. Это один из примеров.
Скрипты, чаще как метод наполнения контентом, а не редактор логики или игровой механики.

Matt Merkulov 09.08.2011 05:12

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Да, тогда скорее всего скриптинг понадобится нам в одном проекте, поэтому, думаю, он будет реализован во фреймворке. Будет здорово, если вы поделитесь с нами вашими предложениями по составлению API для него.

Matt Merkulov 28.08.2011 14:15

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Выпущена новая версия (1.1). Изменения:
* Внедрены изометрические камеры (для отображения изометрических карт тайлов).
* Поиск пути на тайловых картах.
* Визуализация растровых рамок.
* Поддержка incbin для миров.
* Полная поддержка овальной формы спрайта (вместо круга).
* Убран эффект сглаживания спрайтов.

Изменения в редакторе миров (v1.6):
* Поддержка изометрических камер.
* Список недавно загруженных файлов.
* Список горячих клавиш.
* Автоматическая генерация incbin-файла для мира.



Скачать ( 9MB )

Matt Merkulov 28.08.2011 15:11

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Изометрические камеры обрабатываются иначе, чем обычные. Каждый изометрический слой, отображаемый изометрической камерой, должен иметь одну или более тайловых карт и любое количество спрайтовых карт. Эти карты должны удовлетворять следующим условиям:
* Все карты должны иметь одинаковое кол-во тайлов (клеток) по вертикали и горизонтали и одинаковый размер клетки.
* Левый верхний угол каждой тайловой карты (т. е. угол с клеткой (0,0)) должен иметь координаты (0,0).
Если эти условия не будут соблюдены, карты будут отображаться неправильно. Вы можете также позиционировать изображение тайла относительно точки рисования с помощью полей VisualDX и VisualDY (DX и DY визуализатора), а также растягивать их с помощью полей XScale и YScale.

Matt Merkulov 30.08.2011 14:38

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Выпущена версия 1.1.1 с поддержкой разных направлений отрисовки тайловых карт (справа налево, слева направо и т. д.). С параметрами XSCale и YScale визуализатора тайловой карты теперь можно делать уровни вроде Prince of Persia:



Можно задавать эти параметры в редакторе вместе с параметром "зацикленная", который позволяет зациклить отображение тайловых карт:



Скачать (10MB)

Dzirt 30.08.2011 17:37

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Все смотрится отлично, продолжай работать над фреймворкером дальше, и тебя ждет успех...однозначно.

Matt Merkulov 11.09.2011 11:48

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

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

Редактор сейчас полностью поддерживает списки параметров и операции вырезания (Ctrl-X) / копирования (Ctrl-C) / вставки (Ctrl-V).

Скачать (10.5МБ)

Черный крыс 11.09.2011 21:14

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Цитата:

Сообщение от Matt Merkulov (Сообщение 198478)
Да, тогда скорее всего скриптинг понадобится нам в одном проекте, поэтому, думаю, он будет реализован во фреймворке. Будет здорово, если вы поделитесь с нами вашими предложениями по составлению API для него.

LUA ? ( движок в подписи )

Matt Merkulov 12.09.2011 07:52

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Наверное LUA, потому что писать свой мне лениво. Но, возможно, я сделаю компилятор, который будет преобразовывать скрипт со своим синтаксисом в LUA.

API, я так понимаю, должен обеспечивать обмен между lua-скриптом и BlitzMax и вызывать BlitzMax-функции из lua-скрипта. Я сам толком не разобрался с этим, помогли бы несколько примеров.

Черный крыс 12.09.2011 16:30

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Цитата:

Сообщение от Matt Merkulov (Сообщение 202072)
Наверное LUA, потому что писать свой мне лениво. Но, возможно, я сделаю компилятор, который будет преобразовывать скрипт со своим синтаксисом в LUA.

API, я так понимаю, должен обеспечивать обмен между lua-скриптом и BlitzMax и вызывать BlitzMax-функции из lua-скрипта. Я сам толком не разобрался с этим, помогли бы несколько примеров.

Полезай знач в мою подпись, щелкай на вкладку Download и качай два модуля : script.mod и второй модуль - scriptlua.mod. В папке BlitzMax\mod\ - создаем новую папку api.mod и кидаем туда оба модуля, компилируем ( нужен MinGW ), ребилдим документацию. В модуле script.mod - есть полная документация со всеми примерами, демонстрирующие работу ВСЕХ функций.

Matt Merkulov 13.09.2011 05:19

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
А, я скачал, но не заметил примеры. Буду разбираться.

Черный крыс 13.09.2011 21:35

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Оба модуля обновлены. Качай новые версии. ;)

dimanche13 13.09.2011 22:10

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
хочу внести свои пять копеек. Раз уж есть желание запилить во фреймворк ЛУА, то вероятно следует использовать LUA JIT http://www.blitzmax.com/Community/posts.php?topic=89186
по заверениям автора и судя по тестам, этот модуль намного быстрее оригинальной ЛУА

Matt Merkulov 09.10.2011 15:30

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Вышла версия 1.3.2 с системой создания графического интерфейса (GUI), профилями игрока и системой контроллеров.



В пакет включена игра Color Lines 1.0 beta, которая использует все эти новые технологии. Элементы интерфейса и игровое поле могут быть легко отредактированы редактором миров 1.7.5.

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

Для конверсии ваших миров в формат фреймворка версии 1.2.6 и выше, воспользуйтесь утилитой из папки "utils".

Скачать (13МБ)

Reks888 09.10.2011 17:34

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Я только за старую хотел взяться как уже новая вышла
Оперативно работаешь!

Matt Merkulov 01.01.2012 00:31

Ответ: [DWLab] Новый фреймворк для создания 2D-игр на BlitzMax
 
Вышла версия 1.4 с множественными нововведениями, которые здорово облегчают разработку.

1. Почти для каждой из команд написан пример. Вы можете просматривать их в документации, запускать, экспериментируя, изменять.

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

3. Серьезно расширена система моделей поведения. Теперь есть модели поведения для ожидания, модели-условия, аниматоры, активаторы, деактиваторы, которые могут быть еще расширены наследованием.

4. Стек анимации - это еще одна полезная модель поведения, которая сильно упрощает управление анимацией фигуры. Вы просто добавляете аниматоры в список по приоритету и потом активируете / деактивируете их. Только первая встреченная активная модель будет применена к фигуре, так что только одна анимация будет проигрываться в отдельный момент времени.

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

Со всеми этими изменениями, уроки немного устарели. Через некоторое время я составлю схемы моделей поведения для обоих уроков и перепишу код в соответсвии со структруными изменениями во фреймворке.

Чтобы конвертировать ваш проект в новую структуру, вам нужно:

1. Удалить первый параметр из всех методов Animate().

2. Переместить код из методов фигуры HandleCollisionWith... в созданные обработчики столкновений и указать их в методах CollisionsWith....().

Спасибо бета-тестерам, которые помогали мне сделать этот релиз: Tadeus, DanFi, Александр Голованов и особенно DimasSup и Владимир Костин (VoID)

Скачать (8МБ)

Скачать 52 примера, скомпилированные (для Windows) в одном демо-файле (1МБ)

Скачать скомпилированный (для Windows) редактор миров v1.7.9 и карты-примеры к нему (5МБ)

Скачать скомпилированный (для Windows) набор демонстрационных програм (10МБ)

И с новым годом всех завсегдатаев и гостей Булеана! Желаю вам успехов и побольше энтузиазма в творчестве, а главное хорошего настроения, здоровья и работоспособности.

UPD:Появилась страница проекта в Google+.


Часовой пояс GMT +4, время: 20:10.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot