Blogia
maduniversity

Ideas iniciales sobre el Cliente

El jueves pasado probamos por primera vez el juego y decidimos apuntar todas las ideas/comentarios que se nos ocurrieran al respecto, así pues aqui expongo una lista de todos ellos.

- Crear un menu para conectarse al servidor y otro para seleccionar las opciones de video, sonido, etc...para no tener que editar el archivo de configuracion config.xml

- Cuando se tiene la mayúscula pulsada y se mueve con los cursores hacia derecha o izquierda no gira, sino que anda lateralmente, debería girar más rápido. Se deben habilitar otros dos botones para el desplazamiento lateral.

- Anda mal, y cuando se para se queda como si estuviera andando

- Se pueden transpasar objetos y personajes

- Se mete el personaje en el terreno

- En el Windows XP debe estar deshabilitada la protección mediante Firewall que trae por defecto (sino el juego no va)

- Mejorar escenarios, efectos atmosfericos, personajes, objetos, etc...

- Crear modelos, skins, etc.. pa los personajes y NPC's ==> Poder elegir el personaje actual desde el menu

- Poder llevar objetos pa intercambiar o usar

- Algunos medicos pasan de ti y no te dan tratamientos, los que dicen q te dan uno luego no lo tienes en el menu de tratamientos (algo falla?)

- Algunos minijuegos petan

- detección de colisiones, se puede usar codigo de lo de RG, si la representacion 3d va sobre un mapa 2D, se podrían detectar colisiones mediante poligonos 2D, lo cual seria bte rapido

+ Hacer que en la predicción de movimiento no se sobrepase cierta velocidad de movimiento, porque aunque vayan muy rapido no van a ir tan follaos como a veces salen en los clientes (que salen moviendose a 400 por hora)

- ventanita de log con todo el texto de toda la sesion del juego (o poder mirar mensajes anteriores por si la gente escribe muxo, etc...)

- ventanita de información donde diga la resolución actual, el nick del jugador, el servidor al que estamos conectado, el numero de personas k hay, nº de bots, etc... poder ver nombre de otros usuarios, etc....

- cuando alguien entre/salga de la partida (o cualquier tipo de evento) mostrar en el log de los clientes (en un color especial, igual que cuando alguien solicita un tratamiento)

- Tener tres modos de entrada de texto. El normal 't', el susurro 's' y el modo comando '!'. En el ultimo modo seria el unico donde se interpretarian los comandos, en el modo texto o susurro aunque pusieras cosas como '!trata 0 perico' se deberia interpretar como un mensaje del jugador, y nunca como comando

- Cuando el comando sea incorrecto se deberia mostrar un mensaje en el log (de un color especial)

- Hacer mas robusto frente a caidas del server. Si se pierde la conexion ==> perder partida y volver a menú principal.

- (Establecer) Mostrar las puntuaciones de cada jugador

- Cuando aparezcan usuarios en la pantalla con los que se pueda iniciar algun tipo de tratamiento indicar de alguna forma (mediante un circulo en 3D sobre/bajo el usuario?)

- Diferenciar mediante skins bien claros entre los distintos tipos de jugadores (médicos, jugadores, enfermeros...)

- Al iniciar sesion/cargar el programa etc... mostrar una ventanita (recuadro) donde indique lo que está haciendo y alguna barra de progreso o alguna forma en la que el usuario sepa que no se ha quedado colgado.... (cargando texturas, realizando peticion al servidor, conectando...recibiendo datos..etc...)

- Hacer edificios (1 unico nivel? tipo DOOM, mediante mapa 2D? X niveles, mediante octrees i burradas similares?)

- Cambiar nombre de "DreamGfx Application" por la de "Mad University"

- A veces el cliente se mueve a traskilones

- Realizar un pequeño mapa que muestre donde estan los demas jugadores/edificos, etc...

- Asignar un ID fijo a cada tratamiento/minijuego (mediante el servidor), de tal forma
que siempre sea el mismo numero para el mismo tratamiento... sino es un cachondeo..

- Cuando el cliente no tiene servidor y no esta en modo standalone ==> PETA

- si el cliente esta recibiendo info del server o cargandola de disco (en plan cargar texturas y tal) que tarda su tiempo y todo eso ==> mostrar mensaje de lo que se esta haciendo

- que los pies esten siempre arriba del terreno

- al jugar a minijuegos hacer que se puedan leer mejor los textos de los usuarios

- una vez finaliza un minijuego mostrar quien gana y quien pierde (e introducir esta info tb en el log)

- mirar a ver porque los minijuegos van tan lentos (hacer una conexion directa entre cliente/servidor?)

- Permitir ver porcentajes de las enfermedades¿? poder preguntar a medicos y/o enfermeros ¿? igual estaria bien ver porcentajes actuales y que se vayan actualizando al ir consultando con los enfermeros

- Hacer agua y que cuando pase por encima se sumerja ==> Como ocurre ahora con las montañas, pero con agua transparente :)

- Cuando en un rango determinado aparezca otro jugador que coincida con algunos tratamientos con el usuario actual marcar dicho cliente de algun modo (mediante un msg de texto, mediante algun circulito bajo o encima de él (en el mundo3D)) etc...

NOTA: las ventanitas serian un recuadro del juego con un alpha, para ke se siguiera viendo el fondo del juego, etc...

1 comentario

Adler -

Bueno, tengo algunos comentarios:

- El tema del menú era algo que ya estaba en el diseño original. La cosa era hacer el menú sea como una aplicación aparte que lo que haga sea escribir el config.xml.

- En cuanto a los controles, va en gustos. Ahora mismo está como los controles por defecto del Doom, se pueden cambiar, o incluso lo ideal es que los pueda elegir el usuario.

- Andar anda bien, lo que hace mal es correr, por que la animación que estamos usando es de andar, pero más deprisa. La solución sería usar un modelo con varias animaciones, entre ellas la animación al estado de reposo.

- No hay ningún tipo de detección de colisiones, ni con personajes ni objetos.

- Lo de que se mete el personaje en el terreno, consultar la memoria. Ese problema está tratado allí en la parte de optimización del terreno.

- Lo del firewall... imagino que será común a muchos videojuegos que usen puertos no estándar... de todas formas es interesante echarle un ojo.

- Mejorar X: genial! :)

- Crear X: guay! :)

- Objetos: una buena idea, eso le dará más toques de rpg.

- Lo de los tratamientos... raro... habrá q hacer alguna prueba.

- Petan algunos minijuegos? Me extraña. Yo más bien apostaría por que lo que peta es el subsistema de comunicaciones.

- Mejorar la predicción de movimientos: genial.

- Ventana de log: una idea era poner una especie de barra de desplazamiento o algo así sobre el hud.

- Ventana de información: guay.

- Mostrar en el log las entradas y salidas. Eso me parece un poco bestia, ya que piensa que en teoría puede llegar a haber miles de jugadores simultáneos. Sería bastante caótico.

- Lo de los modos, no se, va en gustos. Idealmente no debería haber comandos, sino funcionar todo por medio de iconos y ratón.

- Robustez: genial.

- Ranking de los mejores jugadores: absolutamente genial.

- Resaltado de personajes: muy bien, siempre que sea opcional (sólo mientras pulses una tecla o algo).

- Mejores skins: a currar... :)

- Inicialización con más información: eso era la idea, es bastante necesaria una barrita de porcentaje o algo.

- Edificios: le añadirá un realismo e interés bestial.

- Cambiar nombre: guay, pero lo suyo sería cambiarlo con un parámetro del constructor al inicializar la aplicación.

- Que el cliente va a trasquilones? Me extraña, debería ir genial en prácticamente todas las tarjetas. Lo único que se me ocurre es algún problema con los árboles y el render a textura.

- Mapa: guay. En las pruebas había gente que se perdía de verdad XD

- Lo de el ID, todo esto debería ser transparente al hacer la interfaz con iconos. El jugador no debería saber nada de ésto.

- Cliente sin servidor: hmm, pensaba que daba un mensaje de error.

- Mostrar mensaje de lo q se está haciendo: es lo mismo q lo de la inicialización.

- Pies siempre arriba del terreno: es lo mismo q lo de q se atraviesa el terreno.

- Mejorar X: genial.

- Mostrar info después del minijuego: mola.

- Para optimizar la comunicación entre clientes lo que habría q implementar es la comunicación directa entre clientes, que es bastante compleja por los problemas que puede haber, pero ya todo eso está diseñado e incluso está implementado el esqueleto de esta opción.

- Ver porcentajes: esa era la idea, no se hizo por falta de tiempo, pero está en el diseño.

- Agua: yo pensé hacer agua, pero que no se pudiese entrar ahí (sería fácil). No lo hice por los problemas con la optimización del terreno. Al final probablemente haya que desactivarla. Si permites andar por el agua tendrás que mirar que a partir de cierta profundidad se enlentecerá el paso, luego habrá q ir nadando, con las animaciones q haya q hacer, si permites q se sumerja completamente tendrás q poner una barra de oxígeno...

- Circulito: repetida.

Nada, sólo era poner mi granito de arena constructivo, todo esto tiene muy buena pinta, seguid así! :)