Тем более посмотреть сотни тысяч строк на порядок быстрее, чем их написать и отлаживать.
Но если нужно добавить всего пару строк в код возможно приедется посмотреть те же сотни тысяч строк, а это уже не выглядит как правильное использование своих ресурсов, если учесть что мы выбрали готовый движок для удобства.
думаю призыв юзать готовый движок не совсем верен, мы же не знаем деталей проекта. человек делает крестики нолики и выбрал CryEngine чтобы "умерить убийство своего здоровья об голый год", не думаю что это будет верное решение. Это сильно утрировано, но суть в выборе инструментов от требований проекта, а не потому что модно.
И зачем обязательно сделать ~20 игр?
архитектура уже от пользователей не зависит, так что ооп там или спагетти, разбираться придется и заплатить некоторую ментальную цену, в зависимости от читаемости кода, документации и т.п. поэтому нет такого плюса как открытый исходный код для большинства разработчиков, одна половина из которых просто побоится полезть в код и возложить на себя бремя по поддержке патча (тем более если его не возьмет на себя команда движка, чтоб взяли нужно не просто нахачить а действительно разобраться в коде), а другая половина попросту не сможет осилить код ( всеже одна из причин использования сторонних движков это делегирование поддержки кода во вне и если движок не отвечает всем требованиям, то стоит серьезно задуматься надо ли его брать
свой код изучать не надо и править его легче, т.к. поддержка уже на тебе. у него неожиданно не изменятся условия лицензирования, его не закроют, устаревшее апи будет появляться только в соответсвии с твоим роудмапом и прочее. Понятно что писать свой движок уровня Unity, UE и т.п. не нужно даже пробовать, если ваша цель не сам движок, а игра.
про 20 игр я не понял отсылки сперва, думал почему такая фиксация на количестве, а не на том что хотелось бы сделать. думаю главное сформировать умение доводить проекты до релиза, иначе можно не выпустить ничего, даже на готовых движках.