Everyone Watching This Is Fired: Tips for Game Industry Programmers

Поділитися
Вставка
  • Опубліковано 25 гру 2024

КОМЕНТАРІ •

  • @fmproductions913
    @fmproductions913 5 років тому +56

    Here are the points from the talk together with some small notes:
    I can articulate precisely what problem I am trying to solve. What benefit does this provide to anyone? (If you can't bring any benefit you are just wasting time)
    I have articulated precisely what problem I am trying to solve (you have to be able to say it out loud)
    I have confirmed that someone else can articulate what problem I am tring to solve (have you confirmed that they have the same idea of the problem as you?).
    I can articulate why my problem is important to solve.
    I can articulate how much my problem is worth solving (How long should I spend on this thing? Every problem needs a maximum time assigned where it is still worth solving).
    I have a plan b in case my solution to my current problem doesn't work.
    I have already implemented my plan B in case my solution to my current problem doesn't work (but why would you do that? The essence of this point is that a lower effort solution might be good enough to fulfill all requirements, from what I think. If you discover it is good enough, maybe it should be plan a instead?)
    I can articulate the steps required to solve my current problem (You need to know what you are trying to do).
    I can clearly articulate unknowns and risks associated with my current problem (multiply your time estimation with a factor of tolerance to give an estimate, weight in the risks involved)
    I have not thought or said "I can just make up the time" wihtout immediately talking to someone (If you suspect it takes longer, immediately tell someone about it).
    I write a "framework" and have used it multiple times to actually solve a problem it was intended to solve (Have you verified that your tool works well and is tested?)
    I can articulate the test for completion of my current problem. What is the "win condition"?
    I can articulate the hypothesis related to my problem and how I could falsify it. How can what you try to do proven wrong?
    I can articulate the various latency requirements for my current problem. Is your task blocking for others?
    I can articulate the various throughput requirements for my current problem. How much do you need to push through? what are the constraints?
    I can articulate the most common concrete use case of the system I am developing.
    I know the most common actual, real life values of the data I am transforming. How does the data structure usually look.
    I know the acceptable ranges of values of all the data I am transforming.
    I can articulate what will happen when (somehow) data outside that range enters the system (wrapping, overflow, exception?).
    I can articulate a list of input data into my system roughly sorted by likelihood. What data will commonly arrive? Solve after the most common things first.
    I know the frequency of change of actual, real-life values of the data I am transforming. (Does something change every frame, or maybe just once per second? Could we lower the frequency of certain calculations then?)
    I have (at leastpartially) read the (available) documentation for the hardware, platform, and tools I use most commonly.
    I have sat and watched an actual user of my system. (watching playtesters is really important, their behaviours and expressions and actions).
    I know the slowest part of the users of my system's workflow with high confidence (is there any step in the usage of the app that is really slow for the user?)
    I know what information users of my system will need to make efective use of the solution.
    I can articulate the finite set of hardware I am designing my solution to work for.
    I can articulate how that set of hardware specifically affects the design of my system (e.g. I chose a floating point type because there is a floating point unit in the hardware).
    I have recently profiled the performance of my system.
    I have recently profiled memory usage of my system.
    I have used multiple different profiling methods to measure the performance of my system (FPS measurement is not an accurate measurement, check how many ms specific actions take).
    I know how to significantly improve the performance of my system without changing the input/output interface of the system (Latency reduction for common actions is possible without changing external factors and I know how).
    I know specifically how I can and will debug live release builds of my work when they fail (failure is most likely to happen).
    I know what data I am reading as part of my solution and where it comes from.
    I know how often I am reading data I do not need as part of my solution (if there is information that is mostly unused, we could think about stopping to report this kind of information and save bandwidth/memory).
    I know what data I am writing as part of my solution and where it is used.
    I know how often I am writing data I do not need to as part of my solution (can you reuse or modularize old code, so that you don't have to write it from scratch every time?).
    I can articulate how all the data I use is laid out in memory (You are responsible for the memory you use/manage. It has to work consistently).
    I never use the phrase "platform independent" when referring to my work.
    I never use the phrase "future proof" when referring to my work (You can't presolve problems you have no information about).
    I can schedule my own time well.
    I am vigilant about not wasting others' time (Can you find a solution after a few seconds of googling, do you always have to ask coworkers first when it might take them longer to explain? Find a sweetspot, if you are looking for more than 15 - 20 minutes for a solution or approach to a problem, and you can't find it, maybe it is time to ask your colleagues).
    I actively seek constructive feedback and take it seriously.
    I am not actively avoiding any uncomfortable (professional) conversations.
    I am not actively avoiding any (professional) conflicts (if there is a miscommunication or an open issue, try to actively solve it).
    I consistently interact with other professionals, professionally (no yelling, no emotional outbursts, mature conversations).
    I can articulate what I believe others should expect from me.
    I do not require multiple reminders to respond to a request or complete work (after you have yoru work assigned, take responsibility and take care about it and also communicate your status in time)
    I pursue opportunities to return value to the commons (when appropriate) (most of us use third party libraries/code, maybe open sourced, that helps us to radically reduce the work and time required to get something to work, maybe we should think about giving something back to provide value to others too).
    I actively work to bring value to the people I work with (where can you help them, where can you teach them, where can you maybe learn from them?).
    I actively work to ensure underrepresented voices are heard.

    • @voxelamateur
      @voxelamateur 2 роки тому +2

      Thanks, you are definitely vigilant about not wasting others' time!

  • @Drecon84
    @Drecon84 5 років тому +49

    I feel like the people that most need to hear this are not the people that are going to take this seriously.

  • @scottsmith1652
    @scottsmith1652 5 років тому +84

    This video was a mixed bag for me. I've been programming for a long time. I'm probably around this guys age and I recognize his gripes. You get tired of the BS, I get that. With that said, in my opinion, you must understand not everyone is where you're at. As with anything scientific or artistic , it is a process. We learn from our mistakes and our successes. It's a journey. I think he missed that point.
    Based on his scoring system I would have been 'Fired!' and thankful for it. I think he would have asked Thomas Edison: "Can you articulate the need for LED lights?" when Edison was still inventing the first light bulb. Sometimes you're just breathing life into a system or idea. That's how innovation happens.
    I understand he meant well. Glad I don't have work with the guy.

    • @ThePC007
      @ThePC007 5 років тому +32

      "With that said, in my opinion, you must understand not everyone is where you're at."
      Which is precisely why he has held this GDC talk - to inform people on how they can become a better developer.
      Coming across a talk like this and working on your shortcomings is definitely more comfortable than finding those things out the hard way at your actual job.

    • @Xorgye
      @Xorgye 5 років тому +6

      Yeah, becoming a respected craftsman is a journey. Don't give up on yourself or someone else if they/you score bad on his tests. But do know your weaknesses, and be open for criticism and change.
      First step in growth is being able to see the issue. He is pointing out a lot of them, and will hopefully inspire for growth. (But agitate you if his way of talking is not your learning preference)

    • @scottsmith1652
      @scottsmith1652 5 років тому +5

      @@Xorgye Yeah, I completely agree! I hope that I didn't come across as angry or discouraged by his lecture. I was hoping to encourage others as you are to not give up but that it's a journey :) As ThePC007 mentioned (sorry, couldn't get his name to show up as a mention), it's good to find these things out now and not in an actual job where it could be devastating.

    • @Xorgye
      @Xorgye 5 років тому +6

      @@scottsmith1652 Yeah, I like your positive approach to this a-bit-depressing talk.
      I have been in this field of work for 8 years now as a backend software engineer, and made a leap the last 2 years in a lot of the things he is mentioning. I did score 100%. But not on my own, only when part of a team and when the team is mature.
      When I was doing this kind of work 3 years I thought I could be called senior by then. Only finding out at 5 years that I had so much to learn. And now I have stopped counting years, and are kind of doing the checkups he is doing. But then waaaaay more easy on someone if I find out there is room for improvement.

    • @simonfarre4907
      @simonfarre4907 4 роки тому +3

      @@ThePC007 He didn't say "these are things you need to think of to become a better developer" he said they were *bare* minimums. If you have had a wide variety of jobs, (which mike *hasn't* which is painfully obvious) this is not good leadership. We can all agree that the points he brings up all have value to them, but if you actually want to reach those standards, the process has to be *entirely* different than what he proposes here (i.e. bare minimum)

  • @snebjrnandersen8825
    @snebjrnandersen8825 5 років тому +115

    As others have already pointed out, this applies to software development in general, and most of it also any kind of work done as part of a team. Some of you seem to be missing out on that bit of nerd humor when he tells you you're fired if you don't get a clean 100% score. These are really just good questions to ask yourself on a day-to-day basis to get your bearings straight.

    • @simonfarre4907
      @simonfarre4907 4 роки тому +12

      It's not nerd humor, I am not sure you understand the sincerity of what he is saying. He repeatedly says in the end that "this is not an unreasonable bar to set, this is the bare minimum to require of someone, I am not setting the bar too high". He is literal when he says what he says here.

    • @andrewherrera7735
      @andrewherrera7735 3 роки тому +5

      @@simonfarre4907 This is why we need unions. These corporate nerds hijack people's lives and they have no choice because they need their salary and are ultimately a slave to it.

    • @simonfarre4907
      @simonfarre4907 3 роки тому +3

      @@andrewherrera7735 Agreed.

    • @sonnyankau9239
      @sonnyankau9239 2 роки тому

      @@andrewherrera7735 moronic take.

    • @Ash_18037
      @Ash_18037 Рік тому +2

      I love it when someone feels the need to educate others on what they missed, when in fact they themselves missed the key point the speaker is making. Please watch from 25:42 where, without any 'nerd humor' he sums up the talk with: "I'm not trying to set the bar too high, these are basic expectations, really simple things that we should expect from everybody". Personally I think 100% for these is a goal, not a requirement and some points are more/less relevant depending on the type of dev work. But at no time during the talk does this guy say that. In my experience a dev with this blunt, black and white attitude is often very good technically at their job, but is painful to work with and overall disruptive and negative to the productivity and morale of a team.

  • @emyrulz
    @emyrulz Рік тому +18

    In my opinion, the biggest issue with writing software commercially is the constant pressure to deliver. This pressure is most of the time implicit. It takes a lot of time for new joiners to get to the point where all those points are common sense because as soon as they can deliver anything of value, the pressure is on them to do more and more and simply they do not have the mental capacity to also practice and develop their craft. What we need is an apprentice program where a junior is mentored by a senior and his only job is to learn the craft and help their mentor. This should take years not a few weeks/months. But considering the way business is done today, this is virtually impossible.

    • @churchianity
      @churchianity 9 місяців тому +1

      Sounds fishy to me.
      Mike Acton comes from a small-medium sized team that delivered AAA content on blistering time-scales (I'm talking about Insomniac). They did this while certainly training new employees at times. Unless you want to claim they did that without 'constant pressure to deliver' somehow...

    • @JohnLeidegren
      @JohnLeidegren 6 місяців тому

      All the more reason to be disciplined about how you go about doing things. As @churchianity points out, at the time when Mike was working at Insomniac they did amazing work in finite amount of time, consistently, over several years. When the stakes are high, the last thing you want to do is to freak out.
      “To recognize that the greatest error is not to have tried and failed, but that in trying, we did not give it our best effort”
      ― Gene Kranz

  • @JasonStorey
    @JasonStorey 5 років тому +69

    There is an irony that a talk that is ostensibly about poor communication skills is poorly communicated.

    • @colin-campbell
      @colin-campbell 5 років тому +7

      Jason Storey
      Ah yes, eloquently put, my fellow intellectual. How rather droll if I may say so.

    • @grafficacma
      @grafficacma 5 років тому +3

      Half-way through and I scrolled down to see if anyone mentioned this. Spot on!

    • @JasonStorey
      @JasonStorey 5 років тому +10

      @@colin-campbell shit sorry dude. I'll words small in next time write so not seem like try smart be

    • @milesrout
      @milesrout Рік тому +2

      It's very well-communicated.

  • @AmyDentata
    @AmyDentata 5 років тому +25

    This is the difference between a programmer and an engineer. It's not just about communication, but thinking things through, rather than running on autopilot all the time.

  • @KilgoreTroutAsf
    @KilgoreTroutAsf 5 років тому +36

    The thing about programming is, if it was as easy to forecast, plan and budget as managers would like it to be, then it would be easy enough for managers to do it themselves.

    • @dsa3df3
      @dsa3df3 5 років тому +13

      You think Mike Acton is a manager? You think he's not aware of how difficult it is?
      If you actually paid attention, he did not at any point require anyone to magically know how long something would take.

  • @axSupreme
    @axSupreme 5 років тому +61

    It all just sounds like poor communication. You could say it about every profession in most industries.

    • @PsychadelicoDuck
      @PsychadelicoDuck 5 років тому +7

      Which doesn't mean he's wrong.

    • @tabula_rosa
      @tabula_rosa 5 років тому +5

      judging from the furious comments it very badly needs to be told to programmers specifically

    • @crazyfingers619
      @crazyfingers619 4 роки тому +3

      It's not poor communication, it's intentional misdirection and gaslighting. A great many people know they are in over their head, they rely on half truths and charisma. They backscratch and brown nose and they hide in the confusion created by others relying on "white lies".
      Not everyone knows the jargon, not everyone knows the pipelines. There are always multiple factions in a tech company, the doers, and the tribalists. The triblists will band together to create falsehoods and confusion within the ranks so they can cruise along as long as possible. And what's the harm? They're just pocketing the money of big headed nerds chasing delusions of grandeur anyhow is how they rationalize it.
      The cubicle farm is a nightmare of conflicting interests and politics, it's sickening the way we deceive and exploit each other from every angle.

    • @JohnLeidegren
      @JohnLeidegren 6 місяців тому

      Okay.
      He also lists 50 things you could do to improve on that poor communication based of 20+ years experience of doing that. That's something tangible you could act on.

  • @zydeas
    @zydeas 5 років тому +31

    Some who watch this may be put off by Mike's abrasive and brash way of speaking, but I think it's pretty clear he's not being 100% serious when he says that anyone who doesn't follow these rules exactly should be immediately fired. He worked as the engine director for Insomniac for nearly 11 years, and from what I've heard is fairly well respected in the more engineering-related circles of the game industry.
    And after watching this I have no issue with any of his points, especially in the context of the talk being directed to a room full of industry professionals working for AAA companies. On the multi-million dollar projects that he and many others in that room work on, many of those mistakes that he list could end up incurring major financial costs or even possibly tank the project if enough programmers habitually make them. If you're a professional in the industry then the standard of quality is (and should be) a lot higher than if you're an indie doing it solo or even a medium sized team. (Maybe he seems unhinged to even some industry folk, I don't know. But I wasn't really put off by it.)
    So while he could probably take a more agreeable approach to explaining his gripes and annoyances (having only 30 minutes to do it probably didn't help), I don't think how he was that unwarranted in the way he gave this talk. If you're discouraged by it, I'd instead encourage you to not take it that seriously, and simply think critically about some of the issues he raises, and see if you agree with any of them.

  • @standardnerd2046
    @standardnerd2046 5 років тому +26

    "Know the unknowns for your estimates"

    • @KnightWhoSaysNi
      @KnightWhoSaysNi 3 роки тому +5

      The known unknowns, not the unknown unknowns

    • @smestre
      @smestre 3 роки тому +5

      That means "know that there are things you don't know, and put a bound on how much that could affect your work"

  • @ArthurCousseau
    @ArthurCousseau 5 років тому +32

    It would have been fun if at the end of the presentation, in front of "Score 50", he had written "Fired" too,
    simply because if you do all the things in this talk, you're basically never programming :D

  • @GamerReality
    @GamerReality Рік тому +1

    This tal helped me become a better developer and choose better engineers to work with!

  • @dvsdev
    @dvsdev 5 років тому +19

    Part of the communication *should* be to explore these. If you know the answer to everything before approaching anyone else about a challenge, then you have probably wasted a *LOT* of time. Otherwise the talk makes good points, albeit mostly re-iterations.

  • @toreole
    @toreole 5 років тому +29

    "Put your Plan B in first" wouldnt that just be Plan A then? and would plan A become plan B then and would i need to infinitely swap out the plans? am confuse

    • @TheAlison1456
      @TheAlison1456 5 років тому +4

      It's not confusing at all. That's exactly what would happen!

    • @dvol
      @dvol 5 років тому +12

      This part was reasonably clear: he's advocating for Worse Is Better, or YAGNI. The assumption is that Plan A is a more correct, clean, maintainable approach, and Plan B is the complete and utter hack that would presumably be faster to implement.
      Except if it turns out you really did have time to do it the Right Way, you're going to have to clean up after Plan B's technical debt. And with this guy's attitude, when will he ever budget time for paying down tech debt?

    • @AmyDentata
      @AmyDentata 5 років тому

      @@dvol I think it works though, IF you're doing Plan B first for small parts of a system, rather than for the whole galdang thing. Then it's more reasonable to upgrade to Plan A.

    • @JohnLeidegren
      @JohnLeidegren 6 місяців тому +1

      Plan A is much more ambitions and bold. It is what you'd like to see happen. Plan B is boring and straightforward. It is the minimum amount of work needed to make it work. It is not where you aim should be at but it is a safer bet.

    • @leonsonstwie4816
      @leonsonstwie4816 4 місяці тому

      ​@@dvol I imagine he is not talking about more correct, "clean", maintainable vs hacky solution but more about how complete, fancy it is. This should probably have a lot of overlap with the Game Design / Product Management side. Like the implementation for 500 NPCs in a Level takes only 10th the time as it. would for 5000 since you can just iterate over them so let's start there and see if that maybe is good enough. Numbers completely pulled out of my ass of course.
      Going for the simplest solution first also should create less technical dept than more

  • @PsychadelicoDuck
    @PsychadelicoDuck 5 років тому +33

    I feel like he has good points, but has (ironically) not figured out how to communicate it. It all seems like very common sense points: Communicate with other team members, know what the problem that needs solving and when will know it's fixed, break the problem down before solving it, know the tools available and active limitations, pay attention to what resources are using and how/why, and manage time. Telling people to "implement plan B first" was a bit of a faux pas.
    It does seem like it should be the ideal to strive for, and a minimal expectation for those who are in senior positions. I can definitely see where people are put off though, as he was aggressive and overly focused on specific examples, and I do not get the impression that the education system or industry really does much to foster the development of the skills he's talking about.

    • @rossvolkmann1161
      @rossvolkmann1161 2 роки тому +3

      Right? If the thesis of your presentation boils down to "Grrrrr, why can't programmers communicate better?", then it would seem like your presentation should meet the standard it is demanding. The points he brings up are not particularly novel or controversial. In fact they're such familiar talking points that it was actually frustrating to watch him stumble through trying to explain them. This presentation gave off the energy of a passive-aggressive rant aimed at some unseen coworker rather than a senior engineer sharing his wisdom.

    • @AlixRocheleau
      @AlixRocheleau 2 роки тому +3

      @@rossvolkmann1161 The catch here is that this presentation is actually his backup presentation, he implemented plan B first, then figured it was "enough" and did not bother implementing plan A, which was a well developped and thought out communication version of the talk.

    • @VRchitecture
      @VRchitecture 2 роки тому

      @@AlixRocheleau Exactly! But who are we to blame him since it’s worked… or at least it should… “arrrrghh (waving arms) f**k off” 😂

  • @zeozen
    @zeozen 3 роки тому +3

    this was great! good points for engineering in general really. it would be pretty awesome to work with people like this one day

  • @NeekoMonster
    @NeekoMonster 5 років тому +31

    Didn't realize I came here to listen to someone pretty much complain by reiterating the same point with slightly different context for 26 minutes (ironically an argument about communication). Yes, communication is a problem in the workplace. I've summed it up in one sentence for you.

    • @gibenameplox
      @gibenameplox 5 років тому +3

      Your take is not wrong.
      However, his points aren't just about communication. It's about self-reflection on what you are working on and why you are working on it.
      He goes through phrases with overlapping semantics, but this doesn't mean that they mean the same thing.
      I concur his delivery is harsh. But still, this presentation in my view is valuable for a lot of different roles by providing a reflection on how people are currently solving problems and working to actually help the team.

    • @ShinDMitsuki
      @ShinDMitsuki 5 років тому

      How is knowing the common n input for a function communication? Feels like a lot of you watched for 1 minute and left making a reply, which is ironic given some of the points.

    • @NeekoMonster
      @NeekoMonster 5 років тому

      @@ShinDMitsuki I only watched the video until 10:28, so perhaps he later expands onto more interesting topics further in the video. Feel free to think that is hypocritical. Almost every point he had made from that point had been about articulation (except that one thing about implementing your Plan B before your Plan A, which then makes turns Plan B into Plan A and absolutely accomplishes nothing???) and had just become dreadfully boring to watch, and I had assumed the entire talk would go in the same direction. I am not an employed programmer, I am just a random hobbyist, so perhaps I completely missed the point of the talk; or maybe this talk has more meaning to someone in the thick of it, as @Languor has pointed out, working a team environment.

    • @milesrout
      @milesrout Рік тому

      Most of what he said was not about communication at all.

    • @milesrout
      @milesrout Рік тому

      @@NeekoMonster You have no right to comment on something when you admit you didn't even watch more than a third of it. What he said about 'plan A' vs 'plan B' made perfect sense if you made even the slightest attempt to understand it. It's very simple: you want to implement something, but it is risky. You need a backup plan: a plan B, for if your plan A fails. Rather than leaving this to the last minute, when you realise that plan A isn't going to be ready in time or isn't going to work, it's better to just implement it first. Put it behind a compilation flag or an option, and keep it around. If plan A fails then you don't need to stress and you won't fall for the sunk cost fallacy and try to justify that work by extending your time frames etc.

  • @bretzel30000
    @bretzel30000 2 роки тому +3

    I wonder, if it is possible to achieve score 50 while creating a software solution which runs in javascript inside a browser.
    Because that can then run under an ARM cpu as well as an AMD64 cpu, and that would violate the requirement of optimizing it for a certain platform.
    The same goes for other interpreted or hybrid languages like python, java, c#. And what about functional languages like haskell? One can never really be sure what haskell does under the hood with the pure functional source code. Hasekell also violates the requirement that i need to know the latency of operations, due to haskell lazy evaluation.

    • @pokefreak2112
      @pokefreak2112 2 роки тому +1

      If your customers absolutely *require* you to use haskell or Javascript for some reason I think the most you can be expected to do is keep up to date with the implementation details of the compiler/vm and how they relate to performance.
      A pet peeve of mine is when people say webassembly is fast, because Javascript is actually way faster in most cases. Developers should absolutely know this kind of stuff.

    • @Aidiakapi
      @Aidiakapi Рік тому +2

      ​@@pokefreak2112 It really depends on the workload. In raw compute, WebAssembly can be *a lot* faster.
      But even in things like frontend frameworks, if you look at js-framework-benchmarks, and then select some common JS frameworks like Svelte, Vue, and React, and compare them to some Rust-based frameworks, like Dioxus, stdweb, and yew, you can actually see that most are faster in updates, some are faster in startup, and some use less memory.
      However, all of these have their own tradeoffs of course.
      It just goes to show that even at things that WebAssembly is traditionally considered to perform badly at (because of the marshaling overhead), a lot of improvements have been made over the years. Of course, there's still many things that don't have robust solutions in WebAssembly, such as code splitting, but in terms of performance, it's pretty good, and only getting better.

    • @JohnLeidegren
      @JohnLeidegren 6 місяців тому

      Sure it is, there's asm.js, wasm and a lot of nifty tricks that you can leverage to make the whole thing a lot more predictable. The real question is, what are the surrounding constraints that is causing you to have these requirements? Are they the right requirements? I understand that this is just a mental exercise but as a person who has spent a decent amount of time writing highly optimized JavaScript I can at least say with some confidence that it is possible but it is a very different game. There are walls that will just get in your way but those are important constraints to know about if you wanna know if it is feasible or not, to do a particular thing well or not.

  • @BackwardsCombatable
    @BackwardsCombatable 5 років тому +31

    Everything he says is correct, but I would never work with him. There's a way to communicate how your team can improve their individual input to a project that isn't just "do everything all the time or you're fired".

    • @StenghaberObzen
      @StenghaberObzen 5 років тому +2

      I wouldn't hire or keep someone who is incompetent

    • @Fopenplop
      @Fopenplop 4 роки тому +8

      i think it's reasonable to assume that he doesn't talk to teammates as if he's delivering a polemic GDC talk

    • @milesrout
      @milesrout Рік тому +1

      He's very obviously not suggesting anyone should actually be fired.

  • @ThePC007
    @ThePC007 5 років тому +18

    11:25 Object-Oriented Programming in a nutshell.
    EDIT: 19:44 Yeah, and that, too!
    EDIT 2: 21:06 And that one!

    • @ZeroZ30o
      @ZeroZ30o 5 років тому +7

      I mean, Mike Acton is known for being against object-oriented programming, so that's not surprising. And even if you use OOP, you should still know about most of these things.

    • @AmyDentata
      @AmyDentata 5 років тому +1

      @@ZeroZ30o OOP is going to happen somewhere, probably, but it at least helps to know why it's being used, when it is used.

    • @ThePC007
      @ThePC007 5 років тому +6

      @@ZeroZ30o It's hard to know what your memory layout looks like and how much of your cache line is wasted, when your programming language manages that on its own behind the scenes.
      It is even harder to try to optimize those aspects when you have little control over what is actually happening on a lower level.

    • @ZeroZ30o
      @ZeroZ30o 5 років тому

      @@ThePC007 That's the point. That's why he hates OOP: these are things that should be easier to access and control.

    • @umanshahzad5331
      @umanshahzad5331 4 роки тому +1

      @@ZeroZ30o OOP has nothing to do with programming language runtime abstractions, e.g. if your language doesn't really _give_ you access to the heap trivially, forcing a garbage collector on you and what not, or worse, having the whole language be interpreted on-the-fly or after compilation to bytecode, then you can't do all the stuff Mike is talking about.
      Basically if you want to understand stuff deeply enough, you either should just understand your language's huge runtime inside and out, or just use C/C++/Rust/etc so you have a lot more insight into what's really going on without jumping through the hoops of a fat runtime/vm/interpreter/etc.

  • @gunva4790
    @gunva4790 5 років тому +133

    I would absolutely hate to work with this man.

    • @zhorky
      @zhorky 5 років тому +22

      For sure he has some points, but sometimes things are not that easy as he makes it.

    • @ivanatanassov6542
      @ivanatanassov6542 5 років тому +6

      Can't really say - couldn't find a reason to watch the talk till the end. Quite boring.

    • @zhorky
      @zhorky 5 років тому +10

      @@ivanatanassov6542 Not every talk can be "1500 slot machines walk into a bar" ;)

    • @clustertheory
      @clustertheory 5 років тому +17

      I was thinking the exact same thing. "Execute Plan B, first" sounds like such a douchebag thing to say. It's easily to criticize after the fact.

    • @Xorgye
      @Xorgye 5 років тому +10

      @@clustertheory Well, to me it sounded like a business minded person. He wants you to always think of a plan B, always think about a less-optimal solution. Because in real life, where time and money count, you can't build perfect things all the time.

  • @informativt
    @informativt 5 років тому +14

    Plan B is dangerous. On an algorithm I am working on, the plan B will not work with unicode. I've decided to implement plan B first, and I know myself so well I have just wasted my work kicking the ball down the lane, because I will have to restart the work on the algo. Mike is a good programmer, but a lot of these issues are more complex than being turned into a slide deck. Eg complex cross domain issues has arisen from the new unity concepts, but these were never addressed in slides.

    • @JohnLeidegren
      @JohnLeidegren 6 місяців тому

      Unless you can articulate exactly what problem you are trying to solve, Plan B, doesn't sound like a solution to your problem. Plan B is about being less ambitious and humbling yourself in the event that you cannot complete a more ambiguous task on time. A realistic Plan B will still solve the problem, in the most straightforward way possible. If it doesn't solve the problem then it isn't a plan at all. Plan B is about compromise, what comprise can you make to get going now. Maybe you can revisit Plan B later. In this sense, it's just about breaking up the work in incremental units. A sensible and responsible thing to do. The point is that you are doing it, fully aware that you are moving towards a complete picture. It's not random or haphazardly.

  • @simleek
    @simleek 5 років тому +11

    Seriously, just use Trello/Jira to describe the issues, and let an experienced programmer determine how long they should take.
    Edit: also, don't blame everyone else for every problem. You're likely making your fair share, like failing to enable communication.

  • @RagdollRocket
    @RagdollRocket 5 років тому +4

    Love your rant Mike!

  • @YOUCANTDOTHATONTELEVISION
    @YOUCANTDOTHATONTELEVISION 5 років тому +14

    This poor guy must have to do a lot of cat wrangling to get useful answers from people.

  • @KryptKicker5
    @KryptKicker5 5 років тому +38

    Programming itself may be "Computer Science" but actually creating something with it is still "Computer Art".

    • @beskamir5977
      @beskamir5977 5 років тому +5

      I disagree, creating something with software is typically considered software engineering unless you're just scraping something together for purposes other than quality and maintainable software.

    • @KryptKicker5
      @KryptKicker5 5 років тому +7

      @@beskamir5977 Isn't engineering just creative (or artistic) application of scientific principles? Duds, still come out of the process. And maintainability doesn't mean it's good or fitting to a purpose. There are plenty games that sold well and are still playable that were "hacked" together. Video games are interactive toys, not operating systems for jet fighters. As long as its fun its purpose is served regardless of the technical achievements or lack thereof under the hood.

    • @luminousdragon
      @luminousdragon 5 років тому +1

      @@KryptKicker5 Its science and art, you guys are just talking past each other. I will explain clearly I hope:
      ua-cam.com/video/S530Vwa33G0/v-deo.html
      The above video is 3d fractals with some minor visual enhancements like color and ambient occlusion etc. (which is also math by the way). Fractals are pure math through and through. so is that video a math video? well, yes, but its also art. Like a poet takes words and chooses certain ones in a certain orders to make something more that just words, fractal artists take their knowledge of math and make something beyond just math.
      Those choices made are called art. Programming is the same. There is many ways to accomplish a single goal many times, and how a person chooses to go about solving a problem is artistic, at lest sometimes.
      If I give someone a simple programming problem and they solve it, I wouldnt probably call that art, just like if I gave someone a paintbrush and told them to draw a line between two points I wouldnt call it art, or if I gave someone a simple math problem. But the more possible ways of going about something, the more human creativity comes into play.
      Heres someone programming music: ua-cam.com/video/KJPdbp1An2s/v-deo.html
      Is that art?

    • @ipotrick6686
      @ipotrick6686 3 роки тому +2

      programming itseld has nearly nothing to do with computer science

  • @theebulll
    @theebulll 4 роки тому +11

    This is the kind of guy that just doesn't get why six-month crunches are a big deal. "Stop being human, know everything, and be able to perfectly predict future events to so I don't have to manage humans with real flaws and shortcomings. Duh."

    • @slynt_
      @slynt_ 3 роки тому +1

      Git gud scripter soyboy

  • @SmugDarkLoser10
    @SmugDarkLoser10 3 роки тому +12

    Guy comes off as project manager listing many questions that seem fairly impractical with regards to actually building the software. Some make sense in theory, but in real life building sw is more like a combination of brick laying and painting, where you need constant sustained effort and room for experimentation. Being overly engaged in abstract details just make you divorced from getting anything done, but its.something managers types with spam to people doing stuff to sound like they are knowledgeable about development

    • @milesrout
      @milesrout Рік тому +3

      On the contrary, these things are all very practical. You gain 'room for experimentation' by making sure you have a backup plan, for example, which is one of the things he mentions in the talk.

  • @maddyv5948
    @maddyv5948 Рік тому

    I agree with the points but I had to rewind a few times to understand what he meant to say. Maybe I'm not at that level yet, but this felt like I was constantly scraping for any possible fragment of context I could find, just to understand what he wanted to convey. Good talk though 👍

    • @JohnLeidegren
      @JohnLeidegren 6 місяців тому

      Ask me a question and I will happily fill in the blanks. I can comfortably say that I know what this is about and happy to resolve any ambiguities or misunderstandings.

  • @yuirick
    @yuirick 5 років тому +12

    I don't get it, why is this so disliked? Seems like a lotta sensible goals, even if they can be a bit stiff.

    • @jasoneads6825
      @jasoneads6825 5 років тому +12

      Obtuse delivery and too-subtle humor. He is aggressive and annoying, which is essential to ranting. Not everyone finds it charming, and ranting inevitably invites irritation. Comedians keep the rants funnier, and often shorter with relief segments.
      Some of the points, particularly the inherent purpose, are communicated poorly. Such the Plan B point. What he literally says amounts to non-sense, but what he likely means is implement the cheaper solution sooner, or both sides of an A/B test.
      Many of the things he says have a good reason, but are presented in the form common to biased opinions, like the "I will not use phrase X" points. This raises red flags for most reasonable people on the quality of said opinions until they fully reason them out on their own, and he takes too long to address this apparent lack of rational foundation , or doesn't bother. The pace of the talk also doesn't allow much time for a viewer to fully get to the point before presenting another biased-seeming piece. A cocktail of mild communication flaws that collectively create distracting and useless anger/irritation, in a talk that is mostly about poor communication.
      TLDR: poor presentation & offbeat humor

    • @jasoneads6825
      @jasoneads6825 5 років тому +2

      Of course, I'm not disagreeing with you, but I would like the content to be presented better and with less distractions. Or at the least with more entertaining distraction.

    • @yuirick
      @yuirick 5 років тому +1

      @@jasoneads6825 Yeah, that's fair.

    • @milesrout
      @milesrout Рік тому +1

      @@jasoneads6825 It was well-presented. I suspect you are just not intelligent enough to understand it. What he said about plan B does not amount to nonsense. It made perfect sense: the new experimental way of doing things is risky, and you should hedge against that risk by making sure you have implemented the simple and well-understood way of doing things first. The talk was presented excellently.

  • @iangorham2247
    @iangorham2247 3 роки тому +12

    It's funny how quickly this veers off into "senior engineer" territory. Like... Having a larger problem to solve, being able to articulate why it's important, and listing alternatives are all solidly "tech leadership" traits.
    Entry level workers are mostly expected to solve targeted, narrow problems handed to them by more experienced coworkers, for exactly the reasons laid out in this talk.

  • @OwlTeaGames
    @OwlTeaGames 5 років тому +37

    This is anxiety inducing. I would never work with this person. He sounds like he loses his cool over the smallest thing. I’m all for communicating and standards, but this is insane. I literally want to stop breathing. I could never, in a million years of dedication and bootlicking, survive under this sort of animosity.
    If anyone wonders why I work alone, I’m going to show them this video.
    Now, if you’ll excuse me, I’m going to spend the rest of the morning listening to Doctor Who audio dramas while I work. GDC was always my Monday Morning Pick-Me-Up...
    Update: Yeah, TMI here, but I just spat up some white stomach stuff that tasted like aspirin. This video needs a trigger warning... definitely needs to be removed from the category of “Inspirational,” and put in the category of really messed up videos like bums fighting for food with toothpaste in it, or a compilation of George Costanza’s Greatest Hits.
    If you hate someone and want them to quit so you never have to work with them again, tell them to watch this video.
    If you know someone who is too happy in life.
    If you know an aspiring young student you’d like to crush.
    If you just want to do your part to spread a little more misery.

    • @YOUCANTDOTHATONTELEVISION
      @YOUCANTDOTHATONTELEVISION 5 років тому +4

      I'm truly sorry about the anxiety this may have caused but the statements you made at the end were priceless.

    • @peterspy8867
      @peterspy8867 5 років тому +4

      IMO you're way too serious about yourself. Distance is a healthy thing. This is a confident industry vet having a rant, perhaps in front of an audience with similar experience. You may question the quality of his sense of humor, sure, but the rest is rather uncalled for.

    • @babgab
      @babgab 5 років тому +6

      I'm not sure that many of these are actually small things, though. In particular, all the points on being able to articulate what your problem is, being able to articulate how you're going to solve it, and being able to articulate why the problem has to be solved in the first place are spot on. The difference between "engineering" and "tinkering" is that everything that is engineered has a purpose. A reason to exist. If you can't articulate why the code you are writing needs to exist, why are you spending time writing it? Of course, if you're a hobbyist, "I want to have fun by writing code" is a perfectly acceptable answer, but for those of us getting paid to write code to solve *other people's problems*...

    • @rudolphscoolgameplays1805
      @rudolphscoolgameplays1805 5 років тому +5

      The guy's a bit brash but you are entirely too dramatic. You don't work for him, who cares?

    • @milesrout
      @milesrout Рік тому +1

      He didn't lose his cool over anything. It's a polemic rant about incompetent and lazy people coasting along and not being held responsible for the way their incompetence affects others (customers AND coworkers). I have no idea how you could come out of watching this video and think that he would talk to you like this on a day to day basis. He's not talking to you, he's giving a FUNNY and EXAGGERATED talk at a conference. Your obvious lies about having a physical reaction to this talk don't paint you in a good light. They make you look like a neurotic freak that can't handle even the slightest pressure to perform and wants to laze around all day doing nothing of any value.

  • @edibleresource7753
    @edibleresource7753 5 років тому +7

    I think the most useful thing to come from this for developers who are not there yet is that he's indicating that there are multiple ways to solve a problem that are all interesting and being able to articulate these might help deepen your own understanding and also your ability to communicate with laypeople;
    *On the other hand, the actual talk itself falls under the category of poor communication. People are right to switch off.*

    • @milesrout
      @milesrout Рік тому

      The talk is very well-communicated.

  • @Arigatex
    @Arigatex 5 років тому +30

    I want my 26 mins back

  • @tanja1634
    @tanja1634 5 років тому +5

    You know why software companies pay computer scientists that much every month? Yes, it is because they make millions with that stuff. Just be your own boss and get rid of that.

  • @Junjokar
    @Junjokar Рік тому +1

    That's the paradox of experience, it's easy to look back and say: "yeah, I should've done this from the start". But if you had to accumulate all of your experience to actually start, one would've given up a long time ago. Most IT professionals don't even go to college anymore, you can't expect MANY concepts CS students normally learn as a foundation to be there. And a company can't be comprised entirely of seniors either...

  • @BxBL85
    @BxBL85 5 років тому +11

    So... I guess he actually fired the entire team of programmers working on Unity engine?!

  • @Algost_
    @Algost_ 5 років тому +26

    I think this is the 1st GDC talk that i very dislike, this guy is just angry and have bad experience with dev in the past and use it to do morals to everyone...
    Sometime things get complicated and you are not aware of 100% of everything...

  • @DrSlamDuck
    @DrSlamDuck 5 років тому +17

    This guy doesn't want programmers,he just want communications majors posing as a programmer

  • @changwanchoe
    @changwanchoe 5 років тому +11

    Instead of 50 points, it should be less than 5. Its really hard to follow someone’s stream of thoughts without articulating why it’s important, etc. it’s like listening to a sermon with 50 points.

    • @milesrout
      @milesrout Рік тому

      I watched the video at 2x speed and I had no trouble following it.

  • @WilfredBrimleyGaming
    @WilfredBrimleyGaming 2 роки тому

    I feel like this list is good for group meetings in business in general. I hate where people just bring up things that are not issues or add unneeded administrative layers and busy work. Or try to change things that are working just fine for God knows why

  • @nobunagaota
    @nobunagaota 5 років тому +12

    I need more like buttons for this video.
    Mike Acton is my spirit animal.

  • @amadlover
    @amadlover 5 років тому +8

    damm, i thought he would have mellowed down

  • @zeluqa
    @zeluqa 5 років тому +7

    So why did people dislike this so much? It looked like things people should know about when doing any kind of software engineering. I guess people are offended by how it presents how an ideal engineer should be.

    • @colin-campbell
      @colin-campbell 5 років тому +2

      zeluqa
      Guess again, Freud.

    • @lawthirtyfour2953
      @lawthirtyfour2953 5 років тому +2

      It's far more efficient to make people strive to be their best without trying to make them feel like idiots for not being perfect.

    • @milesrout
      @milesrout Рік тому +1

      They don't like it because they don't like being reminded that they're skating along with no idea what they're doing.

    • @jessevos3986
      @jessevos3986 Рік тому

      I think it's because he didn't say "this is what an ideal engineer should be", he said that this is bare minimum.
      So a bad engineer must have at least these qualities to still have a job.

  • @tanja1634
    @tanja1634 5 років тому +6

    this guy? Alright, I work again as a construction worker, gaining 25€/h without nagging.

  • @MaxIzrin
    @MaxIzrin Рік тому

    The last one is a bit suspicious. 🤔

  • @GoatOfTheWoods
    @GoatOfTheWoods 5 років тому +9

    this - and this man here- is why i f-kin hate this industry; constantly bashing employees and making you feel like the bug itself in the end

    • @milesrout
      @milesrout Рік тому +1

      On the contrary, the problem with the software development industry is that developers are basically treated like in fallible gods. The idea that out of all industries software is somehow magically special, immune from any constraints that apply to EVERY other industry like deadlines, being expected to give estimates, being expected to be able to explain what you are doing and why, etc? It's bizarre.

  • @SaxPanther
    @SaxPanther 5 років тому +20

    Man, this guy is annoying. You would waste more time coming up with an answer to every single one of his questions than you would just sitting down and writing the damn code. Everything here is either common sense communication skills or just plain pointless nitpicking. Also that NYPD shirt, ew.

    • @ZeroZ30o
      @ZeroZ30o 5 років тому +2

      Maybe you'd write the code faster, but these questions ensure that you need the code, that the code will work or have an alternative for it, and that it won't cause you problems in the future. And while it's pretty obvious that most of these are considered "common sense", if he mentions them, that's because it's not "common sense" in his experience.

    • @SaxPanther
      @SaxPanther 5 років тому +2

      @@ZeroZ30o Why should I come up with two ways to solve every problem? Just takes twice as much time, and you only need 1 way.

    • @ThePC007
      @ThePC007 5 років тому +5

      Diving head first into the code without thinking about the problem at hand first is how you end up with a sloppy, unoptimized and unmaintainable mess.
      I've often found myself in a situation where I wished I had thought about the problem I'm trying to solve for a minute before writing myself into a corner.

    • @ThePC007
      @ThePC007 5 років тому +3

      @@Girugi Is he? The way I understood it is, know what your (most common) use cases are, and be mindful of them, so that you can optimize your code accordingly.
      Trying to fit as many use cases into a single piece of code is not what I got from his talk at all.

  • @SimonMorganYay
    @SimonMorganYay 3 роки тому +9

    Old man yells at clouds... for 26 minutes.

  • @GeorgePapageorgakis
    @GeorgePapageorgakis 3 роки тому +9

    In sort. Squeeze every single life cell out of a developer until he is burned out. Nice culture

  • @atilafernandes217
    @atilafernandes217 5 років тому +7

    There's no "deadline concept" in software. It's beyond human nature to estimate this correctly. Mike, you are fired!

    • @milesrout
      @milesrout Рік тому +1

      Only software developers are delusional enough to think that they, and they alone, are immune from the concept of a deadline.

    • @jessevos3986
      @jessevos3986 Рік тому

      He has a previous talk where he talks about the video game company he worked for, where they released 2 games a year, and knew the deadline down to the day the entire project, without missing it.

    • @atilafernandes217
      @atilafernandes217 Рік тому

      ​@@jessevos3986Without missing it? What he used to do to accomplish that?

  • @Soily9
    @Soily9 5 років тому +16

    This must be the worst GDC talk I've watched so far. The speaker is obnoxious, and clearly lacks communication skills which is ironic since most of his talk is about "communication skills". Besides, the title of the talk doesn't make any sense.

    • @tabula_rosa
      @tabula_rosa 5 років тому +5

      "my lack of basic reading comprehension says things about someone else and not myself"

    • @milesrout
      @milesrout Рік тому

      His communication skills are absolutely fine. The title makes perfect sense. Did you watch the video all the way through?

  • @scotmcpherson
    @scotmcpherson 3 роки тому +10

    Most of this falls under project management.

    • @milesrout
      @milesrout Рік тому

      None of it is project management at all.

    • @scotmcpherson
      @scotmcpherson Рік тому

      @@milesrout that might be part of your problem

  • @shalokshalom
    @shalokshalom 4 роки тому +1

    Common sense, the video.

  • @b8horpet
    @b8horpet 5 років тому +5

    I wonder if he has a perfect score in his system.
    Consistently.

    • @tabula_rosa
      @tabula_rosa 5 років тому +5

      this just in only perfect people allowed to give advice
      moron.

    • @lawthirtyfour2953
      @lawthirtyfour2953 5 років тому

      @@tabula_rosa Well "if you're not perfect you're fired is more moronic"

    • @milesrout
      @milesrout Рік тому

      @@lawthirtyfour2953 He didn't say "if you're not perfect you're fired". He said "if you don't meet this very low minimum bar you are fired". Being able to do these 50 things is NOT perfection. It is a MINIMUM standard that any competent experienced programmer should be able to meet. Of course you need to learn how to do a lot of these things, and nobody is saying that juniors should be expected to be able to do all of them.

  • @andrew.r.lukasik
    @andrew.r.lukasik 2 роки тому +1

    I don't think he knew all these things 10+ years ago. So what is the point of calling it "basic requirements", like if those are obvious, when those are best work practices he personally discovered?
    Also, mixing those non-obvious points with obvious ones like "don't yell at coworkers" comes across as a persuasion tactic and makes this talk more of a tirade than a lecture.

    • @milesrout
      @milesrout Рік тому

      None of them are non-obvious.

    • @andrew.r.lukasik
      @andrew.r.lukasik Рік тому

      @@milesrout Obvious statements are not worth a 30 minutes of time of any half-baked pedestrian. Here is a CTO (-like) figure of a mayor IT technology company. Sure.

  • @tabula_rosa
    @tabula_rosa 5 років тому +11

    lots of programmers in these comments furious that someone went to GDC to gave them a very simple list of ways they could be better at their jobs
    GDC is for telling ppl that everyone is perfect as-is, ways to improve are verboten here ):

  • @jonas2560
    @jonas2560 3 роки тому +6

    What a sad man.

  • @KibbleWhite
    @KibbleWhite 2 роки тому

    Not sure why this talk annoyed me so much. He was stating all the obvious things, if you are having these problems follow you around, I'm not sure what to make of that? If you lay out expectations clearly to your team before a project start, then most of these issues go away. If you don't, well then you are going to face these issues and you're going to be annoyed all the time, and maybe you do need to rant about all the things lol
    Also, keep in mind that I do agree with the points made, I believe you do need to ask your self these questions on the daily, but if it become problematic because other people in the company are grinding the opposite direction, then the problem is not the points that are being up held, but the culture in where the work is being carried out.

    • @mathboy8188
      @mathboy8188 2 роки тому

      It's not what he said - it's how he said it. His insights are great, but they're being delivered by a smart programmer who's also an a-hole. If I had to work with him everyday - or worse, if he were my boss - I'd be updating my resume immediately. Who needs that kind of energy in their life?
      (I kinda figured the whole thing was a setup for some kind of joke at the end... something like _Well, okay, 49 out of 50, and maybe we'll just put you on a PIP_ ... or at least something. But no, it was straight a-hole all the way through. So he's humorless too. What a nightmare.)

  • @jk-ml5fb
    @jk-ml5fb 2 роки тому

    If plan b is good enough.. is plan b plan a or plan a is plan a?

  • @noiJadisCailleach
    @noiJadisCailleach 3 роки тому +2

    Everybody has a checklist when communicating with people. Most have under 10. People usually remember around 5-7.
    But requiring 50 from the person you're talking with?
    1 - You're a psychopath. 2 - You're just wasting time. 3 - You're being a dick. and 4 - There are markers of autism here, you might not know it. So you might want to get it checked.
    If you are this person and still expect these things as a proj mgr, I suggest you take out that checklist on your own and run it for everyones' peace of mind.

    • @milesrout
      @milesrout Рік тому

      This is not a 'checklist for communicating with people'. I have never heard of such a thing. It's a list of things that everyone working in a particular job should be able to do. It's not exhaustive. It is not autistic to be able to list 50 things that everyone should be able to do to do their job.

  • @michaelswan1460
    @michaelswan1460 Рік тому +1

    A good developer follows these rules. A great developer knows why he shouldn't follow these rules.

  • @beeeean
    @beeeean 5 років тому +9

    Wtf this video contain a lot of fluff

  • @larsfroelich
    @larsfroelich 5 років тому +4

    He's right, this should be the minimum bar - it isn't though, which is why not all software developers are paid equally

  • @zizzyballuba4373
    @zizzyballuba4373 10 місяців тому

    i am indian sir please help me sir

  • @origamibulldoser1618
    @origamibulldoser1618 5 років тому

    Well. That's depressing.

  • @TheAlison1456
    @TheAlison1456 5 років тому +2

    I jumped to a section of the video and it sounds like he's having a panic attack.

  • @bunny623p
    @bunny623p 4 роки тому +4

    this guy seems awful to work for.

    • @b.b4229
      @b.b4229 4 роки тому +4

      On the contrary, I would love to work with someone who knows what he wants and how to get there.Too many project managers are clueless bafoons

  • @RealCoachMustafa
    @RealCoachMustafa 5 років тому +3

    Main takeaway: Be specific with your communication.
    I didn't finish watching this talk because he just came across as a bitter game dev who wants to rant and yell about his negative experiences that were caused by poor communication. Hands down the worst GDC talk I've come across so far.

  • @simonfarre4907
    @simonfarre4907 4 роки тому +2

    Ugh, wearing a NYPD shirt, even in 2019 is kinda icky.

  • @warpzone8421
    @warpzone8421 5 років тому +1

    Meanwhile Mike Acton boasts to shareholders that this was his most profitable E3 talk to date.
    Oh, wait. You said Unity. I thought you said EA/Activision.

  • @andrewherrera7735
    @andrewherrera7735 3 роки тому

    Unity 3d is so dumb. They literally took this guy from insomniac games and he built them the DOTS technology.