First time poster, aspiring gameplay programmer.

Started by
3 comments, last by Shaarigan 2 years, 9 months ago

Hello everyone,

I'm currently a student studying game development & programming. I'd like to someday work for a AAA studio. So far I have been working with Unreal Engine. Although it is awesome to getting projects up and running quickly and iterate through them. I really wonder if what I am doing will get me to where I want to be.

I have been doing a lot of high-level programming & scripting(bp) and I'm starting to feel very comfortable with UE4. I made a few game loops, collision detections c++ actors, ray tracers, HUDs widgets, pathfinding AIs, HelloWorld plugin, procedural/runtime mesh generators, shader plugins, and I'm currently trying to learn to use UE4's GAS(Gameplay Abilities System) plugin in my current project is a casual game with Action RPG elements.

I'm starting to wonder if what I am doing will get me where I want to be. These techniques and skills I've learned while using UE4 seem to be more suited for a gameplay designer? I assume it is good to learn some of the concepts by using Unreal Engine especially when starting out, but when it comes to lower-level programming I feel a little lost. I have done stuff outside of UE4 like create a GUI application with C++ using OpenGL, console text games, and AI analysis for a checkers game that ran on Python. I took a course on Graphics but all we really did was talk about Graphic APIs and write a little C++ to make a cube and square on UE4… I didn't really feel like I learned much from it. I don't really understand how assets really fit into everything.

I know a lot of large studios build their own engines and tools for games and that gameplay programming is a broad topic but I'm wondering what else I can do to position myself more favorably in the job market.

Any insights or concepts I should gain a grasp on would be greatly appreciated!

-Winston

Advertisement

Welcome to wonderful world of game development!

So you asked different kinds of questions in your post so let me decouple them for you. First and foremost, there has been a somehow similar or at least related question about Gameplay Programming a while back which you can find here: https://gamedev.net/forums/topic/710147-basic-gameplay-programming/5439897/

WinstonDevs said:
I know a lot of large studios build their own engines and tools for games

This is true and false as well. Some really big studios like EA, Activision/Blizzard or Bethesda run their teams which develop mostly one but sometimes also multiple custom engines for whatever reason. My employer for example tries to minimize production cost (due to license fees) more or less successful. Our in-house engine is a mess currently where every team working on a game makes it's own fork of it and those forks are then reimplemented into the primary branch. Not very money saving in my opinion ¯\_(ツ)_/¯

There are however also small studios like Naughty Dog or Deck13 which have custom engines. The intention of those is mostly to have a product which is more related to the games they make, have better platform compatibility and bugs have a way shorter roundtrip until they get fixed. You can imagine how long this'll take for closed source game engines like Unity (Unreal's source code is available so it won't be that much of a problem here).

Don't focus/fear too much on in-house engines, they're following the same core principles than a commercial engine as like Unreal, with some differences however but you'll get into it quickly once you understood the basics

WinstonDevs said:
These techniques and skills I've learned while using UE4 seem to be more suited for a gameplay designer? I assume it is good to learn some of the concepts by using Unreal Engine especially when starting out, but when it comes to lower-level programming I feel a little lost

