Live data from Hacker News

I learned Unity the wrong way

darkounity.com

101–110 of 124 posts

Re: I learned Unity the wrong way

#101
Sorry, I am pasting my old comment which is written 10months ago. https://news.ycombinator.com/item?id=44177446#44184036

I want to share my experience about my journey of programming. When I started programming, I was introduced to the ideas of variables, conditions, loops, functions—regular programming constructs. But I didn't understand much of what was going on, how the computer worked, or anything beyond just the syntax. I used to wonder: when I start my PC, how does it even know where to begin? I often felt insecure and anxious about all these unknowns. I was trapped in tutorial hell, thinking that just gluing pieces of code together was enough. It made sense for a while, but eventually, I wanted to quit. After some time, I searched online about how to improve, and people recommended learning data structures and algorithms (DSA). I didn’t know how to implement data structures on my own and struggled a lot—almost like going through hell. Nothing made sense. I couldn’t even get beyond linked lists.

Then I found a Reddit post saying I might have the wrong mental model. It said that even if you know some programming, without understanding how to think about structures and systems, you're stuck. I started searching for what 'mental models' meant, but due to my lack of experience, I didn’t find anything useful.

Later, I read a discussion on Hacker News about the book Structure and Interpretation of Computer Programs (SICP). One commenter explained how the book starts with the concept of data and procedures. That really clicked for me. I had never thought of computation as just transforming input data into output data. The model of:

Input → Computation → Output

made everything fall into place. This idea carries through all levels of programming—whether it's assembly, mid-level, or high-level languages. It’s the fundamental notion. You need basic constructs to steer data through transformations into useful outputs. Computation is essentially about transforming one form of information into another.

After that realization, everything started to make sense—assembly, high-level programming, even operating systems. It was one of the best ‘aha!’ moments of my life."

What is programming? by George Hotz is also good one https://www.youtube.com/watch?v=N2bXEUSAiTI

Re: I learned Unity the wrong way

#102

The very first mistake you made was using Unity. Start from scratch. A game loop is really just draw(), update() positions in a loop. Even smaller effects can be done with simple programming. Recently I played around with ChatGPT for some effects for JS game, the results were interesting and very experimental. 3D game is another beast altogether and linear algebra needs to be very solid for that.

Start from scratch means your doing all of your own asset loading and handling, physics, collisions, hit boxes, animations, level editor and probably need to know some graphics library or api

Re: I learned Unity the wrong way

#103
I can relate, I picked up Unity to build a game. Not to learn programming. This has had consequences. Years later one of my oldest projects is a maze of spaghetti code that I'm afraid to enter, I don't want to face the minotaur inside or worse realize it's a dead end.

Re: I learned Unity the wrong way

#104

Thanks for sharing your story, it was an engaging read. The part about filters in interviews resonated with me because of a recent experience. The place I work has been interviewing for new developers and the team lead asked me for my opinion on one of them. Overall seemed like a good candidate. But when I took a closer look at the assignment and the solution, I noticed that while technically the solution was good, t…

[deleted]

Re: I learned Unity the wrong way

#105

Earlier quoted context omitted.

Nice list, somehow I missed that one. I love Joel's wisdom. The full build literally works in one step but the main prerequisite is to perform a few git clone commands which can be copy/pasted from the readme. Can't help it if they want to manually do git clone and let it name folders incorrectly and then subsequently ignore compiler errors and my advice to rename. Changing our antiquated workflow would have required…

See, you are probably right about that new hire. But the way you say things here, you do come across (at least to me) as "that guy". You know? "That guy" that says "we've always done it this way and that is why it's good and why we still do it that way". What happened to "never change a running system" is that if the system is barely running at all, you better do change that system. If I'm the new guy and you tell me…

> "That guy" that says "we've always done it this way

I most definitely am not, and constantly push back for changing processes, and do make changes when I am allowed, even when it's not budgeted for or even officially allowed, because we have legacy systems that need to be maintained and some things are truly outdated and need some love. In fact, as a new hire in another life, I used to get scolded for changing _too much_ because I like to constantly improve things. The problem is, in order to ship code at our company and within our budget constraints, you don't have time to constantly refactor, unfortunately.

> is that if the system is barely running at all

Our system is and has been running just fine for many years, thank you very much :)

> there's no explanation for why they need to be that way

There is an explanation: There is no shell script because there is no root for all the repos, and some repos are shared across multiple projects.

I hate reiterating this yet again but is it really that hard to copy/paste a couple git commands? The readme is quite short, and once you've done it one time, it's fairly easy and straightforward to understand.

p.s. just FYI but I didn't downvote you.

Re: I learned Unity the wrong way

#106

Sorry, I am pasting my old comment which is written 10months ago. https://news.ycombinator.com/item?id=44177446#44184036 I want to share my experience about my journey of programming. When I started programming, I was introduced to the ideas of variables, conditions, loops, functions—regular programming constructs. But I didn't understand much of what was going on, how the computer worked, or anything beyond just the…

When I started game programming, I thought that game programming means manipulating pixels on a screen. Took a while to understand that the stuff you see is just a representation of the game state in memory. The whole game could run in memory only without any render logic and would still work. That's what game servers do.

Re: I learned Unity the wrong way

#107
post #5

What nobody told him is that it doesn't matter. The most beloved games have the shittest code. The goals of getting a job in the industry, and making a game people love, have completely different requirements, with surprisingly little overlap. --- As for the latter (game industry requirements) I read this article a while back. https://lazyfoo.net/articles/article11_top-ten-mistakes-game... There's a great list of Fun…

That list missed the biggest mistake all Game Programmers make: They write code for the games industry. If you can program a videogame, you can program a shitty webapp, and the shitty webapp industry pays twice as much. Video games are great, but that's an argument for making your own game, not working for the soulless meatgrinder that is the games industry.

Not everything is about money.

Re: I learned Unity the wrong way

#108
post #5

What nobody told him is that it doesn't matter. The most beloved games have the shittest code. The goals of getting a job in the industry, and making a game people love, have completely different requirements, with surprisingly little overlap. --- As for the latter (game industry requirements) I read this article a while back. https://lazyfoo.net/articles/article11_top-ten-mistakes-game... There's a great list of Fun…

> The most beloved games have the shittest code Do you have data supporting that? My favorite games (Factorio, Noita, Song of Syx to name a few) all share in common devs' passion and expertise. I don't have any example of a good game with shitty code.

[dead]

Re: I learned Unity the wrong way

#109
post #4

> Before AI, I got a lot of interviews. Companies would talk to anyone with a reel. Today a beginner can send out fifty applications and not even get a first call. The thing that saved me may not be available to people starting out now. I do not have a clean answer for what to do about that. I only know that interviews were the best school I ever had, and I feel for anyone who is being shut out of that classroom.

[dead]

Re: I learned Unity the wrong way

#110
post #9
post #5

What nobody told him is that it doesn't matter. The most beloved games have the shittest code. The goals of getting a job in the industry, and making a game people love, have completely different requirements, with surprisingly little overlap. --- As for the latter (game industry requirements) I read this article a while back. https://lazyfoo.net/articles/article11_top-ten-mistakes-game... There's a great list of Fun…

There's numerous studios across the games industry that have high coding standards, mandatory code reviews, and expect upskilling. Game complexity keeps increasing, and live service games in particular need to be stable and well maintained and very well engineered in the first place. For many games, the days of games being pressed to disk, shipped out and done with (where bad code is fine) are long gone.

They aren't long gone. There's a ton of very successful indie or AA games with shoddy development practices: https://www.reddit.com/r/programminghorror/comments/e0bub9/t...

A game isn't a fundamental or structural part of a system. In the end, it is just a game. The goal of a game is to deliver an experience. It doesn't need to be scalable or robust. If the experience isn't marred by bad coding or bugs, then it can still be a great game.

Post reply on HN