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) Что скажите, а?
|
|
| |
BOOM | Дата: Четверг, 28 Января 2010, 17:15 | Сообщение # 42 |
I am the creator of ADE
Сейчас нет на сайте
| Quote (eClipse) Да, и следует поправить орф А что можно взять от троишника...
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
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) Пока все...
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
DereK | Дата: Воскресенье, 31 Января 2010, 22:16 | Сообщение # 46 |
участник
Сейчас нет на сайте
| BOOM, Лицо чем то похоже на Шар Свиборга
|
|
| |
BOOM | Дата: Воскресенье, 31 Января 2010, 22:23 | Сообщение # 47 |
I am the creator of ADE
Сейчас нет на сайте
| Может и похоже. Это же абстрактный футуризм. В чем и суть. Просто, хочется создать то, что немного необычно. А от стиля аркадный симулятор остается немного. В принципе, я сюда попал с простым проектом GOS, а потом, благодаря живущим на форуме, преобразовался в довольно серьезный проект. И это всего лишь начало...
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
DereK | Дата: Воскресенье, 31 Января 2010, 22:44 | Сообщение # 48 |
участник
Сейчас нет на сайте
| BOOM, Точно я вспомнил на что похоже лицо, не волнуйся выглядит хорошо В общем на один мульт похож, Там чувак по имени Иван, его из тюрьмы выпускают и он прыгает на шаре, и вот этот шар прям точь-в-точь похож на тот шар, во как
|
|
| | |
BOOM | Дата: Понедельник, 01 Февраля 2010, 10:46 | Сообщение # 50 |
I am the creator of ADE
Сейчас нет на сайте
| И так, у меня не очень хорошие новости. Я замедляю ход разработки проекта с вязи подготовки к двум экзаменам на поступление в факультет высшей математики. Глюк, мне придется задавать ЕГЭ. По этому я попрошу ни в коим случае, не закрывать тему. Она остается актуальной. Если есть предложения по проекту, можете оставлять в этой теме.
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
DereK | Дата: Понедельник, 01 Февраля 2010, 11:15 | Сообщение # 51 |
участник
Сейчас нет на сайте
| Флуууд - как хорошо когда ты уже отучился
|
|
| |
BOOM | Дата: Понедельник, 01 Февраля 2010, 17:46 | Сообщение # 52 |
I am the creator of ADE
Сейчас нет на сайте
| В общем так, сегодня удалось уделить проекту часик. В проект вошло новое нововведение. Разработал прототип консоли. Он в первую очередь предназначен для тонкой настройки игры, но и будит лазейка в виде читов. Консоль в игре не будит доступна, доступ можно будит открыть в специальном файле конфигураций. Об этом файле чуть ниже. Так же будит необходимо активировать режим читов. Вот здесь пока тайна, покрытая мраком. Но скажу одно, большой тайны не будит о читах. Информацию о этих кодах будит находится на официальной страничке. (Ведь я делаю игру не только для себя, но и для людей.) Вот скриншот консоли: Так же планируется, что с помощью консоли будит идти тонкая настройка игры. Варианты команд для консоли можно будит создать в скриптах. А первоначальная загрузка приложения будит включать в себя так же выполнение специального файла конфигурации автоматических команд. Кстати, в этом файле (он будит находится в папке platform), что бы получить доступ к консоли, необходимо будит найти строку "console 0" и заменить ноль на единицу. - Минус у AlloDraw. Пока что в пакете DirectX SDK есть ошибка, либо тупость компилятора, которая не позволяет запустить приложение в FullScreen. Но я постараюсь уладить эту маленькую проблему, но если не получится, AlloDraw будит иметь только оконный режим. (Но я все ровно добьюсь своего.) Пока что все новости.
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
BOOM | Дата: Пятница, 05 Февраля 2010, 16:47 | Сообщение # 53 |
I am the creator of ADE
Сейчас нет на сайте
| И так, очередные новости с пространства проекта. Есть уже примерные расчеты расходуемых ресурсов: Ресурсы: Пока что примерное требование процессора будит составлять: ' Архитектура: x86 ' Кеш: 256 КБ. ' Скорость: 2,4 ГГц. (Могут увеличится!) ОЗУ: Планирую занять в пределе 512 МБ. Память: от 50, до 100 МБ. (В зависимости роста проекта.) Так же есть скриншот из меню игры :-) Меню еще не готова, я его буду доделывать позже. А пока планируется следующие: - Внедрение алгоритма карты. - Внедрение алгоритма gui AlloDraw feX. ---------------------------------------------------------------------------------------------------------------------------- Кратко е описание нововведений: 1. Анимация. Из-за нее пришлось увеличить требования процессора. В игре будут анимированы даже кнопки. 2. В игре планирую возможность управления героем с помощью мыши(Не заваливайте вопросом: Бои будут? - Нет!). Пока все. (Вот и началась самая сложная стадия.)
______________________________ Я вернулся, и это чудо. ______________________________
Сообщение отредактировал 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. Пример: или Стековая и пронумерованная память не может участвовать в процедуре прерывания. Для этого необходимо занести значения из стека и переменной в регистры с помощью команды mov Code pop.sti mi0 mov mi0 var1 Так же должна быть возможность переноса значений с переменной в стек и обратно, в переменную с регистра и обратно, со стека в регистр и обратно! .clear освобождает память. может освободить память в регистре, удалить переменную, или полностью очистить стек. Code .clear mi0 //чистит память в регистре .clear sti //освобождает стек sti .clear sts //освобождает стек sts .clear var45 //удаляет переменную var45 Арифметика Арифметика в скрипте будит очень проста, а точнее будит использоваться всего четыре команды: 1. add - значение сложения складывает значения двух регистров: 2. min - производит вычитание двух регистров: 3. umo - производит умножение двух регистров: 4. dle - производит деление двух регистров: Получившееся значение заносится в первый обозначенный регистр, удаляя старое значение. КОНВЕРТЕР может конвертировать 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 - переходит непосредственно к точке пример: 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. Я его не даделал , но он вместе с редактором карт, бес справки... Можете поэкспериментировать и создать что нибудь интересное... Суть этих игрушек заключалась в том, что нужно помочь "шарику" добраться до дому. Управление в меню: выбор пункта: стрелочки, применить: пробел. Управление в игре: стрелочки. Различие между двумя версиями: в принципе, что 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...
|
|
| |
|