2010-09-14 21 views
11

Estoy llegando al final de mi primer año de CS y pensé que una gran manera de consolidar todo lo que he aprendido este año sería un proyecto de juego personal.Desarrollo de juegos de estrategia en tiempo real Java

Me gustaría implementar un rts basado en 2D, estoy pensando en las líneas de starcraft I, warcraft II o incluso comando y conquista. Tendré alrededor de 3 meses sin interrupciones para implementar el juego.

Así que para cualquier persona con experiencia en programación de juegos java, tengo un par de preguntas:

¿Es realista para diseñar un motor de estrategia en tiempo real en 2D desde cero en 3 meses? Si es así, ¿cuáles son algunos buenos libros/recursos para comenzar?

¿Sería mejor modificar algún proyecto existente? Creo que la experiencia de tener que trabajar con mucho del código de otra persona sería buena ya que nuestra exposición a tales temas en un grado de licenciatura parece muy rara, si no existe.

¿Hay algún proyecto decente de código abierto 2d rts que cualquiera pueda recomendar? He mirado a través de algunos, pero la mayoría parece estar escrito en C/C++

mi humilde agradecimiento

Editar: Gracias por las respuestas rápidas, creo que tal vez fue una mala idea para publicar esto en una apresurada ya que creo que tergiversé lo que quiero hacer.

Cuando digo "a lo largo de las líneas de warcraft II, etc." me refiero más a ese estilo de rts que usan sprites. No pretendo implementar un juego casi tan complejo, más como un prototipo básico.

Mi objetivo sería algo más parecido a un mapa de textura plana con algunos obstáculos básicos como árboles, una sola unidad produciendo estructura como un cuartel. Me gustaría que las unidades tengan barras de vida, sean capaces de moverse, atacar y morir (y posible cambio en otra unidad).

A lo lejos, los objetivos serían implementar algún encauzamiento básica usando una versión modificada del algoritmo de Dijkstra camino más corto, las unidades con ataque de misiles, etc. osciló

No planeo implementar cualquier oponente o ai o redes o algo por el estilo

+8

Una cosa que podría considerar es probando un juego de estrategia por turnos (como uno de mis juegos preferidos, Advance Wars). Creo que un motor RTS podría ser intenso esp por solo un año de CS. ¿Tienes experiencia con IA? –

+0

Creo que al preguntar si es realista escribir un motor tan complejo en 3 meses, usted ha respondido su propia pregunta. – krs1

+10

"La persona que dice que no se puede hacer no debe interrumpir a la persona que lo hace". (Proverbio chino) No prestes demasiada atención a las personas que dicen que no se puede hacer algo. ¿Quien lo dirá? No sabemos nada de ti Intentalo. Trabaja duro. Podrías hacer algo increíble. –

Respuesta

33

estoy pensando en la línea de StarCraft I, II o incluso warcraft Command and Conquer

Asegúrese de que purga su mente de hacer coincidir el alcance completo de cualquiera de esos. Tomaron grandes equipos de desarrolladores durante muchos años, con presupuestos multimillonarios, por lo que ni siquiera se puede esperar acercarse a ellos. Se llaman AAA por una razón. Dicho esto, no hay ninguna razón por la que no pueda simular muy poco su diseño, o hacer un pequeño juego en su género, suponiendo que tenga experiencia previa en pequeños juegos.

Un sub-género de estrategia en tiempo real que podría ser factible en esa cantidad de tiempo es un juego Tower Defense. Plants vs Zombies es un buen ejemplo. La razón por la que sugiero este subgénero es que puede evitar implementar cualquier tipo de IA o búsqueda de ruta, que son notoriamente difíciles de poner en práctica, y creo que es técnicamente imposible de implementar "perfectamente", especialmente con un presupuesto de CPU limitado.

Asegúrese de reinar en su ámbito de aplicación. Favorece un juego "completo" sobre las nuevas características, porque luego puede llamarlo "hecho" en cualquier momento. Consigue que tu juego se pueda jugar lo antes posible, y no te preocupes por el brillo o los detalles hasta que tengas que hacerlo. Agregue un tipo de enemigo y un tipo de unidad de jugador (con solo una habilidad, si estaba pensando en implementar habilidades múltiples por unidad). Haga una pantalla de título, menús (incluso si el menú es solo "haga clic en la pantalla para jugar"), juego sobre pantalla, nivel completo o pantallas de estadísticas, estadísticas de jugador de nivel cruzado, etc. Una vez que tenga todo eso resuelto, pase el mismo tiempo agregando nuevas funciones y puliendo la jugabilidad/gráficos/bugs.

Una vez que tenga un juego jugable "completo" listo (no importa cuán pequeño en su alcance), encontrar un verdadero artista que ver los gráficos para usted. Un juego brillante siempre atrae a una audiencia, sin importar cuán simple sea el juego.

+4

Gracias Merlyn, tienes un buen punto. De hecho, estoy pensando en algo aún más simple que eso, pero extenderlo a algún tipo de defensa de torre sería una excelente idea una vez que tenga algo jugable. – avatarX

+0

+1 para recomendar la "integridad" del juego antes que nada. – Jake

6

Es muy poco realista pensar que podría implementar un motor de RTS 2D en cualquier lugar, incluso cerca de la complejidad en ese tipo de juegos. Tal vez podrías obtener algo muy duro si tuvieras experiencia, pero con solo un año, creo que es dudoso.

No puedo evitar sentir que sería mucho mejor si utilizara un motor o estructura existente y fuera de ella. Como dijiste, trabajar con otro código también sería una buena experiencia de aprendizaje. Te permitiría experimentar sin empantanarte en tener que hacer todo.

5

Hazlo simple o simplemente te ahogarás en complejidad antes de desplazarte para tener algo jugable. Como no lo ha intentado antes, tendrá muchas nueces para romper y no sabe cuánto tiempo tomarán.

Recuerde también que la redacción de informes y la documentación también requieren tiempo.

La idea es buena, y creo que puedes llevar a cabo un juego completo si encuentras buenos bloques de construcción. Sugiero que hablen de esto con su maestra para escuchar lo que es aceptable para ustedes. ¿Sería, por ejemplo,¿Estás bien para hacer un juego en un motor de código abierto si agregas alguna funcionalidad no trivial?

Actualización: Parece ser varios motores disponibles desde Java en http://www.devmaster.net/engines/list.php?fid=6&sid=1

+1

Los desarrolladores de juegos reales dejan informes de escritura y documentación hasta después de las pruebas. Es decir, dejamos que los usuarios hagan todo eso. :) –

+0

@ dash-tom-bang acaba de notar que su perfil menciona que usted es un desarrollador de juegos. ¿Tienes alguna experiencia para compartir sobre escribir juegos en Java? –

+0

No en un foro como este, y especialmente no en los comentarios de una respuesta. :) –

3

Quizás tendría sentido para mirar algunos esfuerzos existentes para conseguir una sensación para el alcance de lo que está viendo. Esto debería darle algunas ideas o incluso el código para construir en:

http://www.duncanjauncey.com/btinternet/old/javagame/game.html

http://en.wikipedia.org/wiki/Lightweight_Java_Game_Library

http://www.ardor3d.com/

http://en.wikipedia.org/wiki/JMonkeyEngine

Sería mucho por mí a morder (desde cero) en el tiempo dado eso es seguro. Eso es todo lo que puedo decir.

EDITAR: Pensé que quizás JOGRE no era lo que buscaba. Luego pensé en ello y parece que tendría todos los tipos de plomería adecuados para lo que está tratando de hacer.

nuevo EDIT: Después de mi respuesta, uno de los enlaces preguntas relacionadas en el lado parecía relevante: Java Game Programming: JOGL vs LWJGL?

+1

Gracias Justin, creo que el juego duncanjaunceys proporcionará una buena base para crear un 2d RTS – avatarX

3

gente olvida a menudo, que la creación de juegos es mucho más que la codificación de la cosa técnica. Se trata de creación de contenido, diseño de juegos, sonido y música, el "factor de diversión".Si hace un uso intensivo de las API o motores existentes, será posible, pero escribirlo desde cero sin experiencia en 3 meses es como preguntarse si puede codificar 100,000 LOC en este momento, lo que significa 1111 LOC por día. Esto podría ser posible, pero no si tienes que diseñar y pensar, y solo tener el código no hace juego.

1

Bueno, si te da alguna esperanza, mi equipo y yo estamos trabajando actualmente en un juego de estrategia en tiempo real llamado "The Genesis Project". Nos llamamos a nosotros mismos MotherBoard Games, o MBG para abreviar. Si lo desea, siempre estoy buscando más codificadores. Puede enviarme un correo electrónico a [email protected], puedo darle algunos consejos y sugerencias de mi experiencia de 6 años, 2 de los cuales se han dedicado a hacer este juego (para darle un alcance)

Cuestiones relacionadas