Пятница, 31 Мая 2024, 18:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
AlloDraw engine
BOOMДата: Пятница, 22 Января 2010, 12:58 | Сообщение # 1
I am the creator of ADE
Сейчас нет на сайте
Проект закрыт на неопределённый срок





AlloDraw 2D engine


Платформа: Windows NT 32bit (2000, XP, Vista, 7)
Пространство: базовое 2D. Система позволяет реализовать 3D.
Используется API: WinAPI, VCL, DirectX
Используются библиотеки: LUA, PNG, FMI, Squall
Описание: модульный движок для создания экономических симуляторов, игр, похожих на SimSity, SitiesXL.
Лицензия: Бесплатная.
Предоставление исходного кода: на усмотрение автора.

И так, сегодня я продолжаю развитие проекта AlloDraw engine, который уже строиться более двух лет. Наверное, самый долгострой, который есть на gcup.ru. Но не об этом. В развитии этого проекта я вложил много сил. Камнем преткновения в развитии стал сценарный движок. В результате я решил перестроить систему, используя LUA, что, соответственно, дало свой результат.

ADE через два года.
ADE прошёл жестокую «мутацию», которая привела проект от GOS, до AlloDraw. Вначале, это должна была быть простая игра, которая походила бы на простой компьютерный симулятор. Но, решение пришло о развитии полноценного движка, чем я и занялся. Далее, движок приобрёл некоторые способности, и в конце концов, основное направление движка стало: экономические симуляторы.

На этом, развитие данной идеи не завершено. Последнее обновление идеи ADE привело к пересмотру всей структуры движка, где и потребовался мощный сценарный движок. А я, как «мега-пупер-программер», решил написать свой сценарный движок, но оказалось, что для меня это не подъёмная задача. То есть как, я создаю свой сценарный движок, но он не имеет нужных характеристик, которые нужны именно для ADE. По этой причине, признав свои ошибки, я решил перейти на LUA, что, повторяюсь, дало свой результат.

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

Конечно, я не гений, что бы сразу создавать 3D модули к ADE, поэтому останавливаюсь на простенькой 2D графики с анимацией.

Проведённая работа:
1. Наконец был сформирован формат FMI, создан редактор FMI для ADE.
2. Разработана концепция карт.
3. Так же, реализованы некоторые системные вещи.



Будущие работы:
1. По динамичному плану и работам двух лет создаётся единый план-проект ADE. (публикация плана – конец января, начало февраля 2012 года).
2. Разрабатывается API и интерфейс модулей. Это вообще, сложный вопрос, но решаемый.

Что обдумывается:
Возможно, что ADE обзаведётся и конструктором игр. Но, без программирования – не назвать, так как он будет требовать знания LUA.

Высказывайте своё мнение, и предлагайте свои идеи по поводу ADE...


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Суббота, 30 Сентября 2017, 06:10
BOOMДата: Среда, 14 Июля 2010, 13:56 | Сообщение # 81
I am the creator of ADE
Сейчас нет на сайте
Окончательно определены режимы дисплея, и разрядность такового. Список имеет 15 значений и два вида разрядности.

Список режимов:


  • 1 - 1024 х 768
  • 2 - 1152 х 864
  • 3 - 1280 х 600
  • 4 - 1280 х 720
  • 5 - 1280 х 768
  • 6 - 1280 х 960
  • 7 - 1280 х 1024
  • 8 - 1400 х 1050
  • 9 - 1600 х 900
  • 10 - 1600 х 1200
  • 11 - 1856 х 1392
  • 12 - 1920 х 1080
  • 13 - 1920 х 1200
  • 14 - 1920 х 1440
  • 15 - 2048 х 1536

Список разрядности:


  • 1 - 16
  • 2 - 32

Так же есть возможность режима: окно (Играть в окне).

Последующие шаги - это разработка управляемого GUI. Суть его сводится к тому, что будут файлы диалогов, которые будут содержать настройки диалога, то есть, кнопки, редакторы, флажки, в общем элементы. Каждый элемент будет иметь свой ID. Этот ID будет использоваться в скриптах. Таким образом будет осуществляться управление.

В направлении реализации GUI были созданы:

TGUIObject - стандартный класс объектов. Содержит в себе все необходимые элементы и функции, которые много раз могут повторяться в других объектах. Этот класс является прородителем последующих объектов.

TGUIButton - класс кнопки.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 16 Июля 2010, 13:09 | Сообщение # 82
I am the creator of ADE
Сейчас нет на сайте
Разработка GUI идёт полным ходом. Уже есть скрины с кнопкой, флажком и надписью.

Суть заключается в том, что информация о расположениях объектов GUI загружается из файла.

Пример записи информации из кнопки:

Code
BUTTON : 10, 5, 25, "Кнопка"

До двоеточия идёт идентификатор типа объекта, в данном случае "BUTTON".
После двоеточия идут цифры. В этом случае:
10 - Идентификационный номер объекта, он используется в функции CallBack.
5 - Положение объекта по горизонтали (X или Left)
25 - Положение объекта по вертикали (Y или Top)
В конце, взятая в кавычки строка "Кнопка", является надписью.

Но это ещё не всё в конфигурации записи строки. Система AlloGUI загружает стандартные параметры для каждого отдельного типа объектов. Они устанавливаются как стандартные (default). Но есть возможность применить отдельные параметры для отдельного объекта.

На скрине есть надпись "УРА!!!". Она записана следующей строкой:

Code
LABEL : 300, 300, "УРА!!!" : COLOR = 255, SIZE = 50, FONT = "Courier New"

Эта строка имеет три секции, разделённые двоеточием. Нас интересует последняя секция. В ней указываются локальные параметры форматирования объекта.
Color - задаёт цвет текста
Size - задаёт размер текста
Font - указывает название шрифта для текста.

---
Вскоре будет выложена дополнительная информация.

Прикрепления: 1926341.png (132.8 Kb)


______________________________
Я вернулся, и это чудо.
______________________________
WXZRWДата: Пятница, 16 Июля 2010, 15:16 | Сообщение # 83
Thousand faces conspiration
Сейчас нет на сайте
Quote (BOOM)
Окончательно определены режимы дисплея, и разрядность такового. Список имеет 15 значений и два вида разрядности.

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

Не одобряю однозначно.

Добавил - где кстати, частота обновления экрана? Почему только размеры и цветность?

Сообщение отредактировал WXZRW - Пятница, 16 Июля 2010, 15:17
BOOMДата: Пятница, 16 Июля 2010, 15:30 | Сообщение # 84
I am the creator of ADE
Сейчас нет на сайте
WXZRW, Это мой первый конкретный проект в области стратегических движков. По этому я многое пока упускаю.

На счёт "Окончательно" ты прав, в более продвинутых проектах делается всё динамично. Но пока это для меня гремучий лес...

З.Ы.
Я не кричу, что создаю супер-проект... Зачем. Я просто конкретно практикуюсь в этой области, создавая этот проект. В дальнейшем и эту тему я затрагиваю. А пока принцип создания окна, анимации, гуи...

А с частотой я ещё не возился...


______________________________
Я вернулся, и это чудо.
______________________________
WXZRWДата: Пятница, 16 Июля 2010, 15:43 | Сообщение # 85
Thousand faces conspiration
Сейчас нет на сайте
Quote (BOOM)
А с частотой я ещё не возился...

Частота, размер окна и цветность получаетя одной и той же функцией, надо только указать что именно получать. Также можно установить минимальный порог, например цвет 16 и окно допустим 600 на 480. Делается это дело может быть за час или за два. Потом надо просто отсортировать массив по трем параметрами и у тебя будет список режимов.

Советую такое сделать если не сейчас то потом. Поскольку пользователи обычно ленивые и им лень разбираться что и как после смены компьютера или железа, к тому же человек может хотеть играть на GeForce 4 поколения например...

BOOMДата: Пятница, 16 Июля 2010, 15:52 | Сообщение # 86
I am the creator of ADE
Сейчас нет на сайте
Нет, суть кроется, что окно я получаю через DirectDrawCreate. Меня очень интересует, почему макросовтовцы в конструкторе указали только метод расширения и глубину цвета??? О том, что ты говоришь, можно сделать, используя информационный массив о системе, который заполняется так же дирекстом. И в принципе не надо никаких сортировок. Но BCB очень капризный, и некоторые конструкции дирекста не принимает, а мне лень переписывать...

Через API да, будет тяжеловато и там факт потребуется сортировка.


______________________________
Я вернулся, и это чудо.
______________________________
WXZRWДата: Пятница, 16 Июля 2010, 16:02 | Сообщение # 87
Thousand faces conspiration
Сейчас нет на сайте
Quote (BOOM)
Нет, суть кроется, что окно я получаю через DirectDrawCreate. Меня очень интересует, почему макросовтовцы в конструкторе указали только метод расширения и глубину цвета??? О том, что ты говоришь, можно сделать, используя информационный массив о системе, который заполняется так же дирекстом. И в принципе не надо никаких сортировок. Но BCB очень капризный, и некоторые конструкции дирекста не принимает, а мне лень переписывать...

Насчет ДХ я не в курсе, я с ГЛ работаю.

Quote (BOOM)
Через API да, будет тяжеловато и там факт потребуется сортировка.

Через АПИ несложно, сортировка тоже легко делается. Не слышал чтобы ДХ использовали для этих целей, обычно получают данные через ВинАПИ о режимах дисплея, которые поддерживаются системой в данный момент времени. Окно программы для получения этих данных можно не иметь вообще,
то есть сперва получешь всю информацию, потом либо берешь данные из настроек (проверив на месте ли железо или его поменяли и т.д.), либо берешь новые данные от АПИ и задаешь параметры перед тем как создать окно, либо для смены режима, если окно уже есть.

BOOMДата: Пятница, 16 Июля 2010, 16:09 | Сообщение # 88
I am the creator of ADE
Сейчас нет на сайте
WXZRW, так это доступно с 9 дирекста.

Quote (WXZRW)
Через АПИ несложно, сортировка тоже легко делается. Не слышал чтобы ДХ использовали для этих целей, обычно получают данные через ВинАПИ о режимах дисплея, которые поддерживаются системой в данный момент времени. Окно программы для получения этих данных можно не иметь вообще, то есть сперва получешь всю информацию, потом либо берешь данные из настроек (проверив на месте ли железо или его поменяли и т.д.), либо берешь новые данные от АПИ и задаешь параметры перед тем как создать окно, либо для смены режима, если окно уже есть.

Я же не утверждаю, что тяжело... Ты имеешь в виду захватить инфу о железе, потом предложить подходящие параметры... Да, я этот момент "зубрю", но для проекта 2D движка стратегий в не изометрии, я думаю ни к чему...


______________________________
Я вернулся, и это чудо.
______________________________
WXZRWДата: Пятница, 16 Июля 2010, 16:18 | Сообщение # 89
Thousand faces conspiration
Сейчас нет на сайте
Quote (BOOM)
Ты имеешь в виду захватить инфу о железе, потом предложить подходящие параметры...

Да, именно. Проверить поменялось ли железо, что оно может т.д. А там пользователь сам настроит как захочет. То есть все бинды и настройки должны быть динамичны и настраиваемы.

Quote (BOOM)
я думаю ни к чему...

You decide =)

BOOMДата: Пятница, 16 Июля 2010, 16:24 | Сообщение # 90
I am the creator of ADE
Сейчас нет на сайте
WXZRW, на счёт динамичности ты прав.
Quote (WXZRW)
You decide =)

Ты прав, мне решать.

Но то, что ты мне привёл, я возьму на заметку, в принципе, через винапи узнавать инфушку, этим я не задавался...

To you plus :+)


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Понедельник, 09 Августа 2010, 16:02 | Сообщение # 91
I am the creator of ADE
Сейчас нет на сайте
Проект заморожен до лучших времён.
Увы, мне не хватает знаний, что бы завершить его... Много нервов потратил, и решил его заморозить. Как найду нужные описания многих алгоритмов и примеров по ускорению кода, в том числе и в образе ассемблера, так же описания к ним. Ну, и опыта наберусь. Проект оживёт.

