Caja2D

Caja2D
Tipo de Motor de física
Desarrollador Erin Catto _  _
SO compatible SO independiente
Escrito en lenguaje c++
Licencia MIT [1]
ultima versión 2.4.1 [2] / 18 de octubre de 2020
box2d.org

Box2D  es un programa informático , un motor de física gratuito y de código abierto . Box2D es un motor de física en tiempo real diseñado para trabajar con objetos físicos 2D. El motor fue desarrollado por Erin Catto , escrito en el lenguaje de programación C++ y distribuido bajo los términos de la licencia MIT .  

El motor se usa en juegos de computadora 2D que incluyen Duet , Angry Birds , Limbo , Crayon Physics Deluxe , Rolando, Fantastic Contraption, Incredibots, Transformice , Happy Wheels , Color Infection , Shovel Knight , King of Thieves .

Historia

La primera versión de Box2D se lanzó como "Box2D Lite" como motor para una presentación física realizada por Erin Catto en la Game Developers Conference de 2006 . El 11 de septiembre de 2007, el motor estuvo disponible para su descarga en SourceForge.net .

El 6 de marzo de 2008 se lanzó la versión 2.0 del motor, en la que se introdujo la tecnología Continuous Collision Detection (detección de colisiones en curso (continuous)) y se rediseñó la API .

El 3 de abril de 2010, se lanzó Box2D 2.1.0. En la nueva versión, se agregaron raycasting, árboles AABB dinámicos, nuevos tipos de uniones (paquetes), el bloque de detección de colisión continua se reescribió por completo, etc. [3] [4]

Multiplataforma

El motor Box2D es un software multiplataforma , está escrito en el lenguaje de programación C++ independiente de la plataforma , por lo que puede funcionar (ejecutarse) en cualquier plataforma que tenga un compilador C++ . El motor se puede compilar tanto en modo de punto fijo como de punto flotante.

Box2D se usa en Nintendo DS , Wii y varios teléfonos móviles (incluido el iPhone ), así como en la mayoría de los principales sistemas operativos de PC .

El motor ha sido portado a muchos lenguajes y entornos de programación, incluidos Java [5] , Adobe Flash (en ActionScript [6] y haXe [7] ), C# [8] , JavaScript [9] , D [10] y Delfos [ 11] . Hay un enlace ( eng.  bindings ) para usar la biblioteca del motor compilado en Python [12] y DarkBasic .

Box2D está integrado en desarrolladores de juegos de código abierto , como Novashell y Scirra Construct para Windows , así como en el motor Love 2D .

El 30 de octubre de 2009, se anunció que Box2D se integraría en el motor de juego Torque 2D . [13]

La versión 2.1 de Stencyl Works también usa Box2D (aprox.)

Especificaciones

Box2D está diseñado para simular la mecánica de cuerpos rígidos bajo restricciones. El motor puede simular cuerpos físicos compuestos de polígonos convexos , círculos y líneas. Los cuerpos se pueden conectar mediante restricciones en pares cinemáticos y estar sujetos a diversas fuerzas físicas, como la gravedad , la fricción y el impacto. Los cuerpos también pueden estar sujetos a fuerzas internas como la elasticidad .

Los sistemas de detección de colisiones y procesamiento de restricciones constan de tres partes: una fase amplia ascendente de Sweep and prune , un bloque de detección de colisiones continuo (continuo) y un bloque de resolución de colisiones lineal en el tiempo estable. Estos algoritmos brindan una simulación eficiente de cuerpos que se mueven rápidamente y grandes conjuntos de objetos sin perder intersecciones ni inestabilidades. [catorce]

Motores de física relacionados

Una versión anterior del motor Box2D se llamó Box2D Lite y Erin Catto la utilizó en presentaciones en la Game Developers Conference . Box2D Lite usa los mismos algoritmos que Box2D pero tiene un conjunto de funciones más pequeño. [quince]

Motores de física de ardilla[16] (escrito en C ) y Phys2D [17] (escrito en Java ) se basan en parte en Box2D Lite.

Notas

  1. Erin Catto. Página principal de Box2D  (inglés)  (enlace descendente) . box2d.org (9 de octubre de 2007). Consultado el 2 de abril de 2010. Archivado desde el original el 24 de octubre de 2007.
  2. versión 2.4.1 . Consultado el 28 de julio de 2022. Archivado desde el original el 28 de julio de 2022.
  3. Erin Catto. Lanzamiento de Box2D 2.1.0  (ing.)  (enlace no disponible) . Sitio web oficial de Box2D (3 de abril de 2010). Consultado el 17 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  4. Box2D 2.1.0 (enlace descendente) . UralDev.ru (5 de abril de 2010). Consultado el 16 de abril de 2010. Archivado desde el original el 23 de abril de 2012. 
  5. Erin Catto. JBox2D  (inglés)  (enlace descendente) . JBox2D.org. Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  6. Box2DFlashAS3 2.0.1  (inglés)  (enlace descendente) . sourceforge.net . Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  7. haXe Physics Engine  (inglés)  (enlace no disponible) . código.google.com. Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  8. Box2DX en Google Code  (ing.)  (enlace no disponible) . código.google.com. Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  9. Box2D JS  (inglés)  (enlace descendente) . sourceforge.net . Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  10. Blaze en dsource  (inglés)  (enlace descendente) . dsource.org. Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  11. Versión Box2D Delphi  (inglés)  (enlace descendente) . sourceforge.net . Consultado el 3 de junio de 2010. Archivado desde el original el 23 de abril de 2012.
  12. Pybox2d en Google Code  (ing.)  (enlace descendente) . Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  13. Centauro Michigan. Blog de desarrollo 2D de Torque  . Consultado el 2 de abril de 2010. Archivado desde el original el 16 de enero de 2010.
  14. Erin Catto. Manual de Box2D  (inglés)  (enlace descendente) . box2d.org. Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  15. Box2D Lite en Game Physics Weblog (enlace descendente) . Consultado el 17 de abril de 2010. Archivado desde el original el 30 de marzo de 2014. 
  16. Chipmunk en Google Code  (ing.)  (enlace no disponible) . código.google.com. Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  17. Sitio web del motor Phys2D  (ing.)  (enlace descendente) . cokeandcode.com Consultado el 2 de abril de 2010. Archivado desde el original el 23 de abril de 2012.

Enlaces