Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Consejos de programación.

Iniciado por Hazard, 24 de Marzo de 2016, 07:45:37 PM

« anterior - próximo »

Hazard

Hola, me acabo de inscribir a esta página, precisamente buscando lo que dice el título de arriba.
Actualmente tengo 19 años y estudio Ingeniería en Sistemas, voy en segundo cuatrimestre. Ando aprendiendo a programar en c++ y mi escuela me encargó un proyecto, que es hacer un juego de batalla naval.

Realmente sé que hay muchos programas como esos en internet, es bien fácil que lo busque en google y copie y pegue el primer código que me salga, pero no quiero hacer eso. Le pedí a un amigo que me pasara uno código similar, y si bien compila y todo, tiene varios erroncillos notorios y no sé muy bien como arreglarlos.

¿Qué me recomiendan para armarlo de 0, que libros debería leer en estos días para poder salir de ahí? Por que tengo una muy ligera idea, pero no se como plasmarla a código, eso es lo que me cuesta un poco. También si alguien me pudiera echar una mano con esto y guiarme, se lo agradecería un montón.

Darago_malaga

Por qué no nos cuentas un poco mas lo que tendria que hacer el juego. Si haces una descripcion mas detallada intentaremos ayudarte. Empezamos por la estructura de datos, la representacion en pantalla, el ui y el control.

Hazard

Pues el juego tiene que ser de un jugador contra la máquina,  cada uno con su propio panel y debe ser por turnos.
En el panel el jugador éste debe posicionar los barcos sin que estos se encimen (es decir, no repetir coordenadas) mientras que los de la computadora es una asignación random. Después debe desplegarse un panel donde te pida las coordenadas para atacar a los barcos enemigos (en x, y ). Si le atinas a un barco enemigo, debe mostrar una X, y pasar al siguiente jugador, sino, igual pasa turno; el juego se acaba cuando halla un ganador (o el que tenga el mayor número de barcos destruidos).

Espero haberme explicado bien.

Gallo

#3
Si quieres utilizar C++ sin editor de niveles, para hacer un juego así te recomendaría cocos2d-x: https://github.com/cocos2d/cocos2d-x.

Si prefieres utilizar un lenguaje de scripting tienes opciones como LOVE2D: https://love2d.org/ , que utiliza Lua y sin editor, para el tipo de juego que quieres hacer es suficiente.

Si prefieres algo mas managed, con editor y tal tienes otras opciones como Unity https://unity3d.com/ que utiliza C#, Defold http://www.defold.com/ que utiliza Lua, o el Cocos Creator http://blog.cocos2d-x.org/2016/03/announcing-the-cocos-creator-public-beta/ , que es un motor/editor corriendo sobre cocos2d-x.

Para la inteligencia artificial, con una máquina de estados seguro que hay documentación por ahi para utilizarla en un juego por turnos.

Notarás que no menciono ningún libro, es por que no tendría mucho sentido que te empollaras un libro genérico de programación para luego hacer el juego, creo que es mejor que metas las manos en la masa y empieces directamente, e ir aprendiendo lo que te hace falta, por eso es mejor que te pongas con un motor y mires sus tutoriales y ejemplos, empezando por lo mas pequeño y así vas aprendiendo de forma iterativa y además ves el objetivo mas claro de para que aprendes eso.

Si tu idea es aprender sobre la tecnología subyacente mas que el juego en si, te recomiendo igualmente empezar con el mentado cocos2d-x (sin cocos creator) y cacharrera con eso, explorar su código fuente y el de los ejemplos e ir aprendiendo lo básico. Mas tarde puedes intentar hacer un pequeño motor propio en C++ y OpenGL, pero si empiezas por aquí invertirás mucho mas tiempo en abrir la ventana y pintar cosas que no en hacer el juego en si, así que ojo.

Aunque sea spam XD te recomiendo escuchar Código Podcast: http://www.stratos-ad.com/forums/index.php?board=70.0 mírate si quieres los contenidos en cada post para ver que temas te pueden interesar por que muchas veces hablamos de tecnologías y recursos para desarrolladores que empiezan.






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.