Foros - Stratos

Stratos => Principiantes => Mensaje iniciado por: CDigital en 10 de Noviembre de 2013, 08:27:31 PM

Título: Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 10 de Noviembre de 2013, 08:27:31 PM
Para empezar, quiero saludar a todos los que lean este post.

Soy un chaval de 17 años, que en un futuro quiere desarrollar y programar videojuegos. Y he pensado que cuanto antes, mejor, tengo tiempo libre y ganas de aprender. Pero no sé por donde empezar.

Por eso he venido aquí, con la esperanza de que gente experimentada pueda decirme que debería hacer para empezar: Que lenguaje de programación estudiar, donde conseguir recursos para aprender... y todo lo que me pueda servir de base para empezar.

Por otro lado he estado mirando donde estudiar profesionalmente esto, y en especial me he fijado en la ESAT (Escuela superior de artes y tecnología). ¿Alguien puede darme su opinión sobre el lugar? Todo esto lo estoy preguntando de cara a un futuro.

Agradecería cualquier ayuda que se me pueda dar. Saludos a todos.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Darago_malaga en 10 de Noviembre de 2013, 11:28:34 PM
Sabes algo de programacion??? Los fundamentos del sentecias IF bucles FOR y cosas parecidas?? Tienes un PC o un Mac???
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Sr_Rodilla en 11 de Noviembre de 2013, 01:03:09 AM
Mi opinión sobre tus estudios, es que no pases por una universidad privada, cuando ya existen estudios públicos sobre videojuegos, los cuales son "gratuitos" si te dan beca, y suelen tener mejor calidad y consideración.

Respecto a que aprender, depende. Si lo que quieres es aprender a programar, el lenguaje es lo de menos, programar es programar, luego cada lenguaje tiene cuatro diferencias de sintaxis, porque normalmente los más populares son muy parecidos, y sus librerías de funciones, donde unos tendrán unas cosas, y otros lenguajes tendrán otras.

Así que te recomiendo que no te preocupes tanto por el lenguaje como por aprendes a programar en si, si quieres empezar por uno, yo te recomendaría C, ya que tienes mucha documentación, y se suele tomar muchas veces como lenguaje base. Luego más adelante puedes pasar a C++ y/o Java, pero no te los recomiendo al principio porque son orientados a objetos, y te pueden costar un poco de entender si no sabes nada de programación.

También te recomiendo, que si lo que quieres es ponerte a hacer videojuegos ya, que uses un maker, como game-maker, rpg-maker...    ya que de la otra forma vas a tardar muuuuuuucho tiempo en aprender ha hacer cosas, que en un maker es mucho más sencillo, pero claro, si te quieres dedicar a esto profesionalmente necesitaras lo otro si o si. Aunque siempre puedes combinar una carrera donde te enseñen a programar, como informática o multimedia, con aprender por tu cuenta a hacer juegos con game-maker.

Un saludo.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 11 de Noviembre de 2013, 11:29:45 AM
Cita de: Darago_malaga en 10 de Noviembre de 2013, 11:28:34 PM
Sabes algo de programacion??? Los fundamentos del sentecias IF bucles FOR y cosas parecidas?? Tienes un PC o un Mac???

Supongo que tengo los fundamentos de c++ de uno de mis intentos de aprender a programar. Tengo un PC.

gracias a los consejos. probaré a ver si consigo aprender c++, y si me es muy complicada la orientación a objetos probaré con c. Me he instalado el gamemaker, a ver que soy capaz de hacer. ¿Me podéis recomendar una página con recursos gratuitos para mis juegos?

Saludos.

Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Darago_malaga en 11 de Noviembre de 2013, 01:32:13 PM
Pues te recomiendo que empieces con algo basico como la programacion de videojuegos en 2d.  Y ya que tienes nociones de c puedes meterte con Sdl. Es una libreria que te facilitara mucho el trabajo. En internet hay multitud de tutoriales. Con solo poner TUTORIAL BASICO SDL en google te salen y pico. Por ejemplo:
http://www.muylinux.com/2010/08/16/programacion-de-videojuegos-con-sdl-parte-i-introduccion
Este esta orientado a linux pero es igual que para windows.

