Это руководство/документация для разработки игры в качестве индивидуального проекта. Это не туториал с тысячей пунктов, следуя которым вы получите готовый продукт. Это скорее материал для размышлений, который поможет направить вас в нужное русло, будь то выбор жанра, алгоритма, составление технического задания и т.д. Документ ставит вопросы, предлагает базовые варианты решений, подсказывает, где искать дополнительную информацию: темы, алгоритмы, паттерны, книги.
На данный момент документ находится в версии 0.1. Он содержит основные сведения, необходимые на данном этапе разработки игры. Различные разделы будут пересмотрены и дополнены, будут добавлены новые. Все предложения и замечания можно отправить через Telegram/Teams.
Куски кода предназначены для демонстрации конкретной идеи, а не использования в продакшене.
Для первокурсников ИРИТ-РТФ, изучающих "Основы программирования": Python ("Алгоритмы ИИ") и C# (Программная инженерия, ПИ и т.д.), у которых я веду занятия. Эта памятка подойдет и другим, но какие-то вещи упоминаются как что-то разумеющееся, поскольку объяснялось на парах, какие-то вещи упрощены, т.к. акцент смещен на что-то другое. Как те же графы. По всем вопросам, как и всегда, можно обращаться в дискорд или задавать их на занятиях.
Вы развиваете навыки разработки проекта с нуля. Практические задания на курсе требовали написания лишь нескольких методов. Проектный практикум предполагает работу в команде, где каждый член команды поддерживает друг друга. В данном случае вы сами выбираете, что и как делать, и разрабатываете проект с нуля, сталкиваясь с последствиями своих решений. В итоге это ваше портфолио, которое можно будет предъявить на отборах на стажировки. Акцент делается на программировании: анализе проблем, поиске и сравнении решений, проектировании игры и ее эффективной реализации в коде, а не просто на написании кода.
От вас не требуется создать гениальную игру, которая была бы разработана на коленке за пару месяцев и принесла бы миллиарды или была бы убийцей Ведьмака/Доты/прочих. Также не требуется абсолютная оригинальность. Под оригинальностью игры здесь подразумевается уникальное сочетание механик, которые могли быть использованы в других играх. Прямое копирование Hotline Miami — не лучший вариант. Перенос Hotline Miami в средневековье — чуть лучше, но все равно не идеально. Комбинация механик из Hotline Miami и The Binding of Isaac с переработкой и переосмыслением — вот что действительно может считаться отличным решением.