Recursos Hemos estado muy ocupados con el trabajo y los estudios, pero hemos conseguido que nuestro servidor dedicado por fin muestre algo de interés ( y a qué precio ) y nos instale el django por fin!, asi que empezaremos a publicar lo que llevamos hecho para recuperar el tiempo perdido,empezando por dar un pequeño índice de contenidos acerca de tecnología web de desarrollo rápido. El orden de presentación es el siguiente: (como me ha gustado el curso de django que tomé,me permitiré copiar el índice pero desarrollar el contenido a nuestro gusto,por supuesto, me gusta su presentación y la información es distinta ) Introducción ( ¿qué es ésto? ) Python ( ¿por qué? ) Django y Etapas de creación del videojuego web Web 2.0 o Ajax o Interfaces de usuario dinámicas o Interfaces de usuario gráficas o Usabilidad o Accesibilidad o Jugabilidad INTRODUCCIÓN Al principio todo el mundo programaba juegos en HTML con scripts en el servidor en lenguaje PHP,ASP,JSP,etc. que realizan tareas y muestran resultados, en modo texto…algunos atrevidos como los expertos creadores de OGAME y otras secuelas de piratas le echan más valor e implantan añadidos con posición al mundo virtual de plataforma web que hace las veces de renderizado en perspectiva isométrica simulada en 2D. Las nuevas tendencias se basan en la utilización de entornos para desarrollo rápido, como CakePHP, Ruby on Rails y la que vamos a utilizar nosotros : django, eso sí, en combinación con una interfaz web de última generación mediante una técnica que comentaremos más adelante. PYTHON Lenguaje interpretado e interactivo Multiplataforma Sintaxis clara y concisa Nos permite: o Programación orientada a objetos o Programación modular o Programación declarativa o Programación funcional DJANGO DJANGO es un marco de desarrollo web sobre Python que permite desarrollar rápidamente aplicaciones web. Surgió en el contexto de un periódico,donde se necesita crear webs en tiempos récord. Se creó paralelamente a Ruby on Rails, pero sin conocerse mutuamente. Sigue unos patrones de diseño o Modelos : para organizar los datos o Vistas : para mostrar los datos o Plantillas : presentaciones gráficas distintas en un sólo click Componentes principales: o Mapeador objeto - relacional ( ORM ) o Gestor de URLs o Sistema de plantillas o Administración generada automáticamente Etapas de creación del videojuego con django: o Crear el modelo de datos e instalarlo en la base de datos (mysql) o Definir las URLs de la aplicación o Crear las vistas y los módulos de respuesta a los procesos del juego (AJAX) para los usuarios finales o Diseñar las plantillas de presentación ( HTML ) o Diseñar los personajes ( Imágenes ) o Diseñar los enemigos y monstruos ( Imágenes ) o Diseñar los efectos especiales ( Imágenes ) o Diseñar las fases,i.e.,los mundos ( Imágenes ) o Ajustar las propiedades de cada una de las entidades mencionadas o Realizar las primeras pruebas y publicar el proyecto WEB 2.0 Es la evolución de la web Aplicaciones web como si fueran de escritorio Mezcla de términos tecnológicos: CSS, XHTML, AJAX ,RSS, API,etc. con términos sociales ( Folksonomies, Social Networking, Collaborative Work ) AJAX o Asyncronous Javascript And Xml o Nuevo modelo de comunicaciones para páginas web o Mientrás que AJAX elimina la interacción en la Web introduciendo un intermediario -un motor AJAX- entre el usuario y el servidor. o o Parecería que sumar una capa a la aplicación la haría menos reactiva, pero la verdad es lo contrario. En vez de cargar un pagina Web, al inicio de la sesión, el navegador carga al motor AJAX (escrito en Javascript y usualmente en un frame oculto). Este motor es el responsable por renderizar la interfaz que el usuario ve y por comunicarse con el servidor en nombre del usuario. El motor AJAX permite que la interacción del usuario con la aplicación suceda asincrónicamente (independientemente de la comunicación con el servidor). Así el usuario nunca estará mirando una ventana en blanco del navegador y un icono de reloj de arena esperando a que el servidor haga algo. Comparación entre modelos: o o o Interfaces de usuario dinámicas Características a tener en cuenta – Facilidad de uso – Usabilidad – Cross Browser – Accesibilidad – “Degradable” La tendencia actual es conseguir aplicaciones tan dinámicas y sencillas como puedan serlo programas de escritorio. Usabilidad Definición formal: – “Técnicas que ayudan a los seres humanos a realizar tareas en entornos gráficos de ordenador” - Recordar: La gente que entra en la web es por que busca un juego…Hacerlo sencillo es decisión nuestra En Internet el usuario es el que manda. Esto quiere decir que sin usuarios el juego muere, así que más nos vale que cuidarlos y darles lo que nos piden, de lo contrario nos quedaremos solos. En Internet la calidad se basa en la rapidez y la fiabilidad. En Internet cuenta que la página sea más rápida que bonita, fiable que moderna, sencilla que compleja, directa. Proponemos hacer una pagina decente, simple,que reducida,y optimizada.No queremos que la gente se va aprenda el site por mucho que insistamos,como ocurre con otros juegos web…sencillo, reutilizando todos los elementos que podamos, para que de este modo los usuarios se sientan cómodos y no se pierdan cada vez que necesiten encontrar algo en el sistema. Accesibilidad La accesibilidad Web significa que personas con algún tipo de discapacidad van a poder hacer uso de la Web… Es un tema delicado porque el usuario puede no tener javascript,desactivarlo o deshabilitarlo tras cargar la página… Web Accessibility Initiative (WAI) – El grupo de trabajo permanente Web Accessibility Initiative (WAI), (Iniciativa para la Accesibilidad de la Red) en coordinación con organizaciones al rededor de todo el mundo, persigue la accesibilidad de la Web a través de cinco áreas de trabajo principales: tecnología, directrices, herramientas, formación y difusión, e investigación y desarrollo. Al tratarse de un juego se meditará sobre el mismo y no sobre temas de accesibilidad que son requisitos del sistema para poder jugar, al menos por ahora, y si el proyecto tenga más miembros en el equipo podremos (con tel tiempo suficiente) empezar a seguir las reglas de accesibilidad: 1. Proporcione alternativas equivalentes para el contenido visual y auditivo. 2. No se base sólo en el color. 3. Utilice marcadores y hojas de estilo de forma apropiada. 4. Identifique el idioma usado. 5. Cree tablas que degraden correctamente. 6. Asegúrese de que las páginas que incorporan nuevas tecnologías se transformen correctamente. 7. Asegure al usuario el control sobre los cambios de los contenidos cambiantes en el tiempo. 8. Asegure la accesibilidad directa de las interfaces de usuario incrustadas. 9. Diseñe con independencia del dispositivo. 10. Utilice soluciones compatibles. 11. Utilice tecnologías y pautas w3c. 12. Proporcione información de contexto y orientación. 13. Proporcione mecanismos claros de navegación. 14. Asegúrese de que los documentos sean claros y simples. o Jugabilidad No hacer perder el tiempo a la gente con cosas que no necesita Buenos contenidos. Escribir bien para internet es todo un arte. Conclusiones al principio: De esta forma el usuario no tendrá que buscar lo que necesita y perderá menos tiempo en disfrutar del juego…Si hace más cosas en menos tiempo la jugabilidad aumentará y quizás se dedique a explorar el site o quizás se lo recomiende a un amigo.