Oyunu bir ürün olarak elde etmek istiyorsanız Unity gibi Unreal Engine gibi bir oyun motoru kullanmanız lazım. Eğer bunları kullanmadan yazacağım diyorsanız sıfırdan oyun motoru yazmanız gerekir :)
Java C#'tan önce oluşturulmuş bir dil. C# Java'ya rakip olarak yazılmış bir dildir. Kısacası...