Ir al contenido

publicidad

Foto

Desarrollo de videojuegos? :S


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
24 respuestas en este tema

#1

Escrito 20 diciembre 2010 - 17:48

Buenas a todos!
Pues que después de mucho tiempo pensando y cambiando de opinión, al final me he decidido definitivamente en dedicarme en eso de los videojuegos. Ahora estoy cursando 4o de ESO. Los que os dediquéis al desarrollo de videojuegos, estáis estudiando para ello o sepáis algo, por favor ayudadme, no se por dónde empezar! Saludos a todos y gracias!

  • Rox

  • GRANDIS SUPERNUS

  • vida restante: 100%
  • Registrado: 12 dic 2001
  • Mensajes: 27.588
#2

Escrito 20 diciembre 2010 - 17:57

Pues puedes empezar desde ya! Lo primero antes de desarrollar videojuegos, aprende lo básico: un lenguaje de programación (orientado a objetos sería lo ideal) como C#, C++ o Java. Cuando sepas programar realmente, puedes seguir ampliando tu conocimiento con Patrones de Diseño, que nunca están de más.

Y luego ya te puedes meter en cosas como XNA, UnrealEngine o cosas similares. Pero lo primero, es siempre lo básico. Las casas se construyen empezando por los cimientos.

Sobre el camino educativo pues bien puedes tirar por formación profesional de informática o bien bachillerato de ciencias y hacerte un Grado en Informática (creo que este camino es el ideal), luego completar con un máster en desarrollo de videojuegos.

#3

Escrito 23 diciembre 2010 - 19:08

No recomiendo que con 16 años empiezes con C++ o Java(ni a ninguna edad). Empieza trasteando con programas que no requieran programacion(o si, pero opcional o simple) para crear videojuegos, como el rpgmaker xp, ags o el game maker. O si me apuras qualquier editor de mapas de fps o rts, o creando algun mod para algun juego.

Estos ademas tienen lenguajes de script que te resultaran mas faciles de aprender y manejar que librerias profesionales como puede ser SDL o XNA, pero igual te introduciran bien en todos los asuntos importantes.

Luego pasate a un lenguaje accesible y simple con el que aprender desde 0. Mucha gente empieza con Python y Pygame.

Tras eso y cuando hayas aprendido orientacion a objetos y toda la pesca, puedes pasarte a c# o c++ sin demasiado problema. Y tambien toquetear con 3d, aunque en python tambien puedes.

http://slav0nic.org....98726.29808.pdf

Libro gratuito de python y pygame.

En general no necesitas estudiar un ciclo de informatica para desarrollar videojuegos. El 99% de lo que dan ahi es inutil para tu proposito, y la programacion que dan es pobre y orientada ha hacer aplicaciones y sobretodo webs.

Nose si te pediran si o si el titulo o algo, pero sino fuera asi yo gastaria mi tiempo en bajar una coleccion de libros y tutoriales de internet y empezar a apendrer a saco.

#4

Escrito 25 diciembre 2010 - 11:12

Gracias por las respuestas chicos! Muy buenos consejos (:

  • Rox

  • GRANDIS SUPERNUS

  • vida restante: 100%
  • Registrado: 12 dic 2001
  • Mensajes: 27.588
#5

Escrito 25 diciembre 2010 - 19:22

No sé por qué no veis bien que empiece con algo de C++ o Java. Yo aprendí programación estructurada con C y a posteriori orientación a objetos en Java.

#6

Escrito 26 diciembre 2010 - 12:26

No sé por qué no veis bien que empiece con algo de C++ o Java. Yo aprendí programación estructurada con C y a posteriori orientación a objetos en Java.


Tu mismo lo has dicho: "Empezar con C/C++ y luego Java".
Primero aprender los fundamentos de la programacion, y luego ya aprenderá POO.

Un saludo

  • Gagle

  • Yojimbo

  • vida restante: 100%
  • Registrado: 22 mar 2008
  • Mensajes: 9.856
#7

Escrito 26 diciembre 2010 - 13:13

Joder, pero que va a 4º de la ESO! Simplemente ponte a jugar. Cuando empieces la carrera ya estudiaras programacion.

Imagen Enviada
"640KB tendrían que ser suficientes para cualquiera."

Bill Gates, 1981.
¿Será cierto?



#8

Escrito 26 diciembre 2010 - 19:30

No sé por qué no veis bien que empiece con algo de C++ o Java. Yo aprendí programación estructurada con C y a posteriori orientación a objetos en Java.


Hay diversas razones:

Java para empezar, es malo para pruebas rapidas y no usar OO. Mucho lio. C++ acepta estructurada de C y es mas flexible, pero es mucho mas complejo que usar un script python.

Luego, la sintaxis. La sintaxis de lenguajes como ruby o python, es mucho mas accesible, flexible, bonita y rapida, por lo cual la hace mas interesante para aprender. Ademas python es recomendable por su identacion obligatoria y su lema de hacer las cosas de una forma, por lo cual te aseguras bastante mejor de educar bien desde el al principio al chaval.

C ademas tiene una nula biblioteca. Todo va a muy bajo nivel. Ni veo el sentido de que alguien tenga que usar punteros, aunque solo sea indirectamente(sacar valores de arrays o trabajar con ficheros...) ya no digamos ponerse a tratar con la memoria tan solo empezar, cuando en el 99% de las cosas no es util.

Nunca he entendido porque un lenguaje como C, que muestra algunas de las cosas mas complejas de la programacion, se usa para enseñar, o se enseña siempre aunque hablemos de gente que no va a ser programadora. C se deberia usar cuando alguien quiere aprender a tratar a bajo nivel y a resolver problemas cerca de la maquina.

Hasta entonces veo absurdo enseñar a la gente a ordenar los caracteres de un string o a encontrar el maximo de algo, porque ya me diras, luego eso en los demas lenguajes se hace con funciones o con metodos de los objetos y eso que has aprendido a hacer te sirve para nada.

Ya solo por sintaxis y biblioteca. Poder concatenar strings usando un caracter... y el scanf o printf, cuando la substitucion de variable expandida es 1000 veces mejor... Java tiene mejor biblioteca si, pero tambien es muchisimo mas complicado. Para copiar un objeto, tienes que implementar el metodo de copia. Para imprimirlo, el to string. ¿Y si quieres ordenarlos o comaprarlos? A implementar otros metodos. Etc,etc... en realidad los object default de java y sus bibliotecas palidecen ante las facilidades de ruby o python.

No hay color. Cada lenguaje sirve para lo que sirve. C es bastante usado aun hoy en dia, porque tiene su valor, pero no es el de empezar, no es el de enseñar y tampoco es el de ser usado en aplicaciones corrientes. Igual para C++, y si me apuras, c# y java en segun que casos.

Si no es necesaria la ventaja de rendimiento que estos proporcionan(u otras concretas...), me parece bastante absurdo utilizarlos.

Rescate un programa que escribi en C en clase, un ejercicio que fui expandiendo porque me aburria con los ejercicios que daban. Era una pequeña base de datos, a la que añadi salvado por extensiones, encriptacion, opciones por la linea de comandos, etc...

Sobre 1000 lineas eran. Me puse la idea de pensar cuantas lineas y tiempo serian en ruby y lo estoy reescribiendo y lo he reducido por alli 300, y usando C en ruby, digamos, porque se podria mejorar mucho mas aun.

Por ejemplo, en ruby se puede iterar en las estructuras, o acceder a los valores ordeanados como si fuera un array:

cliente.each {|e| e.to_s.decrypt!}

Con esta simple linea estoy iterando en todos los valores del struct y desencriptandolos de forma destructiva(no hace falta asignarlos).

O ordenar el array:

aclientes.sort!{ |a,b| a.nombre <=> b.nombre }

  • Rox

  • GRANDIS SUPERNUS

  • vida restante: 100%
  • Registrado: 12 dic 2001
  • Mensajes: 27.588
#9

Escrito 26 diciembre 2010 - 21:32

No te voy a negar que Ruby, Python o incluso Lua tengan una sintaxis clara y que facilitan el aprendizaje. Pero los ejemplos que me comentas es puro azúcar sintáctico que por debajo hacen lo mismo que puedes hacer tú en unas cuentas líneas extra. Ojo, no digo que sea malo; bien útil que es y facilita muchas veces la programación; pero para aprender a programar tanto te vale lenguajes como los que citas como Java,C++ o C#

Yo de joven, aprendí por mi cuenta C y C++, y en la facultad las asignaturas de Introducción a la programación fueron en Java y C++. Y creo que no hay nada de malo en ello, ni tampoco en enseñar algoritmia para ordenar arrays, crear montículos, listas, tablas Hash..lo que sea desde 0. Por supuesto que hay librerías que te permiten crearlas y gestionarlas en apenas líneas, pero a mi modo de pensar hay que ser conscientes de lo que tienes por debajo, no? Y que mejor manera que pelearte con ello y aprender. Que a fin de cuentas es de lo que se trata.

Muy buen aporte, no obstante el tuyo :-)

