Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Hyper Crab Tank
Feb 10, 2014

The future of crustacean-based warfare


Bootcha posted:

I guess the question is: What core-ward parts of a video game engine are the potential or actual roadblocks for making a video game engine do something it didn't previously do? On the whole, how much of these attempts are "We don't have the time or resources to do this" and "We literally cannot do this, it cannot do what you ask"?

It's interesting that you bring up CryEngine and MMOs, because I used to work for a company that tried to do exactly that (and you can imagine my delight at seeing Cloud Imperium Games trip over all the things we did).

The core problem has to do with assumptions. CryEngine was made for Crysis, and no other game. This means that in the creation of Crysis, they made a large number of assumptions that are perfectly reasonable to make for that game. Assumptions like "a single level (map) is loaded at a time", "the player controls a single character", "the camera is first-person and generally level with the horizon", "the player will spend most of their time outdoors", "the player will spend most of their time shooting guns at various enemies", "multiplayer is a matter of a single server and multiple clients", "there will be at most 32 players in a single multiplayer session", "the physics are on the scale that objects are at most a few meters large", and so forth. These assumptions in turn drove many decisions, both design and technical ones.

For example, one of the first problems we ran into was that you couldn't possibly fit the entire world we were making in a single CryEngine map file. And even if you could, there's no way to load that whole thing at once. We needed a streaming solution of some kind, but that simply didn't exist. In fact, the engine was kind of inimical to the idea of dynamically unloading and loading the map, since that was not something they ever did in Crysis. There were assumptions all over the code that there was one level at a time, and if you wanted to go somewhere else, that meant a loading screen and unloading the world, then loading a new one. So not only was the engine not useful to us in that respect, we had to rip out large parts of it and fit our own solution in there instead.

This repeated itself several times. The networking had to be completely replaced - I don't think we used any of CryEngine's networking stuff at all in the end. It just wasn't worth it when it was built for a completely different experience and couldn't be effectively wrangled into supporting MMO levels of players at the same time, or even the concept of having more than one world server. And here's where words like "couldn't" need to be taken less than literally; what I mean is that yes, of course you can do it, in the same sense that you can build a house out of jelly if you try hard enough. But the sane thing to do is start over and use wood and plaster. And when you do, you inevitably compromise the engine itself because now some other assumptions on the other side of the multi-million line codebase no longer hold, so you need to run around constantly putting out fires.

You're no doubt familiar with Star Citizen's atrocious space physics. I'm not surprised at all. CryEngine's physics system is written for human-level scales, not spaceship-level. And what's more, CryEngine's physics code is a dense, unreadable, mysterious mess. Untangling what's going on in there would be a monumental effort, and unfortunately, the physics system is kind of integral to the engine because everything depends on it on some way or another, from collision detection to navigation, foot IK and more. So not only is there this writhing blob spitting insults at you in the middle of your code, you can't get rid of it without effectively not using CryEngine. So you're stuck with what the physics engine offers you, and you have no good choices beyond just not doing what Crysis didn't do.

All of these assumptions made sense for Crysis. They don't make sense for any other particular game. This is the same problem Frostbyte has, and Unreal, and virtually every engine in the world, because with few exceptions, engines are created in the course of making one particular game. Licensing is and always has been an afterthought (and it's especially so in the case of CryEngine).

Hyper Crab Tank fucked around with this message at 06:46 on Apr 8, 2021

Adbot
ADBOT LOVES YOU

Skwirl
May 13, 2007

The 'blood babe with the silicone chest, 200-dollar haircut, and a closet full of the latest fashions.




I'm assuming this would be a huge task and there'd be very little reason for a company to do it unless they had unlimited money and time and were developing several games in very disparate genres at the same time, but would it theoretically be possible to make an engine that would work equally well for an FPS, an Open World Rpg, a Side scroller, an RTS, a RTwP RPG a Turn Based RPG, A War Game?

Chronojam
Feb 20, 2006

This is me on vacation in Amsterdam
Never be afraid of being yourself!




You could make generalized components if you had tangible goals that lined up well enough across the board.

But consider the networking support you'd want for local-play co-op platforming where one player has control at any given time (think DKC) versus a competitive fighting game (think Street Fighter).

At some point you're torturing yourself in the name of forcing commonalty to make it "one engine" but as a set of libraries for sound, file formats, etc it's more reasonable to approach such a dream.

Chronojam fucked around with this message at 07:27 on Apr 8, 2021

more falafel please
Feb 26, 2005

forums poster



If you take networking as a base example -- Unreal has a networking model that works really, really well for things that are kind of like FPS. That means games that have a lot of clients per server, where you want client prediction to make everything look good while you're playing, but have the server resolving everything to be fair, and honestly don't care about frame-perfect simulations (sorry FPS gamers). It makes it easy for gameplay programmers who have never cared about networking to internalize a few axioms and make a game that works really well without having to care about it much.

