A gameplay programmer in the making:

Started by
13 comments, last by frob 10 months ago

I've edited what I recently posted and I'm going to rephrase some of my previous questions, I can see why some things were taken out of context so forgive me for the edit but I do appreciate the replies that were posted.

As previously stated, I'm closing in on my BS for video game programming and development and I'm looking for some advice. As a developer in the making, I understand it takes a lot of time and practice to gain the skills and knowledge to be successful in the industry. I've created some game levels in Unreal Engine 4 using the blueprint coding, written code in C++, C#, Python, and Javascript but my knowledge only is as far as the class. What I meant by “I've never learned enough to be confident in my skills, let alone to have time to try to master them on my own” is that when I was taking class and started to gain an understanding in what I was trying to accomplish (in which I would succeed and see the end result), the class would end and I was on to the next. Typical for school, I know but I feel like it wasn't enough time to be fluent in the different coding languages.

Now that I have a basic touch of knowledge of the different coding languages, how does one know where to start to further that knowledge to become more confident in their skill set? To narrow down this question more, are all game devs fluent in all the coding languages or do they find one, stick to it and learn to master it? Being apart of the gaming industry is something I'm truly passionate about and want nothing more to succeed, I'm just trying to figure out where to put my focus once my schooling comes to an end.

None

Advertisement

LuminousLindsey said:
I've never learned enough to be confident in my skills, let alone to have time to try to master them on my own

Sorry, this is a red flag.

I've been in this space for a decade, so sorry if my perspective is a bit harsh, but if you want to do this, as a hobby or as a career YOU NEED to have confidence.

Confidence is forged by accomplishment.

If your unable to get the motivation to follow through and practice or train on your free time, than one of two things is going on:

  1. You have discipline and time management issues.
  2. This game dev thing is not for you.

Where is your motivation coming from?

Why do you want to do this game dev thing?

I get the sense your not paying for your own education, think about it if you were paying for it, how would you change your attitude? how would this change your motivation and pressure to follow through?

Sorry, I'm not going to coddle you.

This degree WILL NOT be your golden ticket into the industry.

LuminousLindsey said:
My question is how does one find confidence in their skills when they haven't yet mastered them?

You Don't.

You see incremental progress in every new attempt, every small progress you make. Where you were yesterday or last week, last month or last year.

Sorry mate, if you can't practice on your own free time, than this industry will most likely not accept you.

Answering to yourself is more important than answering to us.

Our company homepage:

https://honorgames.co/

My New Book!:

https://booklocker.com/books/13011.html

I think GeneralJist gave a good discussion on one side, but there is another.

Imposter syndrome is a common feeling that you are not good enough, that you are faking it and will be caught, and once people discover you are unskilled they will dump you. What the person doesn't realize is that their skills and labor are sufficient for the job.

Unfortunately it is difficult to self-assess what you are in without evidence of doing that job. Do it and evidence you can do it piles up. Fail at it, and inability becomes more clear.

Usually during interviews, people like me look for evidence you can do the job through what you are already doing. What school projects have you adapted to do in a game-related way? What choices for courses did you make that favor a game development career path? What projects have you done on your own? What have you done that expresses your passions? If you have not made anything related to games during school years, why not? If you are not doing them right now, why not? Those answers might be the best to guide you to a self-assessment.

If you aren't making games while struggling to make ends meet, that's one thing. If you are not making games yet playing Halo or whatever 60 hours a week, that is something else.

If you feel like you need to change something in your life, what is stopping you? If you feel like you are not doing enough, what is stopping you from doing more? Address it, be responsible for your life, make conscious decisions. You can't change the cards life has dealt to you, and some people have been dealt insurmountable challenges. Most people, though, have the ability to do much more than they are with the cards life deals them. Look honestly at yourself. There are many books out there that can help as well, one of my favorites is “FYI: For Your Improvement” by Lombardo. It is written in a way I find useful to improve specific skills.

Have you actually written any games? I'm not talking about AAA titles, but simple games you can do in a few days. For example, I have a friend with a very old computer who wanted to me to show him how to make a game. He was in the process of trying to learn C++. So we sat down and did a shooting game where you shoot birds, fish and boats that cross the screen from left to right and visa versa. This was all done in text. We even did text animations. The only thing that wasn't in standard C++ was the clear screen command which we called at the beginning of each frame. Even this simple game took several sessions, but we got it working without issues.

IMO you should be able to do something like this without too much trouble. I did similar games back in the day with old terminals and escape sequences. My education was limited, just a few programming classes plus a lot of book reading and experimenting on my own. When I was learning I took every opportunity to program. It was fun for me. If that's not the case for you, you might want to rethink your choice of profession. That's not to say all programming will be fun. Sometimes it's just hard grueling work. But there should be times where you are having fun doing it.

My initial question may seem strange considering that you are about to get a BS in programming, but I've helped people get through classes and graduate with a programming degree, and some of them couldn't write a bubble sort to save their life. In most cases they went on to become system managers and the like, jobs that didn't require them to actually write code.

I have also encountered a lot of people that like the “idea” of making a game, but when push comes to shove, they don't really want to sit down and write code. Keep in mind there are other aspects to game dev , like art and story which don't require programming skills.

@GeneralJist @frob @Gnollrunner I truly appreciate all of your replies. I've edited my initial post so that I don't sound like I've done absolutely nothing with my schooling. I can see why that was a red flag and my apologies for painting the wrong picture of myself. I plan on continuing expanding my knowledge within the industry but any tips on where to start with that is much appreciated.

So this is my main question that I have for you all:

LuminousLindsey said:
are all game devs fluent in all the coding languages or do they find one, stick to it and learn to master it?

