summaryrefslogtreecommitdiff
path: root/roadmap.html.content
blob: e060837c9b73ee18ca1e634ab9f73e83d1bb3233 (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

<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: green;
  }

  .halfway {
	  color: orange;
  }

  .failed {
      color: red;
  }

  .abandoned {
      color: grey;
  }

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

  section ul li.halfway:before {
	  content: '⚠'
  }

  section ul li.failed:before {
      content: '✗'
  }
</style>
<article>
  <section>
    <h1>July 2021: 2D loose ends and 3D headway</h1>
    <ul>
      <li class="done">Finish SAT Collision Info (very close)</li>
      <li class="halfway">2D rigidbody explanation 3</li>
      <li>3D Rigid Body Collisions</li>
      <li>ZIP file creator for downloads</li>
      <li>Explanation of Quaternions</li>
    </ul>
    <p>
      The last two months went almost as planned. I think I misjudged how long and how much brainpower it would
      take me to write explanations for all of these things. A classic engineer mistake. We see writing,
      and we think, "Easy, I can do that." And I usually can, but I am a bit rusty as of late. Additionally, this
      writing involved a lot of diagrams and math equations that I struggled to put into HTML. I even had to learn
      to make some simple drawings in gimp, which was a bit of a hurdle.
      <br /><br />
      That being said, I am fairly configdent that I can finish the above items in the month of July (maybe minus the
      quaternion work, but we will see). To get my confidence up, I am going to begin with the ZIP file creator for
      downloading individual projects. That will definitely be worthwhile.
    </p>
  </section>
  <section>
    <h1>May/June 2021: More Collisions</h1>
    <ul>
      <li class="halfway">SAT Collisions for Convex Polygons with Explanation</li>
      <li class="done">2D rigidbody physics demo + explanation 1</li>
      <li class="done">2D rigidbody physics demo + explanation 2</li>
      <li class="halfway">2D rigidbody physics demo + explanation 3</li>
      <li class="done">Remove (or hide) ellipse collision pages for now</li>
      <li class="done">3D scene setup</li>
      <li class="abandoned">3D scene basic physics with spheres bouncing around a scene</li>
      <li class="abandoned">Pill Collisions</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.
      <br/><br/>
      <i>Edit:</i> I am going to focus on SAT collision and AABB collision detection going forward for this month. In addition,
      I am going to finish the descriptions/demos for regular rigidbody collision. Afterwards, if I have time, I will move onto
      3D collisions.
	</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: black; 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>