Then take something like a fighting game. A fighting game needs perfect deterministic simulation between two clients. It's peer to peer, lock-step, which means the same inputs (often literally the button presses) are being fed to the game simulation to simulate the same frame, and hopefully they're doing rollback to compensate for latency. You can't do that in Unreal's actor replication model, at least not without fighting it tooth and nail at every turn and ending up with something lovely. Does that mean you can't make a fighting game in Unreal? No, it just means you don't get one of the big selling points for free, and you might have to fight unreal a bit to make it work.

Same goes for RTS/MOBA games -- usually also lock-step, but with multiple (<=10) clients on a server. The model is completely different.

Could Unreal make totally separate networking models that made these things work nicely? Absolutely. They haven't, though, and they're not going to do it soon, or at least they won't tell you about it soon

OzyMandrill
Aug 12, 2013

Look upon my words
and despair



On my last project we took had to take Unreal Engine (designed for single levels) and wedge a large (4kmx4km) streamed world onto it. It was a LOT of work and large parts of the Unreal had to be rewritten, but Microsoft was signing the wage bills so there was the money to throw at it. While the rendering layer is largely the same (except for optimisations), the way objects were loaded/saved/replicated had to be massively reworked.
There were many many parts of unreal that had to be redone for the situation, but what Unreal still added from day one was a very smooth art->world editor experience for the majority of the team that wasn't heads down in engine code. This is the main draw of Unreal, coding aside.

Bootcha
Nov 13, 2012

Truly, the pinnacle of goaltending


Grimey Drawer

Hyper Crab Tank posted:

You're no doubt familiar with Star Citizen's atrocious space physics. I'm not surprised at all. CryEngine's physics system is written for human-level scales, not spaceship-level. And what's more, CryEngine's physics code is a dense, unreadable, mysterious mess. Untangling what's going on in there would be a monumental effort, and unfortunately, the physics system is kind of integral to the engine because everything depends on it on some way or another, from collision detection to navigation, foot IK and more. So not only is there this writhing blob spitting insults at you in the middle of your code, you can't get rid of it without effectively not using CryEngine. So you're stuck with what the physics engine offers you, and you have no good choices beyond just not doing what Crysis didn't do.

I have heard many stories of the YuriEngine, yeah. From what I understand currently, CIG is attempting to put another physics system on top of the legacy physics system. In essence running two physics calculations at once, only the new system's results are used. But when the engine is being strained by a lot of resources, Yuri starts to poke his head out and countermand the calculations back to Crysis jank levels. At least, that's what I understand from observation and from anecdotal stories.

Beef
Jul 26, 2004


more falafel please posted:


Same goes for RTS/MOBA games -- usually also lock-step, but with multiple (<=10) clients on a server. The model is completely different.


I wonder if Valve had to rip out and replace the Source and then Source 2 network model for DotA2. It's still a client/server model, so likely not a complete overhaul.

more falafel please
Feb 26, 2005

forums poster



Beef posted:

I wonder if Valve had to rip out and replace the Source and then Source 2 network model for DotA2. It's still a client/server model, so likely not a complete overhaul.

I wouldn't be surprised, I've never worked in Source, but I'm pretty sure it's a server-authoritative client-prediction model similar to Unreal, because that's how you make online FPS. Honestly, very little has changed since Quake (it just works better because internet service is better).

Beef
Jul 26, 2004


HL since the 1.5 patch and then Source, Valve has been using interpolation of historical data within a delayed window. It's not the same as the lock-stepped delay-based netcode of fighting games, but it shares some characteristics. That was a pretty big change, even with the same lovely connections of the time.

edit: All that to say that yes, it's still server-authoritative with client prediction, but I wouldn't say that nothing changed since Quake. There is a big difference between the pure extrapolation prediction of UT2004 and the interpolation of the Source model.

Beef fucked around with this message at 18:01 on Apr 8, 2021

1337JiveTurkey
Feb 17, 2005



Whenever I'm like "That's probably impossible to get the same engine to do both those things" I remember Bethesda somehow merged the idTech netcode into the Creation engine for Fallout 76 and God is Dead.

Lucid Dream
Feb 4, 2003

That boy ain't right.


1337JiveTurkey posted:

Whenever I'm like "That's probably impossible to get the same engine to do both those things" I remember Bethesda somehow merged the idTech netcode into the Creation engine for Fallout 76 and God is Dead.

I was pretty blown away to find out that Frontier uses the same engine for Planet Zoo and Elite Dangerous.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!


Anachronox still has a special place in my heart as one of the craziest abuses of a game engine.

That and SOCOM, God of War, and God of War II being built on what was originally a racing game engine.

more falafel please posted:

In my experience, tools are typically tightly coupled to the engine, especially in the case of licensed engines. UE4's tools are its major selling point. Even in custom engines, the tools (asset importers, baking/build tools, level editors, etc) are so coupled to the engine that it would be hard to make a clean break. You could build a new animation importer for a custom engine, but it would have to do the same thing as the previous one.
I guess it depends if you're talking about it from a licensee perspective (in which the tools are certainly a critical part of what you're getting) or a user/promotion perspective (in which case the engine is usually treated as distinct from the tools).

OneEightHundred fucked around with this message at 07:02 on Apr 9, 2021

Hyper Crab Tank
Feb 10, 2014

The future of crustacean-based warfare


OneEightHundred posted:

I guess it depends if you're talking about it from a licensee perspective (in which the tools are certainly a critical part of what you're getting) or a user/promotion perspective (in which case the engine is usually treated as distinct from the tools).

It might be interesting to look at a breakdown of what licensing an engine actually gets you (or might get you, depending on the engine). This list isn't exhaustive, but it should hit many of the major points.

  • A rendering pipeline - this is the big noticeable one, and one of the main draws, especially for things like Unreal Engine that have an insane amount of man-hours put into it by people much more clever than I am, and is thus able to achieve things that I couldn't realistically implement on my own.
  • Shader/material system - this goes hand in hand with the rendering pipeline.
  • Texture/model loading system - usually with support for many different texture formats, as needs are different between use-cases and platforms.
  • Some sort of scene graph system - most engines expect you to use their scene graph in order to use their rendering pipeline. This may or may not be a good fit for your game, but it's usually relatively easy to wrangle a well set up scene graph system to do what you want, even if you're doing something weird.
  • Model animation system - including the ability to define animation graphs, do inverse kinematics, and so on.
  • Some sort of level/map system - scene graphs are created from these, usually.
  • Particle effect system - so many visual effects these days fall under the umbrella of "particle systems", a term that is becoming increasingly more loose as more (great-looking, useful) stuff gets shoved in there.
  • User interface system - some engines include this as part of the scene graph, others have dedicated systems (e.g. Source 2's Panorama). But every game needs UI of some sort.
  • Audio system - better engines have support for neat positional 3D sound, scene-based reverb, and so on, but even the simplest engines have a way to play audio.
  • Physics engine - rigid body dynamics is usually considered the minimum these days.
  • Scripting - it's a great design tool, for starters. How tightly integrated the scripting systems are with the engine varies a lot.
  • Networking - lots of games want multiplayer.
  • Authoring tools for all of the above - this is another big one as a developer. We spend a lot of our time building tools, but every tool someone else can build for you is time saved. Some engines (e.g. Unreal) have a big centralized editor where you can access all your tools, others don't.
  • Asset compilation and packaging - some automated way to convert raw PSDs, WAVs, FBXs etc. into assets usable by the engine, and ultimately also a neat distributable package. Crosses over with authoring tools a bit.
  • Wide multi-platform support - good engines can run on desktop, PlayStation, Xbox, Switch etc. with minor or no changes. (Mainly you have to worry about adjusting quality levels to keep performance consistent.)

Your objective as a licensee is to make the engine developers do as much of your job for you as possible. Some parts you can implement yourself if the engine's components are a bad fit for you, and some you're expected to (like gameplay systems). Others are almost impossible for you to feasibly (or at least economically) do yourself, like the rendering pipeline. If I want Unreal-level realistic graphics, there's very little sense in me trying to reimplement all that myself; I would have to spend years researching all the stuff before I could make it work, let alone work at 60 fps. Other stuff is somewhere in between.

As a marketing tool, engines... I don't know, I feel like engine brand recognition isn't as big of a deal today as it used to be.

thebardyspoon
Jun 30, 2005


So a bit of a whine or unload here, apologies. I just kind of feel like I'm failing at my new job at a relatively small indie place. It's been a month now and there's still some amount of stuff I don't know because nobody has shown me and when I've asked "hey, how do I do this thing" when whatever the specific thing is has come up, the answer is "ooooh, I don't have time to show you that right now, sorry" and now it's turning to a bit of "wow, you don't know how to do that still?" when I can't google how to use the custom tools for this small game or really just figure it out by doing it since I'm also trying to do the stuff the majority of the job is like documenting bugs and stuff so I don't look like a complete waste of money. Trying to avoid specifics I guess so I won't get super detailed.

I guess a part of it is the pandemic and everything being remote as well so there's no getting lunch with people or having a coffee. The thing is, I'm used to working at massive corporations where I was just a small cog but there, someone would show me how to do a thing or they'd have resources to learn if need be. I'm not expecting the latter here because having defined processes, full documentation and stuff is not what I expect from an indie dev, rightly or wrongly but I thought they'd have a bit of a better onboarding process since they've had other people start since lockdown began.

I had one to ones with a few people when I started to get to know them but the majority didn't seem interested and I didn't push it, they seem like a pretty introverted bunch. Pretty much the only in person chats are in the morning scrums which are obviously pretty quick, by their very nature so I think I might also just be feeling a bit weird working like this which might be making the above feel worse, stuff naturally seems more withering and sarcastic coming over slack than in person. Either way though it's making me feel a bit poo poo and hesitant to spend any of the money I'm making in case I get fired and have to live off savings for a bit, again.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.


thebardyspoon posted:

So a bit of a whine or unload here, apologies. I just kind of feel like I'm failing at my new job at a relatively small indie place. It's been a month now and there's still some amount of stuff I don't know because nobody has shown me and when I've asked "hey, how do I do this thing" when whatever the specific thing is has come up, the answer is "ooooh, I don't have time to show you that right now, sorry" and now it's turning to a bit of "wow, you don't know how to do that still?" when I can't google how to use the custom tools for this small game or really just figure it out by doing it since I'm also trying to do the stuff the majority of the job is like documenting bugs and stuff so I don't look like a complete waste of money. Trying to avoid specifics I guess so I won't get super detailed.

I guess a part of it is the pandemic and everything being remote as well so there's no getting lunch with people or having a coffee. The thing is, I'm used to working at massive corporations where I was just a small cog but there, someone would show me how to do a thing or they'd have resources to learn if need be. I'm not expecting the latter here because having defined processes, full documentation and stuff is not what I expect from an indie dev, rightly or wrongly but I thought they'd have a bit of a better onboarding process since they've had other people start since lockdown began.

I had one to ones with a few people when I started to get to know them but the majority didn't seem interested and I didn't push it, they seem like a pretty introverted bunch. Pretty much the only in person chats are in the morning scrums which are obviously pretty quick, by their very nature so I think I might also just be feeling a bit weird working like this which might be making the above feel worse, stuff naturally seems more withering and sarcastic coming over slack than in person. Either way though it's making me feel a bit poo poo and hesitant to spend any of the money I'm making in case I get fired and have to live off savings for a bit, again.

Schedule an hour of time with whoever owns that process. Include an agenda, the points should be something like:
1. Explanation of <thing> and motivations, directed by <person>
2. Walkthrough of process using <thing>, directed by <person>
3. Open Q/A on <thing>

After they confirm the time, ask if you can forward the invite to other recent hires if any.

Record the presentation and/or take notes. Document that poo poo and put it on a wiki or something. If it's some sort of runbook process enumerate everything step-step and clearly enough you could follow it drunk.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.


leper khan posted:

Schedule an hour of time with whoever owns that process. Include an agenda, the points should be something like:
1. Explanation of <thing> and motivations, directed by <person>
2. Walkthrough of process using <thing>, directed by <person>
3. Open Q/A on <thing>

After they confirm the time, ask if you can forward the invite to other recent hires if any.

Record the presentation and/or take notes. Document that poo poo and put it on a wiki or something. If it's some sort of runbook process enumerate everything step-step and clearly enough you could follow it drunk.

If they cancel the meeting, tell your boss (if it's your boss, tell the CEO/CTO/director/whatever-i-dont-know-how-big-you-are). If they reschedule, great you still get your meeting.

1337JiveTurkey
Feb 17, 2005



Small companies you can get people with passion and who are also good at their jobs but at the same time if they're lacking in certain skills, then those skills aren't going to come out of nowhere. So if they're lacking in people management skills you're going to need to be assertive in making up for that.

Especially when you have some sort of proprietary platform or toolchain, people can't just hop on and get going. Teambuilding is hokey and can even be counterproductive if done in a ham-handed manner but there needs to be some sort of commitment from the existing team to help new team members and make them part of the team.

TooMuchAbstraction
Oct 14, 2012

Hubris

Fun Shoe

You can also document, like, "I need to do X task, which requires training with Y homebuilt tool. As far as I can tell Z is the only person at the company that knows how it works, and I have been unable to schedule time with them." Then show that to your boss the next time you meet up with them. The important thing is: you want to be solving problems. You want to help the team! This isn't a "I want my coworkers to do all the work for me", this is "I am earnestly trying to do the best job I can, but I literally can't figure everything out myself."* You want to come across as diligent and helpful, that's how you get people on your side.

* Never mind that if I spend 15 minutes helping you, that's probably the most productive 15 minutes I'll have all day because now you're more effective.

thebardyspoon
Jun 30, 2005


I'll give that a go, I've never been the most assertive but I'll have to get over that. I've also always been a bit of a pessimist so I'm constantly thinking about this situation and trying to be like "it probably seems worse to you than it is" to try and counteract my natural response. Not being able to go out and have a meal after work or decompress like I'm used to is probably not helping either, didn't think I'd miss a commute tbh.

I might also just be used to having more of a team in QA, the role is senior QA which I've done, leading a team on a game or many games, embedded and more separate from the devs or dealing with half of the team being outsourced QA or whatever. Whereas with this one, right now, the team is just me and is going to grow but not for a bit so it's the most different.

thebardyspoon fucked around with this message at 17:07 on Apr 10, 2021

Hyper Crab Tank
Feb 10, 2014

The future of crustacean-based warfare


The advice you've been given is solid. Asserting yourself is hard, I know, especially at a new place. But it's also one of the most valuable personal skills you can have in any business - and it is a skill. You can practice assertiveness, train and get better at it. Good employers will value that, so long as it's not to the point of interfering with other people's work. And here's where I start to think what might be causing your co-workers to say things like "I can't help you with that right now". I would start by not assuming any malice. Rather, work at indie studios - especially smaller ones, and how big is the place you work at? - can be really hectic and stressful, which makes people tend towards stripping what they consider "less important" from their daily activities and focusing on what gets the sprint done. And, unfortunately and counter-productively, helping the new guy often falls under that umbrella. And covid certainly is not helping matters! I, too, am really finding myself surprised by how much I miss just being in the drat office surrounded by the people I work with daily. Slack meetings just aren't the same.

We attempted to solve this by assigning mentors when someone new joins, a person who is responsible for making sure the new hire has what they need and who the hire can go to for questions. Typically we'll find a volunteer for the task, someone on the same project. That way, the new person doesn't have to feel like they're imposing on random people they don't really know that well. It might be a bit late for that in your case, but perhaps that's something that can be brought up at your next evaluation. Most organizations legitimately do want to improve, it's just that, frankly, most of us don't know what the hell we're doing. Most of us in the relatively independent space started as small, very motivated groups of people who understand things like writing game engines or drawing pretty pictures, but not how to herd humans productively. And we're having to learn as we go along...

thebardyspoon
Jun 30, 2005


Hyper Crab Tank posted:

The advice you've been given is solid. Asserting yourself is hard, I know, especially at a new place. But it's also one of the most valuable personal skills you can have in any business - and it is a skill. You can practice assertiveness, train and get better at it. Good employers will value that, so long as it's not to the point of interfering with other people's work. And here's where I start to think what might be causing your co-workers to say things like "I can't help you with that right now". I would start by not assuming any malice. Rather, work at indie studios - especially smaller ones, and how big is the place you work at? - can be really hectic and stressful, which makes people tend towards stripping what they consider "less important" from their daily activities and focusing on what gets the sprint done. And, unfortunately and counter-productively, helping the new guy often falls under that umbrella. And covid certainly is not helping matters! I, too, am really finding myself surprised by how much I miss just being in the drat office surrounded by the people I work with daily. Slack meetings just aren't the same.

Oh yeah, it's absolutely not malice and I've definitely not been assuming it is. It's 100%, just trying to get their poo poo done. Alot of them have kids and such that they're having to take to/pick up from school as well, which is impacting how much time they have in the day and such so I get it, it's just that doesn't make my stress any less legitimate either. The thing is we're in preproduction now, so it is the time to get me up to speed. If I'm still asking these sorts of questions when things are hotting up, then it'll be a real roadblock.... or I'll have been shitcanned and they'll have had to go through the hiring process again which took 2 months for me.

With your second paragraph, that is exactly the case with this place I think. They were a startup years ago and have steadily picked up people (and I feel like generally people they know) over the years and now it's around 30 people. It's very much in the creative/experimental mold. They've not had an in house QA person at all, hiring one was something they were told to do by the publisher of the game and they only got a producer just before me, before that it was one of the very early senior employees wearing two/three job hats basically and the bugs list was an absolute mess. The producer seems great, she's prodding stuff into being a bit more organised and we've got a process in place for handling bugs now but she was obviously still learning the studio culture when I started and she's insanely busy so I don't wanna bother her more than I need to.

The thing that made me post the initial post yesterday was I found out that there is supposed to be a mentor system but my mentor is one of the founders of the company who in his own words "tends to get lost in design land" so he's pretty unavailable and also nobody told me that until yesterday so yeah, organisation is definitely not a strong suit. I guess that's what the new wave of employees I'm part of can push? When I get one or two QA people on my team I'll definitely be available. That's the part of my older roles I've always enjoyed, mentoring people and such.

MJBuddy
Sep 22, 2008

Now I do not know whether I was then a head coach dreaming I was a Saints fan, or whether I am now a Saints fan, dreaming I am a head coach.

Hyper Crab Tank posted:

The advice you've been given is solid. Asserting yourself is hard, I know, especially at a new place. But it's also one of the most valuable personal skills you can have in any business - and it is a skill. You can practice assertiveness, train and get better at it. Good employers will value that, so long as it's not to the point of interfering with other people's work. And here's where I start to think what might be causing your co-workers to say things like "I can't help you with that right now". I would start by not assuming any malice. Rather, work at indie studios - especially smaller ones, and how big is the place you work at? - can be really hectic and stressful, which makes people tend towards stripping what they consider "less important" from their daily activities and focusing on what gets the sprint done. And, unfortunately and counter-productively, helping the new guy often falls under that umbrella. And covid certainly is not helping matters! I, too, am really finding myself surprised by how much I miss just being in the drat office surrounded by the people I work with daily. Slack meetings just aren't the same.

We attempted to solve this by assigning mentors when someone new joins, a person who is responsible for making sure the new hire has what they need and who the hire can go to for questions. Typically we'll find a volunteer for the task, someone on the same project. That way, the new person doesn't have to feel like they're imposing on random people they don't really know that well. It might be a bit late for that in your case, but perhaps that's something that can be brought up at your next evaluation. Most organizations legitimately do want to improve, it's just that, frankly, most of us don't know what the hell we're doing. Most of us in the relatively independent space started as small, very motivated groups of people who understand things like writing game engines or drawing pretty pictures, but not how to herd humans productively. And we're having to learn as we go along...

I agree with all of this. My career basically hinges on being assertive (I'm good at my core job, but calling out and aggressively hunting down problems is where I shine and is why I get projects that are complicated).

Our office also uses a mentor "buddy" who is responsible for a new hire. They're not from the direct team. Any issue I had that person was responsible for me getting a meeting with the right person to solve it (computer problems, system access, even "who makes the call on this question?").

Hyper Crab Tank
Feb 10, 2014

The future of crustacean-based warfare


thebardyspoon posted:

or I'll have been shitcanned and they'll have had to go through the hiring process again which took 2 months for me.

I don't know where you work, but I can almost guarantee you these people are thinking "I wish I wasn't too busy to help the new hire", and not "I wish we hadn't hired this person". In fact, it's likely the people you're working directly with are not responsible for hiring and firing anyway. We were that size only a few years ago as well and, woof, growing has been really rough (and again, covid has not helped), so I recognize some of this from the other direction (and we still don't have a QA department!). But, if it helps, the best way to make people think of you as someone they're happy to keep around is to stick your neck out and take initiative. Try and see if you can think of ways to make it easier for others to help you - something that doesn't make them feel like they're getting distracted from the work they have to finish. Maybe try compiling short lists of the most pressing questions and just sending those out - I find it easiest to help others when they have a concrete idea of what they need help with.

EgonSpengler
Jun 7, 2000
Forum Veteran

thebardyspoon posted:

So a bit of a whine or unload here, apologies. I just kind of feel like I'm failing at my new job at a relatively small indie place. It's been a month now and there's still some amount of stuff I don't know because nobody has shown me and when I've asked "hey, how do I do this thing" when whatever the specific thing is has come up, the answer is "ooooh, I don't have time to show you that right now, sorry" and now it's turning to a bit of "wow, you don't know how to do that still?" when I can't google how to use the custom tools for this small game or really just figure it out by doing it since I'm also trying to do the stuff the majority of the job is like documenting bugs and stuff so I don't look like a complete waste of money. Trying to avoid specifics I guess so I won't get super detailed.

I guess a part of it is the pandemic and everything being remote as well so there's no getting lunch with people or having a coffee. The thing is, I'm used to working at massive corporations where I was just a small cog but there, someone would show me how to do a thing or they'd have resources to learn if need be. I'm not expecting the latter here because having defined processes, full documentation and stuff is not what I expect from an indie dev, rightly or wrongly but I thought they'd have a bit of a better onboarding process since they've had other people start since lockdown began.

I had one to ones with a few people when I started to get to know them but the majority didn't seem interested and I didn't push it, they seem like a pretty introverted bunch. Pretty much the only in person chats are in the morning scrums which are obviously pretty quick, by their very nature so I think I might also just be feeling a bit weird working like this which might be making the above feel worse, stuff naturally seems more withering and sarcastic coming over slack than in person. Either way though it's making me feel a bit poo poo and hesitant to spend any of the money I'm making in case I get fired and have to live off savings for a bit, again.

It's a weird quirk of human psychology, but the answer is to ask individuals for a favor, and ask them to take you through your specific questions. Do push it.

For some reason, our brains end up looking at people who asked for help more favorably than those who don't.

thebardyspoon
Jun 30, 2005


Cheers for the advice everyone, last week was a pretty drastic improvement, some technical issues were had with builds and the process for distributing them that basically revealed to me that everyone is a little bit lost with some aspect of how it all works which felt like a bit of an equalizer and an opportunity for me to get more of a handle on some stuff.

Also I sort of realised one of the things making me stressed out was that I'm still in the "holy poo poo gotta catch everything, games coming out next month" mindset from my previous roles whereas this is still in early pre-production and most of the bugs are with things that are just becoming functional at all. There's still some stuff that's out of my comfort zone but that's what a new job should probably have some measure of I guess. I'm also noting down all of the stuff I had trouble with so that explanations can be added to the company help page that is rather scant right now for anyone who starts after me.

Hughlander
May 11, 2005



thebardyspoon posted:

Cheers for the advice everyone, last week was a pretty drastic improvement, some technical issues were had with builds and the process for distributing them that basically revealed to me that everyone is a little bit lost with some aspect of how it all works which felt like a bit of an equalizer and an opportunity for me to get more of a handle on some stuff.

Also I sort of realised one of the things making me stressed out was that I'm still in the "holy poo poo gotta catch everything, games coming out next month" mindset from my previous roles whereas this is still in early pre-production and most of the bugs are with things that are just becoming functional at all. There's still some stuff that's out of my comfort zone but that's what a new job should probably have some measure of I guess. I'm also noting down all of the stuff I had trouble with so that explanations can be added to the company help page that is rather scant right now for anyone who starts after me.

If they're running around like chickens without their heads and don't have time to train up a new employee while being in pre-production then that's a really really big red flag to me.

thebardyspoon
Jun 30, 2005


Hughlander posted:

If they're running around like chickens without their heads and don't have time to train up a new employee while being in pre-production then that's a really really big red flag to me.

Yeah that was my feeling/instinct as well so I don't know, things felt quite chaotic during the hiring process as well but I chalked that up to it being an indie place compared to what I'm more experienced in. Either way I'll take a red flag job over being unemployed like a good chunk of last year and try and make this work. Over the last couple days it seems that while I was worrying that they were thinking I was going slow they're seeing the training/onboarding as a process that'll take place over the next few months, they're not expecting me to be up to speed already, know everything about every aspect of the game and catching every single bug on my own right now. Also they've asked me to start thinking about interviews for a QA tester for my team as well so they're at least thinking "well, this guys fit to be making decisions at a certain level".

thebardyspoon fucked around with this message at 19:14 on Apr 20, 2021

Canine Blues Arooo
Jan 7, 2008

when you think about it...i'm the first girl you ever spent the night with



Grimey Drawer

Hey thread, I'm likely starting at Riot soon and have a few questions about figuring out where to live and junk. If one of you Riot folks would be willing to chat, please PM me - I'd love to get an idea of the area and such.

Firgof
Dec 27, 2009

The Librarian is pure.
Former Star Ruler 2 Dev.


Speaking of jobs, I'm still looking myself. Contract work is only taking me so far and, unfortunately, the far it's taking me isn't enough to pay the rent. If anyone's company is looking out for a generalist developer or a junior hard-surface modeler or a unity developer, feel free to toss stuff at my inbox.

Dinurth
Aug 6, 2004

?

Firgof posted:

Speaking of jobs, I'm still looking myself. Contract work is only taking me so far and, unfortunately, the far it's taking me isn't enough to pay the rent. If anyone's company is looking out for a generalist developer or a junior hard-surface modeler or a unity developer, feel free to toss stuff at my inbox.

We have a whole thread for Game Jobs specific stuff - worth mentioning in there! Also a good place if you need your resume looked at or any general game job advice.

https://forums.somethingawful.com/showthread.php?threadid=3415662

Firgof
Dec 27, 2009

The Librarian is pure.
Former Star Ruler 2 Dev.


Dinurth posted:

We have a whole thread for Game Jobs specific stuff - worth mentioning in there! Also a good place if you need your resume looked at or any general game job advice.

https://forums.somethingawful.com/showthread.php?threadid=3415662

Awesome! Thanks for pointing it out for me; didn't even know we had one.

Big K of Justice
Nov 27, 2005

Anyone seen my ball joints?


Canine Blues Arooo posted:

Hey thread, I'm likely starting at Riot soon and have a few questions about figuring out where to live and junk. If one of you Riot folks would be willing to chat, please PM me - I'd love to get an idea of the area and such.

When I took my Riot job years ago [I'm not there now btw], I wound up at Playa Vista, which was a few miles down the street but still wound up being a half hour or more commute and that's showing up at 10am and leaving after 7pm [LOL if you want to leave Riot @ rush hour, it takes 45 minutes to leave the employee lot and go around half a block to Olympic and Bundy, not worth it, so I shifted my work hours to come in a bit later and leave a bit later].

So, if you are new to LA, I'd look at the Playa Del Rey / Marina Del Rey, Playa Vista area if your budget can swing it, you can always move after a year once you get used to the area. [Other options may be Culver City, but I mean, it's West LA so it may be super expensive, rent there has doubled over the past few years]

One big important note is to check in with the car pool situation, that opens up a bunch of new options. Riot Games has a Car Pool benefit, if you can get 4-5 employees to share a carpool at least 4 days a week, Riot will rent a full size SUV and give you a gas card for the commute. With that benefit, if you don't mind driving once or twice a week, you can move further out where it's cheaper and ride in with co-workers. Because of that I went out to the Santa Clarita valley and got a big two bedroom townhouse with a garage and a small yard for what I was paying for a 1 bedroom apartment in west LA, and I only had to drive once a week. The 5->405 grind wasn't that bad with a bunch of coworkers splitting the driving.

Riot doesn't even advertise the carpool benefit , which is bonkers, its so good it was one reason I took that job over other studios.

This was all pre-COVID, I'm not sure what the situation is now, the carpool program may be paused if everyone is still WFH.

There's also a big metro yellow line station walking distance so if you live along that metro line [downtown LA -> Santa Moncia] that's another option to take the metro instead of driving.

Big K of Justice fucked around with this message at 06:42 on Apr 24, 2021

djkillingspree
Apr 2, 2001
make a hole with a gun perpendicular

Hughlander posted:

I have an adage going on for the past 20 years...

"Unreal Engine is the best possible engine as long as you're making the same game that Epic is making at any point in time, otherwise you're going to have a bad time."

For what it's worth, I think this was certainly the case on UE3 but from my experience using it so far UE4 seems substantially improved in this respect. To be honest I'll take a lot of weird poo poo to get the data inheritance they have going with blueprints in ue4 lol

Sylink
Apr 17, 2004



I've seen godot mentioned in this thread before has anyone used it and have an opinion on it?

I've been tinkering around and it's pretty cool and simple for 2D stuff haven't tried 3D. Not sure I really understand tile maps in it though the UI there is weird

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.


Sylink posted:

I've seen godot mentioned in this thread before has anyone used it and have an opinion on it?

I've been tinkering around and it's pretty cool and simple for 2D stuff haven't tried 3D. Not sure I really understand tile maps in it though the UI there is weird

Most of the people I know first/second-hand that deal with it professionally depict it sort of like a tire fire, and have described the engine code as 'unoptimizable'.

I haven't personally looked at it in years, but their node system seemed like a worse version of unity's behaviors where you couldn't have more than one thing per object.

Their renderer's output seems fine based on videos I've seen from their announcements/etc recently.


I also work for a competitor, so be sure to check out the salt lick.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!


I haven't tried optimizing it but the C++ code has some code quality issues like uninitialized values everywhere. I've only seen one third-party critique of its rendering and it cited some glaring inefficiencies (some of which I'm pretty sure are being explicitly addressed by the new Vulkan renderer).

A lot of things in it seem to really click, i.e. UI as a 2D scene, scenes as prefabs, I like the node tree paradigm mostly and it's VERY easy to prototype stuff in it.

If you're doing 2D stuff in it then you should be fine, that's one of its stronger areas.

leper khan posted:

I haven't personally looked at it in years, but their node system seemed like a worse version of unity's behaviors where you couldn't have more than one thing per object.
The way you're supposed to have multiple scripts/behaviors/etc. per object is by using subobjects that apply whatever it is they do to their parent object.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.


OneEightHundred posted:

The way you're supposed to have multiple scripts/behaviors/etc. per object is by using subobjects that apply whatever it is they do to their parent object.

Yeah, but you have to pay the full object overhead and transform overhead etc for each child. For most games it almost certainly doesn't matter. Just feels like a weird omission for the engine when it would have been trivial for them to use a list or array on an object for scripts.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!


leper khan posted:

Yeah, but you have to pay the full object overhead and transform overhead etc for each child. For most games it almost certainly doesn't matter. Just feels like a weird omission for the engine when it would have been trivial for them to use a list or array on an object for scripts.
The base Node doesn't have a transform, so I don't think so? (Or it shouldn't?)

General way I'd rate it is it's actually a very competitive option for 2D stuff on account of having a good workflow. For 3D stuff, it's serviceable up to a point but if you'll certainly hit a ceiling way sooner than you would with Unity/UE4.

munce
Oct 22, 2010



I've been using Godot for a few years and it's good. I mainly use the 2.x version with GDscript, and i've tried the 3.x version with c# and they both do the job.

I'm doing a combination of 2d and 3d and i haven't run into any major problems. Sprites are easy to use. The 3d stuff i'm doing works exactly as it does in unity. The UI system is actually good and easy to use, compared to unity.

One issue i've found is the lack of webcam support. Last time I checked there's basically no support for webcams/mobile cameras. Not an issue if you don't need to use the camera, but when you do it is frustrating. Especially coming from unity where cameras just work.

Adbot
ADBOT LOVES YOU

ThePopeOfFun
Feb 15, 2010



How much does a Temp Writer position for a game like Diablo IV pay? Not something I can hope to get right now, but I do write for a living and transitioning to games wouldn't be impossible. I'm evaluating different industries and trying to plan long-term. My impression is...probably not much? Is narrative lead the terminal position?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply