Viabilidad de desarrollar un juego como PFC de DAM

Geekalvaro

¡Buenas!

Estoy cursando 2º de DAM (Desarrollo de aplicaciones multiplataforma) y no paro de dar vueltas sobre que podría hacer para el proyecto final. Estoy sacando el curso con muy buenas notas y me gustaría hacer un buen proyecto, pero no se me ocurre nada original. Seguramente si no encuentro algo nuevo y distinto para hacer me ponga a hacer un videojuego.

Mi duda es cuantas horas podría llevarme desarrollar un juego en libGDX o Unity (no sé C# pero si Java). No quiero meterme en un proyecto demasiado ambicioso que no sea capaz de terminar a tiempo teniendo en cuenta que el proyecto hay que desarrollarlo durante las horas libres que te queden después de las prácticas.

Casi la única experiencia que tengo desarrollando juegos fue el último curso donde teníamos que hacer un juego sencillo de respuestas y preguntas pero a los de mi grupo se nos fue de las manos y acabamos haciendo algo demasiado ambicioso para el tiempo y conocimiento que teníamos sobre todo teniendo en cuenta que había que hacerlo utilizando solo Swing. Hicimos un juego basado en el juego de tablero (tipo Warhammer) del señor de los anillos pero super simplificado. A la hora de la verdad el desarrollo consistió en que los mi de mi grupo me decían que querían en el juego y yo me encargaba de hacerlo realidad. Muchos de ellos después de ese proyecto de Swing siguen sin saber ni que es un JFrame. Alguno ayudó bastante pero básicamente la mayor parte del código (el cual es horrible) es mio. Tuve que dedicarle una burrada de horas todas las tardes, era lo único que hacia, todo para poder terminarlo. Así que después de esa experiencia soy más consciente de que tengo que ser sensato y no irme a por algo demasiado ambicioso.

Proyecto cutre en GitHub: https://github.com/Alvaro-Nieto/TRPG-Clase

Resumen: ¿Es viable desarrollar un videojuego como proyecto final de DAM a la vez que haces las practicas y que el proyecto resulte lo bastante decente para una buena nota sabiendo Java y teniendo poca experiencia (casi ninguna) en el desarrollo de videojuegos?

Ninpo

Es bastante sencillo lo que propones, incluso seguir alguno ya hecho por videotutoriales y adaptarlo a tu gusto. Si puedes encontrar a alguien que te ayude un poco, mejor.

1 respuesta
Geekalvaro

#2 No quiero hacer algo que sea como en algún tutorial, de hecho en una de las asignaturas al final seguiremos un tutorial de Unity. Tengo todo 10 con dos mh y quier una buena nota acorde. La verdad es que no sé muy buen como puntúan estas cosas.

1 respuesta
Hipnos

Ojo como intentes reinventar la rueda, porque dependiendo de dónde empieces y de los recursos que utilices te va a costar más o menos.

¿Conocer por ejemplo SDL? ¿Ncurses? ¿Qué tipo de juego tienes pensado hacer?

1 respuesta
Ninpo

#3 No recuerdo exactamente el porcentaje pero era cosa de 70% te puntúa el profesor que te toque de gestor de proyecto y el otro 30% la exposición del mismo.
Te recomendaba el tutorial si quieres evitar tener que pegarte con un idioma desconocido (ya que no sabes c#) aunque es bastante sencillote.

Si finalmente decides hacer algo que tu tengas en mente te recomiendo una buena fase de planificación y que te estudies algunos patrones de desarrollo para simplificarte las cosas, no te lances a picar código sin apenas conocer las herramientas de las que dispones y a donde quieres llegar.

Aun asi, dependiendo de tu objetivo, ten en cuenta que se te puede ir de las manos y te toque recortar lo que te gustaría que fuera la versión final.

P.D. Y cuenta con que vas a tener que dedicar tiempo a resolver bugs. Mucho tiempo xD

1 respuesta
Geekalvaro

#5 Seguramente use libGDX por eso de que es en Java y además implica más código, que al final y al cabo es de lo que va el curso. ¿Patrones de desarrollo te refieres a los patrones de diseño (Design Patterns)? Estoy leyendo Head First Design Patterns pero tal vez debería leer también cosas más enfocadas a los videojuegos. El otro día empecé a ver un tutorial sobre como hacer un engine básico en Java y me ayudo mucho a entender como funciona el desarrollo de videojuegos en 2D y para familiarizarme con términos comunes y cosas que están por todos lados como en libGDX.

Lo de los bugs ya lo aprendí con el otro juego. Los dos o tres últimos dias me lo pase básicamente resolviendo bugs y aun así lo tuve que entregar con algunos pero nadie lo notó. xD

#4 Tampoco es que quiera revolucionar la industria, pero tampoco quiero coger un tutorial de un runner en unity y hacer uno casi igual cambiando los sprites y poniendo un par de cosas nuevas.

Sobre el tipo de juego que quiero hacer no lo tengo claro. Algo en 2D que no sea muy largo de desarrollar pero entretenido y que le pueda aplicar algo chulo que se pueda valorar para subir la nota. Me refiero a alguna característica tipo generación aleatoria de mapas o una IA sencilla, algo curioso de lo que me pueda empapar y pueda explicar en la presentación.

Ncurses me suena de haberlo visto mencionado y al buscarlo creo que se que es. Pero nunca lo había relacionado con videojuegos. SDL no lo conocía.

2 respuestas
VicoViper

#6 No hace falta que hagas algo con motor gráfico, si lo que van a valorar es tu nivel de programación, podrías perfectamente hacer algo en ASCII, y quedar como un señor.

En la carrera hemos hecho desde un Tetris en C (todo en ASCII), hasta un buscaminas en ensamblador... si quieres hacer un videojuego, no tienes porque ponerte con motores gráficos... dudo que a los profesores les interese demasiado eso...

Dicho esto... si te decides por Unity y has trabajado con java los dos años del ciclo, no te va a dar muchos problemas trabajar con C# a nivel básico... pero insisto en que puedes hacer un buen juego donde metas generación aleatoria, IA y lo que te de la gana, sin usar ningún motor.

Ninpo

#6 Unity con c# es bastante sencillo y no tardas nada en migrar (dependiendo de tu capacidad obv, pero voy a tratarte como una persona con facilidad para el aprendizaje). Las ventajas de Unity es la cantidad enorme de documentación que tienes para hacer cualquier cosa y la facilidad para manejar sprites (entiendo que quieres hacer algo minimamente visible y no un juego full linea de comandos).

Respecto a patrones creo que se tocaban algunos por encima en una asignatura de primero, o quizás estoy mezclando asignaturas con las de la uni, pero básicamente me refiero a que no te hinches a información de x patron orientado a videojuegos si ni siquiera sabes lo que es un singleton. Empieza por las bases de programación y lo otro ya viene solo (si quieres información al respecto puedo pasarte algunas páginas ya que no se si está permitido poner links a otras webs x aquí).

Ten en cuenta que no puedes venirte arriba metiendo cosas ya que dispones de un tiempo limitado para enseñarlo y, como seguramente te lo metan por proyecto de investigación, también tendrás que explicar todo lo que no te hayan enseñado en el ciclo.
Es más importante que tengas 4 cosas que funcionen y se vean bien junto a una buena documentación y que tus profesores puedan decir ¡uy que bonito, aqui tienes mi dies! a que tengas mucho y "mal". Ya tendrás tiempo después de mejorar tu videojuego, ahora centrate en la nota xD

Zuniels

Yo el año pasado tambien en dam2 como pfc hice un juego en unity 3d(lenguaje c#), y quedó bastante guapo, nos pusieron un 9. El juego era un survival de zombies, con jefes incluido, y al final tambien metimos multiplayer, hicimos un simple 1v1. Asi que podias elegir si jugar solo(zombies) o multiplayer (1v1). Fue muy divertido hacerlo y jugarlo xD.
Asi que te animo a hacerlo.
En cuanto al tiempo, 1 mes mas o menos dandole muy duro, y eso que lo hicimos entre 2 y sabiamos bastante de c# pero bueno, eso no es problema, ya que unity tiene una muy buena comunidad y tienes muchisima información en foros, etc.

Usuarios habituales

  • Zuniels
  • Ninpo
  • VicoViper
  • Geekalvaro
  • Hipnos