Crea un juego desde cero

Estoy pensando en crear un juego en 2D simple para comenzar a aprender algo, pero no sé cuál es el mejor idioma para comenzar. Sé que esta puede ser una mala pregunta, pero conozco los conceptos básicos de C # y un poco (conceptos básicos de los conceptos básicos) de Java.

Mi sugerencia es comenzar a usar un motor gráfico como Unity o Unreal Engine , principalmente porque son los más famosos y hay muchos tutoriales y problemas / soluciones ya conocidos. C # se puede usar como un lenguaje de scripting en Unity. UE requiere c ++.