None

@LuminousLindsey code monkeys stick to one language and one framework within that language and they get their jobs. Programmers may have strong languages but are capable of using any of them if senior (with the reference next to them), but that usually does not matter when applying for a job, you have to match the description for the HR person's neurons to activate.

"Game dev" is too open to even require a programming language (what is 2dart, writing, music, etc), if self employed you can use any language and no you dont need to know all of them, only those required by your game. otoh you may need to learn a lot of different things, including non coding things.

The usual suggestion would be pick Unity or Unreal, get good at the stuff they require. Since you used Unreal stick to it and blueprints / c++

LuminousLindsey said:
are all game devs fluent in all the coding languages or do they find one, stick to it and learn to master it?

There are MANY programming languages, and nobody is fluent in all of them, but it actually isn't that important. It might be more important for getting a job to be somewhat fluent in the language they are looking for, but not so much for keeping it. A good programmer can program in any language and can learn new languages as needed. I've programmed in HP Basic, PDP-8 ASM, IBM-370 ASM, x86 ASM, x64 ASM, 4th, Fortran, C, C++, C#, Java, MS Basic, C shell, Bourne shell, Pascal, REXX, Scheme, JavaScript and probably some I forgot as well as a couple languages I wrote myself. It's not really that big a deal however. Most languages you can pick up fairly quickly and I only learned these listed above because I had a task that needed them at some point.

In the long run knowing about algorithms and data structures is far more important. That being said if all your work involves writing callbacks for Unreal 4, you might not need to know that much. But IMO you still should be able to write a simple game without a game engine, and again I'm talking text based, or if you are a bit more adventurous you can write one based on something like SFML or even OpenGL. Depends on how far you want to go.

LuminousLindsey said:
are all game devs fluent in all the coding languages or do they find one, stick to it and learn to master it?

Depends on the person, so not, “all” game devs are certainly not fluent in all languages. One general truth is that, by having mastered one programming language, you already know a lot of the basics that apply to most/all other languages, making it easier to pick up new ones.

I personally focus mainly on C++ for my freetime projects and have mastered it, and at work I use mainly C#. Picking up C# after knowing C++ was pretty easy, even there are still things I learn here and there. I recently had to work on a web-project that used Javascript, and while it was something entirely new to me, it was also not hard to pick up as well.

So are you just looking for peoples experiences, or are you actually asking “Should I learn multiple languages or stick to one?". In that case it depends on what you want to do, but I personally would recommend sticking to one language/platform until you are very fluent in it.

I agree with Juliean's answer among others. While imposter syndrome is a real psychology thing, it happens to people who are already well in their careers too. So is just being a ‘noob’ and not having earned the confidence level you need yet, as GeneralJist so harshly assessed. He was right about accomplishments getting you there though… Don't let people's words or opinions dishearten you. My advice about your main question on languages is- where do you want to work or what kind of games you want to work on? only 2D puzzle games? 3D shooters? Many small or indie dev teams are using Unity and blender while large AAA studios tend to lean towards Unreal and autodesk apps. I would say good to toggle back and forth between both so you dont lose all your C++ or BP skills staying in unity too long. Knowing both engines well will help you qualify for more range of jobs. If you do choose to learn Unity, stick mostly to C# and javascript. Dont spread yourself too thin trying to learn python and everything else under the sun at the same time too. You could just master blueprints and Unity has visual scripting too, but if you really want to write code well, DO dig in and keep learning OOP. Most schools give you education that is a mile wide but only an inch deep and expect you to springboard off that and keep going. Buy [paid] full courses where you make whole games not just a bunch of random YT videos. As others stated, OOP is similar across all languages so get used to the flow and other than that, I think most people learn as they go whether artist or coder you will always hit some stuff you havent done yet. As far as where to put your focus? Energy flows where attention goes. What inspired you in the first place? As (or if) that changes, go with what makes you feel you are following your dream. Goals and ideals change over time but you gotta go with the flow; don't swim upstream by torturing yourself working on game genres/styles you have no interest in. Finally, some of the best advice my Father gave me was "never compare yourself to others, because your path and life are different", and “Don't judge yourself on things you haven't done yet”. Best wishes on your growth and journey ?

GeneralJist said:

LuminousLindsey said:
I've never learned enough to be confident in my skills, let alone to have time to try to master them on my own

Sorry, this is a red flag.

I've been in this space for a decade, so sorry if my perspective is a bit harsh, but if you want to do this, as a hobby or as a career YOU NEED to have confidence.

… rest of rant

This is among the worst advice I've read on the internet.

@luminouslindsey What you need are actually two things: 1. a humbleness that you are not the best and are learning. 2. Belief (or confidence if you will) that with enough time you can become better.

Having too much confidence early on is as detrimental, and can be even more so, as having zero confidence. The times I've seen more senior engineers become upset with another developer, junior or not, is when that developer exudes too much confidence.

What usually happens: The senior developer hands out at task to the confident developer → The confident developer doesn't actually know how to solve the complete problem but is too proud to ask questions → The confident developer spends weeks working on a solution while the senior developer assumes they are on the right path → The confident developer returns with a solution that is not up to spec.

I've been on both sides of that situation and it's very frustrating for everyone involved.

Frankly, what you should do is bring up your strengths but also not be too shy to admit your weaknesses. And this is not just for your first job. This is for every job throughout your career. If you want to keep on growing you first have to admit that you don't know everything, no matter how many YOE is on your resume.

One thing I do actually agree with @generaljist on is that your confidence will grow with accomplishments. But the flip side is that it might sink with failures as well. But in general the higher your skills, the higher your confidence will become.

This topic is closed to new replies.

Advertisement