martes, 18 de julio de 2017

INSTITUTO TECNOLOGICO SUPERIOR PARTICULAR
“SAN GABRIEL”
TÉCNICAS DE DOCUMENTACION
NOMBRE: Samantha Elizabeth Trujillo
FECHA: 19-07-2017
TEMA: lenguajes de programación para programar videojuegos
ING. Ángel Huilca
Programar videojuegos, sus áreas

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 los 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.

LENGUAJES DE PROGRAMACIÓN

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.

Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más.

¿Qué lenguajes de programación se usan en la creación de videojuegos?

La respuesta a esta pregunta dependera de varias cuestiones, como ser para que dispositivo seria nuestro todavia etéreo videojuego; si será para PC y consolas, navegadores web y redes sociales o dispositivos moviles como celulares.

Básicamente es asi: para PC y consolas se usa lenguaje C++ y C#, hay para PC juegos en JAVA y varios lenguajes como ser Visual Basic o Ruby entre otros; pero si a lo que nos referimos es a los grandes juegos comerciales que todos juegan, se trata de grandes desarrollos en C++.

Para navegadores web lo dicho antes: Flash, ya que contiene su propio lenguaje como es el ActionScript, que si no me falla la memoria esta en su versión 2.0 actualmente.
Para dispositivos móviles se usa lenguaje Java, en su versión J2ME(Java 2 micro Edition).
Supuestamente nos alcanzaria saber qué lenguaje usar para programar un juego? Creo que como no es suficiente, deberiamos hablar sobre engines...

¿Qué es exactamente lo que se usa para desarrollar el código?

Hay mas de un camino para elaborar el codigo de un juego, desde que uno mismo lo redacte y lo compile, ensayando a prueba y error hasta dar con lo que deseaba; pero también hay un camino mas corto muy recomendado por toda la comunidad de desarrolladores de videojuegos que es el de usar Engines( Motores) desarrollados por terceros( sean grandes empresas o particulares) donde se simplifica muchisimo la elaboracion de codigo para nuestro videojuego.Estos engines varian según el lenguaje y la arquitectura con la que deba trabajar, ademas de el entorno en los que deba correr( Sistemas Operativos), además de la finalidad para que se los use, sea la fisica del juego, los gráficos..etc.

LENGUAJES DE PROGRAMCIÓN PARA PROGRAMAR VIDEOJUEGOS
C: SDL
C++: SFML
C#: XNA / MonoGame
Python: PyGame
Java: libgdx, spiller
Ruby: Gosu
Flash: Flixel
Lua: Love2D
Microsoft Visual Studio,
 Eclipse Classic,
 Adobe Flash Builder.
C,
 C++,
 C#,
 Actionscript.
Esta es una lista de librerías para desarrollar juegos, la iré modificando para incluir más librerías. Ustedes mismos sugieran sus librerías favoritas en este hilo para incluirlas:

Allegro:   
 Librería en C altamente portable a muchas plataformas que incluye rutinas básicas de videojuegos: gráficos 2D, matemática 3D, sonido y controles.

SDL: Simple DirectMedia Layer está hecho en C y es una librería madura utilizada en grandes proyectos. Loki, una empresa que estuve a principios de 2000 portando juegos a Linux utilizó esta librería para esta tarea.

OGRE: OGRE es una librería open source para hacer gráficos 3D.
Crystal Space: Crystal Space es una librería open source para hacer gráficos 3D en tiempo real. Fue la librería utilizada para hacer Yo Frankie, o también conocido como Project Apricot.

ODE: Open Dynamics Engine (ODE) es una librería en C++ que facilita la implementación de fenómenos físicos en tu juego. Es la librería que se utilizó para implementar la física de World of Goo.

ClanLib: ClanLib Game SDK es una biblioteca de herramientas multiplataforma cuyo principal enfoque se encuentra en la creación de juegos de video. La misma es de código abierto y gratuita para uso comercial, bajo la licencia ClanLib.

Python

PyGame: PyGame es la librería para hacer juegos en Python. Utiliza por debajo la librería SDL. PyWeek es una competición de videojuegos que se hace de vez en cuando en el que se hacen juegos en Python.

Panda3D: Panda3D es una librería open source implementada en Python y C++ por la gente del Entertainment Technology Center, en la Universidad Carnegie-Mellon. Disney utilizó esta librería para hacer el juego online de Pirates of the Caribbean
APIS GRAFICAS

Application Programming Interface o Interfaz de Programación de Aplicaciones: Es la forma en la que se le presentan al programador las rutinas para llevar a cabo cierto trabajo. Son librerías, usadas por los programadores, que trabajan conjuntamente con el driver del Hardware para conseguir los efectos deseados.

OpenGL y Direct3D son las APIs mas populares, muchas placas de vídeo modernas proveen cierto grado de aceleración por hardware basado en estas APIs, frecuentemente habilitando el despliegue de complejos gráficos tridimensionales en tiempo real. Aprovechar las características de las APIS GRÁFICAS depende del software. Cada procesador gráfico funciona de forma diferente, por lo que es necesario disponer de las librerías apropiadas para el hardware.


