17.04.2014

Наконец-то добавил перемещение игрока.

Перемещение игрока


Похоже, список дел завершён.
  •     Как прогер:
    • Организация данных в памяти
    • Класс ирока
    • Рендеринг
  • Как художник:
    • Несколько тайлов подземелья
    • Спрайты игрока
  • Как менеджер:
    • Пинаю болт 


Думаю, после этого я буду делать простого врага и систему обмена ударами.

06.04.2014

Немного ролевой системы

Итак, начнём.

Каждый игрок имеет следующие параметры:
  • Сила -- Атака оружием, выпиливание дверей и замков
  • Мудрость -- Защитная магия, магия лечения, опыт
  • Интеллект -- Защитная магия, атакующая магия, обнаружение ловушек
  • Ловкость -- Скорость передвижения, взлом замков
  • Выносливость -- Регенерация HP и MP
  • Удача -- Шанс удара, количество лута
 Каждый игрок принадлежит к одной из следующих рас:
  • Люди: +1 мудрость, +1 интеллект, +15% опыта
  • Гномы: +2 выносливость, +15% лута
  • Орки: +2 сила, +15% MP
  • Эльфы: +1 ловкость, +1 удача, -15% повреждений
Классы:
                        Рыцарь       Священник         Маг
                        +2 Str          +2 Wis                 +2 Int
                        +1 Dex        +1 Sta                  +1 Sta
   
    Swords        +                  -                           -
    Bows           +                  -                           -
    Maces          +                 +                           -
    Daggers        +                 -                           +
   
    Shields          +                 +                          -
    Heavy armor +                 -                           -
    Light armor   +                 +                           -
    Robes           +                 +                          +
   
    Helmets        +                  -                           -
    Caps            +                  +                          +
    Cloaks          +                 +                          +
   
    Defence m    -                   +                         +
    Healing m     -                   +                          -
    Attack m      -                    -                         +
   
    Attack mod  +                   +                        +
    Def mod       +                   +                        +




И первый успех

FUK YEA! I MAED IT! I HAZ MAED IT BAEB YEA!
После длительных изысканий я наконец-то отрендерил карту с тайлами.

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

27.03.2014

Немного редизайна

Переделал спрайт игрока и убрал повороты, т.к. я замаюсь делать спрайты для всех рас и классов.

Слева направо: войн, священник, маг

Собственно, что решено сделать:
  • Расы:
    • Человек
    • Гном
    • Эльф
    • Орк
  • Классы:
    • Рыцарь
    • Священник
    • Маг

26.03.2014

Спрайт игрока

Закончил наконец-то спрайты игрока. Вот они:

Спрайты игрока
В общем, с художественной частью покончено.

Что я сейчас делаю:
  •     Как прогер:
    • Организация данных в памяти
    • Класс ирока
    • Рендеринг
  • Как художник:
    • Несколько тайлов подземелья
    • Спрайты игрока
  • Как менеджер:
    • Пинаю болт
   
Что должно получиться в итоге:
    На экране подземелье и игрок, который может перемещаться по тайлам пола и не может перемещаться по тайлам стен.

Вычеркнул ещё один пункт

Нарисовал несколько мрачноватых тайлов в холодных тонах. Думаю, они являются определяющими для цветового стиля всей графики.

Тайлы. Слева каменный пол, справа -- стена

Само собой, это увеличенная версия, в реале они 32x32 пикселя.

Что я сейчас делаю:
  •     Как прогер:
    • Организация данных в памяти
    • Класс ирока
    • Рендеринг
  • Как художник:
    • Несколько тайлов подземелья
    • Спрайты игрока
  • Как менеджер:
    • Пинаю болт
   
Что должно получиться в итоге:
    На экране подземелье и игрок, который может перемещаться по тайлам пола и не может перемещаться по тайлам стен.

Некоторый прогресс

После нескольких дней раздумий распланировал следующую организацию данных:

//    Организация данных            |            Data structure

//    Enum с направлениями        |        Enum of directions
Enum Direction {
    Up,
    Right,
    Bottom,
    Down
}

//    Класс игры                                |            Game class
Class FrostGame {

    //    Все картинки тайлов хранятся здесь        |        Store tile graphics
    Class FrostTileImageSet {
        Map Class FrostTileImage {
            //    Сама картинка            |            Graphics itself
            Image img;
            //    Уникальный номер картинки в c++map'е        |        Id of graphics in c++map
            unsigned int uid;
        }
    }
       
    //    Все картинки персонажей хранятся здесь        |        Store actors graphics   
    Class FrostActorImageSet {
        Map Class FrostActorImage {
            //    Четыре направления        |        Four directions
            Image img[4];
            //    Уникальный номер картинки в c++map'е        |        Id of graphics in c++map       
            unsigned int uid;
        }
    }

    //    Карта со всем содержимым, т.е. тайлами и персонажами        |        Map with actors and tiles
    Class FrostMap {
        //    Ширина и высота        |        Width and Height
        int width, height;
        //    Массив с id картинок тайлов        |        Tile graphic ids
        int tileimageuid[width][height];
        //    Твёрдость тайла (Воздух - стена)        |        Tile solidness
        bool tilesolid[width][height];
       
        //    Список персонажей на карте.    0 -- всегда игрок        |        List of actors on map. Player is always 0
        Class FrostActorlist {
            //    Массив с актёрами        |        Array of actors
            Vector Class FrostActor {
                //    x y -- координаты актёра, imageuid -- номер спрайта, direction -- направление
                //    x y -- coord of actor, imageuid -- graphic id, direction -- self explainatory
                int x, y, imageuid, direction;
               
                //    Смещение относительно центра тайла, нужно для анимации
                //    Offset from tile center for animation purposes
                float dx, dy;
               
                //    Здоровье. Если <= 0.0f, то убирает персонажа из списка
                //    Health. If hp <= 0.0f then delete actor from list
                float hp;
            }
           
            //    Просматривает персонажей и удалят тех, у кого hp <= 0.0f
            //    Scans actorlist and delete all actors have hp <= 0.0f
            void CleanDeadActors();
        }
    }
}

19.03.2014

Ну что ж, понеслась!

Решил начать с написания рогалика, так сказать разведка боем.

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

Что планируется:
- Многоуровневые рандомные лабиринты
- Магическая система, основанная на зачаровании предметов
- Адские монстры, населяющие подземелья
- Доска рекордов
- Города няшных бородатых гномов, в которых можно пополнить запасы в обмен на сокровища
- Пещеры драконов, наполненные драгоценностями и охраняемые кавайными гигантскими огнедышащими драконами
- Заброшенные города, наполненные разной живностью, не очень радующейся гостям
- Лаборатории безумных алхимиков, хранящие страшные злодейские зелья, и библиотеки, хранящие книги с магией
- Адские кузницы, в которых игрок может создать своё собственное оружие или доспех из материалов, разбросанных по подземельям
- Тайловая графика

И сразу план на ближайшее время.

Что я сейчас делаю:
- Как прогер:
- Организация данных в памяти
- Класс ирока
- Рендеринг
- Как художник:
- Несколько тайлов подземелья
- Спрайты игрока
- Как менеджер:
- Пинаю болт

Что должно получиться в итоге:
На экране подземелье и игрок, который может перемещаться по тайлам пола и не может перемещаться по тайлам стен. Голый скелет (если точнее, тазовая кость).