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
|
|
| |
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
Сейчас нет на сайте
| Ну так когда уже!?
Кстати, оптимизация планируется? Не знаю как сейчас, но пустой проект на WindMill ест очень много процессорного времени!
|
|
| |
GhostEnc | Дата: Пятница, 28 Сентября 2012, 14:42 | Сообщение # 251 |
почетный гость
Сейчас нет на сайте
| ilgamer, юзай Sleep(4) в основном цикле, ограничишь 250 кадрами в секунду (у меня где то 168-180 фпс) Добавлено (28.09.2012, 14:42) --------------------------------------------- Как включить вертикальную синхронизацию?
Игровая студия 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
Сейчас нет на сайте
| Я так и сделал, потому что торопился. Думаю, что это по большей части костыль, чем идеальное решение.
|
|
| |
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 на мельницу обратно.
|
|
| |
|