Войти
K5EngineЖурнал

Журнал

Анонс движка K5Engine 3
Всем доброго времени суток.

Это небольшой анонс того, что следует ожидать в новой версии движка.

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

Ключевые изменения:
- Разнообразные улучшения в ядре движка и расширение функционала.

- Убраны банки спрайтов, они будут заменены на логический объект Group.

- Изменена система действий, обычные действия вообще убраны, остались только событийные с возможностью принимать пустую структуру события. То есть теперь есть единый механизм действий, без разделения на событийные и одномоментные.

- Переработана библиотека K5EngineExtensions, изменён состав действий, входящих в неё, так же добавлены инструменты для генерации спрайтов.

- Убрана реализация вывода звука с помощью Bass и Audiere, скорее всего звук будет выводиться с использованием PortAudio.

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

Новая версия ориентировочно ожидается в августе-сентябре, возможно раньше, всё зависит от загруженности работой.

Ссылка | Комментарии [2]
15 июня 2011

Обновление от 13.02.2011
Доступно новое обновление движка. Как обычно, сборка произведена в виде статической библиотеки для MinGW, MS Visual C++ и GCC

Изменения коснулись прежде всего библиотеки K5EngineExtensions:
- Состав ActionSystem остался тот же, но в будущем действия вида "ActionChange(тип объекта)(параметр)" (например ActionChangeSpriteColor) будут заменены на универсальные, подходящие для всех доступных графических объектов.

- ColisionSystem была исключена из расширений.

- LibTools не изменилась.

- TinyXmlToolsSystem исключена из расширений. Это сделано для того, что бы избавиться привязки к конкретной библиотеке. Вместо неё теперь будет несколько более продвинутая система.

- Добавлена UISystem в данный момент в неё входят:
UISimpleButton - простая кнопка, способная работать с спрайтом или спрайт-банком.
UIColisionChecker - класс для отслеживания положения и кликов курсора по отношению к объектам (спрайтам или спрайт-банкам).

- Добавлена DataNodeSystem. Она предназначена для построения иерархических описаний объектов движка, не зависимых от библиотек ввода-вывода информации. Теперь описание объекта движка, например того же спрайта, строится при помощи нового класса - DataNode, далее если нужно произвести запись в xml, делается декодер, который формирует из структуры DataNode xml код. Чтение и декодирование xml происходит так же, их файла читается xml и строится структура DataNode, которая уже будет прочитана и по её описаниям будут созданы спрайты сцены, событийные действия или та или иная логика.
В данный момент в DataNodeSystem входят такие классы:
DataNode - класс для построения иерархических описаний
DNEngineDataConverter - конвертер из/в DataNode и типы движка.

В будущем будут добавлены классы, аналогичные старой TinyXmlToolsSystem: DNSprite, DNSpriteBank, DNText и т.д.

Ссылка
13 фев. 2011

Обновление от 02.01.2011
Прежде всего, всех с Новым Годом :)

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

Из нового - в состав движка вошла "новая" библиотека - K5EngineExtensions, разнообразный полезный функционал, который уже опробован в работе, стабилен и достаточно часто используется.

В K5EngineExtensions входят:
1. ActionSystem - набор действий и событийных действий:
Доступные действия:
- ActionActionController
- ActionChangeGraphicObjectListView
- ActionChangeGraphicObjectView
- ActionChangeSpriteAngle
- ActionChangeSpriteColor
- ActionChangeSpritePos
- ActionChangeSpriteTexture
- ActionContainer
- ActionEventActionController
- ActionSortRenderQueue
Доступные событийные действия:
- EventActionContainer
- EventActionEffectTimer
- EventActionQueue
- EventActionSpriteAngleIterator
- EventActionSpriteColorIterator
- EventActionSpritePosIterator
- EventActionSpriteSizeIterator
- EventActionTextColorIterator
- EventActionTextPosIterator

2. ColisionSystem - в данный момент содержит один полезный класс - SpriteAndPoitColisionChecker, который часто используется в построении интерфейса для проверки попадания клика и курсора мыши по спрайту.

3. LibTools - внешняя библиотека вспомогательных классов, которых нет смысла держать в основном движке, в данном случае это FolderWorker, который был исключён из LibTools движка.

