pixelboyz logo
Desarrollo de Videojuegos

Glosario de GameDev: Biblioteca Vs Framework Vs Motor

Índice de contenido


Este es un tema que parece causar cierto grado de confusión, especialmente entre los nuevos desarrolladores de juegos. A menudo escuchamos los términos «biblioteca de juegos», «marco de juegos» y «motor de juegos», pero ¿cuál es la diferencia? ¿Dónde termina uno y comienza el siguiente? Esta publicación intenta explicar la diferencia lo más claramente posible. Es importante tener en cuenta que no existe una definición estricta y rápida para cada término, básicamente el significado prescrito para cada uno está formado por el uso más popular. Supongo que eso es cierto con la mayoría de las palabras modernas.

Biblioteca

Una biblioteca es simplemente una colección de código y datos destinados a ser reutilizados. Las bibliotecas suelen ser binarios compilados, como archivos DLL, pero no tienen por qué serlo. Existen muchas bibliotecas de JavaScript, por ejemplo, mientras que las bibliotecas de plantillas completas en C++ son código puro. En términos de desarrollo de juegos, una biblioteca generalmente es una colección de código para realizar tareas de un dominio específico. Por ejemplo, reproducir audio, realizar física, manejar entradas.

Los ejemplos de bibliotecas de Gamedev incluyen FMOD, RakNet, Caja2D o Asimp.

Puede haber cierta ambigüedad aquí, ya que FMOD, por ejemplo, contiene algunas herramientas y se llama a sí mismo «middleware», mientras que Box2D se refiere a sí mismo como un «motor», ambos siguen siendo esencialmente bibliotecas.

Estructura

¿Qué sucede cuando reúnes un montón de bibliotecas, agregas un par de herramientas y reúnes todos los ingredientes que necesitas para comenzar a crear un juego? Bueno, tienes un marco. Esencialmente, un marco es una colección de bibliotecas y herramientas que van juntas para resolver una tarea determinada, en este caso, hacer un juego.

Los ejemplos de Gamedev incluyen SFML, OGRO, LibGDX y monojuego.

SFML es un buen ejemplo de la relación entre bibliotecas y marcos. SFML se compone de varias bibliotecas… gráficos, entrada, ventana, audio, etc… Reunidos como un todo, se convierten en el marco SFML. LibGDX es un ejemplo un poco más interesante ya que la inclusión de Scene2D se extiende a ambos lados de la línea entre el marco y el motor del juego un poco más cerca que la mayoría.

Motor de juegos

Entonces, una biblioteca es una colección de código para realizar una tarea, un marco es una colección de bibliotecas para crear un juego, ¿algo se convierte en un motor? Esta clasificación es probablemente la menos definida pero, en mi opinión, dos cosas clave separan un marco de un motor de juego. Además de proporcionar todas las diversas bibliotecas necesarias para crear un juego, un motor de juego debe incluir:

  • un gráfico de escena
  • un editor de mundo/nivel

El gráfico de escena es esencialmente la estructura de datos que contiene el mundo de un juego. En general, también hay una serie de funciones de apoyo para administrar, buscar y guardar el gráfico de escena, aunque a menudo estas se dejan al propio juego para implementarlas. El requisito del editor de nivel/mundo es probablemente el mayor factor distintivo, aunque existen algunos motores de juego (a menudo 2D) que no tienen editor (aunque yo diría que en realidad son marcos).

Los ejemplos de Game Engine incluyen Unidad , Irreal, Construir2, Fabricante de juegos, HeroEngine y Luz de cobre.

Sin embargo, muy a menudo, los marcos y los motores se usarán indistintamente. Incluso aquí en GameFromScratch, el recurso del motor del juego se refiere tanto a los motores de juegos como a los marcos que usan el mismo nombre. Esto se debe a que, francamente, al final del día, se trata principalmente de una cuestión de semántica.

¿Qué pasa con las API y los SDK?

Este es otro punto de confusión para los desarrolladores… ¿cuál es la diferencia entre una API, un SDK o simplemente una biblioteca?

Bueno, una API es generalmente una o más bibliotecas, al igual que un SDK. Una API (interfaz de programador de aplicaciones) es generalmente una interfaz programática para otro producto. Ese producto podría ser un sistema operativo completo o una interfaz programable integrada dentro de un juego. Esa interfaz generalmente se proporciona en forma de bibliotecas.

Un SDK (Kit de desarrollo de software) es generalmente lo mismo que un marco. Mientras que un marco es una colección de bibliotecas y herramientas utilizadas para crear un juego, un SDK puede ser una colección de herramientas y bibliotecas para crear controladores de dispositivos para su sistema operativo, para usar o integrar una tecnología o hardware como Oculus Rift o teléfonos Android. . Por supuesto, SDK también puede estar destinado a la creación de juegos, como DirectX o GameKit. Entonces, por supuesto, solo para hacer la vida aún más confusa, puede tener un combo SDK/API/Library, como OpenGL.

En general, donde las API y los SDK difieren de todo lo demás discutido hoy es quién los proporciona. Muy a menudo, estos son proporcionados por el sistema operativo o los fabricantes de hardware.

General Consejos




Source link

Tags :
Biblioteca,Framework,GameDev,Glosario,motor

Comparte :

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *