Quiero hacer un videojuego

Hola a todos.
Como dice el título, me propongo hacer un videojuego, algo sencillo en 2d. Mi problema es que sobre la parte gráfica no tengo ni idea, no se por donde empezar ni que herramientas utilizar.
Si alguien me pudiese orientar sobre este tema estaría muy agradecida.

Saludos
Si quieres hacer un videojuego, puede que lo más sencillo sea no empezar por programar para Xbox 360.

Sin embargo, mi recomendación es que empieces haciendo algún juego que mueva sprites sencillos (como un Tetris o un Pacman o algo así) , por ejemplo, haciendo desarrollos con las APIs de imágenes de Java o C# .

Empezar a desarrollar contra librerias gráficas es complejo.

En caso de que sigas a ello, para desarrollar en plan amateur para la consola tienes que hacerte con un XNA Game Studio 2.0 y una cuenta del developers network.

Tienes una opción gratuita desde ahora y hasta dentro de un año que es apuntarte aquí http://www.dreambuildplay.com/ . Es un concurso de programación para 360, y sólo por apuntarte te dan acceso a herramientas de desarrollo y una subscripción.

¡¡¡¡¡¡¡ OJO, sólo tienes hasta el día 25 de Septiembre para apuntarte !!!!!!!!!!!!!

La plataforma XNA te permite hacer los juegos para PC, compilarlos y probarlos allí, y después portarlos a la consola. Tienes que saber C# para desarrollar para esta consola.

Por otra parte, creo que la consola más accesible a día de hoy para temas de scene y desarrollo es la Nintendo DS. Eso si, tienes que tener soltura en C .
Antes que la DS yo recomendaría la GP2x, que es precisamente para eso.

Aquí puedes encontrar todo lo necesario para programar en la gp2x:
www.gp32spain.com
Por si no lo había dejado claro, no aconsejo ni una ni la otra para empezar a cacharrear (por el tema de manejar C a pelo) . Creo que en la GP2x también se desarrolla en C con una API para atacarle a la consola.
Puedes probar tranquilamente algunos idiomas más como Python, que tiene libros gratuitos sobre programación de juegos, o probar engines como el de Blender, que te gustaría bastante creo...
Te aconsejo el RPG Maker XP para PC. Porque para aprender a desarrollar juegos de verdad vas a tener que aprenderte lenguajes de programación y es algo que te va a tomar muchos años y esfuerzo.
Hmmm... ¿ha dicho si sabe programar? :D . Más que nada porque dice que no tiene ni idea sobre la parte gráfica.
yo cuando era ñajo hacia mis pinitos con el spectrum y la revista microhobby,que recuerdos [carcajad] [carcajad]
Si realmente quieres programar un juego y tu problema son los gráficos, yo te recomendaría probar con XNA. Empieza por hacer el juego para PC, que no necesita ningún tipo de suscripción, y si en algún momento te molaría intentar pasarlo a 360 pues te pagas la suscripcion y listo.
Por otro lado, ¿que tipo de problemas de graficos tienes? Si quieres hacer cosas en 2D tendrás que usar Photoshop. Como te recomiendan por ahí, haz un juego de puzzles o matamarcianos que será lo más fácil gráficamente (incluso de programar), ya que no tienen casi animaciones.
Yo mismo también me planteo hacer algo en XNA, lo que pasa es que si que tengo idea de programación. Aún así ten en cuenta que es algo complicado y si quieres terminarlo tendrás que dedicarle mucho tiempo. ¡Suerte!

Pd: Mi primer post.
Buscando sobre el tema, por que encontré un libro que te podía gustar podría pasarte el link del sitio donde pillar el libro de programación de videojuegos en Python.
¿Qué se puede programar en python que no se pueda programar en C / Java / C# / C++ ? ¿ Hay algo que te haga los juegos solos ?
No, pero son los únicos, gratuitos y con licencia creative commons [+risas]

De hecho, me atrae también bastante Dark Basic, pero los dos libros importantes para programar valen cada uno 50€ y como comprenderás, es una burrada [+risas]

Y de hecho y gracias por recordármelo, mejor empezar en C, e ir tirando luego a otros lenguajes, como los que dice el amigo squarewave
squarewave escribió:¿Qué se puede programar en python que no se pueda programar en C / Java / C# / C++ ? ¿ Hay algo que te haga los juegos solos ?


Hombre, yo creo también que lo mejor para empezar es C, pero Python es un lenguaje muy simple que se libra de muchas redundancias estúpidas de C. Lo malo es lo de siempre, que te puedes malacostumbrar y pillar vicios que luego te costarán mucho tiempo revisando código.
Creo que no me expliqué muy bien, las prisas.

Soy programadora, he usado C y Java entre otros. Tengo conocimientos de programación lineal, estructurada y orientada a objetos.

He elegido la 360 porque es la que tengo. En cuanto a la oferta de la suscripción la vi ayer, pero no me quedó muy claro,¿hay que subir un juego para que te la den, o primero te la dan y luego ya se verá si subes o no?
Había pensado en compilarlo para el PC y si luego me da por hacer la suscripción pues...

El juego en cuanto a gráficos, lo más sencillo posible.

Las herramientas XNA ya las tengo. Así que en la parte que más ayuda necesito es en el tema de gráficos, porque no se ni por donde empezar. He visto que Photoshop es una opción. Si sabéis de algún turorial, link o tenéis conocimientos en el tema y me podéis dar unas nociones básicas, estaría muy agradecida.

Saludos y gracias por contestar.
Primero te dan la subscripción, y ya veremos si subes un juego en el futuro o no .

En cuanto al tema de desarrollo, no hay mucho más que lo que te puede ofrecer el developers network de XNA (que no es poco).
sayuri escribió:He visto que Photoshop es una opción. Si sabéis de algún turorial, link o tenéis conocimientos en el tema y me podéis dar unas nociones básicas, estaría muy agradecida.

Saludos y gracias por contestar.


De Photoshop te recomiendo que aprendas a usar las capas y como mucho a aplicar filtros... Ahora no puedo explicarlo, pero con un poco mas de tiempo puede que si. Aún así, para hacer lo básico no es muy dificil. Solo hay q ser capaz de dibujar algo. Supongo q no tendras tableta gráfica, no?
Si quieres hacer un videojuego, yo me apunto, llevo tiempo queriendo hacer uno y esta puede ser una buena oportunidad.

Soy analista en .net y en cuanto a tema C, C#... sin problema, sería cuestión de bajarse los SDK de la plataforma, estudiarlos y sobre todo... practicar.

Saludos!
sayuri escribió:Creo que no me expliqué muy bien, las prisas.

Soy programadora, he usado C y Java entre otros. Tengo conocimientos de programación lineal, estructurada y orientada a objetos.

He elegido la 360 porque es la que tengo. En cuanto a la oferta de la suscripción la vi ayer, pero no me quedó muy claro,¿hay que subir un juego para que te la den, o primero te la dan y luego ya se verá si subes o no?
Había pensado en compilarlo para el PC y si luego me da por hacer la suscripción pues...

El juego en cuanto a gráficos, lo más sencillo posible.

Las herramientas XNA ya las tengo. Así que en la parte que más ayuda necesito es en el tema de gráficos, porque no se ni por donde empezar. He visto que Photoshop es una opción. Si sabéis de algún turorial, link o tenéis conocimientos en el tema y me podéis dar unas nociones básicas, estaría muy agradecida.

Saludos y gracias por contestar.


Yo actualmente utilizo Paint .Net para evitarme problemas con la licencia del Photoshop, ya que para el uso que le doy me sirve de sobras y es bastante ligero. Dependiendo de lo que quieras hacer tienes varias opciones:

1) Utilizar una tableta gráfica. Viene a ser lo mismo que si dibujaras en un papel y te ahorras el tener que digitalizar luego el dibujo -bueno, lo de que es lo mismo que dibujar en papel es mentira porque hasta que te acostumbres a dibujar con la tableta igual te cuesta algo de tiempo-.

2) Dibujar en papel y luego digitalizar el dibujo con un escáner. En internet hay muchos manuales de dibujo -en especial de dibujo manga- que te enseñan a como hacerlo todo para que luego no te queden bordes irregulares y como colorear los dibujos en el ordenador. En el dibujo en papel solo tienes que dibujar las líneas de los bordes.

3) Hacer el dibujo en el ordenador con ratón y buena mano, jeje. Si lo que quieres hacer no es muy complejo -yo diría que incluso aunque lo sea- esta puede ser la mejor opción. Si te decides por ella en Paint .Net la herramienta curva es tu amiga, en Photoshop que yo recuerde por defecto no había algo similar aunque igual me estoy equivocando.

Luego a parte de esto debes saber que los dibujos que hagas les tendrás que poner un color de fondo que luego será transparente en el juego final. Habitualmente se usa el magenta, pero en principio puedes utilizar el que te de la gana. Luego para guardar el dibujo yo siempre lo hago en formato PNG para utilizarlo en el juego y el formato propio del programa que utilices -en Paint .Net es PDN, en Photoshop PSD- para tener guardadas todas las capas por si quiero hacer luego modificaciones.

Si lo que quieres hacer son animaciones y no un Sprite estático tienes que hacer los frames uno por uno. Luego lo normal es que guardes todos los frames en una sola imagen. Hay tutoriales de XNA y cualquier lenguaje que te explican como hacer esto.
Si te preocupa la licencia del Photoshop, también puedes usar GIMP.
neneh escribió:Si quieres hacer un videojuego, yo me apunto, llevo tiempo queriendo hacer uno y esta puede ser una buena oportunidad.

Soy analista en .net y en cuanto a tema C, C#... sin problema, sería cuestión de bajarse los SDK de la plataforma, estudiarlos y sobre todo... practicar.

Saludos!


Por desgracia es un proyecto que tengo que presentar en solitario.

Sheenmue, te he agregado como amigo. Por si tengo alguna dudilla por si me puedes ayudar.

No tengo tableta gráfica.

Ahora imaginemos que tengo el fondo hecho y los sprites de un par de personajes, en formatos adecuados. Al final usé el Paint, es muy sencillo lo que necesito y me sirve. Que hago con ellos, es decir cual es el siguiente paso para que formen parte de mi juego, en el que solo hay código.

Supongamos que los gráficos son sencillos, del estilo N+
Imagen

Como hago para que mi personaje diferencie entre el fondo y por ejemplo un muro, que está dibujado y se supone que no puede traspasar, debe saltarlo por ejemplo. ¿Con capas o algo así?
Bueno aprovechando que esta este hilo abierto, me a entrado el gusanillo de hacer juegos de nuevo, hace tiempo ya me entrola vena pero ahora si me gustaria ponerme enserio, y la verdad no se por donde empezar a formarme, si hubiese algun manual asi para empezar, hace tiempo vi uno de como hacer el Pong de toda la vida, pero ahora no lo encuentro, tambien toy pensando en meterme a master en creacion de videojuegos, si me podeis echar alguien un cable os lo agradecere un saludo.
En esta web podéis descargar un par de libros sobre programación de juegos. Uno para la librería SDL y otro para móviles, aunque las bases son las mismas para cualquier plataforma.

http://www.agserrano.com/publi.html

Saludos.
sayuri escribió:
neneh escribió:Si quieres hacer un videojuego, yo me apunto, llevo tiempo queriendo hacer uno y esta puede ser una buena oportunidad.

Soy analista en .net y en cuanto a tema C, C#... sin problema, sería cuestión de bajarse los SDK de la plataforma, estudiarlos y sobre todo... practicar.

Saludos!


Por desgracia es un proyecto que tengo que presentar en solitario.

Sheenmue, te he agregado como amigo. Por si tengo alguna dudilla por si me puedes ayudar.

No tengo tableta gráfica.

Ahora imaginemos que tengo el fondo hecho y los sprites de un par de personajes, en formatos adecuados. Al final usé el Paint, es muy sencillo lo que necesito y me sirve. Que hago con ellos, es decir cual es el siguiente paso para que formen parte de mi juego, en el que solo hay código.

Supongamos que los gráficos son sencillos, del estilo N+
Imagen

Como hago para que mi personaje diferencie entre el fondo y por ejemplo un muro, que está dibujado y se supone que no puede traspasar, debe saltarlo por ejemplo. ¿Con capas o algo así?


Debes implementar un sistema de colisiones. En el ejemplo del N+ puedes hacer que además de comprobar que no se tocan los límites del escenario, que cada plataforma o muro sea un objeto. Luego en cada iteración compruebas si hay una colisión entre el personaje y uno de esos objetos y en que dirección se ha producido. Para comprobar si hay colisión hay dos métodos básicos, uno es comprobarlo pixel a pixel y otro más sencillo es utilizar rectángulos -supones que cada objeto es un rectángulo y compruebas si estos rectángulos colisionan-. En la página de XNA hay tutoriales sobre todo esto:

Colisiones pixel a pixel
Colisiones con rectángulos]
Colisiones pixel a pixel con objetos transformados -rotaciones y escalas-

Si no lo necesitas especifícamente para el juego lo mejor y más sencillo son las colisiones con rectángulos porque es más rápido que las comprobaciones pixel a pixel.

Al final además puedes optimizar todo esto. Por ejemplo si tu personaje está en un determinado área, que solo tengas que comprobar las colisiones con objetos de ese determinado área, o hacer una mezcla entre colisiones con rectángulos y pixel a pixel, es decir, primero compruebas las colisiones entre los rectángulos y en caso de haber colisión asegurarte de que hay realmente colisión pixel a pixel.
Gracias a todos por la ayuda, me he dado cuenta de que era más facil de lo que pensaba.
23 respuestas