Is freeCodeCamp a good path for aspiring Game Engineers?

Hello all! I’m new here.

I have a Game Development degree that touched on a moderate amount of coding but probably not enough to get a good game programming job. I was wondering if freeCodeCamp would be a good use of my time to help reach my goal of being a Game Engineer. I work on games in my spare time (primarily in Unity), but would really like to improve my programming skills to the point of getting a position in the industry. Any advice?

Thanks!

No. FCC focus is on web development, using HTML, CSS, JS and other related technologies.

mdn has a good introduction to game programming with javascript for the web

freecodecamp is a good path for learning javascript and understanding many fundamental programming concepts and principles - what you’ll learn as with any first general programming language will be useful across the board in development including game programming

2 Likes

I think your time will be better spent here.

1 Like

Thanks for the replies!

That’s pretty much the general vibe I was getting. I have a decent understanding of coding fundamentals and am looking for a similarly structured learning environment for more advanced concepts. I definitely frequent Unity’s website as well.

I don’t know too much about the backend side of both web and game development. Are they similar? And might I have something to gain from going through the Back End module?

Our back-end section focusing on the MEAN stack, so you would have to be comfortable with the front-end first. I’m not sure Node.js is heavily used in gaming applications.

1 Like

what did your game development degree cover? and how long was it?

if you’re career-oriented I suggest doing job searches like “game programmer jobs” “game programmer intern” in major us hubs like san francisco bay area, nyc, los angeles

if most jobs ask for c++, c# or similar languages it means they’re looking for people with solid programming fundamentals in addition to game experience - of all general programming languages javascript is the best first language to learn - the others can be daunting enough in terms of use and environment to frustrate beginners without a very strong help and support system

regarding backend development - this means server-side programming - this involves a host of common issues that impact every type of client-server application including games - node.js which is the javascript server-side programming environment is an excellent platform to learn and understand these issues

2 Likes

There used to be a user by the name of @P1xt here, who created various guides for different programming paths. Here’s the one for game programming: https://github.com/P1xt/p1xt-guides/blob/master/game-programming.md

It’s not mentioned in the guide, but eventually you want to be using C++ for game development, if you aren’t already, as the vast majority of games (especially modern AAA titles released by the well-known game studios) are written in C++.

Also, I recommend reading this article first before you head down the path of game development any further (it’s linked in the P1xt guide halfway down Tier 1, but IMO is the first thing that should be read period): http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer

1 Like

Udacity has a VR nanodegree if you’re willing to invest some money. https://www.udacity.com/course/vr-developer-nanodegree--nd017

It was a Bachelor’s degree that covered a little bit of everything. 3D modeling, game design, level design, some C++, and more C#. If I could go back, I certainly would have gone for a Computer Science degree. My school did have some benefits though. We worked on a lot of group projects and made a lot of games. They did a decent job of networking with local game developers and I met a lot of people. I’m now in QA at a big company nearby and hoping to eventually move up the ranks to either a low-level programming or design position.

Wow, that was a great article! And the programming path looks great too! Unfortunately, I haven’t used too much C++ yet… I have pretty decent C# experience and a Unity Developer Certification (from Unity)… Do you think I should drop Unity and try to dive into C++?? Or just try and do both? I would often hear C#, and Unity, is the future… but most current developers are using C++… So I’m pretty lost on what to focus on.

Thanks for the replies btw, this has been very helpful!

thanks for providing more color to your question - it’s interesting to hear you regret not getting a CS degree

even if you know some c++ and c# I still recommend learning js - the canvas api is low-level enough to practice a lot of game display and movement fundamentals - anything in js is 10 times easier to write and debug than c++ - you can start building a portfolio of web games that anyone with a browser can try out without installing or downloading anything

and if you want to get into multiplayer client-server games adding a server with node.js could not be easier - your js skills would let you write server code much faster than with any other language

It depends on what sort of games you want to end up making. If you’d prefer to make the kind of games that are on the Windows Store (or the Play Store, or the Apple Store), sure you could probably get by with just C# and Unity. But like I said, if you want to work for a game studio that releases AAA titles, you should learn C++ because that’s what most of them use. C# and C++ are similar enough to each other, so it won’t be too hard for you to learn C++ anyway.

However, keep in mind that I’m not a game developer myself, nor have I ever worked in the industry—but I’m familiar with the industry because I used to play games a ton and also followed the industry by reading as much about it as I could back in the day (basically from the mid 90s all the way up to the mid 00s, which some would say was the height of PC gaming, back when titles like Half-Life, Quake 3, and Unreal were big). If games like those are the ones you want to make, you definitely need to learn C++, mostly for two reasons: (1) C++ is still one of the “fastest” programming languages around, and speed is essential for a real-time 3D-rendered game especially, and (2) Most of the engines, SDKs, libraries, & tools that are used to produce those games are probably compatible only with C++ and might not be compatible with C# (OpenGL and DirectX immediately come to mind there). So, not to imply that knowing only C# is a limitation, but as a side-effect that also limits your knowledge of the related tools that might be used by a AAA game studio. If you want to get up to speed on the tools that a AAA game studio would use, then yeah, you may want to consider picking up C++ asap.

