Thanks, really useful. It’s great to see another clever developer on this side of the internet ;). As for game I’m making, I’m doing custom level editor (think like one that were in Doom or Quake, but in full 3D). I’ve even devised custom, “binary blob” format for level editor and saves, so I won’t have to rely on serialization or playerPrefs (from experience I know that in some cases, tiny change to class that was serialized e.g. into save file breaks older save files, and this is something I want to avoid, even during Early Access phase).
Textures aren’t problem as my game, aside of things that require some sort of texture, like UI, will use untextured lowpoly art direction (think SkyRoads, or if you’re really geeky, Alpha Waves/Continuum) for the models and such.
As for the game’s size, I don’t think it’d be a problem with aforementioned lack of textures and audio being most likely chiptunes (in module format, like xm, if I’d be able to find some player for Unity).
co-routines, I don’t really look at them as asynchronous, more like a “wait here until something else on this same thread does something that makes you do the next thing”… kinda’ weird.
well… at least not the way I learned about asynchronous methods in C#… which is “go do stuff, while I do stuff, then when your done I’ll know about it and let that happen.”… kinda’ weird.
Well, they are asynchronous, and even the underlying implementation strategy isn’t too far out of the ballpark for how other game engines have done it in the past.
I only skimmed the tips, but some of them look like they’re pretty broadly applicable outside of Unity. I like that project scoping was one of them. Too many people miss that kind of thing and are all about the hard technical expertise.
while I think in terms of word definition it could be, but not how I understand what yield does along with co-routines. they’re sequences, processed synchronously in order thereby blocking the dependencies while handling the task… whereas actual asynchronous tasks can continue to process and return and not block dependencies.