Board.KolibriOS.org
http://board.kolibrios.org/

Marble Match-3 - ещё игра на конкурс (игра выпущена)
http://board.kolibrios.org/viewtopic.php?f=41&t=2940
Page 2 of 4

Author:  punk_joker [ Tue Dec 16, 2014 11:51 pm ]
Post subject: 

Извеняюсь, это не лаги, а ступенчатая анимация :) А ФПС около 12 держится.

Author:  ALPINE [ Wed Dec 17, 2014 12:36 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Quote:
А ФПС около 12 держится.
Понятно. Ну, я ожидал, что с производительностью будут проблемы, т.к. совершенно бесцеремонно не жалел вычислительных ресурсов. У меня весь кадр (512х512, 32 bit) перерисовывается, еще и с альфа-каналом, пиксели смешиваются... оптимизирую. Собственно, уже оптимизировал, теперь кадры рисуются только при необходимости (пока обдумываем ход - картинка статична, отрисовки нет). Кое-чего еще исправлю и залью.

Еще при отрисовке высчитывается много лишнего (и одинакового каждый кадр), пожалуй, запихну всё это в память, пусть лучше там будет еще мегабайт картинок, чем эти самые картинки попиксельно будут каждый раз пересчитываться.

Author:  punk_joker [ Wed Dec 17, 2014 12:41 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Попробовал для интереса запустить на своем IBM ThinkPad 600E с Intel Pentium II 366Mhz под капотом. Ну в общем получил около 3 ФПС :)

Author:  ALPINE [ Wed Dec 17, 2014 1:14 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

punk_joker wrote:
Попробовал для интереса запустить на своем IBM ThinkPad 600E с Intel Pentium II 366Mhz под капотом. Ну в общем получил около 3 ФПС :)

Интересно, а Heliothryx пашет быстрее? Там разрешение не 512х512, а 320х180 (в 4.5 раза меньше). Апскейл до размеров окна конечно есть, но он менее ресурсоёмкий, чем смешивание полупрозрачных цветов.

Author:  Mario_r4 [ Wed Dec 17, 2014 1:37 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

.

Author:  ALPINE [ Wed Dec 17, 2014 2:08 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Обновление
- немного улучшена производительность
- перерисовка теперь происходит только при необходимости, уменьшается нагрузка на процессор
- изменил размер и масштаб игрового поля
- небольшие косметические изменения

Ссылка прежняя: Marble Match-3 (лежит в SVN, собирается в ISO)

В планах
- взрывы покрасивей
- заменить шарики на красивые кристаллы
- перерисовывать только часть экрана, чтобы еще чуточку повысить производительность и снизить нагрузку на процессор

Author:  kiv [ Wed Dec 17, 2014 2:51 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Думаю кристаллы и их анимацию можно прорендрить при запуске и частично во время простоев игры в спрайты, чтобы во время игры просто доставать нужные из оперативки. Обычно в подобных играх так всегда делали (да, и производительность улучшит).

Author:  ALPINE [ Wed Dec 17, 2014 3:04 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Конечно всё именно так и делается, при запуске всё один раз генерируется и потом достаётся из оперативки. В том числе все кадры взрывов. Но например у меня есть текстура фона и полупрозрачное игровое поле. Раньше они смешивались каждый кадр, а сейчас я завёл просто еще одну текстуру фона - в ней хранися дубликат фона с уже нарисованным игровом полем, таким образом смешивание этих текстур делается только один раз. Но и хранить данные приходится дважды.

Author:  kiv [ Wed Dec 17, 2014 3:19 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Есть много вариантов... Например, хранить только изменения... Софтрендер позволяет бОльшую гибкость при прочих ограничениях... Кстати, могу материала по теме олдскульного демокодинга нахамячить тебе, но только в сыром виде (выдирать долго, а я ленивый)...

Author:  ALPINE [ Wed Dec 17, 2014 3:36 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Quote:
хранить только изменения
И чтобы получить картинку, опять нужны вычисления :)
Quote:
Кстати, могу материала по теме олдскульного демокодинга
Спасибо, но я как-нибудь сам. Многое уже сейчас неоптимально, когда (и если) оптимизирую очевидные вещи - тогда уже буду прибегать к более суровым методам.

Сейчас одна из серьёзных проблем - невозможность вывести в окно часть картинки. То есть если у меня есть большой буфер, я не могу легко вытащить произвольный прямоугольник из него. Седьмая функция выводит только "готовую картинку". Поскольку вывод построчный, можно вырезать несколько строк, это частично решит проблему. Но по закону подлости кристаллы падают вертикально, и мне была бы куда полезней возможность перерисовать столбцы, а не строки.

Author:  Mario_r4 [ Wed Dec 17, 2014 3:37 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

.

Author:  ALPINE [ Wed Dec 17, 2014 3:46 am ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Mario_r4 wrote:
ф.65.

Ну ёшкин же ж крот, а.
Спасибо.

P.S. Пора мне отучиваться делать преждевременные выводы по названию и краткому описанию функций. Про сканкоды не читал, думая, что там только про преобразование сканкодов в символы и обратно. А оказалось, что события KeyDown/KeyUp как раз ими ловятся. Про вывод с палитрой не читал, думая, что там не будет ничего про вывод графики с числом бит на пиксель > 8. И уж точно не ожидая там найти вывод фрагмента изображения.

P.P.S. Потребление ОЗУ сейчас снизится на 768 кб :) Больше не будет преобразования буфера BGRA -> BGR.

Author:  hidnplayr [ Wed Dec 17, 2014 12:22 pm ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

ALPINE: Have you seen the KolibriOS game "pharaohs crypt" ?
It's a similar game which works very smoothly :)

Author:  ALPINE [ Wed Dec 17, 2014 12:59 pm ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Haven't seen... I thought there is no match-3 game on KolibriOS yet :(

About smoothness: I'm working on it, release version will get smooth (not step) animation. As a bonus, my game have procedural-generated textures and very small size (about 11 kb versus pharaohs' 65 kb) :)

Author:  hidnplayr [ Wed Dec 17, 2014 1:00 pm ]
Post subject:  Re: Marble Match-3 - ещё игра на конкурс

Ok, just wanted to let you know.
Good luck to you!

Page 2 of 4 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/