Идея игры: "Заброшенные земли"
Описание игры:
Игрок оказывается в открытом мире, наполненном таинственными событиями и ужасами. Цель игры - исследовать просторы местности, раскрывать тайны и побеждать ужасы, что поджидают в каждом уголке
Функционал:
- Геймплей:
Игрок будет свободно исследовать различные локации на открытой местности, такие как леса, поля, горы и болота. На пути игрока будут встречаться различные ужасы и опасности, от преследующих монстров до аномальных явлений. Цель игры - раскрыть тайны местности и найти способы защиты или выживания
- Управление:
Игрок будет управлять персонажем с помощью клавиатуры или геймпада, перемещая его по открытой местности и взаимодействуя с объектами
- Алгоритмы:
Легкий алгоритм:
Реализация алгоритма перемещения персонажа по местности и взаимодействия с объектами
Средний алгоритм:
Реализация алгоритма управления поведением ужасных существ или явлений (например, случайное появление или преследование игрока)
- Архитектура проекта:
Использование архитектурного паттерна MVC (Model-View-Controller) для разделения логики игры, ее отображения и управления пользовательским интерфейсом. Реализация модели для хранения данных о состоянии персонажа, объектов местности и текущих заданиях. Использование ViewModel для управления взаимодействием между моделью и представлением (визуализацией на экране) и обработки пользовательских действий
- Креативность:
Разнообразие местности с уникальной атмосферой и характеристиками, каждая из которых скрывает свои тайны и опасности.
Различные виды ужасов и монстров, каждый со своими особенностями и способностями.
Возможность влиять на окружающий мир и развивать персонажа, чтобы противостоять всем ужасам и выжить
- Настройка готового проекта
- Полезные команды
- Полезные ссылки
- Структура проекта
- Требования к проекту
- Музычка для разработки
- Версия Python: 3.11.8
- После скачивания проекта к себе на компьютер не забудьте установить необходимые зависимости, прописав к консоли команду:
pip install -r requirements.txt
- Сохранить список зависимостей в файл requirements.txt:
pip freeze > requirements.txt
- Отобразить зависимости в консоль:
pip list
- Удалить файл из контроля версий:
git rm --cache [путь до файла]
- Удалить все зависимости:
pip uninstall -y -r requirements.txt
- Установить зависимости:
pip install -r requirements.txt
Waste_lands
|
|__assets
| |__sounds
| |__sprites
|
|__mvc
| |__model
| | |__enemy.py
| | |__inventory.py
| | |__items.py
| |__perling_noise.py
| | |__player.py
| | |__world.py
| |
| |__view
| | |__menu.py
| |
| |__controller
| |__a_star.py
| |__utils.py
|
|__tests
| |__sprites_load.py
|
|__config.py
|__main.py
|__settings.py
|__data_for_readme
|__README.md
|__requirements.txt
- Игра должна быть написана на PyGame
Технические - 45:
-
Соответствие разобранным принципам программирования (за весь первый курс, включая то, что было на парах): SOLID, DRY, KISS, и другим, ООП/ФП: 10 баллов
-
Сложность алгоритмов: 15 баллов
Алгоритма нет: 0%.
[✓] Легкие алгоритмы. Примеры: алгоритм давался на парах, AABB (Axis-Aligned Bounding Box): 20%
[ ] Средние алгоритмы. Примеры: оптимизация алгоритма с пар (улучшенный BFS/DFS, A* и т.д.): 40%
[ ] Все, что сложнее и комплекснее (QuadTree, дерево решений, Perlin noise и т.д.): 60+%
Надо понимать, что выполнив 2 алгоритма с пар вы не получите 40*2%, но немного доп.баллов при хорошей реализации и защите получите.
Примеры дают ориентировочный уровень сложности алгоритма.
Все остальное зависит от сложности алгоритма, его реализации, вашего понимания.
-
Корректная, обоснованная реализация архитектуры проекта: MV*/ECS/EC/альтернативы: 15 баллов.
-
Полноценность проекта: работоспособность, удобство, производительность, целостность (внешняя и внутренняя) и прочее: 5 баллов Нетехнические - 5:
-
Красивости и прочее креативное: 5 баллов
- Безосновательное использование библиотек/списывание и т.д. - минус баллы. Пример безосновательного использования библиотек: ничего/почти ничего не реализовано в проекте самостоятельно, все на основе библиотек.