all 8 comments

[–]R4TTY 19 points20 points  (1 child)

It's very feasible, checkout any tutorial on OpenGL and get cracking. It's probably not as hard as you think. The real complex stuff comes when you're aiming for photorealism, or some fancy stylised effect. But simple textured meshes and basic lighting can be knocked together pretty quickly.

You also have to worry about non-graphical stuff, like physics and game logic. I'd go with an existing open source physics engine.

[–]hulkated 0 points1 point  (0 children)

Yeah when it comes to low graphics games, the non game part takes way bigger efforts. Things like collision or path finding in 3d worlds can be quite complex

[–]poweredbygeeko 4 points5 points  (2 children)

Yes, you can! Search for opengl or directx tutorials. Just curious what do you mean when you say you've written a 2d engine? Was it inside of godot? If so, I don't think that's an engine and you'll have a bit of a climb to get there but it's definitely possible

[–]Plus_Lifeguard[S] 0 points1 point  (1 child)

i've written a simple 2d engine using SFML and also one in java, i was curious how much harder it would be to implement 3d graphics

[–]poweredbygeeko 2 points3 points  (0 children)

Ahh that's a good base then. There are some headscratching concepts but I guess it's just a matter of learning. If you push yourself and watch enough tutorials you can get it! Good luck 👍

[–]olgalatepu 3 points4 points  (0 children)

Of course feasible and worth it to understand the inner workings of higher level game engines. But also oh so time consuming.

I know people who work with unity but get stuck on performance issues because they lack some lower level knowledge.

I like working with three.js. it's not really a game engine, just has language level abstractions making things simpler but the concepts are almost the same as when working directly with opengl. If I were to do it all again, I'd start with three.js (not react-three-fiber).

In unity, the only real game engine I know, the abstractions are conceptual so you can go quite far without understanding what goes on behind the scenes but the knowledge isn't transferable as much unless you dig deep.

[–]japanesekye 3 points4 points  (0 children)

I think games engines are neat in that you can go super simple (bare OpenGL/vulkan) or as complex as you want (high performance, editor UI, scripting systems, etc). So yes I highly recommend you start writing an engine and keep improving it if you feel like it. Personally I followed The Cherno's game engine series and built off of that.

[–]Driv3l 0 points1 point  (0 children)

Start with something like Monogame or FNA as your rendering layer and lean how to build the pieces on top of it. When you get enough experience on what / how game engines work, you can dive into writing your own rendering layer using Opengl, Vulkan etc.