1 Like

The 2 big library/framework for game programming is Unity and Unreal Engine.

Unity - uses C# and Javascript
Unreal - uses C++

As to what is faster, it’s not the language per se but the compiler quality, and to a bigger extent the optimization done to critical/most-often used functions in a loop.

1 Like

It’s mentioned in the P1xt guides but you might want to check out the free CS50 course from harvard on EDx. Although you may have encountered similar CS courses in getting your degree. I’m going through this course myself, I’m on week 4 of 11(it just now started getting pretty hard).

When the original Oculus rift VR developer kits came out I got really interested in making games and 3d models.

My knowledge is very limited on the subject, but I’d suggest checking out Ben Tristem’s courses on Udemy.

I took the blender 3d modelling course and it was great. I have his Unity with C# and Unreal with C++ courses but havent had time for them yet. (btw never pay more than $10 for these courses. Udemy does a kinda creepy thing in that they act like their courses are normally $100+ yet are almost always on sale for 10-30.)
I’ll also admit that when I took the course Udemy was different, more community oriented, and user friendly(More like a literal online classroom in a way).

Good Luck!

To say that there are 2 big engines for game programming is a bit shortsighted when there are a ton of different ones that are used (yes the Unity and Unreal engines are both popular but they’re in no way the only ones that are widely used), and the most innovative AAA game studios have developed their own engine, from id Software to Crytek to Valve (id tech 6, CryEngine, and Source, respectively). And there are so many more listed here, many of which have been used by game studios over the years: List of game engines - Wikipedia

C# has a layer of abstraction (the CLR) that C++ doesn’t, and is also JIT compiled, which does give C++ an edge in terms of performance since it doesn’t have that layer of abstraction and isn’t JIT compiled.

I said “The 2 big… Unity and Unreal Engine.”

and you said

Where did I say these 2 are the only ones in use?

You didn’t, but I was merely compelled to point out for the aspiring game developer here some of the other well-known game engines used in the industry by professional game studios, that are written in C++ as opposed to C#, to provide further context on why knowing C++ is especially useful within game development.

I understood what you wrote though and didn’t intend to take anything away from your post that you didn’t write, if that’s what you thought.

Haiii! I think if you intend to “move up the ranks” then it may be better to focus on learning the tools and languages that programmers at the company you are working for are using. Deadlines are deadlines, if you can’t meet deadlines then you won’t get the job.

This may be of interest since you have experience with Unity, particularly if you plan to make your own games on the side, go completely solo, or start your own studio.

I don’t have experience of using that with Unity or with games, but I have been using the database and cloud functions modules for my projects for a couple of weeks now and, apart from the unavoidable cold start (which could potentially be 10-15 seconds), they seem to work well enough. I don’t know if it would work for multiplayer games that require a constant stream of data, but it should work well, at the very least, for games that don’t.

I hope that helps! :slight_smile:

Web Development and Game Development are two different worlds with an entire different set of demands. FCC primarily teaches us to meet and solve the ever constant flow demands that the Web gives us. Unless your interested in Game development through HTML5 Canvas, Javascript simply isnt fast enough to meet the demands of Game Development. Javascript is easy to learn and is much more lenient than lower-level languages such as C++, C# or even Java, but JS is alot slower than the lower-level languages.

Regarding server-side, learning node.js will certainly teach you to face the problems and demands that you will face in server-side programming, but I wouldnt use node.js as your back-end platform for client-server game.

Please note that I’m typing this mainly by what I’ve learnt by reading other’s people resources/experience and not my own.

I’m not a professional game developer but I’ve always been fascinated by it. So I’ve always read article from developer I respect/follow and made a couple of dumb HTML5 games myself for fun :slight_smile:

That said every one of the people I follow always agree that the best way to enter the professional game dev world is by making your own game and gaining experience with those.

Nowadays it’s not as important which language you choose or framework you decide to adopt since many different SDK will compile and make your games available for many different platform regardless of the language it was written with.

So my advice wold be to start picking up a framework and create content with it (you mentioned Unity and C#… go with it :wink: ); then you’ll have something real to showcase to potential employer.

That said, I don’t think that FCC is a good practice place since the only game you’ll make will be Tic-Tac-Toe.


A couple of resources:
guide to be a game dev
open source game engines