summaryrefslogtreecommitdiff
path: root/roadmap.html
blob: 912e8c602327ffa61b2c432022c692352574feb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!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;
		  }

		  section ul li:before {
			  content: '-';
		  }

		  .done {
			  color: lightgreen;
		  }

		  .halfway {
			  color: orange;
		  }

          .failed {
              color: red;
          }

		  section ul li.done:before {
			  content: '✓'
		  }

		  section ul li.halfway: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>
	</body>
</html>