IDE PROGRAMACIÓN DE VIDEOJUEGOS

PyGame

Para finalizar este apartado vamos a presentaros PyGame, el entorno de desarrollo de juegos en Pyton. Tiene una estética muy retro pero sin embargo sus módulos son muy potentes.

RPG Maker: Uno de los clásicos. Permite crear juegos 2D de rol japonés. Existen diferentes versiones, aunque la versión VC ACE es una de las mejores. 
M.U.G.E.N: Totalmente orientado a la creación de videojuegos de lucha 2D. Su modularidad permite utilizar luchadores, escenarios y demás recursos de forma independiente en otros proyectos.
Game Maker Studio: Uno de los más completos y asequibles. Permite crear casi cualquier tipo de juego (incluso 3D) y existe muchísima documentación en Internet. Su lenguaje de scripting es opcional y hace que gane mucha profundidad.
Unreal Development Kit: El motor profesional para la creación de videojuegos 3D ha pasado recientemente a ser completamente gratuito (con un pequeño porcentaje para el estudio si hay beneficios).

Mario Builder: Entorno para crear videojuegos de Mario Bros al estilo de los clásicos de 8 y 16 bits. Incluye recursos gráficos y sonoros.
Arcade Game Studio: Pequeño pero funcional entorno para la creación de simples juegos arcade al estilo de los clásicos de los 80. Su interfaz, aunque algo tosca, es más que suficiente para sus pretensiones.
BASE DE DATOS
Es un sistema que almacena datos que están relacionados.
Es un repositorio en donde guardamos información integrada que podemos almacenar y recuperar.

 Un conjunto de información almacenada en memoriaauxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos.

XML
SQL
 MySQL
 MSSQL
 funcionan muy bien (MSSQL solo en windows).





miércoles, 12 de julio de 2017

PRUEBAS DE SOFTWARRE



INSTITUTO TECNOLOGICO SUPERIOR PARTICULAR
“SAN GABRIEL”
TÉCNICAS DE DOCUMENTACIÓN
NOMBRE: Samantha Elizabeth Trujillo
FECHA: 13-07-2017
TEMA: Pruebas de Software
ING. Ángel Huilca
PRUEBAS DE SOFTWARE
Las pruebas de software consisten en la dinámica de la verificación del comportamiento de un programa en un conjunto finito de casos de prueba, debidamente seleccionados de por lo general infinitas ejecuciones de dominio, contra la del comportamiento esperado. Son una serie de actividades que se realizan con el propósito de encontrar los posibles fallos de implementación, calidad o usabilidad de un programa u ordenador; probando el comportamiento del mismo. 
Pruebas de Caja Negra (“black-box testing”) puesto que valoramos el comportamiento externo del sistema. Las Pruebas de Seguridad o las Pruebas de Interoperabilidad entre sistemas o componentes son casos especializados de las pruebas funcionales.

                         

Pruebas Software no Funcionales que incluyen las pruebas de: Rendimiento, Carga, Estrés, Usabilidad, Mantenibilidad, Fiabilidad o Portabilidad, entre otras. Por tanto se centran en características del software que establecen “cómo trabaja el sistema“.
Estas pruebas también pueden ejecutarse en todos los niveles de pruebas. Las características no funcionales del software se pueden medir de diversas maneras, por ejemplo, por medio de tiempos de respuesta en el caso de pruebas de rendimiento o por número máximo de sesiones en pruebas de estrés.
Puesto que las Pruebas software no Funcionales normalmente consideran el comportamiento externo del sistema, en la mayoría de los casos se utilizan técnicas de Pruebas de Caja Negra.
Pruebas de Regresión consisten en volver a probar un componente, tras haber sido modificado, para descubrir cualquier defecto introducido, o no cubierto previamente, como consecuencia de los cambios. Los defectos pueden encontrarse tanto en el software que se ha cambiado como en algún otro componente. Se ejecutan cuando se cambia el software o su entorno. El criterio para decidir la extensión de estas Pruebas de Regresión .
Las Pruebas de Regresión se realizan sobre un componente ya probado, para verificar que no presenta nuevos defectos cuando se realiza una modificación después de dichas pruebas.


 




Pruebas estáticas
Son el tipo de pruebas que se realizan sin ejecutar el código de la aplicación.
Puede referirse a la revisión de documentos, ya que no se hace una ejecución de código. Esto se debe a que se pueden realizar "pruebas de escritorio" con el objetivo de seguir los flujos de la aplicación.


Pruebas no funcionales


Una prueba no funcional es una prueba cuyo objetivo es la verificación de un requisito que especifica criterios que pueden usarse para juzgar la operación de un sistema (requisitos no funcionales) como por ejemplo la disponibilidad, accesibilidad, usabilidad, mantenibilidad, seguridad, rendimiento.












                                                                                        

Entrada destacada

METRICA DE SOFTWARE

Popular Posts