What I know now that I didn’t know then:
- I need a project skeleton ready to go, including a build script. Last second resource loading issues suck. This is what people who use frameworks get. This is why they win.
- Don’t switch math libraries. Just don’t.
- I have a lot of my own code that works really well. I need to either find similar replacements, or package up a library that (in theory) anybody else could use.
- I am now fast enough with creating models in Wings3d that I should not be writing any code that generates more than a triangle or a line.
- Unfortunately, I can’t trust Wings3d to generate a completely solid mesh. It has trouble with inset geometry. I may need to import to Blender and re-export, which will still be faster for me than trying to do the modelling from scratch in Blender.
- I tried the Entity Systems model instead of standard OO for the game objects. Features came together incredibly fast. Stupid-fast. I won’t go into the concepts here, but Ask Hume or drop a comment if you care to know more.
- Wacom tablet drivers suck.
- Livestreaming while coding is a big waste of time. The experience for my viewers was horrible, and it was pretty bad for me, too. I had problems with the desktop capture software leaking memory, and also Adobe FML Encoder, which went 350MB to 1GB of RAM in 45 seconds at one point before I killed it. Furthermore, my monitors are both 2560x1440 — which is great — but that means I can’t stream a whole monitor without bogging down my system. Finally, I don’t have the upstream bandwidth to do this properly. 500 kilobits just won’t cut it.
All in all, I probably wasted 40% of my development time on issues like the above, and I tried to get a decent amount of sleep.
I’m tempted to say that knowing what I know now, I could probably take the same design and pull it off next weekend. And that’s why I expect to crash and burn next weekend, too.
Ah well. It’s all for the learning experience, and I’m thrilled with what I’m learning.