WindMill 2D Game Engine
| |
nilrem | Дата: Воскресенье, 04 Июля 2010, 14:19 | Сообщение # 1 |
Просветленный разум
Сейчас нет на сайте
| Все. Сегодня я решил, что пилить двиг можно до скончания веков, и он так и не станет(на мой взгляд) пригодным для демонстрации. Итак, встречаем.
Скачать WindMill Framework v0.88 альфа (3,59 мб)
Скачать WindMill SDK v0.90 (4,84 мб)
Скачать WindMill SDK v0.92 (5,24 мб)
Скачать WindMill SDK v1.25 (5,09 мб)
WindMill SDK v1.30 rev.39 (5,02 мб)
Учтите, что теперь SDK не содержит скомпилированные примеры, их нужно скачивать отдельно
Скачать скомпилированные примеры WindMill v1.25 (2,71 мб)
WindMill SDK v1.40 (6,02 мб)
Патч Windmill Engine 1.42 Небольшой патч движка от 1.11.2012. Стабильная работа в Windows 8. Для установки достаточно распаковать скачанный файл в папку с Windmill SDK 1.4.
Windmill 2
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 (каркас) потому что то, что я сейчас вам демонстрирую, в дальнейшем будет обвешано дополнительными наворотами, и станет отличным каркасом для создания двухмерных игр любого жанра и любой сложности.
http://fabermun.at.ua/load/wmfdemo/1-1-0-13 По этой ссылке можно скачать демо движка, содержащее откомпилированные туториалы, и демку стресс-теста производительности
На закуску скрины:
Игры:
АйсТетрис с исходным кодом (1 мб)
Если у кого-то что-то не запустилось сообщать сразу же, указывая конфигурацию компа. если вы используете версию 0,89 и выше то и лог-файл.
Windmill 2
WindMill 2D Game Engine
|
|
| |
JackNazaryan | Дата: Воскресенье, 28 Октября 2012, 02:05 | Сообщение # 261 |
старожил
Сейчас нет на сайте
| Это все модераторы создают супер проекты ?
|
|
| |
nilrem | Дата: Суббота, 03 Ноября 2012, 23:11 | Сообщение # 262 |
Просветленный разум
Сейчас нет на сайте
| Quote (ilgamer) Будь возможность видео-заставки в игру вставлять
Будет. Но видео и звук придется воспроизводить отдельно.
Кстати, лед тронулся. На текущий момент прогресс разработки достиг 50 %.
Windmill 2
WindMill 2D Game Engine
|
|
| |
Сибирский | Дата: Воскресенье, 04 Ноября 2012, 12:18 | Сообщение # 263 |
Javatar
Сейчас нет на сайте
| nilrem, можешь закрепить в шапку версии для разных языков, которые давно кидал.
|
|
| |
nilrem | Дата: Воскресенье, 04 Ноября 2012, 23:09 | Сообщение # 264 |
Просветленный разум
Сейчас нет на сайте
| Новый патч 1.42 Он обеспечивает стабильную работу в Windows 8. C# версия требует .NET Framework 4. (Предустановленный в Win8). Для работоспособности движка в "голой" ОС достаточно установить последний DirectX. Также правит один критический баг, внесенный патчем 1,41. Так что ссылку на него я с шапки убираю.
Ну и небольшой анонс. Довольно скоро, может даже в этот месяце, появится преальфа WindMill 2.
Quote (Сибирский) nilrem, можешь закрепить в шапку версии для разных языков, которые давно кидал. Версий для разных языков не существует. Все собрано в одном SDK. То, что я давно кидал по отдельности для делфи и java, это были тестовые сборки.
Windmill 2
WindMill 2D Game Engine
|
|
| |
GhostEnc | Дата: Четверг, 08 Ноября 2012, 00:03 | Сообщение # 265 |
почетный гость
Сейчас нет на сайте
| Вопрос на миллион: заметил, что функция DrawSprite катастрофически сажает фпс, например одновременный вывод 600 неанимированных спрайтов оставляет игру в принципе играбельной, но падение сильно ощущается. Это как бы некритично, поэтому я легко смирился. Сегодня экспериментировал с редактором карты, проверял одну функцию по добавлению объекта в сцену, но картинку к нему не нарисовал, соответственно отображался стандартный спрайт windmill с мельницей и надписью "картинка не найдена". В общем суть в том, что я добавил 2000 с лишним подобных объектов подряд и никакого падения производительности не заметил - фпс как был 124 так и остался. Я подозреваю, что за выводом изображения об отсутствующем спрайте руководит какая то отличная от DrawSprite функция? Если это вообще возможно, было бы здорово воспользоваться подобным механизмом для нее, потому как в настоящем варианте это очень нестабильная штука. Хм, то есть стабильная конечно, но жутко тормознутая.
Игровая студия Good Ghost City
Dr. H.Story - аркадный платформер.
|
|
| |
nilrem | Дата: Четверг, 08 Ноября 2012, 12:01 | Сообщение # 266 |
Просветленный разум
Сейчас нет на сайте
| Quote (GhostEnc) Я подозреваю, что за выводом изображения об отсутствующем спрайте руководит какая то отличная от DrawSprite функция? Нет, функция одна и та же. Это легко проверить, убрав в демке производительно файл с изображением. ФПС изменится незначительно, и то только потому, что дефолтная картинка небольшая, имеет низкое разрешение. Вообще, резкое падение производительности для видеокарт, это нормально, но оно не линейное. Если пустой экран выдает 10000 то добавление всего одного спрайта может просадить его вдвое. А при тыще спрайтов станет 200, при 10000 - 50.
И небольшой совет, вызывайте функцию рисования только для видимых объектов. Хоть движок и отсекает невидимые, все равно выполняется слишком много проверок, чтобы такой вызов остался незаметным.
Windmill 2
WindMill 2D Game Engine
|
|
| |
GhostEnc | Дата: Четверг, 08 Ноября 2012, 14:39 | Сообщение # 267 |
почетный гость
Сейчас нет на сайте
| Да, рисуются только видимые объекты. Да и при количестве одних только блоков в 150000 по другому не могло быть Не поленился, проверил: в том месте где раньше было 70 фпс - рисуется часть уровня с наибольшей плотностью блоков - теперь стало 140-170, а это больше чем удвоение производительности) И, притом, каждый блок был размером 5х5 пикселей, а мельница с ошибкой никак не менее 50х50. И такой эффект. Это как минимум нелогично) Может все таки есть какая то особенность (я очень надеюсь на это)?
Игровая студия Good Ghost City
Dr. H.Story - аркадный платформер.
|
|
| |
nilrem | Дата: Четверг, 08 Ноября 2012, 15:04 | Сообщение # 268 |
Просветленный разум
Сейчас нет на сайте
| Quote (GhostEnc) Может все таки есть какая то особенность (я очень надеюсь на это)? Дома гляну код. А то на работе у меня исходники только Windmill 2, в нем рендер сделан по другому.
Windmill 2
WindMill 2D Game Engine
|
|
| |
nilrem | Дата: Пятница, 09 Ноября 2012, 14:47 | Сообщение # 269 |
Просветленный разум
Сейчас нет на сайте
| Провел небольшой эксперимент. Взял изображение default.bmp, оно же "Картинка не найдена", и нарисовал вручную функцией DrawSprite 30000 спрайтов, получил 30 фпс. Затем удалил default.bmp, чтоб движок использовал внутренне. ФПС один в один. Отобразил 30000 звездочек, фпс == 8, потому как больше размер, много цветов и полупрозрачность. Так что причина изменения фпс в самой картинке.
Windmill 2
WindMill 2D Game Engine
|
|
| |
GhostEnc | Дата: Пятница, 09 Ноября 2012, 17:27 | Сообщение # 270 |
почетный гость
Сейчас нет на сайте
| Да, я тоже вчера пришел к такому выводу. Чертов формат png =(
Игровая студия Good Ghost City
Dr. H.Story - аркадный платформер.
|
|
| |
nilrem | Дата: Вторник, 20 Ноября 2012, 11:49 | Сообщение # 271 |
Просветленный разум
Сейчас нет на сайте
| Чуть информации про Windmill 2.
Как я писал ранее, если в движке появятся шейдеры, то он станет платным. Поэтому довожу до вашего ведома что Windmill 2 будет существовать в двух вариантах: Free и Pro. Free будет абсолютно бесплатной, но с ограниченным функционалом. Поддержки шейдеров в ней не будет. Те, кто позарится на Pro, помимо полного функционала, получат доступ к расширенной документации с большим количеством примеров, к библиотеке шейдеров. Также в Pro-версии будет возможность создания игр для соцсетей (ВК, Мой мир, одноклассники). Стоимость профессиональной версии будет небольшой, из расчета чтобы хватило на качественный хостинг, поллитры да полграмма).
Создал вконтакте сообщество - http://vk.com/windmill2. Просю.
Windmill 2
WindMill 2D Game Engine
|
|
| |
allxumuk | Дата: Вторник, 20 Ноября 2012, 15:02 | Сообщение # 272 |
старожил
Сейчас нет на сайте
| Quote (nilrem) Также в Pro-версии будет возможность создания игр для соцсетей (ВК, Мой мир, одноклассники). HTML5, Flash или какая-то более экстравагантная технология?
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
MrNesh | Дата: Вторник, 20 Ноября 2012, 17:22 | Сообщение # 273 |
Воин добра и света
Сейчас нет на сайте
| Html5 наверно
|
|
| |
nilrem | Дата: Среда, 21 Ноября 2012, 15:06 | Сообщение # 274 |
Просветленный разум
Сейчас нет на сайте
| Хтмл еще молодой, а флеш мне не нравится. Так что Silverlight. Удобная IDE и работает везде. почти.
Windmill 2
WindMill 2D Game Engine
|
|
| |
AGENTX001 | Дата: Среда, 21 Ноября 2012, 17:14 | Сообщение # 275 |
почётный гцупер
Сейчас нет на сайте
| nilrem, а как будет проводиться "компиляция" для веба? Или нужно будет с нуля переписывать проект на С#? И ты не думал сделать что-то вроде гейм мэйкера - наделать редакторов, впилить скриптовый ЯП (Lua/Angel Script)?
|
|
| |
nilrem | Дата: Среда, 05 Декабря 2012, 00:09 | Сообщение # 276 |
Просветленный разум
Сейчас нет на сайте
| Видеовставкам быть!!! Наконец-то сделал воспроизведение видео в движке. Пришлось изрядно поднапрячь моск. Остается доделать 2 вещи: скрипты и частицы и появится альфа-версия движка. Также сегодня начал писать новую документацию.
Quote (AGENTX001) nilrem, а как будет проводиться "компиляция" для веба? Или нужно будет с нуля переписывать проект на С#? С нуля, или портировать существующий С# проект.
Quote (AGENTX001) И ты не думал сделать что-то вроде гейм мэйкера - наделать редакторов, впилить скриптовый ЯП (Lua/Angel Script)? Делал. В Pro-версии будут исходники простого конструктора использующего Lua.
Windmill 2
WindMill 2D Game Engine
|
|
| |
AGENTX001 | Дата: Среда, 05 Декабря 2012, 21:19 | Сообщение # 277 |
почётный гцупер
Сейчас нет на сайте
| nilrem, один мой очень авторитетный знакомый (создатель DGLE2) так выразился о Silverlight - "Очередной неудачный высер мелкософта" Quote (nilrem) Удобная IDE и работает везде. почти. Да ну? У кого это он установлен? Quote (nilrem) Хтмл еще молодой Зато перспективный и развивающийся. А динамическая компиляция Java Scripta в скором времени будет во всех браузерах, так что производительность повысится. Quote (nilrem) флеш мне не нравится Флеш, увы, умирает. И адоб прекращением поддержки андроида лишь приблизила его смерть.
|
|
| |
cute_yellow_elephant | Дата: Пятница, 14 Декабря 2012, 00:59 | Сообщение # 278 |
был не раз
Сейчас нет на сайте
| nilrem, Здравствуйте. Хочу все же поинтересоваться, почему даже с патчем звук на windows 7 может не работать. Очень бы хотелось в созданной игре-курсовой сделать звуковое сопровождение, а вместо него, хоть убейте, только скрежетание из динамиков.
Информация о системе, мм. "Просмотр основных сведений о вашем компьютере" click "Звуковые, видео и игровые устройства " click
|
|
| |
nilrem | Дата: Пятница, 14 Декабря 2012, 08:54 | Сообщение # 279 |
Просветленный разум
Сейчас нет на сайте
| Quote (cute_yellow_elephant) почему даже с патчем звук на windows 7 может не работать В таком порядке: 1. Не установлен последний директх. 2. 64 битная винда. 3. Глюки системы. 4. Глюки железа.
Quote (AGENTX001) "Очередной неудачный высер мелкософта" Ключевое слово - "очередной". А предыдущий, наверное, "виндовс".
Windmill 2
WindMill 2D Game Engine
|
|
| |
GhostEnc | Дата: Пятница, 14 Декабря 2012, 11:53 | Сообщение # 280 |
почетный гость
Сейчас нет на сайте
| 64 битная винда, глюки изначально были замечены, но оказалось что я сам неверно разобрался. В итоге сейчас никаких проблем со звуком (и с чем либо еще) нет. Более того, никто из скачавших демку игры здесь и на геймдев.ру ни на что подобное не жаловался. Так что проблема скорее всего в коде. cute_yellow_elephant, скорее всего ты в основном цикле используешь функцию SoundPlay при каждой итерации, или что то менее очевидное, но приводящее к тому, что звук воспроизводится максимальное количество раз. Если это так, то тебе стоит использовать, к примеру, конструкцию типа
Code unsigned long sound;//эту переменную объявить как глобальную или в классе ... if(!GetSoundState(sound)) sound=SoundPlay(L"sound.wav"); // это действие нужно произвести в основном цикле игры
Как то так. Будет работать
Игровая студия Good Ghost City
Dr. H.Story - аркадный платформер.
|
|
| |
|