#10

Escrito 26 diciembre 2010 - 22:03

No te voy a negar que Ruby, Python o incluso Lua tengan una sintaxis clara y que facilitan el aprendizaje. Pero los ejemplos que me comentas es puro azúcar sintáctico que por debajo hacen lo mismo que puedes hacer tú en unas cuentas líneas extra. Ojo, no digo que sea malo; bien útil que es y facilita muchas veces la programación; pero para aprender a programar tanto te vale lenguajes como los que citas como Java,C++ o C#

Yo de joven, aprendí por mi cuenta C y C++, y en la facultad las asignaturas de Introducción a la programación fueron en Java y C++. Y creo que no hay nada de malo en ello, ni tampoco en enseñar algoritmia para ordenar arrays, crear montículos, listas, tablas Hash..lo que sea desde 0. Por supuesto que hay librerías que te permiten crearlas y gestionarlas en apenas líneas, pero a mi modo de pensar hay que ser conscientes de lo que tienes por debajo, no? Y que mejor manera que pelearte con ello y aprender. Que a fin de cuentas es de lo que se trata.

Muy buen aporte, no obstante el tuyo :-)


El problema no es que no se enseñe algoritmia para chorraditas(es valida incluso en ruby a la hora de construir o optimizar ciertas cosas), el problema es que esto solo se deberia enseñar a quien quiere dominar la programacion a bajo nivel y avanzando en complejidad.

Ademas, deberia ser escalonado. Es como se aprende matematicas: primero sumar, restar... nadie empieza haciendo equaciones. Y tratar con esas cosas a pelo es muy complejo. Y para muchas cosas harto inutil. No tiene sentido empezar con toda la complejidad del C, y tratar de aprender a hacer algoritmos propios de bajo nivel.

Es que incluso en python o ruby habra situaciones donde deberas construirlos, pasa que para las cosas tipicas las herramientas estan hechas, facilitando el trabajo.

El problema es cuando en los ciclos formativos por ejemplo, se da C para enseñar programacion a la gente de ASI. ¿Tiene sentido? ¿Para que quiere alguien de administracion aprender algo de tan bajo nivel?

¿O porque tiene que empezar alguien de DAI por la cosa mas chunga?

Aparte yo no recomiendo C porque queramos o no si hablamos de primera experiencia cuenta un huevo en la gente, y luego cosas como pasarte a la OO se hacen traumaticas de cojones, mientras que si hicieras python con la OO ligera, por encima, no pasaria.

Entiendo que un ingeniero informatico tenga que ser consciente de lo que va por debajo. No alguien de un ciclo. No alguien de un curso, o de asignatura en otro lado, o alguien a quien le recomiendan aprender o trastear autodidacta con la programacion.
Pero esque ademas es lo que he dicho, para mi es mala idea hacer introduccion a la programacion con esos lenguajes.

  • Btc

  • Valefor

  • vida restante: 100%
  • Registrado: 15 oct 2007
  • Mensajes: 1.932
#11

Escrito 29 diciembre 2010 - 23:40

No sé por qué no veis bien que empiece con algo de C++ o Java. Yo aprendí programación estructurada con C y a posteriori orientación a objetos en Java.


Tu mismo lo has dicho: "Empezar con C/C++ y luego Java".
Primero aprender los fundamentos de la programacion, y luego ya aprenderá POO.

Un saludo


Pues yo tampoco veo que empezar con POO sea un problema. De hecho, yo empecé con VB.NET y más tarde aprendí C. Creo que más bien depende del punto de vista de cada uno, o de las facilidades que tenga para un tipo de programación u otra.

Un saludo, Btc

  • Ellolo17

  • Zodiark

  • vida restante: 100%
  • Registrado: 16 nov 2006
  • Mensajes: 6.208
