this post was submitted on 19 Jun 2023
12 points (100.0% liked)

GameDev

2777 readers
1 users here now

A community about game development.

Rules:

More rules might follow if they become necessary; general rule is don't be a pain in the butt. Have fun! ♥

GameDev Telegram chat.

founded 2 years ago
MODERATORS
 

I've been going through a course on udemy and learning unreal engine first time ever consistently for the past month, but haven't finished a game just yet, and I don't think I care enough to put any effort on anything other than gamedev. It has been my passion since like 6 years, that's why I left my old job as an Ops engineer; should I continue and work on different projects simultaneously (opengl and unreal) or just stick to one. FYI, I'm not employed atm and would hope to work on gamedev professionally. I appreciate any advice to build my portfolio or any keypoints to get better at gamedev.

tl;dr would learning unreal and opengl simultaneously benefit me to get hired in a gamdev studio or should i stick to unreal and finish some games first?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago

The problem isn't performance, the problem is that OpenGL was designed for another era. It's a global, single-threaded state machine. Getting it to work together with a rendering engine is very hard, because you have to keep track of all of the state to avoid interference between different parts of the engine (so the output would be broken if certain parts are executed in the wrong order).

This can probably be somewhat alleviated by using the Direct State Access feature since OpenGL 4.5, though. I haven't used that one yet, because it's not available for WebGL (and that's the only place where I'm still using OpenGL). Note that this isn't available on Apple platforms, because Apple stopped updating their OpenGL implementation at version 3.3.

I agree that Vulkan isn't really a good choice for indie devs. However, WebGPU is a pretty good API that removes most of the complexity of Vulkan (like the manual thread synchronization and memory management) while keeping all of its concepts. It's also available on desktop, for example via wgpu.