Четверг, 18 Апреля 2024, 06:06

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 8
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 7
  • 8
  • »
Форум игроделов » Ваши проекты » Разработка движков и сред разработки » AlloDraw engine (Движок для игр.)
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
simtikoДата: Четверг, 28 Января 2010, 16:59 | Сообщение # 41
почти ветеран
Сейчас нет на сайте
Quote (BOOM)
Что скажите, а?

respect

BOOMДата: Четверг, 28 Января 2010, 17:15 | Сообщение # 42
I am the creator of ADE
Сейчас нет на сайте
Quote (eClipse)
Да, и следует поправить орф

А что можно взять от троишника... sad


______________________________
Я вернулся, и это чудо.
______________________________
stanislavДата: Четверг, 28 Января 2010, 17:38 | Сообщение # 43
Кролик Тёрнер
Сейчас нет на сайте
Максимум 100000 - 24 Fps, дальше почему - то зависала.

Intel Core Extreme 965 3.2 Ghz, 4Gb, Nvidia Geforce GTX295.(Я не хвастаюсь, просто мое увлечение требует мощный PC)

BOOMДата: Пятница, 29 Января 2010, 15:31 | Сообщение # 44
I am the creator of ADE
Сейчас нет на сайте
stanislav, Спасибо.

Вот новости, для тех, кто заинтересовался AlloDraw.

AlloDraw будит базироваться, как графический интерфейс. Который будит расширятся с помощью плагинов. Уже есть наработки самого главного файла этого движка, который описывает основные структуры, относящиеся плагином.

Еще: сам SDK будит на C++, платформа разработки C++ Builder 6. Когда будит готова часть с интерфейсом плагинов, я выложу суда. Мне будит необходимо вариант плагинов, скомпилированных на платформе: Delphi

ПС.
Для Delphi я подготовлю соответствующую часть SDK для плагинов.

Отменяется. Но плагины будут.


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


Сообщение отредактировал BOOM - Воскресенье, 31 Января 2010, 21:56
BOOMДата: Воскресенье, 31 Января 2010, 22:03 | Сообщение # 45
I am the creator of ADE
Сейчас нет на сайте
Новости с площадки строительства игры.

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

Так же был создан ПЕРВЫЙ персонаж.
STOF, его зовут Иван...
Как я и говорил, буду вести оформление игры в необычном стиле. Вот лицо персонажа:

Что планируется в следующих шагах:
1. Проработка кода AlloDraw.
2. Создание формата карт AlloDraw.
3. Создание "смотровичка" для формата icani (*.anni)

Пока все...

Прикрепления: 7771970.png (124.8 Kb)


______________________________
Я вернулся, и это чудо.
______________________________
DereKДата: Воскресенье, 31 Января 2010, 22:16 | Сообщение # 46
участник
Сейчас нет на сайте
BOOM,
Лицо чем то похоже на Шар Свиборга smile
BOOMДата: Воскресенье, 31 Января 2010, 22:23 | Сообщение # 47
I am the creator of ADE
Сейчас нет на сайте
Может и похоже. Это же абстрактный футуризм. В чем и суть.
Просто, хочется создать то, что немного необычно.
А от стиля аркадный симулятор остается немного.

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

И это всего лишь начало...


______________________________
Я вернулся, и это чудо.
______________________________
DereKДата: Воскресенье, 31 Января 2010, 22:44 | Сообщение # 48
участник
Сейчас нет на сайте
BOOM,
Точно я вспомнил на что похоже лицо, не волнуйся выглядит хорошо smile
В общем на один мульт похож, Там чувак по имени Иван, его из тюрьмы выпускают и он прыгает на шаре, и вот этот шар прям точь-в-точь похож на тот шар, во как biggrin
BOOMДата: Воскресенье, 31 Января 2010, 23:17 | Сообщение # 49
I am the creator of ADE
Сейчас нет на сайте
biggrin biggrin biggrin Веселое совпадение.

______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Понедельник, 01 Февраля 2010, 10:46 | Сообщение # 50
I am the creator of ADE
Сейчас нет на сайте
И так, у меня не очень хорошие новости. Я замедляю ход разработки проекта с вязи подготовки к двум экзаменам на поступление в факультет высшей математики.
Глюк, мне придется задавать ЕГЭ. blink

По этому я попрошу ни в коим случае, не закрывать тему. Она остается актуальной. Если есть предложения по проекту, можете оставлять в этой теме.


______________________________
Я вернулся, и это чудо.
______________________________
DereKДата: Понедельник, 01 Февраля 2010, 11:15 | Сообщение # 51
участник
Сейчас нет на сайте
Флуууд - как хорошо когда ты уже отучился tongue
BOOMДата: Понедельник, 01 Февраля 2010, 17:46 | Сообщение # 52
I am the creator of ADE
Сейчас нет на сайте
В общем так, сегодня удалось уделить проекту часик. В проект вошло новое нововведение.
Разработал прототип консоли. Он в первую очередь предназначен для тонкой настройки игры, но и будит лазейка в виде читов. biggrin
Консоль в игре не будит доступна, доступ можно будит открыть в специальном файле конфигураций. Об этом файле чуть ниже.
Так же будит необходимо активировать режим читов. Вот здесь пока тайна, покрытая мраком. Но скажу одно, большой тайны не будит о читах. Информацию о этих кодах будит находится на официальной страничке. (Ведь я делаю игру не только для себя, но и для людей.)

Вот скриншот консоли:

Так же планируется, что с помощью консоли будит идти тонкая настройка игры. Варианты команд для консоли можно будит создать в скриптах. А первоначальная загрузка приложения будит включать в себя так же выполнение специального файла конфигурации автоматических команд.
Кстати, в этом файле (он будит находится в папке platform), что бы получить доступ к консоли, необходимо будит найти строку "console 0" и заменить ноль на единицу.

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

Пока что все новости.

Прикрепления: 5665258.png (21.9 Kb)


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 05 Февраля 2010, 16:47 | Сообщение # 53
I am the creator of ADE
Сейчас нет на сайте
И так, очередные новости с пространства проекта.
Есть уже примерные расчеты расходуемых ресурсов:

Ресурсы:
Пока что примерное требование процессора будит составлять:
' Архитектура: x86
' Кеш: 256 КБ.
' Скорость: 2,4 ГГц.
(Могут увеличится!)
ОЗУ: Планирую занять в пределе 512 МБ.
Память: от 50, до 100 МБ. (В зависимости роста проекта.)

Так же есть скриншот из меню игры :-)

Меню еще не готова, я его буду доделывать позже. А пока планируется следующие:
- Внедрение алгоритма карты.
- Внедрение алгоритма gui AlloDraw feX.

----------------------------------------------------------------------------------------------------------------------------
Кратко е описание нововведений:
1. Анимация. Из-за нее пришлось увеличить требования процессора. В игре будут анимированы даже кнопки.
2. В игре планирую возможность управления героем с помощью мыши(Не заваливайте вопросом: Бои будут? - Нет!).

Пока все. (Вот и началась самая сложная стадия.)

Прикрепления: 9020198.gif (73.1 Kb)


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


Сообщение отредактировал BOOM - Пятница, 05 Февраля 2010, 16:51
BOOMДата: Суббота, 06 Февраля 2010, 16:37 | Сообщение # 54
I am the creator of ADE
Сейчас нет на сайте
Вот тебе и так...
В общем, закончил мучится с меню игры. Теперь готовлю общею основу для карт. Хотя есть несколько проблем. Таких, как реализовать алгоритм поиска пути без определения матрицы и сетки(Казалась бы, легко, НО... ). Думаю, что к концу февраля(если будит так вести мне со свободным временем и хорошим кодом) выложу демо маленького городка(демонстрация работы алгоритмов карты и поиска пути).

А пока что выкладываю "прогу" (пока что сложно назвать чем либо), демонстрирующею обыкновенное стартовое меню. Если спросите, почему не просто скриншоты, я отвечу просто: из-за анимации...

test_buttons.rar - ссылка для скачивания теста.

Если скачаете, то пожалуйста, опишите свое мнение...


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Понедельник, 08 Февраля 2010, 13:35 | Сообщение # 55
I am the creator of ADE
Сейчас нет на сайте
Проект закрыт с связи не доработанным кодом. Он откроется, когда будит полностью готов AlloDraw.

Причины:
1. Объемное требование памяти приложения, использующее формат icani.
2. Использования больших ресурсов процессора.
3. При использовании матриц в формате icani более 256х256 может вызвать переполнение в конечном TBitmap(я в шоке!) и последующею критическую ошибку.
4. Не возможность устранить вылетания при использовании DirectX 10.

В общем первая версия AlloDraw провалилась со скрежетом!!! Ну ни чего, и не такие задачи решал.(Во блин затянуло...)

Следующая пробная версия: AlloDraw 2.0 Реализуется специально для идеи игры.
Наработки новой версии:
- Использование функции FullScrin (Проблема та решена, в BCB немного замутнено со составными частями проекта).
- Работа с форматами: bmp, png, gif, jpg (Возможно пополнится форматом TGA. DDS не использую).
- Работа со звуком формата ogg, wav, mp3 (Реализация 3D звука с помощью библиотеки "Шквал").

Направленность движка:
В начале я задумывал его, как примитив использования простенькой карты со встроенными системами для обеспечения инвентаря и реализации симулятора ПК.
Так как я собираюсь создать несколько игр в принципе разного направления, то движок будит реализован в виде конструктора игр в жанрах: RPG, стратегия, симулятор жизни и технических устройств.

Конец реализации: Конец 2010 года.

Если есть идеи по поводу проекта, то пишите в этой теме.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Воскресенье, 14 Февраля 2010, 15:01 | Сообщение # 56
I am the creator of ADE
Сейчас нет на сайте
И так, в этот раз, уже собирая по деталям, я понял, что скрипт ну ни как не подходит. И решение было однозначное, создать новый, принципиальный скриптовый движок. В общем вот информация об проекте и краткое описание задачи проекта:

Название: Electronic Abo producer script, сокращенно Abo или eAbo
Язык программирования: С++
Компилятор: Builder 6

Описание задачи:
Создания полноценного интерпретатора скриптового движка в конечное приложение(программу). Задачу поделил я на две стадии:
1 стадия - создание языка низкого уровня, похожего на assembler, компилирование в бинарный код, подключение плагинов.
2 стадия - создание языка высокого языка и компилятора для него.

Описание решения 1-ой части:
Память.
В системе буду использовать всего два типа значений: int - целые числа, и str - строка.
В данном случае идет мнение об использовании трех видов памяти!
1. Регистр.
2. Стековая память.
3. Пронумерованная память.

Регистры: В системе будит 2 типа регистров по 5 штук:

Code
    Регистры чисел,     Регистры строк
         mi0                 ms0
         mi1                 ms1
         mi2                 ms2
         mi3                 ms3
         mi4                 ms4

Регистры предназначены для вноса в прерывание значения.

СТЕКОВАЯ ПАМЯТЬ: В системе будит иметься стековая память. Она предназначена для временного
хранения значений. стековая память будит двух типов:
Числа: sti
Строки: sts

Занесение и вывод значения будит осуществляться по принципу ввода и вывода:
push sti значение
Вывод:
pop.sti значение

ПРОНУМЕРОВАННАЯ ПАМЯТЬ: В принципе, переменные. Значения будут объявляться с помощью команды
var.

Пример:

Code
var.int id value

или
Code
var.str id value

Стековая и пронумерованная память не может участвовать в процедуре прерывания. Для этого
необходимо занести значения из стека и переменной в регистры с помощью команды mov

Code
pop.sti mi0
mov     mi0 var1

Так же должна быть возможность переноса значений с переменной в стек и обратно, в переменную с регистра и обратно, со стека в регистр и обратно!

.clear освобождает память. может освободить память в регистре, удалить переменную, или
полностью очистить стек.

Code
.clear  mi0   //чистит память в регистре
.clear  sti   //освобождает стек sti
.clear  sts   //освобождает стек sts
.clear  var45 //удаляет переменную var45

Арифметика
Арифметика в скрипте будит очень проста, а точнее будит использоваться всего четыре команды:

1. add - значение сложения складывает значения двух регистров:

Code
    add mi0 mi1


2. min - производит вычитание двух регистров:
Code
    min mi0 mi1

3. umo - производит умножение двух регистров:

Code
    umo mi0 mi1


4. dle - производит деление двух регистров:
Code
    dle mi0 mi1


Получившееся значение заносится в первый обозначенный регистр, удаляя старое значение.

КОНВЕРТЕР может конвертировать int --> str, str --> int
ВНИМАНИЕ, ПЕРВОЕ ЗНАЧЕНИЕ ДОЛЖНО БЫТЬ РЕГИСТР!

Code
    toi  mi0 ms0
     tos  ms0 mi0


Второе значение в этих функциях может быть любым видом памяти.

Константное значение:
константное значение вводится в любом месте:

Code
    mov mi0 9
     mov ms2 "Hello"

Прерывания.
Прерывания будут иметь один главный параметр. Определение прерывания.
Определение прерывания будит заносится в специальный регистр: OX.

Функция прерывания будит выглядеть так: int id_previa

пример:

Code
    mov     ox      0x02
     mov     mi0     10
     mov     mi1     10
     mov     ms0     "Hello"
     int     0x09

логика
1. point - устанавливает значение перехода
пример:

Code
point 0x10 //В скрипте возможны до 256 точек для перехода. от 0x00 до 0xFF

2. goto - переходит непосредственно к точке
пример:

Code
goto 0x10

3. if - производит сравнивание двух значений.
пример:

Code
         if mi1 <= 10
         if mi0 != 14


При условии, если значение будит истинно, то читается следующая строка, а если ложно,
то читается через строку.

4. for - цикл. Он останавливается при условии, если к концу цикла регистр mi4 будит иметь
значение 0. При других значениях цикл не останавливается.
Пример:

Code
         mov     mi0     1
         point   0x55
          
             if  mi0 == 100
             mov mi4 0
             add mi0 1
              
         for     0x55

Плагины
По теории будит в плагине две функции.
Первая в выдает информацию о плагине,
а вторая функция чтения кода.

Скорее всего функции будут выглядеть так:

Code
     extern TInfoPlug __declspec(dllimport)  Info(void);
     extern TRetData  __declspec(dllimport) _execut(TDataCons);



Объясняю:
TInfoPlug - структура, предназначена для передачи данных о плагине.
Примерно она будит выглядеть так:

Code
     struct TInfoPlug
     {
         char    Name[150];   //Имя плагина
         char    Comm[890];   //Комментарий, либо описание
         int     version[4];  //версия в варианте [0].[1].[2].[3]
         char    Avtor[200];  //Имя автора
     };


Эти данные должны генерироваться функцией Info

Функция _execut имеет возвращение в виде структуры:
Code
     struct TRetData
     {
         bool    IsError;        //если верно, то немедленный останов  
                    //с выводом диалога информации о
                    //ошибке.
         int     NumError;       //номер ошибки
         char    TextError[890]; //текст ошибки
         char    *RetStrData;    //Вывод информации в виде строки
         int     RetIntData;     //Вывод информации в виде числа
         bool    OnStop;         //Принудительный останов
     };


Теперь о TDataCons, эта структура будит в себе содержать
необходимую информацию обрабатываемой строки на момент
вызова функции _execut. Эта структура будит примерно такой:
Code
     struct TDataCons
     {
         aboByte     previev;    //номер отдела прерывания
         aboByte     id;         //номер прерывания
         TRegistre   regis;      //информация о регистрах.
     };


В свою очередь структура TRegistre будит выглядеть так:
Code
     struct TRegistre
     {
         TString     rString[5]; //Регистры строк
         int         rNumber[5]; //Регистры чисел
     };


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

Заключение.
Может что и изменится, но изменения будут минимальны.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Понедельник, 15 Февраля 2010, 09:39 | Сообщение # 57
I am the creator of ADE
Сейчас нет на сайте
Но опять я столкнулся с идеей реализации процедуры в скрипте. Казалось бы, проще простого, НО...
В данном случае пришлось вводить еще несколько дополнения в общее представление о Abo Assembler.

Вот они:

Части кода
Часть кода будит обозначаться командой part. По сути она будит создавать своего образа прерывания. Максимальное количество кусков кода будит составлять 65536 или 0x0000 ... 0xFFFF.

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

ПРИМЕР:

Code

     part 0x0001 mi0 mi1 ms0
      
         mov     ox 0x02
         int     0x09
         remov   mi0 1
          
     end part



Для упрощения вызова команда записывается в виде одной строки, а значения автоматически
заполняют регистры. Часть кода будит вызываться командой call

ПРИМЕР:

Code

     call 0x0001 10 10 "hello"



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

Во так вот....


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Суббота, 20 Февраля 2010, 16:47 | Сообщение # 58
I am the creator of ADE
Сейчас нет на сайте
Я отменяю проект сценария... Зачем изобретать велосипед? Вы наверное спросите, почему я так говорю? Не зря...

Короче, сегодня я перебирал свои старые документы(бумаги, книги и т.д. Ведь я хату готовлю к тотальному ремонту) и наткнулся на старый диск с надписью "Мои проекты". Я аж от радости чуть не запрыгал, ведь на нем все мои наработки на PureBasic, Pascal, С++ и на других языках. К тому же мои стихи, рассказы, музыкальные проекты и так далее...

ВОТ...

Теперь про "велосипед", я уже давно разрабатывал скриптовый движок под названием LPS. Он на диске сохранился целым и невредимым! Сейчас я взялся за усовершенствования движка (имхо, я его написал в 13 лет! И до сих пор меня поражает.)

ВОТ...

Еще новости, я выкладываю две игры в эту тему, Первая называется Almatron. (Не помню, во сколько лет его делал). Второй Almatron 2. Я его не даделал sad , но он вместе с редактором карт, бес справки... Можете поэкспериментировать и создать что нибудь интересное...

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

Различие между двумя версиями: в принципе, что Almatron 2 на время.

скачать игры. (они идут в одном архиве. Вес: 5,78 МБ.)

Так же выкладываю демо скрипта LPS. Скачать... (Весит 273 КБ.)

Оставляем комментарии. И еще, кто сможет, сделайте скриншоты игр... (У меня нужной проги нет, а времени мало, что бы по сети лазить.)

---------------------------------------------------------------------------------------------------
Кстати, чуть не забыл: исходники LPS. (Правда комменты беспонт, но когда я писал...) Хочу, что бы более программисты оценили
эту вещь.

скачать... 10КБ.


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


Сообщение отредактировал BOOM - Суббота, 20 Февраля 2010, 16:52
BOOMДата: Суббота, 20 Февраля 2010, 18:35 | Сообщение # 59
I am the creator of ADE
Сейчас нет на сайте
Хм... К моему проекту интереса нету...
Ну что же, попрошу закрыть тему, не вижу смысла ее поддерживать.(семь сообщений подряд, а обсуждения и замечаний нет, да поситителей темы мало.)

Следующая информация о проекте будит тогда, когда будит готова демка AlloDraw.


______________________________
Я вернулся, и это чудо.
______________________________
VasenkovДата: Суббота, 20 Февраля 2010, 19:03 | Сообщение # 60
Юный Диктатор
Сейчас нет на сайте
собственно просто ничего не понятно. а то везде Code, Code...

Форум игроделов » Ваши проекты » Разработка движков и сред разработки » AlloDraw engine (Движок для игр.)
  • Страница 3 из 8
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 7
  • 8
  • »
Поиск:

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