Патч Windmill Engine 1.42 Небольшой патч движка от 1.11.2012. Стабильная работа в Windows 8. Для установки достаточно распаковать скачанный файл в папку с Windmill SDK 1.4.
Windmill framework - это построенный на базе DirectX движок для создания двухмерных игр. Задуман он был, когда делая текстовую игру я понял, что уже тошнит от псевдографики и что в гробу я ее видел. Так появился Windmill framework. За пару месяцев из 12 простых функций он разросся до текущего состояния. Главное достоинство - простота использования. Базовое приложение, выводящее пустое окно, занимает всего 7 строк кода. Далее дабы нарисовать картинку, проиграть звук, нужно всего по одной функции на действие. Движок ориентирован на начинающих программистов, поэтому кроме просторы использование имеет и довольно высокую надежность.(я надеюсь)))) Состоит движок из нескольких взаимосвязанных классов, но для работы доступно только несколько интерфейсных функций. ООП реализация полностью скрыта. Для .NET все функции те же, но для простоты включения они собраны в базовый класс. Библиотеки импорта для С++, .NET, PDA не совместимы. Поддерживаемые языки программирования С++, все .Net языки (пока тестил на шарпе и бейсике). Возможно и Делфи. Также собираю версию для КПК. Среда разработки - пока только Microsoft Visual Studio 2008/2010(в остальных просто еще не тестировал)
Возможности: Вывод двухмерной графики, как статической, так и анимированной. Поддерживаются следующие форматы bmp tga png dds jpg. Работы с устройствами ввода (клавиатура, мышь) Воспроизведения звука (формат wav) в отдельном потоке. Вывод текста(быстрый, не GDI и не его родственник D3DXFont) Управления звуковыми и графическими ресурсами отсечение невидимой графики, воспроизведение звуков с учетом позиции в пространстве(EAX) самостоятельный поиск ресурсов в структуре каталогов
Требования:DirectX Ноябрь 2008 и выше. Знание С++ на базовом уровне (на уровне моего курса).
Относительно названия. Почему именно Windmill(Ветряная мельница), я вам не скажу. А framework (каркас) потому что то, что я сейчас вам демонстрирую, в дальнейшем будет обвешано дополнительными наворотами, и станет отличным каркасом для создания двухмерных игр любого жанра и любой сложности.
Ой, спасибо всем за такие быстрые ответы, думала, ждать буду дольше)
nilrem, 1. Было проверено в первую очередь, забыла написать, извините. 2. Мб. Хотя мучить движок начинала на стационарном компьютере, там стоит WinXP 32-битная вроде, шла просто по урокам, и со звуком было то же самое (дело было в сентябре-октябре, до появления патчей, мб стоит попробовать). Мм, кстати, GuiEditor 1.1 на моей Win7 тоже не работает, как и предыдущий, а на WinXP некорректно работает при добавлении больше 3 панелей или контейнеров, или когда кнопок больше шести на трех панелях. 3-4. это печально, если так(
GhostEnc, Нет, я не объявляла воспроизведение звука в основном цикле. В идеале, я хотела бы добавить звук ко многим действиям внутри моей игры, но протестить звук решила на самом простом, поэтому просто сделала, как в примере, просто фоновый звук, который бы бесконечно повторялся до закрытия приложения.(под катом код WinMain)
вроде все говорит о том, что конфликт с железом/дровами или чем еще. Но в этом случае очень странно выглядит тот факт, что на win xp 32 битной это проявляется точно также. Ну, похоже, невероятное совпадение Игровая студия Good Ghost City
Вчера собрал первую работоспособную версию движка в dll. Так что отловлю поверхностные баги, и скоро выложу первую "преальфа" версию. Пока только для с++. Сегодня боролся с производительностью. Оказывается новая система анимации немного, на 10-15 % медленнее. За все нужно платить, ведь она намного удобнее в использовании. Я учел все те жалобы, что были раньше. Редактора пока нет, да и появится не скоро, так что сделал функцию ее создания схожей с той, что была в виндмилл 1. Целый день я пытался оптимизировать код, пока не понял, что все упирается в производительность видеокарты. Так что с оптимизацией покончено. Завтра немножко поковыряю звук. Самописный мр3 кодек оказался убог: тормозит, жрет память, да еще и проигрывает не все файлы, так что весьма вероятно что либо выкину его нафиг, либо оставлю с припиской "использовать на свой страх и риск". Буду дописывать первые туториалы, после чего выложу windmill 2 для первого ознакомления. Windmill 2
В этом году виндмил 2 никто не увидят. Обещает после старого нового года. Но я могу похвастаться что методом постоянного нытья смог таки его пощупать. На первый взгляд движок сильно отличается от предыдущей версии. Очень много изменений, а функционал так вообще впечатляет. Могу предположить, что стольких возможностей сразу в любительских движках нет вообще, я во всяком случае нигде не видел. Например: сходу можно использовать Lua скрипты, для этого не нужно подключать никаких библиотек. возможность проигрывания видеофайлов, вставки его в любой спрайт. Вот только звук при этом не воспроизводится, нужно отдельно запускать звуковую дорожку. Ну и в фри версии можно проигрывать только одно видео. функции проверки столкновений между различными фигурами точка, линия, круг, прямоугольник. функции возвращают точку столкновения. Ресурсы(графику, звуки и прочее) можно защищать, упаковивая их в архив. Система частиц, но без эдитора ее хз как использовать.
Непонравилось: Спрайты, как обычные так и анимированные теперь нужно создавать. Раньше можно было рисовать тупо по имени. Теперь же нужно думать о передаче идентификатора спрайта в нужное место. Невозможность инициализации подсистем движка из кода, только через конфиг-файл создаваемый специальной программой. Может кому то так и проще, но не мне. Органичение на максимум спрайтов в сцене - 50000. С одной стороны, движок все равно не понянет больше, с другой стороны неприятно. По производительности движок таки проигрывает первой версии. Специально переделал те же тесты, что были и в первом. Если для обычных спрайтов сторость та же, или чуть-чуть выше, то анимация отрисовывается значительно медленнее. На виндмилл 1 30 фпс выдает при 30000 спрайтов, на виндмилл 2 - 24000. Но зато теперь анимацией проще и понятнее управлять. Можно самому указывать, какой кадр отображать, и можно узнать, какой отображается. Ну и хочется надеятся, что еще будут оптимизации.
А, что еще понравилось - теперь туториалы последовательно описывают создание простенькой игрушки. Точка зору окремо взятого індивіда завжди суб'єктивна!
Не впечатлило. Обещанный Box2D добавлен не был, как я понимаю?
И не будет, я спрашивал. Но его очень просто добавить самому. Я в Взломщике разобрался с Box2D за два дня, потом еще день доводил до ума. В общей сложности часов 15.
Цитата (AGENTX001)
а для Free Pascal хедеры есть?
Пока только С++. Точка зору окремо взятого індивіда завжди суб'єктивна!
Только заметил дезинформацию. Не в сцене, а в слое. При 5 слоях максимум спрайтов == 250000, и тд. Нужно только правильно ими манипулировать. Но и это не окончательное решение. Сейчас для всех спрайтов память выделяется заранее, на 50000 уходит примерно 5 мб. Мне это сильно не нравится, но зато работает значительно быстрее, чем если выделять память по мере необходимости. Windmill 2
Сегодня начал работать с WM на C#. Есть несколько вопросов: 1. Где искать таблицу кодов клавиш для KeyCheck? 2. Есть код, вроде этого:
Код
public static void Game() { var x = 0; var y = 0; //Здесь вывод спрайта, x и y - переменные выше // Здесь if (MouseLBPress == true) {x = GetMouseX; y = GetMouseY;} }
Вызывается из RunEngine. Работает, но после того как ЛКМ отпущена, спрайт прорисовывается обратно на x = 0; y = 0;. Что делать?