Para los recursos. Te refieres a musica, sonidos y graficos???

Para musica puedes meterte en : http://www.jamendo.com

Para sonidos: http://www.soundsnap.com Que tiene un truquito que si metes la url de la pajina en la que estas en el jdownloader se bajan los sonidos en mp3. Pero eso no lo he dicho yo.

Y para graficos: una buena busqueda en google soluciona mucho " man walking sprite" "background tiles" y expresiones parecidas. En http://spritedatabase.net hay kilos y kilos de graficos.

Con los makes vas a obtener muy buenos resultados en muy poco tiempo. GameMaker es la caña y aqui hay autenticos masters del universo usandolo. Pero no deja de ser una aplicacion que te permite hacer solo lo que un tercero te deje. Y puede que te corte caminos en ocasiones.

Otro consejo es que muestres tus trabajos. Enseñaselos al mundo. Aunque parezca una tonteria, esto te dara animos para superarte. El ser humano es asi. Si alguien te dice que lo que haces tiene buena pinta te pone las pilas y haces que lo cojas con mas ganas. Y si tienes fallos las criticas te serviran para superarte y mejorar.

Tambien puedes escuchar un podcast sobre creacion de videojuegos que va a salir en breve. Codigo Podcast creo que se llama.  :D
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 11 de Noviembre de 2013, 03:53:58 PM
Buenas de nuevo.

Una pequeña duda sobre el tema de los sprites... ¿Cómo hago para seleccionar ciertas partes de la imagen completa? Realmente no sé muy bien como hacerlo, ya de que la imagen solida solo necesito 5 o 6 y no se como seleccionarlas. Se que hay una opción llamada "Add form strip..." en el game maker, pero no soy capaz de alinearlo todo de forma decente. Siempre queda un movimiento extraño en el sprite (imaginemos que estoy intentando obtener un sprite de 5 imágenes de alguien descansando en el sitio. Cuando acabo de seleccionar con la herramienta, el sprite tiene un movimiento lateral de unos 2 pixels, pero si reduzco el tamaño se pierden partes de la imagen del sprite) y no se como solucionarlo.

Por otro lado, quería preguntar que tal sería como idea para el aprendizaje obtener codigos fuente de un juego, cada vez mas complejos, y estudiar su base, que hace cada cosa y probar a modificar el codigo para obtener distintos resultados. Si esto fuera viable, ¿De dónde podría obtener códigos libres para hacerlo?

Saludos.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: KeTo en 13 de Noviembre de 2013, 04:41:22 PM
Buenas, yo no soy muy pro en estos temas pero te intento ayudar con lo poco que sé.

