Разработка игры на C# (Mini RPG) Часть 1 из 5. Начало

В цикле статей "Разработка игры на C# (Mini RPG) мы реализуем полноценную пошаговую игру на C#. Вся логика будет написана на C#, а в качестве интерфейса будем использовать консоль. Для начала составим план разработки.

План

  1. Определение логики (бизнес логика)
  2. Проектирование архитектуры
  3. Реализация игры
  4. Написание тестов

По хорошему пункты 4 и 3 нужно поменять, но т. к. мы захотим (а мы захотим) менять требования решено делать в таком порядке.

Для начала подумаем, что мы хотим получить от этой игры. Определимся с тем, что это будет пошаговая Role Playing Game. Большинство современных игр RPG предоставляют своим пользователям различные классы персонажей, деревья умений и др. Мы начнем с одного класса персонажа. NPC вводить не будем (это не влияет на общую архитектуру игры и упростит разработку). Также не будем реализовывать игровой мир, но в разработанной системе это сделать будет не сложно. А в качестве бонуса реализуем бота! Бот должен будет подсказывать игроку, какой ход он думает оптимальный. Опишем некоторые правила и информацию об игре.

Игрок

  1. Здоровье
  2. Максимальное здоровье
  3. Сила
  4. Монеты
  5. Предметы

Возможные действия

  1. Сразиться с монстром
  2. Покупка оружия
  3. Покупка брони
  4. Лечение

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

архитектура сборок игры C#

 

Разделим логику на: представление и движок. Сборка для конфигурации игры вынесена отдельно. В следующей части мы рассмотрим разработку сборки GameConfig, как единственной сборки без зависимостей (да и одну из первых сборок в игре). В ней находятся модели настроек игры и некоторые адаптеры.

Небольшой спойлер, как будет выглядеть игра в конце:

скриншот игры mini rpg C#

Если у вас после прочтения и изучения исходного кода появились вопросы или комментарии буду очень признателен.

Разработка игры на C# (Mini RPG)

Скачать исходный код игры oxozle.minirpg.zip 46 Кб.

Комментарии

comments powered by Disqus