вторник, 10 мая 2011 г.

Скрины игры и немного об уровнях

Именно так сейчас выглядит игра. Есть несколько слегка скролящихся фонов, которые временами потряхивает от взрывов, полный набор звуков для всех действий в игре, 15 уровней и "Universe" с уровнями рандомно-бесконечными. Конфигурация уровней различна - кое где можно покататься по рельсам. Вообще круговое движения задумывалось как главная фишка игры, т.к. классическая механика арканоида всем уже приелась.
На скринах рандомные уровни, все остальное добро я не стал снимать, чтобы в итоге все-таки игра получилась интереснее, чем скрины. :) 


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

var level1:Array =
[
new Array(0,0,0,0,0,0,0,0,0,0),
new Array(0,b(),c(),c(),c(),c(),c(),c(),c(),b()),
new Array(0,b(),c(),l(),r(),s(),r(),l(),c(),b()),
new Array(0,0,c(),r(),r(),l(),r(),r(),c(),0),
new Array(0,0,c(),l(),r(),r(),r(),r(),c(),0),
new Array(0,b(),m(),n(),r(),r(),r(),n(),m(),b()),
new Array(0,k(),m(),n(),n(),s(),n(),n(),m(),k()),
new Array(0,0,0,0,0,0,0,0,0,0)
];

Для создания фиксированных, неслучайных уровней есть простор из поля 10х8 и 13 видов блоков. В одной из предыдущих версий их было 17 видов, однако функциональность некоторых бонусов сейчас пока под сомнением.
[
new Array(0,1,0,0,0,0,0,0,1,0),
new Array(0,1,9,0,0,0,0,9,1,0),
new Array(0,1,0,9,12,11,9,0,1,0),
new Array(1,1,0,0,5,5,0,0,1,1),
new Array(1,1,0,0,5,5,0,0,1,1),
new Array(0,1,0,0,0,0,0,0,1,0),
new Array(0,1,0,0,0,0,0,0,1,0),
new Array(0,1,0,6,0,0,6,0,1,0)
];

Более того, ввод каждого нового вида блоков добавляет лишних затрат памяти и грузит систему. Очень печально, но с входом на первый уровень загрузка процессора увеличивается с 1%, как это было в меню, до 20%. Возможно одним из негативных факторов является постоянное движение каждого блока в отдельности. В любом случае производительность - мое слабое место, я уверен, что можно сильно оптимизировать игру, но в этом направлении у меня пока не много успехов.

14 комментариев:

  1. А пишешь на чистом as3, без всяких фреймворков?

    ОтветитьУдалить
  2. Да, я пока не использую никакие библиотеки и фреймворки.

    ОтветитьУдалить
  3. Я ща тоже так почти. У меня куча других фреймворков для других целей :).

    ОтветитьУдалить
  4. Скрины неплохи, да. Вот только я бы пикселястость фона убрал, имхо, будет лучше с однотонным. Ну или можешь сделать его однотонным + легкое затенение по краям.

    ОтветитьУдалить
  5. > я пока не использую никакие библиотеки и фреймворки

    Уважуха, братюня. Только as3! Только хардкор!

    ОтветитьУдалить
  6. >Скрины неплохи, да. Вот только я бы пикселястость фона убрал, имхо, будет лучше с однотонным. Ну или можешь сделать его однотонным + легкое затенение по краям.

    Над фоном еще поработаю, думаю. Облака и дождь сейчас сделал, хочется теперь больше разных оттенков для разнообразия.

    >Уважуха, братюня. Только as3! Только хардкор!

    Ну в этом тоже свой минус, наверное, работай я с фреймворками, с оптимизацией все было бы лучше.

    ОтветитьУдалить
  7. Выглядит приятно, только вот цветные блоки на фоне остальных объектов выглядят немного примитивно, так и хочется к ним что-нибудь эдакое пририсовать:), жалко рисовать не умею)

    ОтветитьУдалить
  8. По ним блик еще пробегает, все блоки с несложной анимацией, так что не должно быть уж сильно примитивно) Хотя сама по себе игра все-таки тоже довольно примитивная, не отягощенная непонятной механикой.

    ОтветитьУдалить
  9. Так у тебя арканойд с круговым движением как у меня?

    http://hale32bit.blogspot.com/2011/02/ice-flora.html?showComment=1297794908708#c602093878365844201

    ОтветитьУдалить
  10. Интересная реализация! Ну у меня в чем-то похоже, за исключением того что оно идет по правильной круговой орбите, а весь игровой процесс на одном экране, не скроллится.

    ОтветитьУдалить
  11. У меня в разных уровнях разные орбиты. Круговая тоже есть.
    Просто мне казалось что никто в мире не додумался до такого кроме меня. :)
    А оказывается мир тесен, или как ещё говорят: "Все гении думают одинаково"

    ОтветитьУдалить
  12. Я видел еще несколько круговых и на флеше даже, тоже сначала решил что это мой будет первым)) Все они дальше от классического арканоида ушли, чем мой.

    ОтветитьУдалить
  13. А мне скрины понравились - олдскульно.

    ОтветитьУдалить

Читатели