En cuanto a los sprites depende del lenguaje y las herramientas que estés usando pero mi recomendación es que busques las respuestas en la documentación de las herramientas que estés usando, probablemente venga todo más y mejor explicado que lo que podamos responderte aquí (en tu caso gamemaker parece ser ésta la página: http://docs.yoyogames.com/ )

Y en cuanto a los ejemplos, siempre vienen bien, pero como ya dije, vendrá todo en la documentación.

Y como recomendación personal te digo que pienses en cosas (al principio muy sencillas y más tarde más complicadas) que meter y las intentes programar: movimientos, control de teclado, control de ratón, incluso pausa, aunque esto más bien dependerá del lenguaje que uses, puede que hasta te lo de hecho el game maker.

Yo tengo una duda Darago_malaga, ¿se puede usar toda la música de jamendo?, ¿hay que pedir permiso al artista?.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Sr_Rodilla en 13 de Noviembre de 2013, 07:43:56 PM
Cita de: KeTo en 13 de Noviembre de 2013, 04:41:22 PM
Yo tengo una duda Darago_malaga, ¿se puede usar toda la música de jamendo?, ¿hay que pedir permiso al artista?.

Si, se puede, y no hace falta avisar, solo tienes que nombrar al artista en los créditos y que tu obra sea de tipo creative comons (aunque eso depende del tipo de licencia CC que haya puesto el artista).

Pero eso solo en caso de que el videojuego sea gratuito, si quieres lucrarte con el, tienes comprar las canciones en jamendo pro:

https://pro.jamendo.com/es/product/licensing/prices

que para los videojuegos sencillos tienen un precio de 99€ (antes valían menos  :-[ )
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: KeTo en 13 de Noviembre de 2013, 08:34:05 PM
Vaya palo... en principio no creo que cobre por nada, pero si algún día empiezo a sacar cosillas para android sí me gustaría cobrar algo. Bueno, ya veremos cuando llegue el día.

Edit: ¿qué soléis hacer vosotros en cuanto a música?.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Darago_malaga en 13 de Noviembre de 2013, 08:37:33 PM
Respondido.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 17 de Noviembre de 2013, 06:00:29 PM
Muchas gracias por toda la ayuda que me habeis dado. Ya estoy chapuceando un poco con SDL y el Game Maker. Solo dos cosas.

-En visión del futuro, ¿Qué debería hacer cuando domine SDL y se me de bien el Game Maker? ¿Qué sería lo siguiente que debería estudiar?

-¿Me puedes dar mas información sobre el podcast que mencionates? No encontré nada sobre el...

Saludos y muchas gracias a todos.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Darago_malaga en 17 de Noviembre de 2013, 06:41:26 PM
Cuando tengas dominado el tema de la programación de videojuegos (que no es lo mismo que el saber programar) tienes que plantearte qué quieres hacer. ¿Que tipo de juegos? ¿Que tipo de plataformas?¿Y que modelo de negocio?
No es lo mismo que hagas juegos de plataformas 2D para PC, que hagas un FPS para XBOX One o que hagas un Imagina ser mama para Android.
Una vez tengas definido el proyecto a realizar buscaras las herramientas y el equipo que necesitas.

Si quieres hacer Juegos 3d tendrás que aprender Unity, UDK o el motor gráfico que este de moda en ese momento. Y dentro de los juegos 3d un motor es mejor que otro según para que cosas. Si no dispones de un equipo de gente puedes que te interese la programación 2d en plataformas móviles. Aprender Cocos2d-X puede serte útil. Unity también da soporte para juegos 2d.

Sinceramente si tuviera que aprender ahora, yo me plantearía seriamente aprender Unity tanto 3D como 2D, no por su potencia si no por su versatilidad, tanto en variedad de tipos de proyectos como en plataformas.



En cuanto al podcast. "Código Podcast" es un podcast sobre programación de videojuegos que estamos realizando Gallo y yo. Estamos terminando la edición del primer episodio y saldrá hoy o todo lo mas mañana (depende también del tiempo de aprobación de las stores) . Publicaremos un post en Stratos anunciando su publicación.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 17 de Noviembre de 2013, 09:40:42 PM
Me va a quedar un largo camino para aprender todo esto, pero espero conseguirlo de aquí a unos años... Estaré atento a tu podcast y veré todo lo que puedo hacer. Gracias por todos los consejos (y por responder a todas mis preguntas).

Hay una parte que me ha dejado dudas de tu último mensaje.

CitarCuando tengas dominado el tema de la programación de videojuegos (que no es lo mismo que el saber programar)

Entiendo lo que quieres decir aquí, pero mi duda es... ¿Cuándo sabré por mi mismo que lo he dominado? Obviamente, dudo que haya una separación marcada de una cosa a la otra, pero me gustaría que me dijeras algún tipo de pautas para saber si voy por buen camino, si no estoy pidiendo demasiado.

Y dicho esto, muchas gracias (de nuevo) por la ayuda que se me ha dado.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Darago_malaga en 18 de Noviembre de 2013, 01:27:45 AM
Basicamente nunca se termina de aprender. Sabras que vas por buen camino si al plantearte cualquier tipo de juego, al menos, tienes una idea de como lo podrias programar. Por eso es tan importante estudiar como practicar y sobre todo jugar. Tienes que jugar mucho.


Gracias a ti.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 18 de Noviembre de 2013, 12:26:34 PM
Lo he pensado bastante, y me llama muchisimo mas el 2d que el 3d. Siempre he intentado tener conocimientos de videojuegos anteriores a los que pude jugar. Como nací "mas o menos" en las nuevas generaciones, nunca pude probar una NES, o juegos de ese estilo. Siempre he jugado todo lo que he podido en emuladores, y creo que el 2D tiene un encanto que el 3D dificilmente puede conseguir.

A si que, probablemente desarrolle juegos en 2d. Por lo cual, dudo que el unity 3d me sirva de mucho (No digo que sea inutil, pero al estar centrado en el 3d, supongo que hay mejores alternativas para centrarse en el 2d...)

Saludos.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: [EX3] en 18 de Noviembre de 2013, 12:41:31 PM
Cita de: CDigital en 18 de Noviembre de 2013, 12:26:34 PM
A si que, probablemente desarrolle juegos en 2d. Por lo cual, dudo que el unity 3d me sirva de mucho (No digo que sea inutil, pero al estar centrado en el 3d, supongo que hay mejores alternativas para centrarse en el 2d...)
Si y no. Unity3D acaba de estrenar su esperado sistema para trabajar en 2D nativamente (al cual estoy buscando tiempo libre para echarle un ojo), pero igualmente tienes varias soluciones para dicha tarea como 2D Toolkit (aunque de pago, es de lo mejor y estaba recientemente en descuento estos días). Yo personalmente soy de los que sigue prefiriendo pelearse con las 2D directamente en código (con XNA por ejemplo), pero desde luego no recomiendo descartar Unity3D como plataforma para desarrollar en 2D y más con todo lo que trae tras de si el motor en general (no solo hablo de gráficos) e inclusive el contar ya con un diseñador de escenas visual integrado que te ahorrara mucho trabajo en cuanto a la edición y diseño de contenidos para el juego.

De todas formas, si puedes empezar antes con SDL, XNA o similares mejor. Unity3D o Game Maker están bien, desde mi punto de vista, cuando ya tienes experiencia en tecnologías a más bajo nivel y sin entornos con herramientas integradas. Siempre es bueno pelearse a pelo y conocer las tripas de como esta hecho un juego básicamente antes de saltar a herramientas mayores.

Salu2...

P.D.: Ojo, esto desde el punto de vista de la programación. Si no te vas a enfocar al perfil de programador quizás te sea mejor saltar a herramientas más enfocadas a desarrollo de juegos en general como los son Game Maker o Unity3D, más que nada por que te sera más fácil manejarte con un lenguaje de script y herramientas concretas que tener que aprender lenguajes como C++ y tener que hacerte tus propios motores y editores.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 18 de Noviembre de 2013, 12:56:21 PM
Bueno, he investigado sobre XNA, y parece que solo se puede usar en C#. Al parecer es mucho mas recomendado, pero no se nada de C# por que empezé directamente con C++, a si que ahora tengo dudas respecto a esta parte...

Creo que por si acaso haré un resumen de lo que he entendido.

Empiezo con SDL y investigo un poco lo que puedo hacer con gamemaker. Cuando tenga claras estas dos cosas debería meterme con Unity, 2D toolkit o cualquiera de sus alternativas... ¿No?

Saludos.

Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: KeTo en 18 de Noviembre de 2013, 01:01:31 PM
Yo utilizo libgdx (http://libgdx.badlogicgames.com/). Lo bueno que tiene es que utiliza java y probablemente estés más acostumbrado, además de que te hace las versiones de pc, android, html5 y ios (aunque nunca he probado ésta última). Es bastante completo para cosas sencillas, a mí me está gustando bastante, pero la verdad es que no he probado nada más.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: [EX3] en 18 de Noviembre de 2013, 04:45:12 PM
Cita de: CDigital en 18 de Noviembre de 2013, 12:56:21 PM
Bueno, he investigado sobre XNA, y parece que solo se puede usar en C#. Al parecer es mucho mas recomendado, pero no se nada de C# por que empezé directamente con C++, a si que ahora tengo dudas respecto a esta parte...
Quien dice XNA/MonoGame dice SDL, Libgdx, Cocos2Dx o el framework que quieras tocar. Hay muchos para C++ así que no te sera difícil encontrar uno con el que empezar en ese lenguaje.

Cita de: CDigital en 18 de Noviembre de 2013, 12:56:21 PM
Creo que por si acaso haré un resumen de lo que he entendido.

Empiezo con SDL y investigo un poco lo que puedo hacer con gamemaker. Cuando tenga claras estas dos cosas debería meterme con Unity, 2D toolkit o cualquiera de sus alternativas... ¿No?
Lo de empezar con SDL (o la librería que elijas) es simplemente por que es recomendable que empieces con programación a "pelo" en vez a través de entornos y motores con herramientas integradas tipo GameMaker, más que nada por aprender bien las bases de como se programa un juego por dentro. Después saltar a estos entornos y sus motores te sera útil por productividad al tener muchas herramientas y un motor debajo que te quite de programar mucha base del juego (que es donde muchas veces se pierde más tiempo) y que sabiendo como funciona más o menos la programación por debajo, sabrás entonces aprovechar mejor y de manera más eficiente estos motores y sus herramientas. Ademas, aprender a programar sin depender de un motor o tecnología especifica te permite poder saltar en un futuro a cualquier otra tecnología y lenguaje con más facilidad (puedes empezar con SDL en C++, saltar en un futuro a GameMaker y aprender su lenguaje de script, y después saltar a Unity3D y C# por ejemplo).


Salu2...

P.D.: Una aclaración:
Cita de: CDigital en 18 de Noviembre de 2013, 12:56:21 PM
Cuando tenga claras estas dos cosas debería meterme con Unity, 2D toolkit o cualquiera de sus alternativas... ¿No?
2D Toolkit es un plugin de Unity3D, no un motor aparte. Es simplemente un plugin que integra herramientas y funciones para trabajar 2D fácilmente en este motor.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: CDigital en 19 de Noviembre de 2013, 11:46:32 AM
La de guerra que estoy dando, debo de ser un poco cansino...  ^_^'

Bueno, me ha gustado bastante como se ha presentado LibGDX, y siempre es bueno que sea open-source. A si que cuando acabe con C++, aprenderé a usar LibGDX y haré algun proyecto "básico".

Despues, probaré a ver que puedo hacer con game maker usando los conocimientos de C++ y LibGDX. Creo que no es muy mala idea.

Y despues probaré con Unity, a ver que tal va la cosa. Creo que ya tengo claro bastantes conceptos de todo esto.

Pues muchas gracias (de nuevo) por toda la ayuda que se me ha brindado aquí, debe de ser algo molesto ayudar a un nuevo que pide tanta información...

Saludos.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: Darago_malaga en 08 de Diciembre de 2013, 01:07:15 AM
Este post ha sido comentado en el Programa 2 de Codigo Podcast.
Título: Re:Buenas, me gustaría saber como empezar en esto.
Publicado por: jusilus en 04 de Febrero de 2014, 05:54:24 PM
Buenas, yo llevo años tanteando varios lenguajes: C, C++, Java y C#. Al final me he decantado por C# tirando de Visual Studio. Mi idea era, una vez aprendido el lenguaje, meterme con XNA, pero veo que Microsoft ha dejado de soportarlo, así que he empezado a trastar con directX. Tengo libros de C# y directx9, pero me daba errores programando en visual studio 2013. Personalmente, recomiendo empezar con C para pillarle el punto a la programación estructural. Luego, recomendaría C#. Es cierto que Microsoft ha dejado se soportar XNA, pero hay varias soluciones para sustituirle (encontrarás varias de ellas en este link que he visto buscando en google http://zonaforo.meristation.com/un-minuto-de-silencio-xna-ha-muerto-t2044181.html). Incluso tienes la versión libre de XNA. En resumen, C# es un lenguaje extenso y más complejo que C o C++, pero merece la pena la comodidad y la seguridad que ofrece y, sobretodo, lo rápido que haces todo la parte visual.