#12

Escrito 31 diciembre 2010 - 00:50

No sé por qué no veis bien que empiece con algo de C++ o Java. Yo aprendí programación estructurada con C y a posteriori orientación a objetos en Java.


Tu mismo lo has dicho: "Empezar con C/C++ y luego Java".
Primero aprender los fundamentos de la programacion, y luego ya aprenderá POO.

Un saludo


Pues yo tampoco veo que empezar con POO sea un problema. De hecho, yo empecé con VB.NET y más tarde aprendí C. Creo que más bien depende del punto de vista de cada uno, o de las facilidades que tenga para un tipo de programación u otra.

Un saludo, Btc


Pues pasa que Dijsktra bajaria del cielo de los informaticos para darte dos collejas XD

Es coña. El problema esta en que "aprendes" unos metodos que no son muy recomendables para trabajos mas a fondo. Es mas, el tipo que he dicho antes opinaba que los que aprendian a programar pero habian aprendido antes basic eran casos perdidos... Espera, que te lo saco de wikiquote:

"Es prácticamente imposible enseñar programación correctamente a estudiantes que han estado expuestos al lenguaje BASIC con anterioridad. Como potenciales programadores, tienen la mente mutilada sin esperanza alguna de regeneración."


En la actualidad puedes extrapolarlo a la prog. orientada a objetos y la programacion, por conceptos como la abstraccion, encapsulacion, herencia, virtualizacion, etc...

Es mas, BTC, recuerda que te decia que yo probaria antes de ponerme a hacer juegos con Visual Basic a prender c y luego ir por ahi (ya veo que lo has hecho) ;) Yo opino que aunque no es del todo imprescindible si es muy recomendable partir de lenguajes estructurados para aprender lo básico y aprenderlo bien y luego dar el salto.


Mi consejo como persona que se ha hecho 5 juegos, esta haciendose mas (ya los vereis), habla de vez en cuando con profesionales del sector, puede que en junio se monte un estudio oficial, etc... es que comiences con c, que lo aprendes en 2 tardes (bueno, cuento mal) pero para acostumbrarte a los arrays, bucles, matrices, estructuras de control y todo eso bien. Luego ya el salto a Java y a c++ es solo aprender conceptos de programacion orientada a objetos para asegurarte que haya el menor numero posibles de fallos y que puedas entender bien lo que hagas.

Como ultimo paso, ya sabiendo como funciona eso, puedes programar en Unity, en UDK, en XNA, en c++ con opengl, en c# con Tao... lo que sea, porque podras entender en poco tiempo como esta estructurado el motor, que hace cada parte, de que se encargan y tardaras mucho menos en hacer juegos y te saldran mejor que si vas directamente a por otra cosa.

Por cierto, una vez haciendo juegos, empieza por un pong. Lo digo yo, lo dicen profesionales, lo dicen empresarios, lo dice todo dios. Lo primero: Un pong. Si te sale y ves que te gusta ve a mas, pero no intentes ir al principio a por algo gordo y menos aun sin ayuda porque entonces o tienes mucha motivacion o fracasas.

Un saludo.

  • jakehoyt

  • Yojimbo

  • vida restante: 100%
  • Registrado: 05 ene 2006
  • Mensajes: 1.395
#13

Escrito 31 diciembre 2010 - 02:48

Madre mia, que rápido se deriva aqui cualquier cosa en discusiones sobre el lenguaje de programación que preferimos...
Lo mejor es que primero sepas hacer un VIDEOJUEGO y ya luego aprendas a programar, dibujar, o lo que necesites (o en lo que no consigas ayuda) asi que RPG Maker, Game Maker, y similares, es la mejor recomendación. Cuando quieras mas, ya buscaras lo que necesites o se te de mejor...

  • gotenx

  • Bahamut

  • vida restante: 100%
  • Registrado: 13 ene 2008
  • Mensajes: 4.253
#14

Escrito 31 diciembre 2010 - 11:43

Esto...entonces yo hago mal con 13 años,Batch,python estudiados y estudiando C ?
Yo que tu aprendia algo.. llevo desde los 11 años programando y no es para tanto.

#15

Escrito 31 diciembre 2010 - 11:55

y no es para tanto.


Con esa frase me acabas de demostrar que no sabes programar


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
publicidad