![]() I also recently designed all the armor that will be available in the game. I referenced a bunch of MMOs (thanks Guild Wars 2) for the design. This GIF demonstrates the UI element of the buff-system. Sometimes you just gotta, er, ride the wave? Making all these icons before knowing exactly which buffs I'll need isn't great but hey, I was having fun. So basically everything you hear about "composition over inheritance" and "data oriented design" really just boils down to "hey maybe OOP was a mistake let's go back to the 80's" I think I've discussed this in detail elsewhere, but I'm totally here for this growing trend to reject OOP. It's a subtle inversion, but there are some advantages (organizationally, conceptually, and even performance-wise) to preferring these static function libraries over your typical object hierarchies & virtual methods in many cases. You might be tempted to call this "dependency injection" or "functional", but really it's just the typical pre-OOP way of doing things. instead of mob.ApplyBuff(buffName) you'd write Buffs.Apply(mob, buffName) The necessary context is passed into these static functions, e.g. To give a flavor, there's a static class called Buffs that contains all of the buff-related logic and data types (which are just structs with no behavior). Now I'm settling into a better way of writing C# that jives more with the procedural style I'm used to working in. In the beginning I was trying out a lot of design patterns and OOP stuff because of Unity and the fact that I hadn't done OOP in a long time (also, I read Game Programming Patterns around that time). Since I've been working on this project for so long, the way that I write code has evolved a lot. An emotional roller coaster, if you will.Īnyways, here's a few updates crammed into one (also, gentle reminder that I've been posting about this stuff a lot more frequently on Twitter if you wanna' follow me Buffsįirst up, I added buffs into the game! The work for this was mostly UI, but also involved a fair bit of programming to build out the backend. It was weird timing because I'm going through some personal struggles, but I had a really good time that made me super sad and super happy at the same time. Like I had made 3 or 4 useful shaders for the game early on and I was still pretty confused and unclear about how a lot of it worked.Īny news on the game's progress, I just got back from GDC. I think you can definitely start getting useful results for your game in a weekend, especially with the right intros and guides. "like, something to do with 3D rendering I guess?" and I had been doing 2D stuff in Unity for about 7 months at that point! Like I knew the term "mesh" from unity components, but I don't think I could have told you what it was. I was truly starting from 0 I'd never really done any computer graphics or 3D before and I honestly didn't even know what shaders or even vertices/meshes were. I wasn't even writing much code that week either, I definitely remember spending a lot of time reading articles and introductions trying to understand how the hell any of this worked. At the time I couldn't find any other tutorials for this effect detailed enough for a complete beginner, so I was literally working off of Unity's docs, that article, and Nvidia's CG docs (these aren't great, Microsoft's HLSL reference is much better). I found this article on Google and thought, "OK well I guess I have to learn these shader things then". I remember that I wanted these effects for my sprites because I was prototyping all the visual polish and post-effects in Photoshop and I was using overlay everywhere. ![]() it looks like it took me about a week (and also note that I have a day job). The first mention of "shader" in my commit history is actually from November of 2016! Of course, it won't take you 2 years, I work on shaders pretty sparsely.Īpparently, the first thing I tried to do was to emulate overlay and a few other photoshop blend modes. Uh, hmm, it certainly wasn't something that happened all at 's been an ongoing thing where every time I need a new effect I take a weekend and figure out how to write it myself, cementing and improving my understanding of how it all works and what can be done.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |