Build your Own Game Engine!

I’m going to be contrary and suggest…Java. Why Java instead of C++? So the focus will be on the game engine and not dealing with C++ difficulties. That means using JOGRE or something like that for the low level stuff, the building of which from scratch might be beyond the level of a single course. There is already a JAKE (Java Quake) engine out there so it’s doable.

Another advantage of Java is you can use the free Netbeans IDE with all its nice refactoring features, that doesn’t misbehave like Intellisense does for C++ (mainly because C++ is a legacy-bound language that is hard to analyze in real time).

I think it is a good idea. I know of a couple games made in Java. Minecraft comes to mind, but also most of IL2 Sturmovik 1946 was built in Java. And that latter was a pretty good looking WWII flight simulator (more precisely a “study simulator” since it was intended as a study sim for the Russian IL2 Sturmovik ground attack plane, but in the end grew up to be one of the most detailed and accurate historical WWII combat flight simulator)

A visual scripting could be implemented by using Flow Graph as a plugin, like they did with Amazon Lumberyard. Creating a new one from scratch could be a whole course series by itself. Any scripting language, visual or coded, needs to be compiled and if you create a new language you would need to create your own parser that can translate your code into C++ or else. A visual scripting language actually adds many layers on top of the actual code it represents, so when you use a node and connects it the underlying actual programming knows what to do.

It would be fun to do.

1 Like

Yeah,

It would be fun to do.

i would like to do it for the understanding of how things work, and how much work actually has been done in the big engines :slight_smile:

1 Like

Realistically the best place to start with this would be to combine with the Godot course idea, and work inside an existing open-source engine.

That way we don’t start from scratch, and can actually learn to contribute to a meaningful open-source project while we learn the guts of how an engine works?

What do you guys think?

PS @Rob do you know of a way of merging topics here?

2 Likes

Topic Tools -> Select Posts then Move to Existing Topic

Referring to Ben’s idea, I like to have both - a course focus on Godot based projects which go deep inside Engine source code, and another course focus on building own game engine from scratch which may use Godot as example implementation.
For such challenging topic about game engine, I do not think one course is enough to cover even most of our needs. My only requirement is to be clear and practical, to have real, hand-on values to game developer & projects. There are already too many kind-of “academic” game engine courses in the market. Please do not make this great potential courses similar to them. You & your team are very good at presenting the boring tedious topics in a clear and practical manner, please keep in this way. Thanks.

2 Likes

I think it’s an excelent idea.

1 Like

I agree. This would need to be a series , not just a course… This is not the 100 meter dash of how to use a game engine. This is a marathon!!

1 Like

YES PLEASE! C++ would be awesome

2 Likes

+1 for C++ and series of 2 or 3 courses, it is just so big topic, rendering, inputs, data caching and loading, editor, physics etc etc…
For interested there are many good books on topic, I liked reading these:
Game Coding Complete covers many topics and is overall very good game programming book:


Engine Architecture:

1 Like

Whilst at a recent gaming event, saw a spellbinding new game called Fugl. Check it out on Steam if you haven’t already.

The programmer, Gorm (who will hopefully join us here), was a great guy and would be very helpful to talk to when we get to this content and to Procedural Content Generation

3 Likes

Interesting article for you guys…

4 Likes

I wouldn’t mind doing this at all. I would love to see this done in c++ no doubt. C# wouldn’t be bad neither but … I think C++ would be the winner for this type of course as C++ will run better on a larger scale.

2 Likes

Wonderful Idea. I have dreamed of this course my entire life

1 Like

i recommend checking out the lengty handmade hero, its a 500+ (still ongoing) series on making a game, engine included from scratch (don’t remember if its c++ or c)

1 Like

Casey’s using minimal features of C++ in Handmade hero series, as far as I know only operator/function overloading, you can read about that here.
Also @sampattuzzi any progress so far? I’m all up for this idea and I believe if you get it done it’ll be a breakthrough really.

It’s not in the immediate lineup of stuff to work on.

1 Like

I’d like to suggest this overlaps with OpenGL or DirectX C++ tutorial sufficiently we should merge the ideas, you ok with that?

2 Likes

Privacy & Terms