An attempt to write a 2D vector based Graphical Adventure game engine from scratch, using C#, having no previous experience ever writing a game engine.
This is mostly a playground to play with new language features in preview versions of c#, and learn how to implement various algorithms. It is currently using .NET 5.0 Preview, with C# 8, so it will only compile using Visual Studio 2019 Preview; The latest Preview (Community, Professional, or Enterprise should all work).
Because this is a playground, APIs get refactored frequently and files get moved around frequently. As an engine this is very early pre-alpha. Classes may be there one commit and disappear the next. Methods may move from one class to another just because I didn't like where they were, and it makes more sense to put them in the new location. Methods may change the way they work, because a bug was found that needed to be squashed.
- Many of the geometry methods are inspired by samples from C# Helper written by Rod Stephens.
- A portion of code for Bézier curves has been ported from the awesome information found on A Primer on Bézier Curves by Mike Kamermans (Pomax).
- Many of the Intersection methods have been ported or adapted from methods found at kld-intersections posted by Kevin Lindsey (thelonious).
- Many of the Intersection methods have also been adapted along the lines of code found at the particleincell blog posted by Dr. Lubos Brieda.
- Polygon path finding based on shortest path code posted by Darel Rex Finley.
- Tweener code based on Glide by Jacob Albano.
- Pieces of the Clipper library by Angus Johnson have been adapted.