Live data from Hacker News

Confessions of an Unreal Engine 4 engineering firefighter

allarsblog.com

71–80 of 117 posts

Re: Confessions of an Unreal Engine 4 engineering firefighter

#71
post #54

Earlier quoted context omitted.

I've never understood why there's so much rage about crappy games on steam. I certainly wouldn't have the gall to charge money for a unity tutorial game, but I absolutely love some of the insane games people like zachtronics make. If we want to go back to publishers controlling access, who in their right mind would approve Schenzen IO? There's a lot of crappy products on EBay as well, but that doesn't mean the platfo…

>I've never understood why there's so much rage about crappy games on steam. It's because there are so many crappy games on Steam that it makes it all but impossible for indie developers with decent games to be discovered. The perception that Steam is a cesspool of con-artists and incompetents depresses the perceived value of any game on the platform not released by a known publisher, meaning any independent game is…

If you're going to "get discovered", in any industry, you're doing to be very disappointed. Marketing, just like engineering, shouldn't be an afterthought.

Re: Confessions of an Unreal Engine 4 engineering firefighter

#72
Wow, this hits way too close to home. On the last few projects I've been hired as a lead Unity Dev, my main job was to untangle the mess left by previous maintainers and finally put some good engineering practices in place. Project I'm working on right on had it's multiplayer "just added" on top of single player gameplay mechanics, and now my team finds itself in the middle of the complete architectural rewrite instead of making any new features.

Re: Confessions of an Unreal Engine 4 engineering firefighter

#73
When I got the call to fix this dilemma literally a couple of weeks before release, the simple act of cleaning up the source control server, and purging these unneeded cache files from source control, fixed this audio issue that was plaguing them for months and had costed the company tons of money and time.

This sort of thing drives me insane (or at least used to; my current colleagues, from junior to senior, are all actually pretty good). This is something that everyone knows, just by looking at it, is a bad thing. Everyone who saw this must have known it wasn't a great idea, even if they didn't know why. Even without being able to elucidate why, everyone (should) get the feeling that having these things in the repository is asking for trouble; I'd expect a junior to have at least a bad feeling about it, and a senior to be able to specify what kind of problems it could cause. I don't know about the exact circumstances, of course, but it's even surprising that nobody found this problem while they were investigating. I've certainly gone as far as "are we definitely using the exact same binary files on the different systems?" when chasing odd problems that only manifest on some installations and not others, so what went so wrong that nobody got that far in their debugging?

So unless the company in question had by chance a room full of people with this particular massive blind spot, people saw this happening and they knew it was a bad idea and they didn't do anything about it. Culture failure. I don't know why. Maybe they were afraid to mention bad things because pointing out possible problems is seen as not being a team player. Maybe they were just so sick of it all they didn't care anymore. Maybe there were a couple of forcefully strong people in charge of the repository who saw any question as a personal attack and people were just sick of dealing with the egotistical prima donnas. Maybe the process for doing anything about it was laughable painful and went through someone who would shoot it down on the grounds that we're so busy firefighting things that are broken and you want to waste time tinkering with something that looks fine to me?

If Allar is reading, could you say a few words about this? How many times do you get called in to fix something that could have been averted with a decent programming culture, even if the specific technical chops weren't there? We've all seen teams with good culture deliver software that they really didn't know how to build when they started through good culture, and we've all seen teams of people who all know what they're doing deliver a flaming wreck because the culture was a disaster. How often are you called in to deal with something that the existing team really couldn't have foreseen without some particular piece of specific knowledge or experience, and how often is it something that they could have dealt with months ago if they had just been allowed and guided to work sensibly and professionally?

Re: Confessions of an Unreal Engine 4 engineering firefighter

#74

The amazing thing to me is that now people can make games without a bunch of great engineers. Back in the day when we made Battlezone we had at least four really amazing engineers (one was a Masters in CS from MIT, one wrote early 3d workstation code, UCLA, Cal Tech CS degrees). In those days you needed people like that to just 3D to work in Windows. Direct X helped a lot. Unity and Unreal have made things we couldn'…

Yes. I'm not sure that is a good thing for the consumer though, and has led to the market being flooded by rubbish. It is one thing to produce a game. Another, to produce a good game.

Re: Confessions of an Unreal Engine 4 engineering firefighter

#75

Earlier quoted context omitted.

I've found that the polish step is necessary no matter what engine you use, or even if you roll your own.

It is a cliche of game development that a game that is 75% there still has 90% of the work left to complete it to high quality.

It is a cliche of all software development, and very true in my experience.

Re: Confessions of an Unreal Engine 4 engineering firefighter

#76
Good article and I agree with most points, however I am not sure I like the articles tone. Maybe I am a precious butterfly but it was a bit "all-knowing", with too much emphasis on how you save the day. I am sure your phone will start ringing after publications too :) Thanks anyway though, I read it :)