4. TinyXmlToolsSystem - библиотека обвёртка над TinyXml. Далее про неё поподробней:
Базовые классы:
- XmlBaseActionDecoder
- XmlBaseDataDecoder
- XmlBaseEventActionDecoder
- XmlBaseLoader
- XmlEngineDataDecoder
Классы:
- XmlSprite
- XmlSpriteBank
- XmlText

Подробно о библиотеке K5EngineExtensions расскажу в отдельной статье, которую постараюсь подготовить в ближайшее время.

Ну и частота дальнейшей публикации новостей и информации о движке зависит от загруженности меня работой :)

Ссылка
2 янв. 2011

Обновление от 27.08.2010
Готово новое обновление движка, изменения в библиотеке, в файлах пользователя и в уроках.
Далее по порядку.

Библиотека движка:
Добавлено новое устройство - TSDLGLDevice.
Добавлены define определения для подключения того или иного устройства, для Windows доступны три типа: USEWINAPIGLDEVICE, USEWINAPIDX8DEVICE, USESDLGLDEVICE, для Linux только один - USESDLGLDEVICE.
Доступна сборка библиотеки под Linux с собранным устройством TSDLGLDevice.
Класс TFolderWorker убран из библиотек движка и перенесён в расширения.
Так же теперь в проектах не надо подключать define _UNICODE.

Уроки:
Код уроков был изменён для компиляции на обоих системах, так же добавлены готовые проекты среды Code::Blocks для Linux системы.

Библиотеки пользователя:
Обновилась DevIL.

Дальше в планах возможный порт на такие системы, как Android, MeeGo, Maemo, постепенная доработка TSDLGLDevice и публикация библиотеки вспомогательных функций. Так же скорее всего в ближайшие две-три недели будет анонсирован наш проект на форуме.

Ссылка
28 авг. 2010

Обновление от 13.08.2010
В этом обновлении:

1. Обновилась библиотека движка, теперь она разделена на сам движок и библиотеки для подключения того или иного устройства.
То есть теперь можно выбирать тип рендера, который будет поддерживаться в приложении: только OpenGL или DirectX8 или оба сразу.

2. Некоторое расширение функционала списков событийных действий, добавлены дополнительные служебные методы.

3. Обновились все уроки с учётом последних изменений в движке, добавлены бинарные сборки уроков.

4. Добавлена новая статья: Система событий движка.

Ссылка
13 авг. 2010

Обновление от 30.07.2010
Добавлена новая статья "Система событий движка" и урок к ней.
Обновлён сам движок, несколько небольших изменений в коде.
Так же сделано одно важное изменение в распространении уроков, теперь все они идут в одном архиве для всех статей. Соответственно новые уроки будут просто добавляться в этот архив.

Далее по плану статья о системе действий движка и работа над кодом.

Ссылка
30 июля 2010

Обновление движка и новая статья
Готова новая статья: "Графическая система движка"
Так же к ней прилагается пачка уроков по одному на каждый раздел, описанный в статье.

Так же обновился движок:
1. В процессе написания статьи некоторый старый код был приведён к "современной" структуре.
2. Добавлены типы указателей для некоторых классов.
3. В списки графических объектов добавлены методы:
    - получение объекта по его индивидуальному идентификатору:
        TObject* Get(const unsigned long &ObjId)
    - группа методов для извлечение объекта из списка:
        TObject* Extract(const int &Id) - по позиции в списке
        TObject* Extract(const unsigned long &ObjId) - по индивидуальному идентификатору
        TObject* Extract(const wstring &ObjName) - по имени
Так же подобные методы добавлены в TSpriteBank
4. В менеджер списков графических объектов добавлены методы для получения графического объекта по его идентификатору:
    TObject* Get(const int &List, const unsigned long &Id)
    TObject* Get(const wstring &List, const unsigned long &Id)

Планы на ближайшее будущее:
1. Статья, описывающая систему событий движка.
2. Создание roadmap

Критика, конструктивные предложения и идеи приветствуются :)

Ссылка | Комментарии [2]
20 июля 2010

Открытие группы, посвящённой использованию K5Engine
Выложена первая публичная версия движка K5Engine.

Движок K5Engine предназначен для разработки 2D игр.
Он поддерживает два типа рендера - через OpenGL и DirectX8. Так же благодаря модульной структуре есть простая возможность добавить нужный разработчику рендер или систему обработки ввода/вывода.

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

Ссылка
14 июля 2010

Архив 

Следующие записи