Agregador de canales de noticias
EducaInternet: a new ViSH instance
We are happy to announce that EducaInternet, a new ViSH instance, has been released.
This new ViSH instance is a platform focused on providing content for the proper training of teachers and students on the topic of Internet security.
The website can be accessed at http://educainternet.es . It’s free for everyone to register and enter in the community.
The fork of the original repository is here: http://github.com/ging/vish_orange .
Roadmap del proyecto
En esta entrada se va a mostrar cuál es el estado actual del proyecto, qué objetivos se han cumplido y en qué porcentaje. Además se hablará en qué se está trabajando actualmente.
Estado del proyectoEn primer lugar, recordemos cuál es la lista de hitos que se pretenden cumplir en este proyecto:
- Desarrollar un videojuego utilizando gráficos 3D.
- Implementar mecanismos de instrumentación que permitan aplicar técnicas de testing automático.
- Diseñar e implementar un modelo de red para permitir modo multijugador.
Como subobjetivo, se pretende que dicho videojuego pueda servir a futuros programadores para aprender técnicas básicas y fundamentos esenciales del desarrollo de un videojuego. Por esta razón se hará énfasis en los siguientes aspectos:
- Claridad del código.
- Uso de patrones de diseño.
- Técnicas de introspección de objetos.
- Acceso al código fuente y al propio proyecto. Por esta razón se distribuirá bajo una licencia libre.
Hasta la fecha se han cumplido los siguientes objetivos:
- Desarrollo de un videojuego utilizando gráficos 3D: Se ha conseguido desarrollar una primera versión del juego de carreras. En el siguiente vídeo se ve una muestra de lo desarrollado hasta la fecha. Aunque el vídeo no tiene sonido, el motor de juego que se ha desarrollado para este proyecto sí que cuenta con el soporte para incluirlos.
- Trabajo futuro: animaciones y efectos de partículas, así como mejorar el aspecto visual de los menús, seleccionar sonidos adecuados para este juego(música y efectos). En cuanto al gameplay, se pretende dar la oportunidad al jugador de mejorar su coche mediante la compra de mejoras.
- Implementar mecanismos de instrumentación que permitan aplicar técnicas de testing automático: gran parte de la arquitectura del motor de juego que se ha desarrollado para este proyecto ha surgido a partir de las pruebas que se han escrito. Son pruebas muy sencillas basadas en log escritas a modo de pequeños ejemplos. Dichos ejemplos son en realidad pruebas de comportamiento; es decir, lo que se persigue no es comprobar que el valor de retorno de una determinada función es correcto, sino que el funcionamiento en conjunto del sistema es el adecuado. La ventaja es que las pruebas se han escrito con la hoja de especificación de requisitos en la mano, lo que nos permite afirmar que se están implementando al pie de la letra. Las pruebas sacan obtienen la información del sistema a través de un sistema de logs que se ha añadido al motor, el cuál facilita la labor de depuración. Además, dado que la salida de las pruebas se registra en ficheros de texto, es posible automatizar la ejecución de las pruebas y mas tarde comprobar los resultados.
- Trabajo futuro: La limitación del sistema de log que usamos es que sólo puede proporcionar información relativa a los objetos del juego, la traza de ejecución o las excepciones lanzadas. Cuándo queremos comprobar cualquier aspecto referente a la interfaz gráfica, nos encontramos con que no tenemos el soporte necesario. Una posible forma de hacer frente a esta limitación consistiría en hacer uso de una biblioteca de analisis de imagen, a la cuál le pasaríamos una captura de pantalla. En teoría, este tipo de pruebas nos permitirían asegurarnos que la construcción de los escenarios es correcta, así como los menús y demás elementos gráficos, aunque queda mucho trabajo de investigación por delante para ver hasta qué punto es realmente útil la implementación de pruebas de este tipo.
- Diseñar e implementar un modelo de red para permitir modo multijugador: actualmente se está trabajando en el modelo de red del juego. Para ello, se está utilizando ZeroC Ice, un middleware de red orientado a objetos. Cuenta con implementación en python, C++, java, etcétera.
- Trabajo futuro: Generalmente se suele decir que los middleware de red añaden demasiada sobrecarga y, por esta razón, no son adecuados para juegos que requieren reacciones rápidas por parte de los jugadores, como son los juegos de carreras. Con el uso de este middleware se pretende probar que el uso de un middleware de red, si es lo suficientemente flexible, permite adecuarse a las necesidades de los desarrolladores y, aunque añada una mayor sobrecarga que una implementación que sólo ofrezca soporte para sockets, los mecanismos de alto nivel que proporciona hace que merezca la pena.
¿Qué son los Minus?
Amanece una nueva y radiante mañana en Electrópolis. Un Minus normal, con una vida normal se prepara para salir al trabajo y afrontar un día normal: Hoy también espera ser ascendido, subir de nivel en sus quehaceres diarios y romper la monotonía que supone circular sin parar por un mismo lugar, conocer más rutas y aprender nuevos movimientos mucho más interesantes. Antes de salir de su casa, se acerca a su esposa para abrazarla y sentir ese calor que emana de la fuerza de repulsión que les impide hacer contacto; una fuerza con una ternura especial que no le transmiten las interacciones con otros Minus.
La vida de un Minus no tiene mucho misterio. Todos trabajan de lo mismo, corriendo a toda velocidad por espacios concretos enormes que dependen de su puesto. A veces los ascienden y amplían sus recorridos (Lo cual es muy divertido), y en ocasiones tienen que bajar al nivel inferior si sucede alguna baja. Dicho de otra forma, los Minus se pasan toda su vida corriendo, compitiendo, jugando, y haciendo cualquier cosa que les apetezca en su espacio asignado. Por esta razón, ¡Es muy difícil saber dónde estará un Minus o qué estará haciendo cuando está trabajando!
Nuestro Minus protagonista se prepara para hacer su ronda. Hoy será el as de la pista, el corredor de los corredores, la estela que siempre va delante. Cuando por fin parece a punto de salir, repentinamente nota algo extraño: Todo su cuerpo comienza a temblar y sabe que hoy va a trabajar poco.
Desde todos los lugares a su alrededor, rayos azules parecen moverse hacia un mismo punto. Millones de Minus se disparan hacia lo que parece ser un brillo rojo que se distingue en la lejanía. Todos estaban trabajando pero ya no; todos aspiraban a subir de nivel, pero ya no. Ahora lo único que les preocupa es alcanzar ese atractivo fulgor que les atrae incondicional e inevitablemente. Ese extraño fenómeno llamado potencial positivo.
Pequeños avances
Con la tarea de seguir aumentando mis conocimientos en LibGDX, sigo dedicando la mayor parte de mi tiempo a estudiar los manuales. Pero eso no ha sido todo, afortunadamente, por el camino voy probando cosillas en mi proyecto de Eclipse que quiero incluir para Saving Granny. Hablo en concreto de lo que se denomina HUD (Head-Up Display), que no es otra cosa que el panel superior en el que van incluidos los puntos conseguidos, las vidas que tiene el personaje, el tiempo transcurrido, etc.
En esta versión pre-alfa, que en breve estará en un repositorio, nuestra protagonista Caperucita tiene 3 vidas, y si se cae al vacío o las ovejas le “atacan” perderá una vida. Si desgraciadamente se han agotado todas las vidas antes de terminar el juego, saldrá la pantalla Game Over.
Por lo que ahora mismo hay dos alternativas de finalizar el juego.
El circuito electrónico (1)
Es hora de hablar del circuito electrónico que gobernará los electrodomésticos.
Se trata de un circuito muy simple en el que usaremos relés para activar y desactivar los electrodomésticos y el sensor ACS712 para realizar el control con el que sabremos si el electrodoméstico está conectado y además cuanta potencia está consumiendo.
Vamos a ver el circuito con más detalle.
Empezaremos por el relé , este dispositivo funciona como un interruptor que se cierra o se abre dependiendo si pasa o no corriente por su bobina.
Como vemos en el esquema, la red debe ir conectada al común del relé y el electrodoméstico a la conexión NO (Normalmente abierta). Preferiblemente esto lo haremos con el neutro.
Por otra parte tenemos que conectar la bobina que será la encargada de cerrar el interruptor. Nuestro relé funciona a 5VDC para que pueda ser compatible con Arduino. Además no conectaremos directamente el relé al Arduino para evitar freírlo, sino que lo haremos a través de un transistor BC547. Conectamos el colector del transistor a la fuente de 5V y el emisor a la entrada de la bobina del relé, el encargado de activarlo será el Arduino con un pin de salida conectado a través de una resistencia de 10k a la base del transistor para limitar la corriente. La otra conexión de la bobina va conectada a GND. Por último mencionar que el diodo conectado al relé sirve para disipar las intensidades parásitas almacenadas en la bobina.
Hasta aquí la breve explicación de como funciona el relé en nuestro circuito, en la próxima entrada trataremos de explicar el sensor ACS712.
¡Crecemos!
Esta mañana nos hemos dado una vuelta por DIYzaca, empresa ilicitana de servicios de impresión 3D y venta de kits Arduino enfocados al “Do it yourself”. Hemos estado hablando con el gerente sobre nuestra iniciativa Open Tiny Crazy World y le hemos contado algunas de nuestras ideas, lo que pretendemos y de qué forma queremos enfocarlo mediante la filosofía “OpenSource”. La idea ha parecido entusiasmarle en gran medida y con mucha amabilidad ha accedido a colaborar con el proyecto facilitándonos la impresión 3D de los prototipos para nuestro sistema universal de construcción (Tiny World). El proyecto avanza y Open Tiny Crazy World crece.
¡Permaneced atentos!
NumberDance pushed to master at NumberDance/InformaT
- 9fbd2d9 Lanzada plantilla general de la aplicación
- 3043cfb Estructuras
- View comparison for these 2 commits »