Tengo 5 años sin programar, dónde mayormente lo hacía en C++ y quiero hacer un juego de rol por turnos estilo final fantasy, los personajes por obvias razones se verían como cartas. Mi pregunta esto para esto cuál lenguaje es mejor Java o Python? O algún otro.
Con java vas a tener algo de ventaja ya que al menos sabes escribirlo bien
molaba más antes de editar cuando ponía phytom o algo así
Pues no veo tan obvias esas razones pero vamos, no te recomendaría ninguno de los 2 para hacer un juego xD
Y por que no usas un motor grafico? Estamos en 2020
Unity es C# y Unreal es C++, da igual que sea 2D el juego.
Tengo 5 años sin programar
Lo primero te diría que preguntases en el subforo de desarrollo de videojuegos y lo segundo te diría que primero te pusieses un poco al día con la programación y lo segundo que empezases por proyectos menos ambiciosos. Sé que no es el consejo que quieres y que seguramente hasta te moleste, pero no vas a hacer un rpg por turnos así tal cual después de 5 años sin programar nada. Échale un ojo a algún motor como te comentan.
Es que lo primero que he pensado cuando estaba leyendo juego de rol estilo final fantasy ha sido eso, cartas, qué otra cosa podía ser?
Y porque no sigues con c++? Para recomendarte python o Java, mejor sería c# tendrías un buen abanico de posibilidades en cuanto a lo que tu pregunta se refiere. Por ej; tienes a Unity fácil y con excelente documentación.
Ya luego si dominas C# te pasas a Java debido a sus similitudes, para ya Java lo utilizaría para otros propósitos, claro que puedes crear juegos en java, pero no se a día de hoy tienes otras opciones más óptimas.
#3 No tengo el nivel para crear personajes 3d, y soy buen dibujante prefiero dibujar mis personajes a mano.
#5 Estoy completamente de acuerdo con tu comentario, solo que no quiero dar palos de ciego, es decir no quiero aprender un lenguaje de programación si no es el ideal para lo que quiero. Lo que realmente quiero es que me digan mira este lenguaje es el óptimo para lo que tú quieres y meterme de lleno en ese lenguaje, se que para mí proyecto tengo que aprender un montón de cosas que no se, y que me llevará al menos un año, pero quiero tener la certeza de utilizar un lenguaje de programación óptimo.
#9 páginas Webs sobre todo de ventas, cosas totalmente diferente a lo que quiero, se que tengo mucho que aprender pero el por dónde iniciar es lo que busco
Python antes que Java sea lo que sea xD puedes mirarte la librería PyGame, SDL (PySDL2), SFML (pySFML), OpenGL (PyOpenGL), etc... o como ya te han comentado engines para juegos como Godot que te permiten usar python como lenguaje de scripting.
Si decides irte por Java puedes mirarte libGDX, pone las cosas bastante fáciles y con todo el tema de portarlo a web, movil, etc...
Si quieres un lenguaje optimo, continua con C++ y Vulkan (un camino dificil, lento y muy largo). Si quieres industria metete en un engine tipo UE, Unity, etc... Lo demás es las ganas y el esfuerzo que puedas/quieras dedicar.
SDL2 historicamente ha sido un "must have" para aprender si quieres meterte en el mundo de los videojuegos (soporta OpenGL y Vulkan)
SFML es 100% orientado a objetos y es una delicia programar con este framework (Solo soporta OpenGL, pero para juegos en 2D no supone ninguna desventaja reseñable, al menos de momento)
Pero macho, si ya tienes conocimientos de C++, ni Java, ni Python ni mierdas, sigue con C++, sobre todo para videojuegos.
#16 Por lo que he leído retomaré C++ aún así aprendere Pythom o Java, quiero trabajar como programador, tengo un título de tecnico y quiero ver si este año aprendo lo que este funcionando ahorita para el año que viene trabajar en ello, lo del juego es algo más como ocio.
En tu opinión personal entre Pythom y Java cuál tiene más campo laboral?
En España vas a encontrar mucho más trabajo en Java, pero mucho. Otra cosa es la calidad de ese trabajo...
#19 No se trata de cuál tiene más salida. Python, Java y C++ se usan para cosas diferentes y tienen utilidades diferentes. Yo en tu lugar me informaría de para qué se suele usar cada uno y luego elegiría, pero como dice #17 si ya sabes C++ ponerte a aprender otros lenguajes desde cero es perder el tiempo.
Vienes de C++ que es el mejor lenguaje para juegos.
No vayas a Python o Java porque en temas de videojuegos son bastante peores, lo que si puedes hacer es por ej aprender una herramienta trending que haya como Unity y pasarte a C#, eso si te va a servir.
Si lo que quieres ser un desarrollador puro de videojuegos pues C++ es el camino.
RPV: juegos sencillos y completos con motor (me refiero a hacerlos tu solo, no que solo se puedan hacer juegos sencillos)-> c# Unity, quieres ser developer -> c++
#24 Para lo único que puede servir C++ en juegos sin morirse del puto asco por el camino es Unreal, porque picarte un motor, implementar apis gráicas y su puta madre para algo más que un clon de Super Mario es un suicidio.
#25 Hombre si quieres dedicarte a hacer tus propios juegos/studio yo elegiría algo como Unity. Pero si quiere programar y encontrar un curro de developer en cualquier empresa pues hacer el gilipollas con C++ como hemos hecho todos no viene mal jajajjajaja.
#19 Aprender bien un lenguaje es más que saber su sintaxis. Por ponerte un ejemplo rápido... pocos por aquí sabrán que tipo de dato es 1 en esta linea:
if (1 == 1) { call(); }
y otros pocos de ese grupo sabrán como saberlo usando herramientas como gdb...
Dependiendo de la naturaleza del juego, es un buen proyecto para tocar muchos palos si te propones ir afinando y afinando.... pero, si estás oxidado lo único que vas a conseguir es frustrarte e intentar otra cosa. Proponte metas más asequibles... ¿podrías hacer un pong? ¿y un pong 2.0 con powerups? ¿y con fisicas rompiendo cajas? ¿podrías mejorarlo escribiendo un shader en GLSL?
Si quieres curro como comenta @cabron la diferencia en el numero de ofertas de Java es notoria con respecto a otros lenguajes. Yo personalmente trabajo con Python.