Estoy trabajando en una biblioteca para ayudar al desarrollo de juegos 2D con Scala. Hasta ahora, es una colección de clases útiles, carga de archivos, detección de colisiones, imágenes, sprites, etc.
Entonces, ¿cuándo deja de ser una biblioteca de clases y comienza a ser un motor? ¿Dónde se encuentra exactamente la diferencia entre un marco útil y un motor de juego?
terminology
Lanbo
fuente
fuente
Respuestas:
Creo que la confusión a la que se enfrentan las personas aquí es que, en general, una está formada por la otra, por lo que lo que la gente realmente quiere saber es cuándo tienes suficiente de una para ser considerada la otra.
Nunca.
No hay ninguno.
Ahora déjame explicarte las respuestas. Un motor de juego está formado por bibliotecas de clases. No dejan de ser bibliotecas de clases simplemente porque están dentro de un motor de juego. Una biblioteca es un marco útil para abordar una necesidad específica dentro de un motor de juego. Un marco que implica las necesidades de un juego completo es un motor de juego.
Aquí hay algunos ejemplos de motores de juegos:
Y algunos ejemplos de bibliotecas.
Espero que esto ayude
fuente
Realmente no hay una definición concreta para ninguno de los términos (o para el término relacionado "marco", para el caso). Hay cientos de formas diferentes de interpretar las diferencias sutiles variadas en los paquetes de software y asignarles clasificaciones.
Personalmente, veo una "biblioteca" como algo que proporciona un conjunto de funcionalidades relativamente pequeño y dirigido, mientras que un "marco" proporciona una funcionalidad más o más amplia, y un "motor" proporciona lo mismo (o más) y normalmente tiene un conjunto de herramientas asociadas que vienen con él.
He visto suficientes interpretaciones personales de otras personas de los mismos términos para sentirme seguro, sugiriendo que un "motor" proporciona más o mayor funcionalidad que una "biblioteca", pero donde dibujas esa línea para tu propio software depende de ti.
fuente
Esta es una pregunta difícil, ya que la línea entre la biblioteca y el motor a veces puede ser muy delgada y borrosa. Debo decir que el punto donde una biblioteca se convierte en un motor es cuando se orienta hacia un juego específico, o un tipo específico de juego.
Por ejemplo: el motor Unreal (o Source, o Quake) está diseñado para usarse en juegos FPS (podría usarse para otros juegos, pero pasarías algún tiempo trabajando contra el motor). Ogre3d (o incluso Directx, SDL u otras bibliotecas comunes) se puede utilizar para crear cualquier tipo de juego, sin tener que extraer partes importantes del código o evitarlas.
fuente