hay varios modos y herramientas, si quieres no complicarte mucho con temas tecnicos lo habitual para gente "floja" y gente que no tiene ni idea es Unity o si eres un poco mas espabilado pues Unreal Engine (otras alternativas son Godot, GameMakerStudio o Roblox)
para todos ellos necesitaras saber un poco de alguno de los lenguajes de programacion que usan aunque sea para configurar cosas basicas en respuesta a algunos eventos que pueden producirse (pulsaciones de teclas etc) Unity utiliza C# (C-Sharp) lo cual es un sucedaneo del C++ habitual, Unreal utiliza C++ pero de su propia cosecha creo.
A mi personalmente me gusta trabajar con Rad Studio C++ Builder / Delphi, un hibrido entre lenguaje C++ y Turbo Pascal (delphi) es muy potente si lo sabes manejar bien pero esta mas orientado a apps de escritorio, de Android etc y no tanto para videojuegos al menos no en la manera que esta planteado Unity o Unreal Engine aunque por supuesto si eres lo suficientemente habil, puedes tambien hacer videojuegos con Rad Studio solo que tendras que currartelo mas "a mano" todo, pero por ejemplo yo estos dias en una sola noche hice en C++ Builder un importador de modelos de Blender (OBJ) en 3D multi-texturas que renderiza en OpenGL y Glew Library el modelo 3D rotandolo, moviendo la camara etc y ni siquiera tarde muchas horas en tenerlo desde 0 que no tenia nada hecho
Pero mucha gente entra directamente a Unity porque como yo digo "lo resuelve todo medio automaticamente" sin que tengas que programar gran cosa, y eso hace que mucha gente sin mucha idea de nada, empiecen por ahi (luego se llevan la ostia claro porque un videojuego funcional y completo es mucho mas que un tutorial de youtube de Unity que explica como crear un terreno procedural de arboles y un modelo que has calzado ahi en 2 segundos que tiene rigging de movimiento y ya creen que el juego esta medio hecho)
y hay miles de personas en ese plan quizas incluso millones, creyendo que podran hacer su idea de juego en 0,2 y como digo, luego viene "la castaña" porque un juego requiere de muchas cosas y saber bastante bien que coño estas haciendo con los escenarios, modelos, gestion de carga de memoria etc porque luego ves cosas tan rimbombantes como "mi juego carga el nivel 1 que he diseñado y me dice "out of RAM memory!!!! y tengo 32 gigas de ram..... necesito ayuda" y tienes que reirte claro, porque dices "ni yo estaba tan perdido cuando aprendia como grabar ficheros secuenciales en discos de 5 1/4" en fin, pero todo eso pasa precisamente por no saber nada de nada D19962024 y por creer o pensar que hacer un videojuego es coser y cantar cuando posiblemente sea una de las cosas mas dificiles que hay de lograr al menos de que funcione bien y fluido y tal, el asunto es algo parecido a como si yo entrase a trabajar en una Central Nuclear y me preguntasen "sabes como va esto no?" y les dijese yo "pues he trabajado reparando Vespinos en el taller de motos, pero esto es algo parecido no?"
Eso sin tener en cuenta que si con 32Gb de RAM aun no tienes bastante memoria RAM , amigo, tienes un problema muy serio entre manos.
En definitiva, aprender, informarte, documentarte, aprender el lenguaje que utilices para ello y de buena manera, no vale solo con conocer como se declara una variable y creer que con eso ya dominas el lenguaje...... y luego, empezar por cosas sencillas aunque sean una pura tonteria mas basica que chupar un caramelo werthers original de esos de tofee..... con cada cosa que hagas iras aprendiendo cosas, solventar errores que vayan surgiendo al compilar o crear el Ejecutable etc luego ir haciendo cosas "un pelin" mas complejas, probandote a ti mismo y tu capacidad de resolver cosas mas liadas y asi, tambien seguir tutoriales de youtube es un buen recurso porque siempre es mas facil ver como va todo y alguien explicandote detalles que no estas en frente del interface y no saber muy bien ni por donde empezar.
Con Internet teneis un gran recurso para obtener informacion al momento de casi cualquier cosa asi que ni tan mal, en los años 90 nosotros no teniamos nada de eso y si desconocias algo o tenias algun problema, no habia muchas opciones de hacer nada salvo descubrirlo por tu cuenta de la manera que fuese, preguntando a tus amigos "hackers" del mundillo, buscando algun libro en la libreria especializada que arrojase algo de luz sobre el tema que buscabas si es que habia alguno claro....todo muy arcaico y muy complicado porque aparte tampoco habia mucho windows de nada, habia windows 3.11 y MS DOS y posiblemente si tuvieseis que usar eso hoy en dia, os entrarian ganas de suicidaros
dicen que la experiencia es la madre de la ciencia y si, apostaria que es asi
Roma tampoco se hizo en un dia, y un fallo habitual que la gente comete, es querer hacer algo "rompedor" asi de primeras en plan marcandote como liston base, juegos triple AAA o juegazos actuales, asi nunca lo lograreis creedme, empezad por algo basico e ir subiendo el liston un poco mas en cada nuevo revamp del codigo, porque si de primeras quereis hacer un juegazo como decian en Stratos "quiero hacer el MMORPG SUPREMO" (jajajaj, chistoso el hilo si) pues seguro que a menos que seais unos autenticos cracks de la programacion, no lo lograreis, es mas ni siquiera os acercareis un poco y ya descubrireis porque...
y sobretodo, paciencia, constancia y saber soportar con valentia y gallardia los constantes vapuleos a la moral de cada uno viendo que las cosas no salen, errores que no sabes muy bien a que son debidos o como solucionar, ante eso, hay que saber soportar muy bien la frustracion y no agobiarse, con el tiempo y la experiencia las cosas mejorarán ya lo vereis.
si os preguntais porque se tanto de estas cosas, pues tengo 52 años y empece ya con un mainframe en 1977, soy casi la primera persona que empezo en esto de la informatica sin contar a mis maestros que ahora mismo creo que ya murieron todos.