Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





¿Iniciación programación de videojuegos?

Iniciado por afk, 21 de Diciembre de 2009, 04:10:10 PM

« anterior - próximo »

afk

Hola a todos, soy nuevo por aquí y quería preguntarles un poco sobre como iniciarse en la programación de videojuegos.
Imagino que este tipo de temas son muy repetidos en el foro y en general y llevo bastante tiempo buscando información, haciendo pruebas, trasteando con esto, con lo otro, etc. Pero la verdad siempre acabo en no saber que hacer y por eso me decido a preguntarles aquí.

A mi me gusta la programación y me gustaría programar videojuegos y no se exactamente por donde ir, yo hice un grado superior de desarrollo de aplicaciones informáticas y conozco y e programado en los siguientes lenguajes de programación, C# .NET, Java, HTML (y CSS), PHP, pero algo creo que básico, como aplicaciones de consola, de escritorio con interfaz gráfica, trabajando con ficheros, con bases de datos en SQL Express y MySQL, paginas web con HTML, CSS y PHP, también paginas webs en Java JSP, bases de datos en Hibernate, etc. Lo tipico que se aprende en estos ciclos, aplicaciones de gestión y desarrollo web. Y ahora estoy viendo un poco de C++.

Con esto vengo a decir, que bueno, programar, algo se, y ahora lo que quiero es aprender a programar videojuegos (que se que no tiene nada que ver con la programación que yo conozco ahora mismo). A mi lo que mas me interesa son cursos, ya que para mi, aprendo mejor así, pero todo lo encuentro son Master (que requieren titulo universitario) y poco mas, ante esto, siempre e pensado en hacer la carrera de informática, pero ahora con los nuevos planes y demás, hecha un poco para atrás, mas que nada porque ya no tengo 18 años para empezar una carrera tranquilamente.

Entonces, estoy que no se por donde puedo ir, que tipos de cursos hay que sin titulación universitaria se puedan hacer y sean mas o menos buenos, o si en alguna universidad hay alguna carrera especifica en desarrollo de videojuegos que algo e oído pero no encuentro nada.

Por eso, quisiera preguntarles que me recomiendan para empezar en este mundo y poder llegar a hacer algo algún día lejano (o no tan lejano  :.. ), ya sean cursos, centros donde se ofrezcan, algún buen libro, motores gráficos, lenguajes, etc.

Yo tenia pensado ahora empezar a mirarme cosillas en XNA, pero tampoco se por donde empezar.

Y después del tochito, agradecer sus respuestas y espero puedan orientarme.

Saludos.

Sergen

Te voy a contestar que programar videojuegos no es tan distinto, aunque está del otro lado, en este caso normalmente te encaminas más hacia la programación en tiempo real, aunque depende del videojuego y del estilo. Mi recomendación es que mires qué es lo que quieres hacer, yo me centraría en una plataforma y en un género o estilo de juego y luego me introduciría en el tema, luego cambiar de plataforma te va a resultar más sencillo aunque cada sitio tiene sus trucos de optimización principalmente. Y tendría en cuenta que hay cosas que no son asumibles por una sóla persona  >:D.

kraj0t

Buenas afk y bienvenido, aquí estamos o hemos estado todos igual que tú :-)

Mi recomendación es simple: olvídate de programar. Aunque sepas programar de lujo, olvídate por un tiempo. Dedícate unos meses a estudiar cómo se hacen los juegos de manera global. Descárgate motores y herramientas, utilízalas, mira tutoriales. Haz algunos juegos o prototipos. Prueba a crear unos cuantos modelos 3d y animarlos. Busca algun tutorial para hacer texturas, photoshop... Siempre que veas algo de código, huye. En resumen, empápate de todo lo que no sea programar.

Prueba estas aplicaciones: GameMaker, Flash, Unity, 3D studio max, Blender, Unreal Development Kit, etc. Buscando por internet encontrarás muchas mas aplicaciones que te resultarán super curiosas.

Esto te va a permitir entender qué es lo que necesitas programar y cómo hacerlo. Si no, vas a estar dando palos al aire una buena temporadita, créeme. Una vez que sepas qué es lo que necesitan los diseñadores y artistas para crear un juego, estarás en la perspectiva correcta para empezar a diseñar el código de un juego. Sentirás que tienes más confianza.

No sé si te habrá servido de algo. Lo que sí sé es que a mí me habría servido de mucho haber hecho esto desde el primer día  ^_^'
Muerte y destrucción a tú
¿A yo?
¡A tú!

Sergen

kraj0t no comparto tu opinión, porque no verá ningún tipo de resultado hasta después de años y no creo que eso le vaya a motivar para seguir en el tema. Intentar abarcar demasiado puede ser un problema, vale más empezar haciendo cosas pequeñas e ir poco a poco abarcando más y más. Una visión global le puede venir bien, pero desde un principio debería de ir viendo resultados y como se hacen las cosas porque sino sabrá lo mismo que cualquier chaval que se dedique a jugar con juegos y no tenga ni idea de programación, ni de nada más. Además un programador no tiene porqué hacer ningún gráfico ni ningún modelo 3D. Una cosa es un grafista y otra cosa es un programador y otra cosa es un guionista y otra cosa un director y otra cosa un músico, aunque siempre puedes encontrarte con el hombre orquesta que toca todos los instrumentos, aunque hoy en día es algo rarito, rarito.

IDandT

Aparte de todo lo que te han dicho, en cuanto al tema programación, ya que comentas que has programado en C#, sería una buena idea que te miraras el XNA Game Studio 3.1.

Basicamente es un framework orientado a la programación de videojuegos, que facilita la gestión de graficos 2D y 3D, audio, teclado, gamepad etc. y ademas permite compilar para plataforma Windows y Xbox 360.

Se puede descargar gratis, tanto el XNA como el VC#2008 express desde la web de microsoft.

http://creators.xna.com/es-ES/downloads

Salu2

[EX3]

Cita de: IDandT en 22 de Diciembre de 2009, 02:22:48 PM
Aparte de todo lo que te han dicho, en cuanto al tema programación, ya que comentas que has programado en C#, sería una buena idea que te miraras el XNA Game Studio 3.1.
Haciendo termino medio entre la programacion y el desarrollo de mecanicas sin tener que morir en el intento, Unity3D es otra opcion muy a tener en cuenta ya que te da todo un motor preparado para meterle mano sin tener que llegar a programar, en plan sandbox, y que para la logica y scripts utiliza C#:

www.unity3d.com

Diria que para empezar es una buena opcion, tan buena como empezar con proyectos pequeños enteramente programados desde cero con cualquier API como DirectX, OpenGL o SDL :)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

afk

Hola, gracias por sus consejos.

Lo que yo quiero hacer es programar, aprender la parte de programación de un videojuego. La parte de diseño gráfico y demás no quiero entrar (tampoco se me da bien), hace un tiempo estuve aprendiendo un poco de 3D Studio Max, pero solo llegue a modelar personajes y objetos pero no llegue a animar, pero este no es el campo en el que me gustaría aprender a mi.
Hace bastante tiempo, también tuve mi época de RPG Maker, pero claro esto lo veo yo un poco mas light y tampoco quiero empezar haciendo RPGs.
Quiero empezar haciendo tonterías y pruebas, hacer el típico clon del pong, tetris y cosillas en 2D para ir aprendiendo las bases de programación de videojuegos, pero no meterme en el campo del diseño grafico, que esta claro que es necesario, pero para ir aprendiendo en la red hay muchos recursos gráficos gratuitos para poder ir haciendo pruebas y demas.

XNA llevo tiempo mirando cosas y tal, pero nunca me e puesto a ello, por lo confuso que acababa siempre, quiero decir, si, hay muchos tuoriales y bastante documentación en la red, pero en muchos casos tienes hay el código para, por ejemplo, animar un sprite 2d, pero lo ves ahí te lo tragas y ya esta, pero luego no entiendo el porque X cosa es así.
De todas formas intentare una vez mas coger XNA y ver si soy capaz de avanzar.

Claro que, otra cosa que tengo metida en la cabeza de siempre, es que seria mejor aprender a programar juegos en C++, con motores como Ogre3D, que me convendría mucho mas que en C# o Java a la larga. Seguramente este equivocado, pero esta idea la e tenido siempre.

A mi lo que me convendría mas es algún tipo de curso o carrera o algo al estilo, pero no se lo que hay  (que digo yo que habrá algo), en España o fuera de España que no se requieran títulos universitarios como los masters que hay por aquí.
O en su defecto algún buen libro para aprender las bases de la programación de videojuegos.

En la red hay miles de tutoriales y recursos para no necesitar cosas así, pero claro son todo para cosas muy concretas, pero luego para seguir no consigo encontrar como avanzar y esa es la orientación que necesito.

No se si me explico, (creo que no, porque ni yo me entero de por donde empezar, seguir, o continuar :-[ )

También le voy a echar un ojo a Unity3D que parece tener buena pinta.

Un saludo.

[EX3]

Cita de: afk en 22 de Diciembre de 2009, 06:49:53 PM
Quiero empezar haciendo tonterías y pruebas, hacer el típico clon del pong, tetris y cosillas en 2D para ir aprendiendo las bases de programación de videojuegos
Bueno, eso ya para empezar es un buen comienzo, tener claro que de primeras no vas a meterte hacer un AAA es importante :D

Cita de: afk en 22 de Diciembre de 2009, 06:49:53 PM
XNA llevo tiempo mirando cosas y tal, pero nunca me e puesto a ello, por lo confuso que acababa siempre, quiero decir, si, hay muchos tuoriales y bastante documentación en la red, pero en muchos casos tienes hay el código para, por ejemplo, animar un sprite 2d, pero lo ves ahí te lo tragas y ya esta, pero luego no entiendo el porque X cosa es así.
De todas formas intentare una vez mas coger XNA y ver si soy capaz de avanzar.
Tomatelo con calma. Hay cantidad de tutoriales, cada cual mas sencillo o mas explicado, donde no solo te ilustran con codigo si que te explican las mecanicas o el algorritmo utilizada para x tarea. Estudiandolos un poco y experimentando por tu cuenta con el tiempo veras las cosas mas claras.

Cita de: afk en 22 de Diciembre de 2009, 06:49:53 PM
A mi lo que me convendría mas es algún tipo de curso o carrera o algo al estilo, pero no se lo que hay  (que digo yo que habrá algo), en España o fuera de España que no se requieran títulos universitarios como los masters que hay por aquí.
O en su defecto algún buen libro para aprender las bases de la programación de videojuegos.
Yo diria que Internet es la escuela perfecta, solo se requiere tener una conexion, tiempo y ganas de aprender ;)

Cita de: afk en 22 de Diciembre de 2009, 06:49:53 PM
En la red hay miles de tutoriales y recursos para no necesitar cosas así, pero claro son todo para cosas muy concretas, pero luego para seguir no consigo encontrar como avanzar y esa es la orientación que necesito.
Tienes que tener en cuenta que no existe una formula concreta para aprender hacer juegos, igual en otras ramas de la programacion, si no que aprendes a realizar ciertas tareas o mecanicas que luego puedes juntar y mezclar de mil y una maneras para desarrollar tu juego. Creeme, es mejor aprender por partes como animar un sprite, el como implementar fisica basica o el saber como usar la busqueda de caminos con A* que coger un tutorial precocinado que te explique como hacer un matamarcianos desde 0. Si no conoces conceptos basicos de poco te sirve. Como te decia, la experimentacion es una disciplina imprescindible para estas cosas :)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

kraj0t

Cita de: Sergen en 22 de Diciembre de 2009, 01:16:29 PM
kraj0t no comparto tu opinión, porque no verá ningún tipo de resultado hasta después de años y no creo que eso le vaya a motivar para seguir en el tema. Intentar abarcar demasiado puede ser un problema, vale más empezar haciendo cosas pequeñas e ir poco a poco abarcando más y más. Una visión global le puede venir bien, pero desde un principio debería de ir viendo resultados y como se hacen las cosas porque sino sabrá lo mismo que cualquier chaval que se dedique a jugar con juegos y no tenga ni idea de programación, ni de nada más. Además un programador no tiene porqué hacer ningún gráfico ni ningún modelo 3D. Una cosa es un grafista y otra cosa es un programador y otra cosa es un guionista y otra cosa un director y otra cosa un músico

