Advertisement

C++ Game Development Opportunities for Programmers with other programming Language Experience

Started by October 17, 2024 12:05 PM
7 comments, last by yababasan 2 months ago

I am an experienced Python developer and have been working on personal projects using C++. I'm eager to transition into the game development industry by leveraging my C++ skills. Are game studios still hiring C++ game developers, particularly for junior or entry-level positions (Maybe mid level, considering previous experience in other languages and industries)?

I am also very interested in custom game engines. If there is any pointing for guiding for that direction, it would be great!

morenorarthur said:
If there is any pointing for guiding for that direction, it would be great!

You should read the stickied posts atop this forum (Games Career Development), for starters. Do you have a game portfolio yet? If not, that should be your second step - make some games and publish a portfolio. Thirdly, your location is important. Do you live near any game companies? Have you checked into https://gamedevmap.com/ ? Type your city into the box, click Search, then scroll down to see game companies near you. Once you have a suitable portfolio, those nearest companies are where you should apply first. No matter if they're small companies - those are often the best place to get your foot in the door while you build experience and a network of contacts.

Also, your subject line seems to suggest that you are TELLING us about opportunities for programmers, while you're actually ASKING about them. Subject lines matter! Anyway, welcome to gamedev.net and good luck with your endeavours.

-- Tom Sloper -- sloperama.com

Advertisement

You should read the stickied posts atop this forum (Games Career Development), for starters

I did read one of those, will read all the other ones, thanks for reinforcing that!

Do you have a game portfolio yet? If not, that should be your second step - make some games and publish a portfolio.

I am doing one game now for the past kind of 2 months or a bit more. I want to say that it is a bit overwhelming, because it is time consuming and because I am still a beginner, to put up the motivation without a clear view of how this will turn in the future is a bit hard.

For the first game I decided to code my own “custom game engine” to learn the basics let's say. And because of this decision it is also taking a bit longer than using some others game engines.

Do you live near any game companies? Have you checked into https://gamedevmap.com/ ? Type your city into the box, click Search, then scroll down to see game companies near you. Once you have a suitable portfolio, those nearest companies are where you should apply first. No matter if they're small companies - those are often the best place to get your foot in the door while you build experience and a network of contacts.

I didn't knew that, this is an awesome tip, thanks so much!

I will check that out

morenorarthur said:
For the first game I decided to code my own “custom game engine” to learn the basics let's say.

Are you talking about “game engine”, as in, full game-creation toolset with an included editor, or just “custom code to update and render my game-logic"?

Irregardless of the answer, I'd strongly advice you to reverse that decision, if possible. Making a game engine won't teach you the basics. It will teach you lot's of details that are unnecessary as a beginner. It mostly gives you an in-depth look into how things are done at the lowest possible level, but those details only matter once you try to master the craft and try to write optimal code/optimize things, not just to start making any game. Chose any game-engine, it will let you focus on the actual basics (which is coding the games logic and getting a feel for how game-mechanics work on a technical level), instead of having to figure out how to code an FBX-loader and tell the GPU to render that model, and other superflous stuff.
At least consider using some framework to take away the low-level details. I'm not sure about current rendering/game-frameworks for C++ today, but at least something on the level of an SDL should remove a lot of the overhead from doing everything on your own.
I'm by the way saying that as somebody who is currently developing his own standalone game-engine (as in, an actual general purpose engine similar to what a Unity would be), but I only started once I had a ground-level understanding of coding and games. I initially also did some custom games in C++ myself, but I really wish I hadn't… it made learning way harder than it needed to be, I took almost nothing from it since the code became such spaghetti that I had to throw it all away. So having a game-engine available would have made my overall progress easier - as I did end up using Rpg-Maker intermediately, which really helped me grow in terms of coding skills, since even for how shitty it was, coding there had way less hurdles than having to do everything in C++.

Once you have the intermediate-level understanding of coding in games, you can still decide to go back and learn all the details, if you think it will help you grow, or if you are just interested in it. But for the type of games that most people will end up making it isn't even necessary anymore, and having some suboptimal code, or a few areas not properly optimized IMHO is not worth the months/years one has to spend writing low-level systems just to aquire that knowledge.

If you want to know what employers are actively looking for, go look at the job listings on GrackleHQ. Great job board for the industry.

Post-covid many companies are willing to work remote, but distance still matters. In the US there is still state-by-state regulation, and even when people are working from home there is value for workers to be local enough to come in to the office for machine repair and replacement, for administrative tasks, and for infrequent in-person activities.

As for looking for motivation, that's somewhat of a red flag.

Game studios want to know a candidate can do the job. Among the best evidence a person can do the job is that they've already been doing the job. That's why prior experience in the industry is by far the most important, senior and lead positions typically require years of industry experience. If you don't have industry experience companies look at your academic history which is another thing you've actually completed, and look to your personal projects that you've completed. The theme on all of these is the question “What has this person done already?”

When you write that working on a project is difficult to stay motivated, it makes me wonder if you would stay motivated to do the job. Motivation isn't what gets people through their career, motivation ebbs and flows, motivation is nice, but it is discipline that gets projects completed even when they are difficult, discipline to work on it day after day even through the hard parts, even through the problems, even through the bits that nobody wants to do but still needs to get done. Over the years I've seen lots of people who come in thinking that building games should be as fun as playing games and because they're a gamer they would make a great developer, roughly like saying that eating fine food qualifies them to be a chef, or listening to music qualifies them to be a musician. While people who are skilled at building things also enjoy other people's finished products, and often enjoy them at a deeper level because they understand the complexity of creating them, merely enjoying finished products doesn't qualify people for creating them. So it's not a disqualifying thing, but it is a caution flag.

You also write that it's taking “a bit longer” to do the work, and that's something else studios know to look at. It is common for people to seriously underestimate the time it could take to build things. “I could make an MMO like that in a weekend” translates to “I have no idea how much work is involved because I equate a half-billion-dollar 6 year blockbuster with a weekend project”. There are a few people out there who for specific subsets of specific problems can turn out high quality work on a topic very quickly, but that's an exception and usually limited to very specific domains and not the broad world of development. That's part of the reason interviewers look at COMPLETED projects, because getting things done is different from dabbling with them.

Are you talking about “game engine”, as in, full game-creation toolset with an included editor, or just “custom code to update and render my game-logic"?

The answer is mostly the second one (“custom code to update and render my game-logic" no editor included 😂).

I really appreciate the feedback. And I am constantly rethinking in restarting / doing something else from start in another game engine or something like that. But just for clarifying a bit, I am doing it using Python/C++ (Python being where I prototype stuff and then I migrate it to C++ when needed - Pybind11 for the language bridge), for library and frameworks I am using SDL2, ImGui, EnTT and others. So I am trying to avoid writting reaaallly low level stuff.

I want to say that I am really enjoying making it, and I might post more details in another area/forum that might be more appropriate for sharing the project.

Juliean said:
But for the type of games that most people will end up making it isn't even necessary anymore,

I get that, and I knew I would put my feet in dirty waters when I started… But there was something about game engines that didn't appealed to me when I first started this project. But now I am seriously considering getting a job on the game industry and the doubts about making a proper portfolio / skill set for jobs started to bubble in my head. But I am conscious that what I am doing will not be better or replace any game engine out there.

But yeah, kind of hard to read your feedback @juliean because I see that it might not pay out the time invested. (Although I still get some fun of doing it, it might not pay the dividends in a real Game dev career).

Advertisement

If you want to know what employers are actively looking for, go look at the job listings on GrackleHQ. Great job board for the industry.

Thanks for that as well, I've already found some intership positions here near Barcelona that I've applied.

I think you used the correct word here (disciple and not motivation). The thing is that I've setup some personal time off from my job this year to figure it out what I would like to do next after the fintech companies I've being working on for the past 7 or 8 years. And I think that game development was actually what setup me to be a programmer and decided to even enter in the Software Engineering career. To start this migration I decided to create the first game from scratch (before I did some Tibia Ot servers when I was young and some RPG maker projects…) This time I wanted to learn more about stuff, with the believe that those would be useful for me during this transition.

Gathering what all of you said, I think I should just keep going with discipline to finish the first game for my portfolio and move on to the next (hopefully with another game engine, maybe Godot or other…)

Without knowledge of a particular game engine such as Unity and/or Unreal the path of least resistance would be to utilize your C++ skills to attempt to get into game engine programming. Game engine programming can be very demanding and requires a lot of intimate knowledge of hardware systems and 3D math.


Game engine programmers are usually considered as Tools Programmers. They create the tools (not limited to game engines) for creating the game and other software that might go into testing various parts of the game architecture.


I hope this helps.


This topic is closed to new replies.

Advertisement