Día 1 - control de estado del proyecto

3oheme, 30 Enero 2010

Captura imaginaria de varios dominous superpuestos entre sí, con sombreado

¡Vuelta al trabajo! Después de tanto tiempo sin escribir ningún post os tengo que poner un poco al día de cómo va todo el proyecto. ¡Empezamos!

Arquitectura del proyecto

La arquitectura del proyecto sigue bastante fiel a la idea principal que se tuvo (y que explicaré más detalladamente en el siguiente post), pero a grosso modo decir que el sistema está orientado a objetos, y están modularizados y perfectamente separados (sin ningún tipo de acople, al menos por ahora) los siguientes elementos:

  • Sistemas de gestión de una partida (dominoes.py), que reparte las fichas, comprueba que los jugadores colocan las fichas que corresponden (es decir, fichas que poseen y que se puedan colocar en el tablero), controla el fin de la mano y de la partida, y todas las acciones normales que pueden necesitarse para controlar una partida de dominó.
  • Engine (graphics.py, que cambiará su nombre en breve a engine.py), encargado de los dispositivos de entrada/salida (interacción con del usuario y dibujar la pantalla) Con esto conseguimos que, si en un futuro se quiere prescindir de pygame y adoptar otra librería gráfica el proceso debería ser bastante sencillo y limpio.
  • Los jugadores (tanto humano como controlado por una computadora), que heredan de una clase superior player.py y que comparten los métodos básicos de interacción: recibir información de la partida, colocar ficha, etcétera.

Entorno gráfico

El entorno gráfico está bastante avanzado. Por ahora me he centrado en el desarrollo de una partida (no hay menús, no hay información adicional), las fichas se distribuyen correctamente a los jugadores, se dibujan todas las fichas y la mesa. Las características implementadas son las siguientes:

  • Pintado del tablero: se ha desarrollado un algoritmo para pintar las fichas en la posición y orden correcto. Puede parecer un problema trivial, pero resulta bastante laborioso (o yo he estado más torpe de la cuenta, que también puede ser :-P)
  • Se ha implementado un sistema de themes/temas gráficos, con la idea que desde el menú principal del juego se pueda seleccionar el aspecto gráfico de la aplicación, en concreto: fichas, pantallas de inicio, mesa, etc. En principio únicamente se trabaja con el tema clásico por defecto, más adelante iré añadiendo nuevos temas. Ya os podéis imaginar el juego que da todo esto: entorno tasca de la España profunda, diseño inspirado en la película Tron, fichas con símbolos en lugar de números...
  • Utilización de fichas en HD, soportando monitores de hasta 1920x1080 (fullHD) sin ningún problema (wow!)
  • Diferentes formatos y resoluciones de pantalla: las fichas se reescalan y se configuran según la pantalla del usuario, por lo que da igual que la pantalla tenga proporción 4:3 o 16:9, las fichas tendrán el tamaño correcto para una visualización cómoda de la partida

Poco más. Os dejo aquí una captura de pantalla de la aplicación, y tenéis más en los adjuntos. Prometo escribir como mínimo un post a la semana, e ir informando del estado del proyecto.

Commit!

AdjuntosTamaño
dominous_formato_vertical.jpg30.3 KB
dominous_200x200px.jpg8.48 KB
dominous_formato_1-1.jpg62.56 KB
dominous_captura.jpg49.85 KB

espero que saques una version para mac

¡Por supuesto! además lo sacaré para la Store, y con versión para iPad. Imagínate la gran experiencia de usuario e instrumentalización de la usabilidad que se puede conseguir interactuando directamente con tus manos sobre las fichas de dominó.

:-D

El contenido de este campo se mantiene privado y no se mostrará públicamente.
CAPTCHA
Esta pregunta sirve para evitar spam
Image CAPTCHA
Copia los caracteres, respetando mayúsculas y minúsculas, para comprobar que no eres un bot maligno spammero.

Dominous participa en el PFC summer of code

Flipando con...

  • Martin Solveig, enamoraíto perdío me hallo de su música disco funky.

  • Portal, una de las más grandes maravillas que he disfrutado y una prueba de que el mundo de los videojuegos es el nuevo arte con mayúsculas.

  • AutoHotkey, también llamado AHK, un programa genial para hacer macros y scripts al que le debo respeto, cariño y admiración

  • Intenta no moverte mientras escuchas Freestylers - Jump n Twist... ¡ya estamos en feria!

  • me encanta darme vueltas por páginas aleatorias de la wikipedia

  • escuchando el álbum cross de justice en spotify

  • Nino Bravo y sus números 1 :-D Contigo yoo me siento el rey del mundooo...

3oheme participa en el concurso universitario de software libre

Flickr random photos

la feria a dos velocidadesLisboaÁngel caídobuscando mi lugarOportoEnjuto MojamutoAmarillo y negroDeja que te acaricie

Comentarios recientes