Re: Confessions of an Unreal Engine 4 engineering firefighter

#77

When I got the call to fix this dilemma literally a couple of weeks before release, the simple act of cleaning up the source control server, and purging these unneeded cache files from source control, fixed this audio issue that was plaguing them for months and had costed the company tons of money and time. This sort of thing drives me insane (or at least used to; my current colleagues, from junior to senior, are all…

Literally no engineers were allocated to the issue and majority of the project.

20% of the time I work on novel unforseeable issues. R&D and future tech stuff.

80% of the time its culture, professionalism, and generally "are you fucking serious" issues.

I've dealt with literally every situation you've described however. Just because this particular reason was that there were no engineers, you could swap in any other situation and still have a true story.

Re: Confessions of an Unreal Engine 4 engineering firefighter

#78
Great article that reminded me of John Cleese’s wonderful talk about creativity.

> So, here's how to stamp out creativity in the rest of the organization and get a bit of respect going.

> One: Allow subordinates no humour, it threatens your self-importance and especially your omniscience. Treat all humour as frivolous or subversive.

> Because subversive is, of course, what humour will be in your setup, as it's the only way that people can express their opposition, since (if they express it openly) you're down on them like a ton of bricks.

> So let's get this clear: blame humour for the resistance that your way of working creates. Then you don't have to blame your way of working. This is important. And I mean that solemnly. Your dignity is no laughing matter.

> Second: keeping ourselves feeling irreplaceable involves cutting everybody else down to size, so don't miss an opportunity to undermine your employees' confidence.

> A perfect opportunity comes when you're reviewing work that they've done. Use your authority to zero in immediately on all the things you can find wrong. Never never balance the negatives with positives, only criticize, just as your school teachers did.

> Always remember: praise makes people uppity.

> Third: Demand that people should always be actively doing things. If you catch anyone pondering, accuse them of laziness and/or indecision. This is to starve employees of thinking time because that leads to creativity and insurrection. So demand urgency at all times, use lots of fighting talk and war analogies, and establish a permanent atmosphere of stress, of breathless anxiety, and crisis.

> In a phrase: keep that mode closed.

> In this way we no-nonsense types can be sure that the tiny, tiny, microscopic quantity of creativity in our organization will all be ours!

> But! Let your vigilance slip for one moment, and you could find yourself surrounded by happy, enthusiastic, and creative people whom you might never be able to completely control ever again!

> So be careful.

https://www.youtube.com/watch?v=Pb5oIIPO62g

https://www.brainpickings.org/2012/04/12/john-cleese-on-crea...

Re: Confessions of an Unreal Engine 4 engineering firefighter

#79

I'm sure this article resonated with many engineers, not just from the game industry. What resonated with me the most, was the part about hiring a consultant, only to tell management what their employees have been telling them all along (for a ridiculous hourly rate of course). The simplified executive line of reasoning, why to rather trust an external entity over their own people, goes usually along these lines: "We…

> The simplified executive line of reasoning, why to rather trust an external entity over their own people, goes usually along these lines: "We do not take advice from our employees. We hired them for grunt work and we only expect them to follow orders. What could they possibly know that could benefit our high-level decision making. Afterall we pay them so little".

It's not always that leadership ignores line-engineers just because they consider them stupid. Even obvious recommendations get tangled into the web of politics and personal favors. Sometimes the 'obvious solution' is also a play to get more power or influence for someone you're opposed to. That factors into how the advice is taken.

Part of the fiction management sells itself is consultants can cut across those organizational boundaries and find the 'right solution'. Sometimes having an 'impartial' voice echoing what others have already said is enough to convince you it's not just someone trying to poach your turf, it's actually good advice.

Further, our tendencies towards tribalism influence this process. We tend not to think of other employees as part of the same group - they are devs, or ops, or product. That builds an 'us vs. them' mentality that's hard to break. Bringing in an outsider tends to unify the group into us (the company/team) vs. the outsider (the consultant). That psychology helps us to justify bitter medicine like our team getting more work (which will help the company).

I tend to have a negative opinion of consultants, but someone pointed this aspect of group psychology to me in the past and it resonated.

Re: Confessions of an Unreal Engine 4 engineering firefighter

#80
post #22
post #17

Earlier quoted context omitted.

> Unity and Unreal have made things we couldn't have dreamed of possible. Such as mountains of bloatware/shovelware template games clogging up every single online store and platform.

Shall we go back to the old days, then? Because there were no crap games then. The solution is better curation and discoverability. Not harsher gate-keepers and horribly difficult development. So many incredible games wouldn't exist without modern development tools. Just because you were mildly inconvenienced the last you time browsed an app store, don't wish it all away.

https://en.wikipedia.org/wiki/Video_game_crash_of_1983
Post reply on HN