Попрошу не закрывать тему, она актуальна, пусть даже проект заморожен.

Тех, кого интересует, что нужно для проекта, это:
1. Совмещение (TCanvas "BCB") с DX9 и OpenGL. Может показаться странно, но кое что у меня уже получилось, но медленно.
2. Поворот некой части массива из TCanvas->Pixels на нужный градус. Эта тема очень сильно сложна, так как доступ к массиву этого класса медлен. Может я, просто, не знаю некие функции с BCB API, которые решают эти задачи.
3. Алгоритм A*. Ну описания по нему у меня есть, только немного до меня не дойдёт. Всё ровно, найду более подробное описание поиска пути по этому алгоритму.

Ну и далее, я думаю, что смогу найти ответы.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Четверг, 14 Октября 2010, 15:34 | Сообщение # 92
I am the creator of ADE
Сейчас нет на сайте
Проект переносится на MS Visual C++ это, займёт приличное время...
(Вскоре будут скриншоты с игрового мира smile )


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Четверг, 14 Октября 2010, 15:36
BOOMДата: Вторник, 09 Ноября 2010, 08:36 | Сообщение # 93
I am the creator of ADE
Сейчас нет на сайте
Доброго времени суток, дорогие игроделы. Я недавно завершил вёрстку сайта для своих разных работ. На этом сайте расположился блог AlloDraw.

Проект живёт, и я его завершу. Кстати, скоро будет год, как я им занимаюсь...


______________________________
Я вернулся, и это чудо.
______________________________
ezhickovichДата: Вторник, 09 Ноября 2010, 14:44 | Сообщение # 94
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Диз мне не понравился...


Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
BOOMДата: Вторник, 09 Ноября 2010, 14:50 | Сообщение # 95
I am the creator of ADE
Сейчас нет на сайте
На вкус и цвет товарища нет...
Если что непонятно, спроси. Если возмущён, раскритикуй. Для меня каждое мнение важно.


______________________________
Я вернулся, и это чудо.
______________________________
ezhickovichДата: Вторник, 09 Ноября 2010, 14:57 | Сообщение # 96
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (BOOM)
На вкус и цвет товарища нет...

Ну это понятно...

Просто не смотрится он...
Оставляет ощущение недоделки и т.д. ИМХО конечно...
Не очень приятная расцветка...
Зелёный - скучный цвет...
Лучше использовать кремовый/светло-голубой...
И полностью переделать шапку... (она просто ужасна)
Вроде всё...

Добавлено (09.11.2010, 14:57)
---------------------------------------------
Да и залезающий на узоры текст - это не красиво...



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
BOOMДата: Вторник, 09 Ноября 2010, 15:11 | Сообщение # 97
I am the creator of ADE
Сейчас нет на сайте
Ах, блин, ты про сайт... Я в теме выкладывал план-проект по AlloDraw, я думал ты про него...
Сайт находится в бета-тестировании. Следующею доработку я планирую после того, как возьму домен второго уровня и хостинг, конечно (где то в середине этого месяца).

На счёт букв, залетающих на узоры, я знаю.

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



______________________________
Я вернулся, и это чудо.
______________________________
SlavyanOOsДата: Вторник, 09 Ноября 2010, 15:21 | Сообщение # 98
Problems, developer?
Сейчас нет на сайте
А справка русскоязычная будет?)
BOOMДата: Вторник, 09 Ноября 2010, 15:31 | Сообщение # 99
I am the creator of ADE
Сейчас нет на сайте
Будет, конечно. Он вообще будет на русском языке. Я же русский.

______________________________
Я вернулся, и это чудо.
______________________________
SlavyanOOsДата: Вторник, 09 Ноября 2010, 15:52 | Сообщение # 100
Problems, developer?
Сейчас нет на сайте
BOOM, а вдруг ты шпион американский? biggrin
Ну что ж, думаю будет достойный 2D двиг.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг