I don't think you ever really stop learning as a developer. Whether you have been coding in a AAA studio for 10 years or you just started learning how to make games there is always something to improve on.
Take a minute to share in the comments below something you are learning right now.
It could be something as specific as a coding concept or something abstract as a game style.
Discussion
Im learning how 3D graphics work by retracing the steps of the original 3D programmers like John Carmack by making a raycasting engine in pure C then after that i plan to make an actual polygon rasterization engine
I just watched a nice video on the history of graphics yesterday. It goes into great detail on the design choices of John Carmack when building his engines (skip to 21:00). You may find it inspirational if not informative :)
Oooh thanks ill have to watch it:)
So, you're basically breaking it down to try to get a better understanding?
Yeah, im Planning on making a simple 3d graphics engine from scratch to get a better understanding. I started making an engine with opengl and decided I wasn’t suffering enough lol
Lol yeah, you're probably in for a good time! Breaking things all the way down is definitely a great way to gain a new understanding and appreciation for something though!
LOL from the looks of it you are taking the longest path to completion :) I will always borrow from others accomplishments to reach my goals. I suppose that is why I used the Forem engine to build this site :) Seriously though, you must have run into some major impediments to go down the road of building an engine!
Yep :) hopefully i can learn something
Definitely, making an engine is really fun and its great to see a game running in it but can get extremely complicated and sometimes even boring.
Where do you even start when making an engine?
If it were me, I would start by looking at an opensource engine. Understanding how an existing one works is the first step!
Love love LOVE open source! That's a great idea. Always great to be able to see how others are doing it for some help or inspiration.
You should learn C or C++ then you should learn a cross-platform graphics library, SDL is good for 2D graphics and OpenGL is good for 3D graphics.
For this ill go into detail on a 2D engine.
Create a system to create gameobjects, give them sprites, coordinates and a size. For C you should use a gameobject struct and for C++ use a class. Create a transform function for gameobjects if using C++ make this in the gameobject class, make it take in a vector2D struct, this struct will store an X and Y position. Put all this in a library and bam you have a simple game engine, then from there you can add keyboard input, UI and other cool things
We have another community member @lordofdragons building an engine from scratch too. Might be worth a read!
Drag[en]gine Game Engine Release 1.4
Plüss Roland ・ Nov 24 ・ 2 min read
The bray tec engine 2d version is open source:)
Ill check it out, thanks!
Just noticed you added a ton more to your github!
Yep :)
I tried to read the Godot source and didnt understand anything lol, I find it difficult to read large codebases that arent mine
I'm learning how to support different hardware when dealing with OpenGL shaders. I'm slowly moving to OpenGLES as well, and it already feels like a challenge, especially for an indie that can't afford a big variety of hardware.
What prompted the shift to OpenGLES? I assume better mobile support.
Yes, basically. I've been experimenting to see if I can port my games on Android, and OpenGLES is a requirement.
You'll have to tell us how this goes. I'm sure others are just as interested as I am with this migration.
Currently I am learning how to finish a project. 😣
I mentioned trying to finish my cannon toss game, which is almost to a point of just needing fine tuning.
After that I'm hoping to maybe start looking into how to do more 3D environments rather than 2D.
Lol yeah, it's super easy to just jump into something, but also just as easy to move on to something else. Whether it's because I've gotten stuck or just gotten distracted by something new, finishing a project is hard.
You should post what you have! Getting feedback before you polish is always a great idea :) Plus I like playing games :)
This is perfect timing!
I started looking into React Native over the weekend. It's a cross-platform mobile app development framework based on JS (the React JS framework) and being a (mostly) JS developer these days I thought I'd check it out and compare to Xamarin.
Haven't gotten too deep into it, but I'm always curious about how different frameworks compare and seeing what could be done in one vs the other as well as how many concepts are super similar.
Do you think native mobile development is going to die off? Apparently you can do gamedev with React Native: npmjs.com/package/react-native-gam...
IDK that I'd say that for sure. I know I've read stuff that's said that native development opens you up to some platform specific things, but cross platform has always been about the convenience of writing once for 2-3 platforms.
Oooh, I should check that package out!
Currently learning about queues. For example in a marketplace if you have buy/sell orders pushing these requests into a queue to process synchronously. Also handling of race conditions
Race conditions are always fun. Is there a specific language/framework you're trying to learn about?
Just PHP. Had the problem for a while but now i need to fix it
For me, I'm trying to learn tile mapping. Most of my games I built the tiles by hand, but I know Godot has some great features for building smart tile maps that react to surrounding tiles. I've used this feature before, but I want to get more comfortable with it to be able to do it by memory.
Currently started work at a new place and i'm learning Node and react with Typescript :)