Some months ago I started programming 2d games in C++ using SFML. I made some games like Pong and a small RPG. I feel like I know 2d games quite well now, and I'm considering starting to make 3d games. But am I ready yet, and where should I start? I don't want to use a pre-made engine like untity or UDK, but rather make my own engine possibly or use an existing library. But I need your advise on where to start.
- make sure you're knowledged on classes/OOP in c++
- learn an api like opengl or direct3d, personally I use d3d (11 or 9)
But first (or parallel) learn or freshen up math (vectors, matrices, planes etc), without getting the hang of this you might be able to make a DIY engine, but with struggles and lots of copy pasting
On both the math and d3d I can advice the books of author Frank Luna, this covers both the math basics and d3d (including the basics of shaders). There's a d3d9 and 11 version available.
Make sure you buy the book the legal way, so we can have a d3d12 version later on :)
I would recommend using a nice 3D wrapper library which allows for great performance and flexibility first, and you can learn about low-level OpenGL / DirectX later on.
I'm a game programmer and computer science ninja !
Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here: