Пятница, 29 Марта 2024, 13:35

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Ваши проекты » Разработка движков и сред разработки » WindMill 2D Game Engine (Движок для 2D игр любого жанра.)
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 и выше то и лог-файл.
Прикрепления: 5820661.jpg (11.3 Kb) · 4810306.jpg (78.6 Kb) · 3150085.jpg (66.5 Kb) · 7628550.jpg (65.7 Kb)


Windmill 2

WindMill 2D Game Engine
AllRadinДата: Вторник, 11 Сентября 2012, 20:26 | Сообщение # 241
был не раз
Сейчас нет на сайте
Потянет ли его MVC++ 2005?
ilgamerДата: Пятница, 14 Сентября 2012, 10:54 | Сообщение # 242
Needle Games
Сейчас нет на сайте
Сделал простенький Pong:
Тема на форуме


GhostEncДата: Пятница, 14 Сентября 2012, 20:14 | Сообщение # 243
почетный гость
Сейчас нет на сайте
Учился по урокам автора движка, параллельно, чтоб не зря, начал простенький платформер, есно на этом же движке. Очень простой движок! Мне, абсолютному профану в с++ потребовалось всего пара месяцев чтоб разобраться досконально во всех функциях (правда, звуковой движок глючный(либо у меня руки совсем кривые))
Вот игра, планирую развить, ессно. Пока что есть только огромный по меркам 2д платформеров мир. Пустой. Ни одного врага) Умереть никак. Но геймплей оценить можно
Топик
К сожалению из за легкого недопонимания между мною и с++ удалось привязать перемещения только к фпс. После переделаю, потому как сейчас попытался, ужаснулся тому что получилось, понял что переписывать очень много (сейчас 6000 строчек кода в игре) и отложил на потом). Но играбельно, тестил на 3-ех компьютерах, включая древний пентиум 4


Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.


Сообщение отредактировал GhostEnc - Суббота, 15 Сентября 2012, 14:14
ilgamerДата: Суббота, 15 Сентября 2012, 07:14 | Сообщение # 244
Needle Games
Сейчас нет на сайте
GhostEnc, мир генерируется или он сам по себе такой большой? Я не смог доехать до границы, хотя ехал минут 5. Какая-то атмосфера футуристичная вырисовывается, но пока не ясно что это.

GhostEncДата: Суббота, 15 Сентября 2012, 07:19 | Сообщение # 245
почетный гость
Сейчас нет на сайте
мир состоит из 4млн блоков, 10000 блоков в ширину + 9 уровней "подземелий", на которые пока не спуститься, ну впрочем там все равно пусто)

Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.
ilgamerДата: Суббота, 15 Сентября 2012, 07:48 | Сообщение # 246
Needle Games
Сейчас нет на сайте
Сделай тему на форуме для проекта. Мне сейчас делать нечего, могу помочь с атмосферой (наброски, диз. док).



Сообщение отредактировал ilgamer - Суббота, 15 Сентября 2012, 07:48
GhostEncДата: Суббота, 15 Сентября 2012, 18:50 | Сообщение # 247
почетный гость
Сейчас нет на сайте
nilrem, в полноэкранном режиме если навести курсор на границы экрана, то появятся стрелочки resize (хз как по русски это написать =Д), даже если графический движок инициализирован с параметром resize равным false. Это как то можно исправить?

Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.
nilremДата: Суббота, 15 Сентября 2012, 22:15 | Сообщение # 248
Просветленный разум
Сейчас нет на сайте
Quote (GhostEnc)
появятся стрелочки resize (хз как по русски это написать =Д), даже если графический движок инициализирован с параметром resize равным false.

Здесь назначение resize другое. Он разрешает или запрещает автоматическое изменение области рендеринга при изменении размеров окна. Тоесть если установить его в true, при изменении окна разрешение области рендеринга будет соответствовать новым размерам. Если false, то разрешение области рендеринга останется прежним, при этом графика будет масштабироваться. При масштабировании будут неправильно определятся координаты мыши. Бороться с этим можно. Достаточно вычислить коэффициент масштабирования и применить его к координатам мыши. (РЕКЛАМА: Виндмилл2 сам это делает.)

Quote (GhostEnc)
Это как то можно исправить?

Добавить после инициализации движка, а еще лучше - после инициализации окна:

Code
SetWindowLong(GetForegroundWindow(),GWL_STYLE,GetWindowLong(GetForegroundWindow(),GWL_STYLE)^WS_THICKFRAME^WS_MAXIMIZEBOX);


Windmill 2

WindMill 2D Game Engine
GhostEncДата: Суббота, 15 Сентября 2012, 23:06 | Сообщение # 249
почетный гость
Сейчас нет на сайте
спасибо, все оказалось даже слишком просто)

Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.
ilgamerДата: Суббота, 22 Сентября 2012, 10:40 | Сообщение # 250
Needle Games
Сейчас нет на сайте
Quote
Виндмилл2

Ну так когда уже!?

Кстати, оптимизация планируется?
Не знаю как сейчас, но пустой проект на WindMill ест очень много процессорного времени!