It is always a plus to know what you're talking about, even if it is basic. I'm for example a generalist too, interested in game (engine) development since I was young (back in the 90's) I made games on different platforms and studied techniques by learning by doing. My first ‘game’ was a custom map in Warcraft III, writing all the triggers to achieve some kind of gameplay and also a small portion if JASS. I learned a lot about gameplay mechanics at this time. Later I learned C# and then C++ in school and started writing my own game engine just for fun. Today I'm in tools development at my job and engine/framework development after work, knowing a lot about different aspects from platform related APIs which build up the core over graphics programming in OpenGL and Vulkan up to Networks and AI programming, always with the focus on ‘what features could be useful to be integrated into game development’. The hell, I even got myself into Bitcoin because I wanted to know more about the whole Crypto thing ?

So whatever you can get your hands on, learn it!

About low level programming, this is somehow required as a programmer in game development. You need to now the language your engine is running on and this is most of the time C++ and C# or Python for the tolling aspect. If you have something like Unreal, which allows to make games with Blueprint as well C++, try to replace your Blueprint with the same functionality in C++ step by step in order to learn the language.

As I wrote above, learning by doing

WinstonDevs said:
I'm wondering what else I can do to position myself more favorably in the job market

You should first decide for which position you want to go in game development. There are not just gameplay programmers (even if most work on a game is made by them) but also engine and tools developers, graphics programmers, animation programmer, audio tech and even tech-artists which all are more or less related to software development in games business.

You need at least solid skills in what you're doing, regardless of project experience, it is worth more if you know what you're doing than being involved in many projects. Practise yourself by for example take part at game jams, do some games in your spare time with some friends and don't worry to show what you have. Indie game development is based on people which like making games, some unique ideas and a little bit of polishing work in the end. Just stay on track and very important, finish what you started!

Finally, there are a lot of studios lokking for Unreal developers, so if you like working with Unreal Engine 4/5 and have the chance to do some projects with it, you're already a good candidate for such a position.

Don't know where you live but Obsidian for example is currently looking for UE4 developers in all levels of experience ?

Thanks for the welcome and response! Map editors for RTS were the best, I spent more time making maps and scripting events than I did playing the game(mostly for age of empires). You must be an OG fan of Dota ?I still find it wild that it started out as one of these maps and later became its own game and genre; inspiring games like League of Legends, Heroes of Newerth, Smite, etc.

I think at the moment I'm more interested in creating the game rather than creating the software/tools to create a game. Engine architecture, tools, tech-art do pique my interest, and I'm sure I will explore them down the line; but at the moment gameplay, graphics, animation, and AI are things I'd like to focus on. This may be a misconception but I'm under the impression that a gameplay programmer is more of an ‘’entry-level" position and that specializations positions are more attainable once you've broken into the industry and shipped a title or two.

I checked out Obsidian, they seem like a great company to work for. I'm not in the area but I saw that they do remote internships, I'll definitely keep them on my radar once I graduate (est. end of Dec 2021).

Also, what is your take on using pre-made assets to hone your skills? I know how to use 3DS Max, PhotoShop, and Illustrator but I'm not really an artist and would rather spend the time implementing more programming techniques than making 3D models and textures. I'm not looking to hire someone to create content for my personal/school projects but at the same time I don't want to be called an “asset flipper”.

I've done a lot of different jobs in the past. Generalist programmers are homing mostly at small indie studios because that job requires to get done whatever needs to be done regardless of your favored profession. I did tools development, map design, game design (as the head of design in my own game), mobile, and AI development. Now working in a AAA game studio, it is a way more relaxed but boring position at the same time. However, one has to get the financial basis to live, so what.

WinstonDevs said:
I checked out Obsidian, they seem like a great company to work for

My credo is: If you have a game you really enjoy and the chance to work for the company which created it, do so! And The Outer Worlds is really a game which is worth the money and playing it is a pleasure.

WinstonDevs said:
what is your take on using pre-made assets … I'm not really an artist and would rather spend the time implementing more programming techniques than making 3D models and textures

That's no problem for me, there are a lot of free assets out there in the net. You only have to credit the author and make sure you respect the terms and conditions of them. Using Creative Commons licensed stuff is always a good way to go but you have to make sure that the license allows commercial use if you want to publish the game for money at some day.

Many devs also use assets regardless of the license while in development and spend an amount of money in the end to hire someone for making the final assets. This is also no problem in my opinion, for as long as you don't publish it.

Some companies like SEGA for example also allow using their IPs and assets for fan games, as long as they don't aim to sell those games.

Since we had a lot of trouble in the past getting the right people to create the right assets for our hobby project, we now drive the route to fully AI generated assets (3D models, animation, maps etc.) and perform research at the moment in order to achieve our goal

This topic is closed to new replies.

Advertisement