31.03.21 - 07.04.21:
1.Додумать идею игры
2.Продумать возможные игровые механики
3.Спроектировать классы => Составить схему/описать текстом
#### Прогреss к 07.04.21:
## Классы: // предварительно имеют след поля/свойства
1. Player:
1.1. Здоровье - кол-во здоровья
1.2. Характеристики - скорость перемещения, кол-во урона врагам
1.3. Инвентарь - что находится в нем
1.4. Расположение на карте, спавн
2. Map:
2.1. Тип поверхности: местность, доступная для перемещения, преграды, точки перехода(в случае, если камера останется статичной)
2.2. Предметы, доступные для взятия в инвентарь Player'а
2.3. Размеры карты(в случае статической камеры карта будет разбита на квадраты определенного размера и тогда размер карты будет задавать размер этих квадратов)
3. Enemies: Аналогично Player
3.1. Здоровье - кол-во здоровья
3.2. Характеристики - скорость перемещения, кол-во урона врагам
3.3. Расположение на карте, спавн
4. NPC:
4.1. Расположение на карте, спавн
4.2. Сообщения (диалоги(?)), которые NPC может сказать Player'у
5. Головоломки/квесты(куда засунуть, пока непонятно)
# Также несколько enum'ов - GameStage - игра не начата, игра начата, игра закончена.
## Игровые механики:
1. Персонаж может перемещаться по местности
2. Персонаж может взаимодействовать с окр миром, а именно сражаться с врагами, взаимодействовать с NPC, решать зашадки / проходить квесты, поднимать предметы и использовать их через инвентарь
## Идея игры - у ГГ очень скучная и однообразная жизнь, он несчастлив. Из случайно попавшейся в его руки книги, у которой не было обложки, он узнает о
"какой то волшебный/магический что то", что может изменить его жизнь. Уехав в далекие дали, ГГ начинает свой путь к счастью.
Ему предстоит преодолеть немало трудностей, чтобы достичь желаемого.
#####
07.04.21 - 14.04.21:
1. Закодить классы, представленные на прошлую неделю. Написать основные поля и свойства, конструктор.
2. Написать методы, использующие классы и работающие с ними.
3. Написать тесты на методы.
#### Прогреss к 14.04.21:
см. https://github.com/dimasikBurdin/WinFormsGame/tree/main/MyGame
Замечания по результатам второй недели:
- Модель не отделена от представления
- Класс Inventory - зачем делать списки полностью открытыми, если в классе есть методы для работы с ними?
- Класс Game - используются открытые поля, нужно свойства
14.04.21 - (21.04.21) - 28.04.21:
1. Добавить первые текстуры местности.
2. Создать контроллер для местности(terrain).
3. Написать методы, отрисовывающие эту самую местность.
4. Подготовить все для написания механик(перемещение игрока, взаимодействия и тд).
5. (к 28.04) Написать методы для передвижения персонажа.
6. Ограничить передвижения персонажа(столкновение с непроходимой местностью и тп).
7. Реализовать отрисовку персонажа.
8. Добавить первые элементы интерфейса(кол-во здоровья, мб еще что то), которые могут пригодиться в ближайших обновлениях.
#### Прогреss к 28.04.21:
см. https://github.com/dimasikBurdin/WinFormsGame/tree/main/MyGame
К 19.05.21:
1. Реализовать правильную отрисовку(чтобы все сущности могли двигаться и отрисовываться независимо друг от друга)
2. Протестировать отрисовку(добавить тестовых противников)
3. Настроить интерфейс, чтобы он синхронизировался со всеми размерами(control'a и самого окна)
4. Реализовать смену локаций, т е возможность переходить с одной локации на другую и обратно.
5. Улучшить систему перемещения игрока.
#### Прогреss к 19.05.21:
см. https://github.com/dimasikBurdin/WinFormsGame/tree/main/MyGame