Seguimiento del desarrollo de mi tercer proyecto (primero en solitario que empiezo desde cero).
Versión: vAlpha_0.07.18
Implementado hasta ahora:
- Comunicación cliente/servidor chat: los jugadores pueden comunicarse entre ellos mediante un único canal de chat.
- Comunicación cliente/servidor mundo: se transfiere vía tcp el nombre, posición actual y dirección de movimiento del jugador y se comunica al resto de jugadores, por lo tanto ya les pueden ver en movimiento.
- Añadido sistema de cuadrículas (Tiles) para texturizar el suelo. Cada cuadricula mide 128x128px y pueden ser colisiona-bles.
- Se divide el mundo en secciones, cada sección se compone de 1000 cuadrículas y se cargan a petición, permite guardar la información de las secciones en otro servidor y hace que las secciones sean modulares (que se puedan modificar/añadir secciones sin tocar el software cliente.
El nº de secciones puede llegar a millones.
- El jugador puede moverse por el mundo mediante las flechas y wasd.
- Implementado movimiento del jugador a través de las secciones, las cuadrículas se cargan a medida que el jugador avanza teniendo en cuenta la dirección de este.
Cuando el jugador se acerca al límite de la sección, se empieza a cargar la siguiente a través de un simple fichero de texto con la información de las 1000 cuadrículas de esa sección, esta carga se realiza mediante un thread a parte y supone un 2-3% de uso de cpu y parece negligible en el rendimiento del juego (al menos en mi hexa-core).
Cuando el jugador se aleja del límite de la sección, la anterior se empieza a liberar.
- Se añaden 2 texturas para representar al jugador y al resto de jugadores online, ambos tipos de jugadores tienen animación de movimiento en 4 direcciones (norte, sur, este, oeste).
- Añadidas sombras cutres a las texturas de los jugadores.
- Implementado efecto climático: Sombras de nubes en movimiento, hay 5 distintas que pasan constantemente cerca del jugador y siempre en la misma dirección.
- Se prepara el objeto cuadrícula para que pueda tener animación.
- Añadido un label con la información de posición del jugador ( 0.00|1.49 : donde 0/1 es el número de sección horizontal/vertical, y .00/.49 el número de cuadricula horizontal/vertical.
- Añadida carga externa y reproducción de música mp3, de esta manera se puede alojar en un servidor externo y ser cargada a petición.
Eso es todo (creo).
No comments:
Post a Comment