Also since I haven't ranted at Steam for a while: I really hate how people anticipate Dwarf Fortress' Steam release. It really feels like games don't exist unless they are on Steam. How Steam managed to become a middle man for the whole game industry and tax it as they please and why everyone is going along with it is a mystery to me.
I think your options with a single unit are rather limited. If you add more players with synergies or pets there would be more options. Make the boss chase the pet around while you kill the adds for example.
Diablo then? Or Path of Exile I guess. There was barely any strategy involved, just mindless repetition. You could add more boss mechanics to force the player to do the thing, but that is not very fun.
If I were to try to make it more tactical I'd remove worker management and worker harassment because it's just not fun. That frees up a lot of brain power.
From what I remember from StarCraft it mostly comes down to picking a couple of good strategies, practicing executing those strategies and executing them well in a game. There is little tactical thinking involved, mostly just knowing timings and being good at managing however many bases, upgrades and unit movements at the same time.
The project was a complete success to get familiar with variable templates and an utter failure as far as making a useful engine. I'm still very happy with that outcome.
I did that too. The goal back there was to try out C++ variable templates. template <class Component> std::vector<Component> components; looked like magic back then.
Foreigner: Excuse my lack of eloquence; since it is my second language, English grammar and wording does not come natural to me. Native speaker: Is cool bro, dun wory
Well, the point of "academic" is that it does not require results. That you don't care about using the results beyond publishing them, so it doesn't matter if the results are useful/good.
Personally I went with the academic experience for long enough that I'm now capable of the work part without having gone through much pain, but I understand that that is rather unusual.
I suppose. It's fun in an academic sense if you want to learn about templates and what crazy things they are capable of. They are much less fun if you don't care about templates and just want your code to work.
If the vector, move_matrix and rotation_matrix change every time you do the calculation then this isn't useful. It assumes you can do move_matrix * rotation_matrix once and then reuse the result many times in order to reduce the number of calculations.
Basically when you have vector * move_matrix * rotation_matrix you can evaluate move_matrix * rotation_matrix into move_rotation_matrix and then do vector * move_rotation_matrix.
Yes, that's how you do it. The trick is that you can multiply the move-to-origin, scale, rotate and move-back matrices to a single matrix, so there is no additional cost.
Sometimes I think unit tests are relatively good at showing off functionality, better than a list of functions and their descriptions because you have self-contained compilable working examples including setup code.
I really hate having to deal with taxes and finances in general, so I thought having a tax program asking questions and me answering honestly would produce a correctly filled out tax form, but that was not the case.