Shape Engine - v4.0.0 Major Release
Shape Engine » Devlog


This release took 4 months to complete. Originally, I just wanted to add the new Ray and Line shapes for drawing and collision detection, but it ended up being much more. I took a look at physics, added some new functions, and cleaned up the PhysicsObject class. DrawCheckered was renamed to DrawStriped, and I added a lot of new variations as well. There were many small changes, bug fixes, and improvements all over ShapeEngine. There are still things I wanted to add, but I decided to release 4.0 right now.
Changelog
- Line and Ray shapes added. Both are defined by a Point and a Direction.
- The Line is infinitely long in both directions from the point, and a Ray is infinitely long in one direction from the point.
- Intersect / Overlap / ClosestPoint functions added to Line and Ray.
- Intersect / Overlap / ClosestPoint functions overhauled and cleaned up for all remaining shapes (Segments, Points, Triangulation and Collider as well) to make everything consistent.
- Line and Ray added to Cast/Query Space functions in CollisionHandler.
- ShapesExample improved. Automated Testing and Projection added.
- ShapesExample renamed to ShapeIntersectionExample
- ShapeProjectionExample removed.
- DrawCheckered renamed to DrawStriped
- DrawStriped implemented for all closed shapes (Circle, Triangle, Rect, Quad, Polygon)
- DrawStriped code improved with new line intersection functions
- DrawStriped function with an outside and an inside shape. The striped lines will fill the outside shape and not the inside shape.
- DrawShapeOutline example added
- DrawShapeStriped example added
- Physics! Example added
- CurveDataExample added
- Curve generic class implemented. Allows adding key-value pairs. Each key is time between 0 - 1. Allow sampling for a value at a certain time point. The value will be an interpolation between the values at the key before and after the time point.
- CurveFloat, CurveInt, CurveVector2, CurveColor are implemented
- ContainsShape functions overhauled for all closed shapes (Circle, Triangle, Rect, Quad, Polygon)
- Polygon ContainsShape functions now properly check if the shape is contained. Previously, it would only check if all points are contained within the polygon, but would not check if the edges intersect the polygon.
- Circle and Polygon have special ContainsShape code that uses intersection tests as well (other shapes just check if all points from the other shape are inside)
- Raylib Cs bindings updated to 7.0.1
- Clipper2 updated to 1.5.3
- Static functions from PhysicsObject moved to the new static ShapePhysics class
- Friction, Drag, Elastic Collision, Attraction, and Repulsion functions added to the ShapePhysics class
- DrawArrow functions added to the ShapeDrawing class
- ShapeDrawing was split into multiple files for each shape type: ShapePointDrawing, ShapeSegmentDrawing, ShapeLineDrawing, ShapeRayDrawing, ShapeTriangleDrawing, ShapeCircleDrawing, ShapeRectDrawing, ShapeQuadDrawing, ShapePolygonDrawing, ShapePolylineDrawing, ShapeDrawing, ShapeCustomDrawing, ShapeRingDrawing, ShapeGappedDrawing, ShapeStripedDrawing,
- ShapeUIDrawing
- ShapeEngine.Lib namespace was renamed to ShapeEngine.StaticLib
- Deferred Drawing System added to the Game class
Full Changelog on GitHub: v3.1.0...v4.0.0
Files
Shape Engine Examples (v4.0.0) 34 MB
10 days ago
Shape Engine Examples (v4.0.0) 33 MB
10 days ago
Get Shape Engine
Download NowName your own price
Shape Engine
Simple 2d Engine focused on drawing shapes rather than using textures/sprites.
Status | In development |
Category | Tool |
Author | Dave Green |
Tags | 2D, Colorful, Game engine, Pixel Art, shapes, Singleplayer, Top-Down |
Languages | English |
More posts
- Shape Engine - 4.0 Teaser 2 - Rays & Lines90 days ago
- Shape Engine - 4.0 Teaser - Striped Fill90 days ago
- v3.1.0 Minor ReleaseDec 15, 2024
- v3.0.0 Major ReleaseDec 09, 2024
- v2.4.0 Minor ReleaseDec 09, 2024
- v2.3.0 Minor ReleaseDec 09, 2024
- v2.2.0 Minor ReleaseDec 09, 2024
- v2.1.1 Patch ReleaseDec 09, 2024
- v2.1.0 ReleaseSep 08, 2024
Leave a comment
Log in with itch.io to leave a comment.