Считаю, что любой самоучитель даёт больше, чем среднестатистическое учебное заведение. Тем более, что сейчас полным полно бесплатных онлайн-курсов. Смысл идти в учебное заведение есть только в том случае, если вам примерно 16-17 лет и нужно получить высшее образование.
На мой взгляд самый лучший путь, это взять какую-нибудь книгу для подготовки к экзамену от Oracle №1Z0-808, который называется "Java SE 8 Programmer I". Это самый простой экзамен на знание Java 8. Учите Java по этом самоучителю, попутно готовитесь к экзамену и в конце сдаете экзамен. Плюс в том, что ваше обучение не проходит бесследно и в конце вы получаете сертификат от Oracle котирующийся во всем мире.
Node.js - программная библиотека, созданная Раяном Далом, предназначенная для создания серверной части на JavaScript. Однако сравнительно часто используется и для создания клиентских частей web-приложений. Node.js активно поддерживается компанией Google.
И один и другой языки используют ООП, то есть, если хорошо поняли тему "Классы", то проблем возникнуть не должно. Если первым учили C++, то придется немного перестроиться на Java, потому как все в этом языке построено на классах, что очень удобно, но поначалу слегка непривычно. Синтаксис особо отличаться не будет, запомнить достаточно просто, циклы, переменные создаются аналогично. Не думаю, что возникнут какие-то особые трудности. Если поставите цель, то все получится за достаточно короткий промежуток времени.
Вот тут приведен довольно интересный пример решения данной проблемы с асинхронным соединением нс рабочими исходными и ини файлами кодами.
А вот тут еще один вариант где сам процесс создания расписан поэтапно.
Для начала нужно выучить язык программирование если хочешь простенькие игры делать такие как flash то здесь ActionScript интерпретирующий язык очень лёгкий, но я советую выучить компилируемый язык С/С++ так как сам им хорошо владею и создал множество 2D и 3D игр, далее овладеть базовыми алгоритмами(списки, д-массивы, сортировки и т.д.), выучить технологии-библиотеки для прямого доступа к видеопамяти видеоадаптера библиотека от Microsoft DirectX 8,9,10,11 или кроссплатформенную OpenGL, если API OpenGL или COM-интерфейсы Direct3D покажутся очень сложными то лучше использовать какой-нибудь движок для создания игры типа NVIDIA PhysX и т.д.
В создание 2D игр много знаний не надо конечно смотря какую игру делать, всё что нужно дополнительно это геометрию подучить, а лучше аналитическую. А вот игры для 3D уже надо тригонометрию и особенно подтянуть алгебру матриц. На счёт создание 3D моделей это уже работа 3D-дизайнеров которые создают модели в 3D Max, Maya и т.д, далее я подгруживаю эту модель в сцену и много всего.
P.S. Если плохо в математике шаришь лучше не надо пытаться создавать игры, там очень "страшная" математика сразу говорю.