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

<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: 3D headway (Planning)</h1>
    <ul>
      <li>Explanation of Quaternions</li>
      <li>3D Rigid Body Collisions</li>
      <li>ZIP file creator for downloads</li>
    </ul>
  </section>
  <section>
    <h1>May/June 2021: More Collisions</h1>
    <ul>
      <li class="halfway">SAT Collisions for Convex Polygons with Explanation</li>
      <li class="halfway">2D rigidbody physics demos + explanations</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>