3D Polygon Engine #4 - Dynamic Motion, Default Lighting
2022-12-02. Showcases the default lighting style of XNA / MonoGame's BasicEffect. This is using PreferPerPixelLighting, giving off proper Phong shading which is easiest seen in the tile layers, but is also present in the platonic solids -- though slightly harder to see there due to their smaller flat edges.
Also showcases the dynamic motion of the platonic solids. I wanted to make each of the platonic solids distinct with their own color, but then group them together in a way to showcase them better, rather than in the random hap-hazard way in the prior videos. A few ideas came to mind. One was the vector-ball demo in Future Crew's Second Reality, where they move in beautiful ways. But instead of designing the motion myself, why not do it programmatically? My brother implemented such an algorithm in his Kakeru engine prototype:
http://xona.com/games/kakeru/
Using a concept called NanoSnake - snake-like enemy AI using nanites: https://youtube.com/watch?v=B38KRU4Jqe4&list=PLYUwJ3dlBCsVJkXZrl_2fBPtoYt9Wd6sV
Using a similar algorithm, though not exactly the same, is what you see here in 3D. My algorithm abandons momentum and proper physics, and targets via direction position modifications using the next-in-line of the snake of like-solids. This means they will forever squeeze the gap out, just as a driver following another driver with a linearly attack angle around a turn -- rather than following the road -- causes the corner to be cut. Over and over again will result in them occupying a single point in space, as the corners are forever squeezed out.
My plan is to bring momentum back into the picture, since I wish for user control of the camera to interact with the objects, and for them also to avoid colliding with each other.
The Platonic solids are:
- Tetrahedron - 4 faces - triangles
- Cube - 6 faces - squares
- Octahedron - 8 faces - triangles
- Dodecahedron - 12 faces - pentagons
- Icosahedron - 20 faces - triangles
Playlists:
--------------------
- Polygon 3D: https://youtube.com/watch?v=0Qq_euAMP48&list=PLjnbT4UISq0YyjqBGG8Q34Kng5gqDmYrT
- Voxel Software 3D: https://youtube.com/watch?v=uadGU-stF-w&list=PLjnbT4UISq0bQF1g85tE9jTrKfEtdRYlY
- Ray Casting 3D: https://youtube.com/watch?v=SkaPYZOKPQg&list=PLjnbT4UISq0YcFtRFjFQqK0g6ONNCtrvY
- Graph-All Calculator 2D: https://youtube.com/watch?v=kLSc7bZW2Bs&list=PLjnbT4UISq0YLgynFSpLzml4BMC6TDZL2
- Parallax Side-Scroll Shooter 2D: https://youtube.com/watch?v=l9bIYkZepPo&list=PLjnbT4UISq0Y_7IAN_zUzxgZnfhXxo_0Q
- Road Pseudo 3D: https://youtube.com/watch?v=rA4g4VX7ys8&list=PLjnbT4UISq0bnfd1RC3M4PgTgkmhlkikV
- Arena Shooter 2D: https://youtube.com/watch?v=VKjiuq437t0&list=PLjnbT4UISq0adw__Y9B2eXA0LL35TyORU
Websites:
---------------------
- GitHub: https://github.com/JDoucette
- Indie Game Studio: http://xona.com
- Blog: http://thefirstpixel.com