Programación en vídeo juegos
Últimamente ha surgido un boom de desarrollo de videojuegos indie, videojuegos hechos por pequeños estudios o grupos de personas sin los millonarios presupuestos de las grandes compañías, pero que a veces consiguen verdaderas obras maestras.
Muchos ven en esto un modelo de negocio y quieren saber cómo empezar a programar videojuegos. Otros simplemente por curiosidad, diversión o un poco de todo, en cualquier caso vamos a ver que necesitamos para empezar en este mundo de la programación de videojuegos.
¿De verdad lo que quieres es programar videojuegos?
Parece una tontería de pregunta, pero es clave. En el desarrollo de videojuegos existen varia áreas, estas son las cinco principales: Diseño, Programación, Gráficos, Audio, Distribución y Marketing. Vamos a pasar a analizarlas brevemente.
Diseño. La parte más importante de un videojuego. Historia, Guión, jugabilidad, reglas y demás conceptos que hacen a un juego ser lo que es.
Programación. Una vez elaborado un diseño es la parte donde se juntan gráficos, audios y reglas para dar vida a un mundo interactivo. Existen varias disciplinas a su vez dentro de ella como programación gráfica, gameplay o inteligencia artificial.
Gráficos. Interfaces, modelos 3D, animaciones y todo lo que “se ve” de el videojuego, existen varias disciplinas tanto en 2D como en 3D.
Audio. Efectos de sonido, música de fondo, diálogos. Muy importante para crear ambiente.
Distribución y marketing. El arte de publicar y promocionar un videojuego, responsable del éxito o no de muchos productos dependiendo de las estrategias que sigan.
Como vemos la programación solo es una parte del proceso y nunca un todo, si aún crees que la programación de videojuegos es tu área vamos a analizarla a fondo.
Programar videojuegos, sus áreas
Los grandes estudios tienes varias decenas de programadores, especializados en diferentes áreas. En programación de videojuego los principales equipos y/o disciplinas que puedes encontrar son los siguientes.
Programación del motor. Son los encargados de implementar la base sobre la que se sustenta el videojuego. Comunicación con el sistema operativo, gestión de memoria, gestión de cadenas, gestión de recursos, etc. Son necesarios grandes conocimiento de la plataforma para la que se programa, algoritmia y complejidad, opimización y gestión a bajo nivel.
Programación gráfica. Su misión es lidiar con las diferentes apis gráficas como DirectX y OpenGL. Conocimienos de dichas apis, y matemáticas sobre todo álgebra y geometría.
Programación de física. Se encarga de emular los comportamientos físicos del videojuego. Conocimientos de matemática vectorial y física dinámica y mecánica.
Programación de inteligencia artificial. Es la encargada de hacer nuestros enemigos (o nuestros aliados) inteligentes. Conocimientos de lenguajes de script, matemáticas y algoritmos de IA como pathfinding, máquinas de estados finitos o redes neuronales.
Programación de red. Se encarga de la parte multijugador, servidores y todo lo que sea conectar una máquina con otra.
Programaición de Gameplay. El equipo que se encarga de programar la lógica del juego, sus reglas. Conocimientos de lenguajes de script y uso de las partes desarrolladas por los otros equipos.
Estas son las principales áreas en las que se dividen los grandes estudios pudiendo variar en muchos de ellos, pero estas son las principales disciplinas de la programación de videojuegos. Vale, lo tengo claro, ¿Por cual empiezo? Por todas y por ninguna.
Cuando uno empieza ninguna de las áreas tiene un alto grado de complejidad y el programador indie debe aprender a lidiar con todas las áreas, las especializaciones es bueno tenerlas en cuenta de cara a un futuro, pero para empezar te tocará aprender un poco de todo.
Ahora sí, por donde empezar a programar videojuegos
Ahora que quedan claros los diferentes niveles que existen y el grado de complejidad que puede alcanzar cada área no te asustes, vamos a empezar por el principio.
Cuando uno se mete por primera vez en el desarrollo de videojuegos lo primero que le da por hacer es un clon de su Final Fantasy, GTA o MMORPG preferido y sucede lo que tiene que suceder: fracasa estrepitosamente. Todos los que un día empezamos pasamos por eso y es bueno para ver el nivel de complejidad de esos proyectos y lo que significa tal obra de la ingeniería de software.
Una vez superado este trauma inicial y con los pies en el suelo llega la primera regla: olvídate del 3D, al menos, de momento. Tus primeros juegos deben ser clones de los clásicos del 2D: Pong, Breakout, Pacman y cuando te sientas con confianza, incluso un juego de plataformas.
Aunque estoy suponiendo demasiadas cosas y una de ellas es que ya sabes programar así que vámonos más atrás aún.
http://www.genbetadev.com/programacion-de-videojuegos/como-empezar-a-programar-videojuegos
miércoles, 24 de septiembre de 2014
Adobe ActionScript (fecha de lanzamiento en 1997) es el lenguaje de programación de la plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen de forma más interactiva. La programación con ActionScript permite mucha más eficiencia en las aplicaciones de la plataforma Flash para construir animaciones de todo tipo, desde simples a complejas, ricas en datos e interfaces interactivas
es.wikipedia.org/wiki/ActionScript
ActionScript es el lenguaje asociado a Flash. Ha ido variando mucho desde sus inicios por lo que actualmente tenemos 3 versiones del lenguaje muy diferentes. A medida que ha pasado el tiempo el lenguaje se ha hecho más robusto y versátil.
ActionScript 3 es el lenguaje de programación que utiliza Flash CS3, CS4 y CS5. Se trata de un lenguaje orientado a objetos. Inicialmente ActionScript era un lenguaje orientado a eventos, pero poco a poco y debido al potencial de la orientación a objetos esto ha ido cambiando.
Gracias a ActionScript 3 podemos estructurar el código de nuestras aplicaciones de forma más clara y sencilla, facilitando la búsqueda de errores y la lectura del programa.
Una de las desventajas de ActionScript 3 es que requiere escribir más código que las anteriores versiones, sin embargo existen herramientas que facilitan enormemente la tarea de programar con ActionScript (FlashDevelop, Eclipse o el propio editor de Flash CS5).
http://circuloycuadrado.com/programacion-basica-actionscript-3/introduccion-actionscript-3
es.wikipedia.org/wiki/ActionScript
ActionScript es el lenguaje asociado a Flash. Ha ido variando mucho desde sus inicios por lo que actualmente tenemos 3 versiones del lenguaje muy diferentes. A medida que ha pasado el tiempo el lenguaje se ha hecho más robusto y versátil.
ActionScript 3 es el lenguaje de programación que utiliza Flash CS3, CS4 y CS5. Se trata de un lenguaje orientado a objetos. Inicialmente ActionScript era un lenguaje orientado a eventos, pero poco a poco y debido al potencial de la orientación a objetos esto ha ido cambiando.
Gracias a ActionScript 3 podemos estructurar el código de nuestras aplicaciones de forma más clara y sencilla, facilitando la búsqueda de errores y la lectura del programa.
Una de las desventajas de ActionScript 3 es que requiere escribir más código que las anteriores versiones, sin embargo existen herramientas que facilitan enormemente la tarea de programar con ActionScript (FlashDevelop, Eclipse o el propio editor de Flash CS5).
http://circuloycuadrado.com/programacion-basica-actionscript-3/introduccion-actionscript-3
martes, 23 de septiembre de 2014
Herramienta Adobe Flash
Flash Professional CS5 es una potente herramienta desarrollada por Adobe que ha superado las mejores expectativas de sus creadores.
Flash fue creado con el objeto de realizar animaciones y diseños vistosos para la web, y gráficos interactivos.
Los motivos que han convertido a Flash en el programa elegido por la mayoría de los diseñadores web profesionales y aficionados son varios. Veamos pues, porque es interesante Flash Pro CS5
http://www.aulaclic.es/flash-cs5/t_1_1.htm
Flash Professional CS5 es una potente herramienta desarrollada por Adobe que ha superado las mejores expectativas de sus creadores.
Flash fue creado con el objeto de realizar animaciones y diseños vistosos para la web, y gráficos interactivos.
Los motivos que han convertido a Flash en el programa elegido por la mayoría de los diseñadores web profesionales y aficionados son varios. Veamos pues, porque es interesante Flash Pro CS5
http://www.aulaclic.es/flash-cs5/t_1_1.htm
Características del Software Educativo
La Principal característica del software educativo es que debe cumplir con los criterios o propósitos expresados en el programa de estudio o en la situación para la cual se diseñan y lograr el aprendizaje.
El software diseñado con propósitos educativos o de formación aprovecha los aspectos funcionales y técnicos como son la multimedia, la programación y los medios de distribución, integrados con los pedagógicos para que expongan con claridad el contenido y competencias que pretendan desarrollar.
Características:
Contenido: Los conceptos a aprender o competencias por desarrollar se presentan de manera correcta, bien estructurados, con redacción clara y legible, sin faltas de ortografía.
Documentación: Disposición de información útil, clara, y suficiente de las características, uso y estrategia didáctica del software.
Autoevaluación: Integración de recursos para autoevaluar el aprendizaje y retroalimentar el proceso.
Interacción: Capacidad de reacción reciproca a manera de dialogo entre el usuario y el programa.
Medio: Es el medio de distribución y puede ser: archivo ejecutable, CD ROM o DVD ROM, en línea(internet),etc.
Multimedia: Incorporación de recursos multimedia.
Navegación: Capacidad de dirigir el acceso al contenido del programa según los deseos del usuario.
Presentación: El diseño de la interfaz debe ser atractivo, claro, sin excesos visuales, funcional, con elementos gráficos que resalten el contenido y que permitan su fácil manipulación. Debe contener menús, barras de navegación, iconos, pantallas, etc.
Usabilidad: Instalación y desinstalación sencilla o transparente para el usuario. Manejo fácil sin que demande entretenimiento previo o la lectura exhaustiva de manuales.
Versatilidad: Adaptable a las circunstancias de los usuarios.
Ademas de todo lo anterior el diseñador y programador del software educativo debe considerar otras características para dar versatilidad y funcionalidad
¿Qué es software educativo?
Se debe aclarar que la concepción de software educativo ha ido evolucionando, escalando y asentándose hasta llegar a definirlo como todo programa cuya finalidad es ser utilizado como herramienta y medio didáctico, el cual facilita el proceso de enseñanza y aprendizaje.
Desde hace más de 20 años, en forma paralela al desarrollo de la informática educativa, se han desarrollado los programas computacionales para la enseñanza. Por ello en una primera categoría encontramos a programas entrenadores hasta llegar a aquellos más llamativos que mediante el juego desarrollan contenidos educacionales.
¿Por qué hacer software educativo?
Si la tarea de hacer software educativo es ardua ¿por qué hacerlo? es una interrogante que estará en mente. La respuesta la tenemos presente en uno de los principios de la educación el cual menciona “el promover la creatividad y la innovación que permita generar nuevos conocimientos en todos los campos del saber”, en ese sentido, las herramientas educativas empleadas deben favorecer el desarrollo de competencias.
Por ello debemos como docentes innovar para la mejora de los procesos de enseñanza y asumir el reto de crear, producir y aportar con nuevas herramientas o ir adaptándolas. No necesitamos ser expertos en computación o dominar lenguajes de programación ya que existen herramientas de acceso libre que nos puede ayudar y facilitar el proceso de construcción del software. Lo crucial es planificar el efecto y medio educativo ¿cuáles serán los logros que obtendré con esta herramienta?, ¿cómo contribuiría esta herramienta en mi sesión de clases o fuera de ella?, ¿qué debo transmitir a mi alumnos y cómo lo voy a lograr? Estas interrogantes sólo pueden ser respondidas por expertos en educación: docentes.
Metodología de desarrollo de software educativo
Una metodología es un conjunto de procedimientos que nos permiten desarrollar una investigación o nos ayudan a lograr un propósito, es una pieza fundamental en la investigación. En este caso la metodología que voy a explicar es para que puedan desarrollar software educativo y/o recursos digitales que logren el propósito educativo.
Por ello lo divido en etapas y procedimientos:
1. Contextualizar, es necesario determinar qué tema hacer de acuerdo a las necesidades educativas, considerando Diseño Curricular Nacional o del país, para plantear los objetivos y/o logros a alcanzar. Estos logros serán los ejes conceptuales y de desarrollo del pensamiento crítico del software ya que las actividades que propongan deben apoyar significativamente a aprender
.
2. Diseño Didáctico, respondiendo a los objetivos planteados, se deben dosificar los contenidos a desarrollar (incluidas las actividades interactivas que son las más importantes del software educativo). Se debe plantear lo siguiente ¿cómo presentar los contenidos?, ¿qué enfoque educativo debe usar?, ¿cómo deben ser las actividades motivadoras y/o presentadoras de contenidos? Puede valerse de mapas mentales, conceptuales, cuadros sinópticos, videos y otros elementos multimedia a considerar. También se debe definir con estética que colores utilizar y matizar. Todos los contenidos deben ser estructurados en una guía o guión del software educativo para tener el orden a desarrollar. Se debe plasmar la intencionalidad y el logro que se debe conseguir con el software.
3. Recopilación de recursos y fuentes, Toda información y/o conceptualización debe estar respaldada por diversas bibliografías en el cual se cite correctamente y se respete los derechos de autor y tipos de licenciamientos. Debemos sensibilizar que el internet es libre pero no todo lo que encuentres ahí puede ser usado libremente, hay valores morales y de patrimonio intelectual a considerar. Al recopilar la información se discierne y se objeta el contenido aplicando juicios de valor. Si el maestro no empieza haciéndolo, los alumnos no lo harán ya que estamos en constante lucha con el copia y pega de lo que se encuentra en internet y medios impresos
.
1. Construcción, para empezar a construir su Software Educativo puede valerse de software especializados para elaborar actividades educativas de forma más sencilla como por ejemplo: JClic , Neobook, Lim, Exelearning entre otros. No es necesario saber computación avanzada ya que este software trae sus manuales y ejemplos que puede buscarlos en internet. Recuerde que su Software Educativo debe tener motivación, desarrollo temático, actividades educativas o lúdicas, evaluación permanente y final, entre otras. Pero debe poner énfasis en que este Software Educativo pueda lograr el desarrollo del aprendizaje del alumno
Suscribirse a:
Comentarios (Atom)