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

Во-первых, столкнувшись с недостатками своего движка, на котором была построена предыдущая версия игры, частично(очень во многом) переписал его. Теперь практически весь Ignite строится на событийной модели, т.е. у меня есть события для всего на свете и я их использую в нужное время, могу создавать новые во время выполнения программы, а также управлять так, как только захочу. На написание такой модели с нуля ушло достаточно много времени. Остальное время я потратил на создание “контейнерной” графической системы, где объекты логически объединены в группы и их прорисовкой и обработкой ведает их собственный код. Это позволило сократить код основного блока графического вывода до нескольких строк:

1
2
3
4
5
6
7
8
9
10
11
void redraw ( )
{
    Image frameholder = ( Image ) init . getImage ( "bg_black" , "images/int/black.png" ) . Clone ( ) ;
    Graphics buffer = Graphics . FromImage ( frameholder ) ;
    if ( currentLevel != null ) currentLevel . container . draw ( buffer ) ;
    activeContainer . draw ( buffer ) ;
    if ( player != null )
      player . tile . selfdraw . Invoke ( buffer ) ;
    writeframe . DrawImage ( frameholder , 0 , 0 , frameholder . Size . Width , frameholder . Size . Height ) ;
    buffer . Dispose ( ) ; frameholder . Dispose ( ) ;
}

Во-вторых, начав такую серьезную реструктуризацию, я решил отойти от канонического фентези и добавить в игру что-то новое, изюминку. И первой из них стала абилка первого класса: Некроз – способность захватить эссенцию поверженного врага и использовать ее некоторое время, как новую способность, или с небольшим шансом получить постоянную мутацию в организм персонажа. На данный момент я ввел в игру 3 мутации: пчелиные крылья(которых недостаточно, чтобы поднять над землей орка, но их хватит на более маленького персонажа), “пчелиная скорость”, которая увеличивает на некоторое время скорость игрока, и “ядовитое жало” (персонаж способен некоторое время жалить противника, увеличивая свой урон в ближнем бою). В дальнейшем все неигровые персонажи (а их количество в предыдущей версии было уже больше 30 типов) получат подобные способности, как в свое распоряжение, так и для последующего некроза.

С помощью таких мутаций я планирую описывать расовые различия между персонажами.

В третьих, я ввел в игру систему квестов. Сейчас в игре 1 квест, выполнение которого приводит к ее завершению и подсчету финальных очков.

Похожие записи:

  1. Ignite – кораблики на карте
  2. How to improve perfomance of GDI+ using C#
  3. Ignite – генерация предметов и лут
  4. Ignite – дальний бой
  5. Ignite 0.036 is here