GhostEncДата: Пятница, 28 Сентября 2012, 14:42 | Сообщение # 251
почетный гость
Сейчас нет на сайте
ilgamer, юзай Sleep(4) в основном цикле, ограничишь 250 кадрами в секунду (у меня где то 168-180 фпс)

Добавлено (28.09.2012, 14:42)
---------------------------------------------
Как включить вертикальную синхронизацию? wacko


Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.
zodiakДата: Пятница, 28 Сентября 2012, 16:53 | Сообщение # 252
постоянный участник
Сейчас нет на сайте
Quote (GhostEnc)
Как включить вертикальную синхронизацию?

Вроде как никак. А зачем она тебе?

nilrem, сделай, пожалуйста, библиотеку wings.dll под NET Framework 4. Ато у меня игра просит и четвертый и третий, а это слишком жирно. Четвертый весит 50 мб, а третий 250.


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
GhostEncДата: Пятница, 28 Сентября 2012, 18:47 | Сообщение # 253
почетный гость
Сейчас нет на сайте
В полноэкранном режиме все расползается. Случайно вычитал, что это лечится включением для приложения вертикальной синхронизации. Включается
Quote
перед запуском D3DDevice измените значение параметра
g_d3d9Parameters.SwapEffect на D3DSWAPEFFECT_COPY. После этого также присвойте параметру g_d3d9Parameters.PresentationInterval значение D3DPRESENT_INTERVAL_ONE.

Но, насколько я понимаю, инициализация D3DDevice происходит где то в недрах движка.


Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.
nilremДата: Четверг, 04 Октября 2012, 14:45 | Сообщение # 254
Просветленный разум
Сейчас нет на сайте
Quote (zodiak)
сделай, пожалуйста, библиотеку wings.dll под NET Framework 4

В суботу скину.

Quote (GhostEnc)
В полноэкранном режиме все расползается.

Что значит расползается?


Windmill 2

WindMill 2D Game Engine
GhostEncДата: Четверг, 04 Октября 2012, 19:38 | Сообщение # 255
почетный гость
Сейчас нет на сайте
Эээ, в том то и дело, что я не могу объяснить доходчиво, может у меня вообще у одного такая проблема? =Д Когда делаю скриншот экрана в полноэкранном режиме в результате получается белый экран, так что показать тоже не могу. Если только фрапс качать...
Вообще, артефакты хорошо заметны когда скорость движения камеры около 1200-1500 пикселей в секунду при фпс около 200, чем больше скорость - тем больше артефактов


Игровая студия Good Ghost City

Dr. H.Story - аркадный платформер.
ilgamerДата: Пятница, 05 Октября 2012, 06:26 | Сообщение # 256
Needle Games
Сейчас нет на сайте
Как вывести одну строку в две? Или даже три? Срочно, парни!

zodiakДата: Пятница, 05 Октября 2012, 08:06 | Сообщение # 257
постоянный участник
Сейчас нет на сайте
Quote (ilgamer)
Как вывести одну строку в две? Или даже три? Срочно, парни!

В смысле текст?
Считаешь символы и если их больше чем помещается, делишь строку на части, а затем отображаешь по отдельности.


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
ilgamerДата: Пятница, 05 Октября 2012, 08:20 | Сообщение # 258
Needle Games
Сейчас нет на сайте
Я так и сделал, потому что торопился. Думаю, что это по большей части костыль, чем идеальное решение. smile

nilremДата: Понедельник, 08 Октября 2012, 23:42 | Сообщение # 259
Просветленный разум
Сейчас нет на сайте
Quote (GhostEnc)
Вообще, артефакты хорошо заметны когда скорость движения камеры около 1200-1500 пикселей в секунду при фпс около 200, чем больше скорость - тем больше артефактов

Наверное чтобы понять, это нужно увидеть. Видео сними, что ли.

Quote (ilgamer)
Я так и сделал, потому что торопился. Думаю, что это по большей части костыль, чем идеальное решение.

Та в общем-то не костыль. Внутри ГУИ есть функция PrintRect, она так и работает. Нужно было сделать эту функцию доступной извне. Это я прозевал.

Некоторые пользователи переживают, что прогресс разработки движка застопорился на 48%. Виной тому мое участие в предвыборном процессе в стране. Как только выборы закончатся, разработка продолжится. Тестовые версии движка начнут появляться где-то на 80%.
По сути Windmill 2 и так уже минимально работоспособен.
В нем:
• используется новый механизм работы со шрифтами, дающий более качественный результат и позволяющий использовать сколько угодно разных шрифтов.
• Улучшенная система анимации, но из-за отсутствия удобного редактора она практически бесполезна.
• Звуковой движок научился проигрывать больше форматов.


Windmill 2

WindMill 2D Game Engine
ilgamerДата: Вторник, 09 Октября 2012, 00:36 | Сообщение # 260
Needle Games
Сейчас нет на сайте
Хм-м, звучит классно! Будь возможность видео-заставки в игру вставлять, перешел бы с GEGE на мельницу обратно. wink

Форум игроделов » Ваши проекты » Разработка движков и сред разработки » WindMill 2D Game Engine (Движок для 2D игр любого жанра.)
Поиск:

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