4 ms·
Author here! I have mixed feelings about this. When you do something creative for a job it takes on an entirely different character than doing it for yourself.
by larsiusprime 5y ago
Author here!
I have mixed feelings about this. When you do something creative for a job it takes on an entirely different character than doing it for yourself. Another thing is that gamedev is still software coding (among other things), and only a fraction of what you're doing amounts to the "fun bits" related to making interesting game design decisions. The majority of it is endless slog in trying to get collision detection to stop snagging on corners or figuring out why your fire status effect is cancelling as soon as it's applied (turns out it's because fire is cancelling ice without checking for the presence of ice in the first place, and ice turns enemies wet when it expires, and wet status cancels with fire status, so setting things on fire made them wet, which means they're no longer on fire). And 50 million more thing like this.
I enjoy it, but then there's also the fact that the industry itself has a lot of pathologies that "boring" software development doesn't, lower pay and worse working conditions as an employee, and extremely turbulent ever-changing conditions as an independent developer or freelancer.
Whenever some kid tells me they want to go into games for their career, I like to trot out the probably-apocryphal story of the Jewish rabbi who refuses to let a proselyte convert until he's come to the rabbi three times and been flat refused twice. I use the same method -- "no kid, you don't want to go into the game industry for all these reasons." If they keep coming back despite all that, they at least know what they're getting into.
- chromanoid 5y agoThis. 10k games were released on Steam in 2020. In 2021 Q1 there are 316k games available on iOS. When creating a game is what you like, it might be rewarding, but the coding work is usually not very rewarding when it comes to the details. Especially because game ideas are usually not as original as most people think... When you are not a code monkey, coding is always highly creative be it games, missile control systems, high frequency trading, insurance policy management etc. It might be easier to imagine fun in the idea of coding for a leisure activity, but in reality it can also feel very shallow.
- iamwil 5y agoOne thing jumped out at me above that I had a question on: With the problem about status effects, how is this typically implemented? Do the rules for interactions exist within the game objects themselves, as if-then-else statements? If so, I can see why that would be error prone. Even if those rules exist in abstractions like "Burnable" and "Metallic", it's still hard to see the side effects of changing or adding a single rule. Does anyone ever implement it in a single place, where you can query for the interactions between the different status effects? That way, all the rules are in one place, and being able to query for it, the results would tell you how it came to that conclusion. If not, how come?
- larsiusprime 5y agoI just used it as an example of a bug I had last week and that I solved in 30 minutes -- the point is not how one individual bug occurred, but that there are a million boring technical things to do. You spend most of your time doing things other than enjoying the fruits of creative fulfillment. A significant amount of my time is not even spent coding, but doing admin and spreadsheets.
- iamwil 5y agoYes, game dev has a lot of grind to it. It was just that one example was related to something I've been thinking about: how come status effects and rules aren't in one central place to be queried? That way, you can spend 2-3 mins on it rather than 30 mins, because the system can just tell you how it arrived at that conclusion. But I hear you. 30 mins probably isn't enough frustration to warrant something like that. What spreadsheets? Like systemic design in spreadsheets? Or you're doing accounting?
- larsiusprime 5y agoYeah if you wanna talk architecture I have a bit of YOLO code that drags on me. But actually in this specific case like 99% of my elemental interaction code is in the same place just as you recommend! In this specific case the problem was entirely that I added a new rule to make ice decay into wet when it was removed, but didn't add a check to see if ice had been applied in the first place before removing it. And of course, that was all in the elemental interactions file. 28 of the 30 minutes were spent in just puzzlement why the fire wasn't applying and checking a bunch of irrelevant dead ends before I thought to check "oh obviously it's probably the elemental interaction code, go check the elemental interaction file." 2 minutes were spent fixing the actual code.
- iamwil 5y agoWhen I have a bug, I find a lot of the time, my basic assumption of what the system is doing was wrong, largely because I had no visibility into what it was doing. For something like status effects, I was thinking about using a datalog engine, like jasonwatkinspdx mentioned in a sibling comment. That way, you can query it for applications of status effects, instead of hunting it down in code. That said, I never heard any game dev talking about Datalog, and was wondering if there was a reason for that--whether it's obscurity, or if it's impractical for some reason.
- jimmySixDOF 5y agoOk but consider the recent interview this week with Unity CEO John Riccitiello who said: “real-time 3D content”—a category that includes games and material with game-like interactivity—will account for almost half of all visual digital content by the end of the decade, compared with what he estimates at only about 3% today. [1] That's in addition to his estimate that more than 15% of Unity development today is outside the gamer space. Over time I agree with him and think the better part of 3D UI/UX game design elements will make their way in to traditional enterprise software and web stacks. They will be both more functional and beautiful to work with as a result. [1] https://www.theinformation.com/articles/unity-ceo-predicts-ar-vr-headsets-will-be-as-common-as-game-consoles-by-2030 https://www.theinformation.com/articles/unity-ceo-predicts-a...
- chromanoid 5y ago> Over time I agree with him and think the better part of 3D UI/UX game design elements will make their way in to traditional enterprise software and web stacks. They will be both more functional and beautiful to work with as a result. Lol, what better part? Game UI serves the game. UI of serious applications serves the user. Traditional enterprise software and web stacks will be inspired by serious well done consumer software that serves the consumer and is so pleasant to use that they want this at work too (see e.g. https://www.se-radio.net/2021/01/episode-442-arin-bhowmick-on-ux-design-for-enterprise-applications/ https://www.se-radio.net/2021/01/episode-442-arin-bhowmick-o...). Nobody wants to fumble seriously in inventory screens and go through click fests that are meant to keep you in-game.
- pjmlp 5y agoOne of the reasons why went full stack (native and web) was that I could get a bit of the graphics programming stuff I like, without the working conditions of the games industry.