Monday May 8th

5/8/17 - Learnin’


I sort of didn’t have an idea of exactly what a game engine was, even though I apparently made one in Java before (whoops).


  • To strengthen my understanding of C++, started on this Game Engine one for C++.

  • This is this tutorial by the Cherno. He’s pretty awesome.

  • One of things I think I defintely have ahead of people in class/school is just pure mileage. A lot of people don’t even have a Github, or if they do, it’s pretty empty, or only filled with class homework. :(

I’m trying. But a lot of it is just fun.

I was up at three trying to solve some Katas on CodeWars. I also beat the head of my hackerspace’s score. :)


  • I think programming’s fun, so it’s always worthwhile to learn something or build as many things as you can.

  • I want to especially get better at:

    1. C++
    2. Haskell
    3. Computational understanding in general:

    Things like Pointers, Category Theory, Type Theory, Combinatorial Logic, etc.

  1. The Scientific approach: LaTeX, being analytical and concise, thinking more than tap-tapping.
  • I think that those two languages will do something special for my ability if I keep learning them, in addition to whatever other stuff I have to learn (cough JavaScript, Python, etc).

  • Some of the best people I’ve admired in terms of ability seem to gravitate towards those. I don’t think it’s enough for me to just be a developer. I want to be a good one. So I try to keep learning, and definitely don’t shut myself off from learning a new language, trying something out, etc. Especially at this stage, it’s okay to fail.

Today’s exploration -> Building a Game Engine

In this particular one, there are neat tricks like:

  • hold alt and you can drag and select a group of objects



“Tricks” are important if they make you less likely to make mistakes. When you’re learning, and you don’t know them, you tend to type everything. So you find yourself making more mistakes. I’m a pretty good typist (Thanks, Mavis Beacon!), but I think about efficiency a lot.

To start, we loaded Two main libraries:

That took a while…

  • You had to link them to your folders after unzipping them. Interestingly, not as painful as Java SDKs for me.

I was surprised it all worked!



Then we got some Colour in there


…and Rendering

Then we got a triangle rendered vertex by vertex


And checked the resolution of our screen


And then made sure our imaged scaled with the resized screen


And tested stuff like keys, mouse press, mouse move. You can see the positions of x and y based on where the mouse is on the screen


So that took me all day, but I learned a lot.


  • I like this a lot. A lot of learning, and surprisingly makes a lot of sense thus far. I feel like I always learn more from these…sometimes way more than in class. Welp!
Written on May 8, 2017