Sign in to follow this  
Aenn

So I think I'm fairly comfortable with C++ but..

Recommended Posts

Aenn    101

I have no idea where to begin with developing a game. I started learning C++ a while back with the intent of making a game and, now that I'm familiar (by no means experienced) with C++, I would like start making an effort to make a game. I'm thinking something simple like a 2d game to start, but I hardly know anything about OpenGL, DirectX, SDL, or anything like that. I tried using google to point me in a general direction on where and how I can get started, and quite frankly, it led me here. If anyone can help me get started on making games I could probably do the rest on my own. Thank you so much in advance!

Share this post


Link to post
Share on other sites

SDL or SFML are excellent APIs to use. They have tutorials available online, good documentation, active communities, and so on.

 

I suggest making two or three very small projects first; things like pong, tetris, connect-four, asteroids, etc... to rapidly gain familiarity with the library you choose, as well as to begin to understand the basics of game architectures.

Share this post


Link to post
Share on other sites
NightCreature83    5006

if you want to go the D3D or OGL way you start with rendering a single triangle to the screen and expand from there, there are loads of tutorials out there that show you how to do this.

http://www.rastertek.com/tutdx11.html

http://www.rastertek.com/tutgl40.html

 

Just remember D3D and OGL are only rendering APIs and as such you need to write all the rest yourself. I am not so well versed in OpenGL but I know D3D has a few utility libs out there that make certain tasks easier: https://directxtk.codeplex.com/

Edited by NightCreature83

Share this post


Link to post
Share on other sites
dilyan_rusev    1360

If you are comfortable with developing only for Windows, the combination of Direct2D, WIC and DirectWrite is very powerful. It is COM-based, so things like Microsoft::WRL::ComPtr will come in handy.

 

The DirectXTK that @NightCreature83 linked to tries to emulate XNA in C++ with Direct3D11.

 

The big difference between Direct2D & friends and SDL/SFML/DirectXTK is

  • the ability to easily draw complicated high-quality geometrical shapes
  • the ability to (relatively) easily draw high-quality text with advanced Photoshop-like effects (shadow, outlines, gradients, etc)

If you don't need these things (like most 2D games), then SDL/SFML and DirectXTK will all work quite well.

 

It is also worth noting that both SFML and SDL offer much simpler APIs than the DirectX (Direct2D, WIC, DirectWrite, Direct3D11 + DirectXTK).

 

Regardless of which API you choose, if you program on Windows with Visual Studio, OutputDebugString is your friend :)

 

For beginners, I think 3D is an overkill. It is much easer to find 2D assets and 2D artists, also the programming part is much easier; you need almost no math.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this