2D What books should I get next? C++

Recommended Posts

Leddyboo    107

Hello GameDev vets,

I use to program when I was younger (few college courses as well) and as I got older I got away from it. I've now been really taking learning programming very serious. I bought Sam's Teach Yourself C++ to learn the newer stuff added to C++ and refresh myself of all the basics. I am looking for the next book to help me actually start on a simple rogue RPG. I wish I could find a book (recent date) that covers heavily DirectX12 or 11 and RPGs. Especially procedural generation and tiles. I assume my book on Isometric programming still has relevant ways of doing tiles. Can anyone help me pick out 2-3 books that will help make me a comfortable windows programmer. 3D is probably my LAST stop. I just would really enjoy non outdated books regarding 2D RPG games (and eventually 3D). But I am trying to go through the stages in a more practical way. Price is not really an issue. Any other sources are great as well.

Thanks everyone!

I have the following books:

Sam's teach yourself C++(8th Edition)
|Beginning C++ Game Programming by John Horton
Beginning C++ Through Game Programming (4th Edition) by Michael Dawson
Game Programming Patterns
The Art of Game Design
Level Up

(Also own a kindle version of 2D programming by I forget who, it was great during its time)

Programming Role Playing Games with DX9
Programing Isometric Games with DX7 (maybe 9)
Programming Multiplayer Games

Share this post

Link to post
Share on other sites
timjohnarm    0

I agree with @nbertoa what's your target.

Is your character moving about in a 3D world?

Do we see your character? Requires animation for your character as well.

What tool are you going to use for your models? Blender? I like Blender because there are lots of good YouTube tuts.

Jump into 3D rather than trying to force 2D to do what you want if you are aiming for anything other than tiles.

Assuming you goal is the game, rather than game engine development, look at some of the Game Engines out there. Unreal Engine, Unity. Probably a better investment of your time than trying to learn DirectX, also makes multi-platform simpler.

If you are a sucker for punishment then I'm working my way through this at the moment.


Scan through the beast below which will help you understand how to set up your project and what you are up against.

http://www.latexstudio.net/wp-content/uploads/2014/12/Game_Engine_Architecture-en.pdf first edition free. There is a second edition as well.

Don't get too fussed about learning everything there is to know about C++ that's what Stackoverflow is for, search for a solution to your problem.

You should also write a story about your character and world, a good story. It's the storyline that helps player to become immersed in your world.

The Game Programming Patterns book is good.

Read the Blogs on this site.

And above all else actually write the code in the tut's, copy the boiler-plate but actually type in key code. Actually working through the examples will help you build up the knowledge you are after.

Edited by timjohnarm
Additional info

Share this post

Link to post
Share on other sites
Endemoniada    430

What is more important, Windows programming or your roguelike ? I would learn to get a basic skeleton D3D11 program up and running, that shouldn't be too difficult. From there I'd make a simple 2D game, like a grid-based one. After that things will start falling into place. I don't think you need any more books.

Share this post

Link to post
Share on other sites
Lucas_Cage    141

Hi Leddyboo, 

