summaryrefslogtreecommitdiff
path: root/roadmap.html
diff options
context:
space:
mode:
authorMatthew Kosarek <mattkae@protonmail.com>2021-05-19 20:22:03 -0400
committerMatthew Kosarek <mattkae@protonmail.com>2021-05-19 20:22:03 -0400
commite431c58c0e5bde1689ef0be0d02588ee22c99c82 (patch)
tree21ca931d46a8b5bf779418536e2a5fca52ed42dd /roadmap.html
parenta7ac3adcb70bc40e79e31de2bb466201417be12e (diff)
Ignoring general SAT rotations for now, going to focus on redoing the original demos
Diffstat (limited to 'roadmap.html')
-rw-r--r--roadmap.html264
1 files changed, 151 insertions, 113 deletions
diff --git a/roadmap.html b/roadmap.html
index 912e8c6..9e5e82e 100644
--- a/roadmap.html
+++ b/roadmap.html
@@ -1,124 +1,162 @@
<!DOCTYPE html>
<html lang="en">
- <head>
- <meta charset="utf-8">
- <script src="scripts/jquery-3.5.1.min.js"></script>
- <script src="index.js"></script>
- <link rel="stylesheet" href="index.css">
- <title>Roadmap</title>
- <style>
- section ul {
- list-style: none;
- padding-left: 0;
- }
- section li {
- position: relative;
- padding-left: 1.5em; /* space to preserve indentation on wrap */
- }
- section li:before {
- content: '';
- position: absolute;
- left: 0;
- width: 1rem;
- height: 1rem;
- }
- section ul {
- list-style: none;
- }
+ <head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" href="/index.css">
+ <title>Physics for Games</title>
+ <link rel="shortcut icon" href="favicon/favicon.ico" type="image/x-icon">
+ </head>
+ <body>
+ <header>
+ <h1>Physics for Games</h1>
+ </header>
+ <main>
+ <nav>
+ <ul class="outer-tree">
+ <li><a href="/">Introduction</a></li>
+ <li>
+ <span>&#127936;<span>2D</span></span>
+ <ul class="inner-tree">
+ <li><label>Rigidbody</label></li>
+ <li><a href="/2d/_rigidbody/part_1.html">Linear Forces</a></li>
+ <li><a href="/2d/_rigidbody/part_2.html">Rotational Forces</a></li>
+ <li><a href="/2d/_rigidbody/part_3.html">Collision Forces</a></li>
+ <li><label>Collisions</label></li>
+ <li><a href="/2d/_collisions/circle_line.html">Circle-Line</a></li>
+ <li><a href="/2d/_collisions/rectangle_line.html">Rectangle-Line</a></li>
+ <li><a href="/2d/_collisions/rectangle_rectangle.html">Rectangle-Rectangle</a></li>
+ <li><a href="/2d/_collisions/pill_line.html">Pill-Line</a></li>
+ <li><a href="/2d/_collisions/pill_pill.html">Pill-Pill</a></li>
+ <li><a href="/2d/_collisions/polygon_polygon.html">Polygon-Polygon</a></li>
+ </ul>
+ </li>
+ <li>
+ <span>&#127776;<span>3D</span></span>
+ <ul class="inner-tree">
+ </ul>
+ </li>
+ <li>
+ <span>&#128295;<span>WebAssembly</span></span>
+ <ul class="inner-tree">
+ <li><a href="/intro/intro.html">Introduction</a></li>
+ </ul>
+ </li>
+ <li>
+ <span>&#128712;<span>About</span></span>
+ <ul class="inner-tree">
+ <li><a href="/roadmap.html">Roadmap</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
- section ul li:before {
- content: '-';
- }
+<style>
+ section ul {
+ list-style: none;
+ padding-left: 0;
+ }
+ section li {
+ position: relative;
+ padding-left: 1.5em; /* space to preserve indentation on wrap */
+ }
+ section li:before {
+ content: '';
+ position: absolute;
+ left: 0;
+ width: 1rem;
+ height: 1rem;
+ }
+ section ul {
+ list-style: none;
+ }
- .done {
- color: lightgreen;
- }
+ section ul li:before {
+ content: '-';
+ }
- .halfway {
- color: orange;
- }
+ .done {
+ color: lightgreen;
+ }
- .failed {
- color: red;
- }
+ .halfway {
+ color: orange;
+ }
- section ul li.done:before {
- content: '✓'
- }
+ .failed {
+ color: red;
+ }
- section ul li.halfway:before {
- content: '⚠'
- }
+ section ul li.done:before {
+ content: '✓'
+ }
- section ul li.failed:before {
- content: '✗'
- }
- </style>
- </head>
- <body>
- <header>
- <h1>Physics for Games</h1>
- </header>
- <main>
- <nav></nav>
- <section>
- <h1>May/June 2021: More Collisions</h1>
- <ul>
- <li>SAT Collisions for Convex Polygons with Explanation</li>
- <li>Pill Collisions</li>
- <li>Remove (or hide) ellipse collision pages for now</li>
- <li>3D scene setup</li>
- <li>3D scene basic physics with spheres bouncing around a scene</li>
- </ul>
- <p style="color: pink; font-size: 18px;">
- Obviously, the month of April did not go as planned. I got caught up with a number of tasks that I couldn't handle,
- namely, the pill collisions. These, as I discovered, were quite unfeasible and involved a lot of complex maths
- that I didn't quite yet understand. They are also unreasonable for game development's sake, so I will ditch that
- effort and focus on doing other things. This, of course, is not time entirely wasted, as I now I have a somewhat
- better understanding of why ellipses (and by extension ellipsoids, although I am not entirely sure of this). I should
- <i>instead</i> try to figure out the intersection using pills, not ellipses. Pills are simply 2D shapes made of a
- rectangle in the middle and two half-circles at either ends. This is a far less expensive collision to calculate.
- <br/>
- I also failed when it came to getting a good physics collision system going. This stemmed from a general misunderstanding
- of moment of inertia and how it can properly be implemented for each shape. I think I am getting a better grip on it now,
- however.
- <br />
- And that brings me to May/June. I am combining these two months because I am quite busy in May with family stuff,
- and hence won't be able to give my full attention to the project. That being said, as a high-level goal, I hope to
- get some more 2D collisions going, and maybe move onto 3D fairly soon. For 3D, I would simply like to get the physics
- simulation up and running with simple objects (spheres, cubes, etc.). From there, I want to begin exploring more complex
- physics simulation topics like oct-trees, multiple collision resolution, etc. We will see what happens, but I am optimistic,
- so long as I stay the course.
- </p>
- </section>
- <section>
- <h1>April 2021: Ground Work and Initial Collisions</h1>
- <ul>
- <li class="done">Orthographic rendering basics</li>
- <li class="done">Uniform build Process for WebAssembly</li>
- <li class="done">WASM Framework with simulation loop</li>
- </ul>
- <hr/>
- <h1>2D Collisions with Descriptions</h1>
- <ul>
- <li class="halfway">Ellipse-Line Collision</li>
- <li class="failed">Ellipse-Ellipse Collisions</li>
- <li class="failed">Ellipse-Circle Collisions</li>
- <li class="failed">Ellipse-Square Collisions</li>
- <li class="done">Rectangle-Line Collisions</li>
- <li class="halfway">Circle-Line Collisions (Redo)</li>
- <li class="failed">Rectangle-Circle Collision</li>
- </ul>
- <hr />
- <h1>Brief Wasm Series</h1>
- <ul>
- <li class="halfway">Getting started with WASM docs</li>
- <li class="halfway">Wasm examples</li>
- </ul>
- <p style="color: pink; font-size: 18px;">
- Everything above has a due date of <b>April 30th, 2021</b>. None of it is that hard, so this should be a very doable timeline.
- </p>
- </section>
- </main>
+ section ul li.halfway:before {
+ content: '⚠'
+ }
+
+ section ul li.failed:before {
+ content: '✗'
+ }
+</style>
+<article>
+ <section>
+ <h1>May/June 2021: More Collisions</h1>
+ <ul>
+ <li>SAT Collisions for Convex Polygons with Explanation</li>
+ <li>Pill Collisions</li>
+ <li>Remove (or hide) ellipse collision pages for now</li>
+ <li>3D scene setup</li>
+ <li>3D scene basic physics with spheres bouncing around a scene</li>
+ </ul>
+ <p style="font-size: 18px;">
+ Obviously, the month of April did not go as planned. I got caught up with a number of tasks that I couldn't handle,
+ namely, the pill collisions. These, as I discovered, were quite unfeasible and involved a lot of complex maths
+ that I didn't quite yet understand. They are also unreasonable for game development's sake, so I will ditch that
+ effort and focus on doing other things. This, of course, is not time entirely wasted, as I now I have a somewhat
+ better understanding of why ellipses (and by extension ellipsoids, although I am not entirely sure of this). I should
+ <i>instead</i> try to figure out the intersection using pills, not ellipses. Pills are simply 2D shapes made of a
+ rectangle in the middle and two half-circles at either ends. This is a far less expensive collision to calculate.
+ <br/><br/>
+ I also failed when it came to getting a good physics collision system going. This stemmed from a general misunderstanding
+ of moment of inertia and how it can properly be implemented for each shape. I think I am getting a better grip on it now,
+ however.
+ <br/><br/>
+ And that brings me to May/June. I am combining these two months because I am quite busy in May with family stuff,
+ and hence won't be able to give my full attention to the project. That being said, as a high-level goal, I hope to
+ get some more 2D collisions going, and maybe move onto 3D fairly soon. For 3D, I would simply like to get the physics
+ simulation up and running with simple objects (spheres, cubes, etc.). From there, I want to begin exploring more complex
+ physics simulation topics like oct-trees, multiple collision resolution, etc. We will see what happens, but I am optimistic,
+ so long as I stay the course.
+ </p>
+ </section>
+ <hr/>
+ <section>
+ <h1>April 2021: Ground Work and Initial Collisions</h1>
+ <ul>
+ <li class="done">Orthographic rendering basics</li>
+ <li class="done">Uniform build Process for WebAssembly</li>
+ <li class="done">WASM Framework with simulation loop</li>
+ </ul>
+ <h2>2D Collisions with Descriptions</h1>
+ <ul>
+ <li class="halfway">Ellipse-Line Collision</li>
+ <li class="failed">Ellipse-Ellipse Collisions</li>
+ <li class="failed">Ellipse-Circle Collisions</li>
+ <li class="failed">Ellipse-Square Collisions</li>
+ <li class="done">Rectangle-Line Collisions</li>
+ <li class="halfway">Circle-Line Collisions (Redo)</li>
+ <li class="failed">Rectangle-Circle Collision</li>
+ </ul>
+ <h2>Brief Wasm Series</h1>
+ <ul>
+ <li class="halfway">Getting started with WASM docs</li>
+ <li class="halfway">Wasm examples</li>
+ </ul>
+ <p style="color: pink; font-size: 18px;">
+ Everything above has a due date of <b>April 30th, 2021</b>. None of it is that hard, so this should be a very doable timeline.
+ </p>
+ </section>
+</article>
+ </main>
</body>
</html>