summaryrefslogtreecommitdiff
path: root/roadmap.html
blob: 3c0e4573e7872e7e5e139e179e568fc6e7fc0ebd (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<!DOCTYPE html>
<html lang="en">
	<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><a title="physicsforgames.com" href="/">Physics for Games</a></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 title="/2d/rigidbody/rigidbody_1.html" href="/2d/rigidbody/rigidbody_1.html">Linear Forces</a></li>
					<li><label>Collisions</label></li>
					<li><a title="/2d/_collisions/circle_line.html" href="/2d/_collisions/circle_line.html">Circle-Line</a></li>
					<li><a title="/2d/_collisions/rectangle_line.html" href="/2d/_collisions/rectangle_line.html">Rectangle-Line</a></li>
					<li><a title="/2d/_collisions/rectangle_rectangle.html" href="/2d/_collisions/rectangle_rectangle.html">Rectangle-Rectangle</a></li>
					<li><a title="/2d/_collisions/pill_line.html" href="/2d/_collisions/pill_line.html">Pill-Line</a></li>
					<li><a title="/2d/_collisions/pill_pill.html" href="/2d/_collisions/pill_pill.html">Pill-Pill</a></li>
					<li><a title="/2d/_collisions/polygon_polygon.html" 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 title="/intro/intro.html" href="/intro/intro.html">Introduction</a></li>
				</ul>
			</li>
			<li>
				<span>&#128712;<span>About</span></span>
				<ul class="inner-tree">
					<li><a title="/roadmap.html" href="/roadmap.html">Roadmap</a></li>
				</ul>
			</li>
		</ul>
		</nav>

<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>
<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>