Я просто хочу получить профессиональный совет о том, как начать разработку игры?
Дизайн игры - это спецификация игрового процесса, активов, систем подсчета очков и т. Д., Которые не зависят от программного обеспечения. Таким образом, UML - неподходящий инструмент для этой задачи.
Когда речь заходит о разработке кода для реализации этих систем, UML является хорошим инструментом для решения этой задачи, если ваша команда знает об этом и придерживается более распространенных типов диаграмм. Обычно, пытаясь спроектировать функцию, вы будете знать, нужно ли вам использовать описание или диаграмму. Если вам действительно нужно использовать диаграмму, UML предлагает вам стандартный способ ее рисования, что очень хорошо.
После некоторого кодирования вещи начинают ломаться из-за плохого планирования (когда я добавляю новую функцию, это заставляет меня перекодировать всю программу).
Это, как правило, проблема в способе программирования, а не в том, как вы планируете. Хорошее программное обеспечение обычно легко расширять и использовать повторно. Если вы будете придерживаться хороших методов программирования, эта проблема уменьшится. Но лучшее планирование также поможет, и вам не нужны сложные диаграммы для этого. Просто наличие списка функций будет означать, что когда вы кодируете одну вещь, вы имеете в виду другие функции и можете рассматривать их как код.
Поэтому, какой совет, как мне планировать свою игру? Как я должен поместить это в видимые картины, чтобы я и мои друзья могли просматривать проекты?
Похоже, вы смешиваете 2 задачи: дизайн игры и дизайн кода.
Я предлагаю сначала написать базовый игровой дизайн, указав необходимые вам функции, графику и звуки, которые вам нужны, как выиграть и проиграть игру и т. Д. Посмотрите «проектные документы», если вам нужна помощь.
Оттуда у вас будет представление о функциях, которые вам нужно кодировать. Вы можете посмотреть на каждую функцию по очереди и попытаться подумать о том, как их реализовать. Диаграммы могут помочь показать отношения между различными классами и объектами в вашей игре, но умение знать, какие объекты должны существовать, - это то, что вы должны изучить на практике и / или в дальнейшем чтении.
Кроме того, попробуйте поработать над небольшими, менее амбициозными проектами. Это позволит вам привыкнуть к написанию хорошего, работающего кода без необходимости тщательного планирования или переписывания.