한국   대만   중국   일본 
Programacion de videojuegos - Wikipedia, la enciclopedia libre Ir al contenido

Programacion de videojuegos

De Wikipedia, la enciclopedia libre
Programacion de un videojuego en Godot

La programacion de videojuegos es el proceso del desarrollo del software de un videojuego . [ 1 ]

Casi siempre, la programacion de un videojuego se resume en repetir a trechos las siguientes acciones:

  • Procesar las interacciones de un agente con su entorno segun las entradas del usuario.
  • Procesar los fenomenos indirectamente controlados por el usuario.
  • Crear una imagen a partir de esas informaciones y mostrarlo en la pantalla (igual para el sonido).

El agente suele ser un personaje (generalmente llamado heroe) pero tambien puede ser un coche, una nave, o cualquier otra cosa. El entorno suele ser compuesto por una decoracion estatica y unos objetos interactivos (enemigos, objetos del inventario, puertas, entre otros.). El usuario manda entradas al programa por medio de un periferico como un joystick, un teclado o un raton. La gestion de las interacciones consiste en prever las acciones posibles sobre el entorno, detectar si han estado provocadas, y procesar respuestas. Por ejemplo, para crear una interaccion como "abrir la puerta", hay que decidir los procesos que permitiran su cumplimiento (por ej. el jugador tiene que pulsar un boton pensado a tal efecto, tiene que estar bastante cercano, mas o menos haciendo frente a la puerta), luego, durante el juego, hace falta detectar si las condiciones estan cumplidas. Si eso asi, pues se genera una reaccion: en nuestro ejemplo, mostrar en la pantalla la puerta abriendose.

Los fenomenos indirectamente controlados por el usuario son varios y cambian mucho segun el juego. Se puede tratar de procesar la inteligencia artificial de los agentes no-controlados por el usuario, gestionar las colisiones entre agente y la fisica (para los juegos que emplean un modelo fisico realista).

Esas dos primeras partes pertenecen al gameplay (o sea, las reglas de interacciones) de un juego normalmente decidido por un disenador de videojuego e implementado por un programador.

A medida que el nivel grafico crece, la creacion de un imagen y su display se hacen cada vez mas complejos. Antano casi exclusivamente en dos dimensiones, los entornos de los juegos ya son en la mayoria de los casos en tres dimensiones. En todo los casos, la imagen es construida poco a poco en un espacio de memoria (el framebuffer ) y no esta pintada en la pantalla antes que el dibujo sea acabo en su conjunto.

La creacion de un imagen en dos dimensiones suele empezar por el dibujo de los objetos mas lejos, y tal acercandose del jugador. Por ejemplo

  • Creacion del fondo (el background) ayudandose de unos mosaicos (los tiles) propicios a los sistemas de desplazamiento (el scrolling) o simplemente de un fondo de pantalla (como para los antiguos juegos de aventura).
  • Anadidura de imagenes (sprites) usando un sistema de recorte que permite dibujar formas complejas mientras que es imprescindible que las imagenes sean rectangulares en la memoria.

La creacion de un imagen en tres dimensiones es mucho mas compleja. Al contrario de los otros dominios de la sintesis de imagenes, en los videojuegos las imagenes tienen que ser creadas en tiempo real para garantizar que el display sea actualizado con una frecuencia alta. La dificultad para el programador radica en ser capaz de generar un imagen de alta calidad en un rato muy corto mientras se procesan los varios elementos del juego. Por eso, hoy la programacion de videojuegos es mas y mas vinculada con el hardware , utilizando en profundidad las funcionalidades de aceleracion de las tarjetas graficas para optimizar el tratamiento de los objetos 3D y mejorando el codigo fuente .

La frecuencia de repeticion de una operacion cambia mucho con respecto a la plataforma (ordenador, consola, movil, etc.). Se considera que hace falta por lo menos 24 imagenes por segundo para dar la impresion de movimiento en el cinema aunque este frecuencia debe ser mas elevada en los videojuegos. Todas las partes de un programa no necesitan ser tratadas cada imagen (salvo la creacion y el display de aquellas imagenes).

Los programadores de videojuegos tambien tienen que desarrollar varios software y herramientas para ser utilizados en la cadena de produccion de un videojuego: herramientas destinadas por ejemplo a los otros actores del desarrollo (los infografistas, animadores, disenadores de videojuego, entre otros), o tambien a correr un procesamiento por lotes .

Referencias [ editar ]

  1. Culoextremo (10 de abril de 2024). ≪¿Cuando es “sobreingenieria” y cuando no lo es en un videojuego?≫ . Medium (en ingles) . Consultado el 31 de mayo de 2024 .