Войти
K5Engine

Журнал

Обновление от 20.07.2012
Всем доброго дня.

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

Последнюю версию движка можно скачать по той же ссылке, что и раньше: K5Engine3

Ссылка
20 июля 2012

Обновление от 27.02.2012
Доброго времени суток.

Доступно обновление движка.

В этот раз из изменений в коде только исправление двух мелких ошибок.
Сам состав библиотек движка дополнится сборкой для Linux.

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

В планах всё так же остаётся разработка версий движка под MacOS, Android и IOS.

Ссылка
27 фев. 2012

Обновление от 05.02.2012
Доброго времени суток.

Готово и выложено обновление движка.

В движке изменений минимум:
- в ядре - изменения в системе вывода текста, часть классов перенесена в K5EngineExternSystems .
- в K5EngineExternSystems добавлен (точнее перенесён из кода проекта) новый модуль - PathfindingSystem, система для поиска пути.
- общие мелкие правки в разных модулях движка.
Для MinGW библиотеки собраны на версии 4.6.1.

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

Плюс есть несколько мелких исправлений в pdf-версиях ранее опубликованных статей, скачать которые можно по этой ссылке: articles.

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

Ссылка
5 фев. 2012

Первое обновление в новом году - 03.01.2012
Доброго времени суток.

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

Так же добавлена новая статья: Графическая система движка - ключевые элементы
И доступен новый урок, который можно скачать по ссылке: Уроки

Постепенно готовлю ещё две статьи: работа с текстом и событийная система движка и соответственно к ним два урока.

Ссылка
3 янв. 2012

Обновление от 24.11.2011
Доброго времени суток.

Залил обновлённый движок, скачать можно всё по той же ссылке: K5Engine3.
Так же добавил новую статью: Начиная работу.

Изменений в движке довольно много, из самых значительных:
В K5Engine:
- У TSprite  атрибут Square разделён и заменён на Size и Mesh.
- Полностью убран из движка класс точки TPoint2D, соответственно TPoint3D стал просто TPoint.
- Добавлен класс TPointArray.
- Новый функционал у текстур - режимы смешивания при копировании определённого участка.

В K5EngineExtensions:
- Добавлены новые екшены: TActionSpriteTransform, TActionColorArrayIteratr, TActionPointArrayIterator.
- В DataNodeSystem добавлены новые декодеры для екшенов.

В K5EngineExternSystems:
- Добавлены реализации звуковых систем AudiereMusicSystem и BassMusicSystem.
- Исправление ошибки в FreeTypeFontSystem при генерации шрифтов для DX рендера.

Ссылка
25 ноя. 2011

Обновление от 05.10.2011
Доброго времени суток.

Залил обновлённый движок, скачать можно по этой ссылке: K5Engine3.

Исправлен ряд ошибок, связанных с некоторой внутренней реорганизацией кода, из серьёзных:
1. не правильная работа цвета спрайта в DX8 рендере.
2. не обновлялись параметры спрайта при некоторых вариантах задания устройства.

Так же ряд небольших изменений в системе действий:
1. В класск TBaseActionList  изменено название метода IsActive() в IsAllActive(), добавлены методы IsAllNotActive(), IsOneActive(), IsAllNotActive(), IsOneNotActive().
2. В класс базового действия TBaseAction добавлен виртуальный метод Update().
3. В TBaseActionList  и TBaseActionPointerList добавлен метод Update(), который вызывает аналогичный метод у TBaseAction.

Ссылка
6 окт. 2011

Обновление от 14.09.2011
Доброго времени суток.

Сегодня выложил первую статью по третьей версии движка: Введение в K5Engine3
Скачать версию статьи в pdf можно по этому адресу: 0. Введение.pdf
Собственно сюда в дальнейшем будут помещаться статьи для скачивания.

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

Так же обновился сам движок.
Из изменений:
- некоторые мелкие исправления в системах движка.
- исправлена ошибка в ActionAngleIterator: не работал циклический режим итерации.
- доработан ActionJoin, добавлена возможность не задавать трансформацию угла наклона.

Скачать последнюю версию можно тут.

Ссылка
14 сен. 2011

K5Engine. Релиз третей версии движка.
Вот и выложена новая версия движка.
Скачать можно по этой ссылке: K5Engine3

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

Изменений много, множество систем было переработано, некоторые были исключены из движка, некоторые добавлены. Так же добавлен модуль с открытым кодом расширений движка K5EngineSourceTemplates.
Вот список наиболее важных.
1. Убран один графический объект - SpriteBank. С одной стороны он удобен в работе, с другой слишком усложняет сопутствующую логику.
2. Уменьшилось количество графических элементов, угол наклона превратился в унифицированный класс-значение.
3. Убраны отдельные классы-виеверы, их код унифицирован и разделён на отдельные объекты.
4. Оболочка для freetype исключена из движка и вынесена в отдельное расширение.
5. Классы-действия кардинально переработаны, теперь вместо деления на два типа есть один унифицированный базовый класс. Соответственно все ранее доступные классы-действия заменены новыми.
6. Введена система узлов данных, позволяющая создавать описания сущностей движка и игровой логики, сохранять и загружать их из файлов. Xml-класс для работы с узлами данных доступен в K5EngineSourceTemplates.
7. Полностью убраны реализации звуковой системы.

Это не окончательный релиз, движок будет постепенно дорабатываться.
В данный момент доступна библиотека для компилятора mingw, соответственно платформа одна - Windows. Однако по просьбе движок может быть собран и на другом компиляторе (например MS compiler) и под систему Linux.
Так же проводится работа по портированию движка на MacOS, IOS и Android платформы.

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

Ссылка
4 сен. 2011

Анонс движка 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

Архив 

Предыдущие записи