There's is a really cool looking game dev course at uni but it needs knowledge of C# and HLSL and I haven't touched neither of them. :feelsbadman:

@matrix That sounds very suspiciously like Unity.

If that is the case, you dont need any prior knowledge of C# or HLSL to excel with it.

Arguably the best documentation of any game engine out there and any question that you might come up with has already been asked and answered by someone on the internet.

@mcgee
Yes, it's Unity. Anyway, I didn't register and it's already full.

@matrix
There is absolutely nothing a professor can teach you about C# or Unity that the documentation or the internet doesn't already do 15x better, as someone else stated in the replies already.

Either way, if you're just starting out with programming, don't get caught in the whole OOP stuff. Even though it's pushed on beginners a lot, OOP is simply another paradigm you can use to sort through and organise your higher-level code, much like procedural or functional programming, that's all.

Learn all the C and C++ (I recommend C, but use C++ if you wanna stick to industry standards) you can, don't get scared to mess around with lower level code (anything from straight assembly to bit manipulation through masks & such). If you're in a uni CS course, you probably know quite a bit more about computers and lower level stuff than you might give yourself credit for anyways, so try stuff out.

BTW, don't waste your time with seriously learning C# or game engines like I did. Most players in the game industry use in-house bespoke engines made specifically for their titles, or they customise a pre-built engine like Unreal until it basically becomes one (using C++, no less). If you wanna make games, there's no better time than now, so make some small projects, like Tic Tac Toe, then Tetris, then PacMan, so you can experience the software development workflow and problem solving for yourself. Having that kind of experience and skill already puts you head & shoulders above your classmates and quite a fair bit of your competition.
@mcgee

@Bunn0241 @matrix @mcgee most vidya I play uses lua in conjunction with C++ for the engine. Is there a particular reason why it's used so often?
Follow

@Nelagara
In terms of C++, it allows programmers the freedom to mess around with low level stuff such as bitwise operations, masking, along with high level concepts like classes, structs, functions, etc.

I don't specifically know much about Lua, but the Compiled + Scripting language combo in engines is quite common. It allows gameplay programmers to focus on code that specifically affects how the game plays without having to worry about allocating / deallocating memory, performance / security issues with improper use of functions (see printf vs. sprintf for example), and much more. It's not used everywhere, but it is quite common in bigger companies especially. Since the departments are so segregated, there isn't going to be much communication or cross-over skills between the guy who programs physics and the dude that imports and programs how animations play in the game, so it's very important that they can both co-exist without people strangling each other for messing up the main code base.
@matrix @mcgee

@Bunn0241 @matrix @mcgee What's the difference between compiled and scripting languages in the context of video games? I know scripting languages are generally better for small and trivial things like macros and the sort.

@Nelagara
Compiled languages need to be turned into a binary that contains the instructions for the processor, while scripting languages are usually interpreted which means the processor has to first figure out on the fly what the block of text means and then executed it. That introduces a significant speed penalty.
@Bunn0241 @mcgee

@Nelagara @matrix
To add onto what Matrix already stated - unless you plan to make your game open-source, it's preferred to use compiled code as it is way harder to reverse-engineer.
@mcgee

Sign in to participate in the conversation
Game Liberty Mastodon

Mainly gaming/nerd instance for people who value free speech. Everyone is welcome.