Dependiendo de lo que quieras, asi como de tus conocimientos y habilidades puedes hacerlo desde cero programando el motor, o puedes usar alguno de los muchos motores que hay actualmente que son libres de bajar: unity, udk/unreal engine 4, gamemaker, rpg maker, gamesalad, etc... hay muchos mas pero no recuerdo mas que estos. Unity y UE4 son los mas profesionales que yo conosco