Looks like you already have a few gems on your list.  I am really enjoying Level Up and Micheal Dawson Beginning C++ through Game Programming was good as well.  I think if you are going to proceed with C++ you should own a copy of "The C++ Programming Language" by Bjorne Stroustrup.  As far as your next steps in game development.  I think that before you delve deeper into programming you should clearly define what it is that you want to do, then direct yourself toward developing skill with the tools that will be most useful to you.


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

  • Similar Content

    • By francoisdiy
      This is a game about a bird. Build in Francois DIY.
    • By zuhane
      Hello forum people. So after years of being an independent developer with a degree in computer programming, I can safely say that I can't find a single resource that thoroughly scours and glosses over every single aspect of game resolution. I have loads of books on the subject, coding knowledge, and a repertoire of games I've made in the past - but these projects have always used fixed resolutions or workarounds to support other resolutions.
      After posting on various forums and asking around, people seem to just redirect me to resources about resolution which are still incredibly lacking and bare-bones, not teaching me more than I already know.
      Since resolution is such a huge and inherent part of game design, and since there is not a single game **EVER** developed that doesn't use a resolution, I am so surprised that there seems to be such a lack of material on the subject! It is a fundamental part of every single game in history.
      So this post will be asking a load of questions all about resolution. What I am also proposing is that if I can gain enough ground on the subject, I'd like to create my own video/page/tutorial which brushes over every single aspect of game resolution, aspect ratios, etc.
      **So with the introduction out of the way, here is my current project and the tasks I could use help with:**


      So I'm currently working solo on a 2D platformer, called DEA, which uses pixel art for the main game stage, and a mixture of raster-based (but not "pixel looking") assets for the far background. The genre/style of the game isn't important, but if you're interested, the blog link is here:
      DEA Game Blog

      Anyway, I wanted to just go through how the camera works and then what doesn't work and should work.
      Firstly, my camera does not scale the main stage based on resolution, so increasing or decreasing the resolution simply increases the camera size and gives a bigger or smaller view of the game world, centering on the player. Below is a hypothetical screenshot at a lower resolution:

      and shown here the same still of the game at a higher resolution:

      Now the forum formatting actually scaled the images and made them look out of proportion, but they remain the same level of zoom, and no images are scaled. I believe that the Terraria developers take the exact same approach to their game resolution, giving players with higher resolution monitors an advantage. This essentially means that at higher resolutions, a bigger slice of the game world is basically displayed on-screen, like so:

      However, because of the nature of Terraria's genre, it doesn't seem to be a huge problem. My game has a competitive multiplayer element, but it's couch co-op without online play, so people with better monitors won't be given a competitive edge.
      From my understanding, games that use vector-based graphics (or even rasterised graphics with high resolutions) don't give a larger screen view. Instead, they simply scale all of the graphics to always fit within the same proportions regardless of resolution.
      My understanding of this is like so:

      So with this, the game is displayed in the same proportion on every resolution, but a higher resolution simply gives a much crisper image, meaning more "image pixels" are displayed per "screen pixels". This is nice, because regardless of screen monitor size, everyone will get the same experience.


      So from my understanding, is it easy to change the zoom levels to allow for this proportioning when using vector-based graphics, because the graphics will scale accordingly, and maintain a "clean" look when stretched and transformed. Pixellated graphics or "8-bit" style graphics can't be stretched using float values because of their strict 1x1 pixel ratio, so when applying a zoom effect to games using pixel art, the zoom has to be in uniform whole numbers (i.e. 1x, 2x, 3x, 4x, etc). I've detailed this out below with examples from my game:

      This means that we can't recalculate sizes of pixellated sprites to accommodate every resolution, surely? It seems that the actual viewport size of the camera can be changed, and zoom can be manually changed (maybe in the options menu) in whole number intervals. However, is there no truly "smart" way of handling resolution in games that use pixel art?


      This brings me to my next problem. I've seen that a lot of modern "retro-style" games use other tricks to handle varying resolutions. The most common I see is the toss-up between "true" resolution and letterboxing, giving the player the option to either play the game in a distorted-looking aspect ratio, or to play at the intended aspect ratio, but to have the game "letterboxed" to look like a widescreen film. As an example, I tried loading up Owlboy (amazing game btw) and went straight to the options:

      The first thing that I noticed is that if I enable letterboxing or disable it, nothing actually happens. My monitor resolution is 1920x1080, and the game seems to run in that resolution, as the Steam overlay fits in the clearest and densest resolution. The graphics seem to be scaled absolutely perfectly with no distortion. My only guess as to why this is happening is that the game was developed with resources for a 16:9 aspect ratio, meaning that any resolution of the same aspect ratio will not distort the image, and any resolution of any other aspect ratio will adopt letterboxing to maintain the same ratio.
      My understanding of this is as follows, but I'm not sure if this is correct:

      Judging by all of the complications and horrors that come with managing resolution-independence, the Terraria-esque approach seems to be the easiest by far, giving players the option to choose a "zoom" level, and allowing the resolution to represent the amount of screen coverage. However, this seems to leave on huge, gaping problem in the game's design - A good rule of game design is to direct the player's attention using correct framing. You want to draw the player's attention in a certain direction using lighting, colours, movement, etc, but if the level is all displayed, this really draws this power away from the creator. In addition, if the resolution is too low, this will lead to the player maybe not having enough time to react to an upcoming trap or enemy, as their screen view doesn't encapsulate the thing ahead. Finally, on the converse, players playing on high resolutions will simply be able to see everything ahead of them, removing any element of surprise from your level design.
      Should resolution really be this complicated? I feel like it's melting my brain into mush. Also, I haven't even begun to start with the problems that arise with parallax scrolling...
      With my huge, confusing rant in mind, my questions are:
      Is there a smart way to handle aspect ratios with pixel art? It seems like art can only be stretched in a 1x1 ratio and zoomed in intervals of whole numbers, meaning that every resolution cannot be "truly" supported. Is it better to create art for the most common aspect ratio (such as 4:3 or 16:9)? Would this be neglecting other audiences with different aspect ratios, or would letterboxing fix this issue for different aspect ratios? Is the "Terraria" way of doing things much simpler and more accessible to all developers? If so, how would one go about "framing" a scene, so that people with lower resolutions won't miss part of the scene? Would the developer be limited to creating smaller levels that always fit within the smallest possible resolution? Is it simply better to say "f*** it" and develop the game in one resolution, and let people with large, high-resolution televisions suffer and have to deal with a pixellated mess to save buckets of time? Does this not exclude the couch-coop audience who prefer to play in a living room?

      Any and all advice and correction would be greatly welcomed, and hopefully this can all eventually be collaborated into the "Ultimate noob's guide to resolution and aspect ratios".
    • By binarycat
      One of my favourite rooms that I've designed so far (also the smallest). Samus is a stand-in for my protag until I get a proper sprite, but everything else is mine.
  • Popular Now