En el máster que conozco, el de la Pompeu, dedican 3 meses a todo lo que no es programación: 3ds, diseño, produccion, marketing, etc. Los programadores entran en el curso con ganas de empezar a mancharse las manos de código, y eso no es bueno. Un programador sin objetivo no sirve de nada. Pongo el ejemplo del master de la Pompeu porque es el que conozco, y porque los resultados están a la vista de todos.

Lo que quería decir es que antes de hacer un análisis técnico de tu juego necesitas saber qué será necesario para hacerlo, pero no ya a nivel de código, sino a nivel de diseñador y artista. No estoy diciendo que se lleve años sin ver resultados, cualquiera puede hacer un jueguito en Unity en unas semanas o días. Estoy diciendo que no reinventes la rueda; ya hay mucho camino andado en esto de los motores de videojuegos y herramientas y tal. No te vayas a liar ahora con OpenGL o a definir un importador de modelos de 3Ds cuando eso ya está hecho y rehecho. Si vas a programar algo, antes entérate de cómo está hecho en otros programas y copia lo que te interese.

Cita de: Sergen en 22 de Diciembre de 2009, 01:16:29 PM
aunque siempre puedes encontrarte con el hombre orquesta que toca todos los instrumentos, aunque hoy en día es algo rarito, rarito.

Cada vez salen más y mejores juegos indie donde unas pocas personas se las tienen que apañar para el desarrollo completo. Por no hablar de los juegos flash, que pueden hacerlos una o dos personas. Además, nadie empieza siendo programador 100%, eso sólo ocurre cuando una de las gordas (Ubisoft, Pyro...) te pilla para ser programador de una especialidad concreta en un desarrollo de decenas o cientos de personas. Aun así, todos necesitamos tener una visión de conjunto. El programador no trabaja solo, trabaja para los demás, de ahí que sea necesario tener esa visión de conjunto.

Pero vamos, que todo esto es personal, y todos los consejos son buenos  ::) Como dice EX3 no hay una fórmula concreta para aprender  :-[
Muerte y destrucción a tú
¿A yo?
¡A tú!

Sergen

Partiendo del principio de que yo soy contrario a los masters boloñeses y que considero que son un negocio montado por cuatro peseteros que no aporta nada a los alumnos, vamos, que no sirven para nada, más que para hacer caja. Yo no creo que en España haya cabida para tanto master en videojuegos como se quiere montar. Y partiendo también de que considero que para trabajar en videojuegos no hace falta ningún tipo de titulación universitaria, ni ningún tipo de master en videojuegos.

Pues como comentas todo es bastante subjetivo porque existen infinidad de enfoques y en cada caso podemos encontrar que unas cosas sean más válidas y otras menos. Para empezar no es lo mismo querer trabajar en una compañía que querer trabajar como desarrollador independiente.



afk

Bueno, pues ¿entonces me recomiendan algunos tutoriales o pdf para empezar?
Estoy buscando sobre XNA y leo bastante de una web Ziggyware que parece buena fuente de XNA pero no funciona.

También me gustaría preguntarles para C++, con que seria ideal empezar, ¿SDL? O alguna otra cosa. Y donde conseguir información y tutoriales para empezar.

Un saludo.

Vicente

Ziggy está muerta :( Lo mejor es que mires XNACommunity (http://xnacommunity.codeplex.com/ en español) o el Creators Club (http://creators.xna.com).

Un saludo!

Vicente

[EX3]

Cita de: Vicente en 24 de Diciembre de 2009, 10:51:08 PM
Ziggy está muerta :(
Ziggyware? Pues menuda putada. Cuando estuve en su momento trasteando con XNA esa pagina me resulto cojonda y de hecho tenia guardadas cantidad de marcadores a articulos y tutoriales suyos. Menuda perdida :(

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.