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).
No hay comentarios:
Publicar un comentario