Skip to content

minusrep/City-Builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

898 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

City Builder — Коллективная разработка градостроительного симулятора

📌 Описание проекта

City Builder — это комплексный проект, разработанный командой из 5 человек. Игра представляет собой градостроительный симулятор с экономическим уклоном, глубокими системами взаимодействия и управления ресурсами. Проект реализован с нуля и демонстрирует навыки командной разработки, архитектурного проектирования и реализации сложных игровых механик.

🏗️ Архитектура и Технологии

Проект создавался с прицелом на чистоту кода и масштабируемость:

  • Архитектурный паттерн: MVP (Model-View-Presenter). Это позволило четко разделить логику игры, данные и их отображение, что критически важно для командной работы над большим проектом.
  • Платформа: Unity.
  • Язык: C#.

👥 Командная работа

Проект выполнялся командой из 5 человек:

  • Распределение задач.
  • Использование систем контроля версий (Git).
  • Следование единому архитектурному стилю (MVP) для бесшовной интеграции кода разных разработчиков.

Image Sequence_001_0067

🎮 Игровые механики

В проекте реализован широкий спектр геймплейных возможностей, характерных для жанра city-building:

  • Строительство и экономика: Возможность возводить здания различных типов с последующим улучшением.
  • Система позиционирования: Объекты строго размещаются по сетке (grid-система), с возможностью их последующего перемещения.
  • Ресурсы и производство: Реализована экономическая модель: здания производят ресурсы, которые поступают в инвентари и используются для нужд города.
  • Динамический мир: Внедрена система смены дня и ночи, влияющая на геймплей.
  • Симуляция жизни: Жители города обладают набором потребностей, которые необходимо удовлетворять для развития поселения.

Image Sequence_001_0133

🤖 Искусственный интеллект

Поведение NPC (жителей) реализовано через классический паттерн — Машину состояний (State Machine). Каждый житель может находиться в различных состояниях (работа, отдых, поиск ресурсов), что делает их поведение предсказуемым, но вариативным.

🗄️ Система сохранения

Одной из ключевых задач была реализация надежной системы сохранения/загрузки:

  • Формат данных: JSON.
  • Сериализация: Сохраняется абсолютно всё состояние игры — от позиций зданий до текущего состояния конкретного жителя и его машины состояний.
  • Глубокая сериализация: Машина состояний жителей также сериализуется в JSON, что позволяет при загрузке восстановить игру с точностью до текущего действия каждого NPC.

Image Sequence_001_0308

🏆 Система достижений

Для повышения вовлеченности и мотивации игрока в проект добавлена система достижений.

  • Механика: Достижения отслеживают ключевые события игрока: постройку зданий, накопление ресурсов, рост населения и др.
  • Обратная связь: Разблокировка сопровождается уведомлением и отображается в специальном меню.
  • Архитектура: Реализована на базе паттерна Observer, что обеспечивает гибкость и легкую расширяемость списка достижений.

Image Sequence_001_0245


Итог: City Builder — это полноценный прототип, демонстрирующий понимание паттернов проектирования (MVP, State Machine), работы с данными (JSON) и принципов командной разработки в среде Unity.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5