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

Recommended Posts

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)

OLD OUTDATED BOOKS:
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
Posted (edited)

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.

http://files2.syncfusion.com/Downloads/Ebooks/Direct3D_Succinctly.pdf

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

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

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

Actually to take @Endemoniada's point a bit further, and to quote one of my favourite science fiction authors when asked about how to become a writer. "Start writing and keep on writing it's the only way to get better"

Share this post


Link to post
Share on other sites

If you want to learn C++, these are the 2 best books I've read (similar names but unrelated).

https://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321776402/

https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/

Regardless of what API/engine you use, C++ skills are good to have. In terms of graphics, you have a few options. Realistically, going with an off-the-shelf engine will save a lot of time. However, it sounds like you are interested in learning, so writing the game on a lower level can be fun and rewarding (as well as extremely hard and frustrating). But if you keep your game to a limited scope, it is possible. 

You probably won't find a book specifically on making RPGs in DX12, so you will have to be inventive. Technically the API and game logic code are separate anyhow, so you don't have to learn them together. Get an RPG game book for any API or engine (even older) and then substitute whichever newer technology you want. The basics of game programming haven't changed much in years, so even a DX9 book will be useful if you ignore all the API calls. 

The most important thing is figuring out what you want to do. Is it to make a game? A game engine? Learning programming? Is it to tell a story? Build a portfolio? Have a fun hobby? Etc. That may give you an idea of what path to choose.

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


  • Forum Statistics

    • Total Topics
      628730
    • Total Posts
      2984423
  • Similar Content

    • By MeowBounce
      Hello all! I just created a new game for the App Store called Meow Bounce. You collect FishCoins by bouncing on platforms, adopt cats, and customize them. I've attached some of the art here. I would love to hear any feedback on anything about the app, especially since it's my first app!
      Link - https://itunes.apple.com/us/app/meow-bounce/id1313160656?ls=1&mt=8
      I plan on adding features in the future such as simple animations for the world scenes, goals for gameplay, special items cats give you, and music in the shop. 
      Thanks for reading and thanks in advance for any feedback! 




    • By Dafu
      FES Retro Game Framework is now available on the Unity Asset Store for your kind consideration!
      FES was born when I set out to start a retro pixel game project. I was looking around for an engine to try next. I tried a number of things, from GameMaker, to Fantasy Consoles, to MonoGame and Godot and then ended up back at Unity. Unity is just unbeatable in it's cross-platform support, and ease of deployment, but it sure as heck gets in the way of proper retro pixel games!
      So I poured over the Unity pipeline and found the lowest levels I could tie into and bring up a new retro game engine inside of Unity, but with a completely different source-code-only, classic game-loop retro blitting and bleeping API. Months of polishing and tweaking later I ended up with FES.
      Some FES features:
      Pixel perfect rendering RGB and Indexed color mode, with palette swapping support Primitive shape rendering, lines, rectangles, ellipses, pixels Multi-layered tilemaps with TMX file support Offscreen rendering Text rendering, with text alignment, overflow settings, and custom pixel font support Clipping Sound and Music APIs Simplified Input handling Wide pixel support (think Atari 2600) Post processing and transition effects, such as scanlines, screen wipes, screen shake, fade, pixelate and more Deploy to all Unity supported platforms I've put in lots of hours into a very detail documentation, you can flip through it here to get an better glimpse at the features and general overview: http://www.pixeltrollgames.com/fes/docs/index.html
      FES is carefully designed and well optimized (see live stress test demo below). Internally it uses batching, it chunks tilemaps, is careful about memory allocations, and tries to be smart about any heavy operations.
      Please have a quick look at the screenshots and live demos below and let me know what you think! I'd love to hear some opinions, feedback and questions!
      I hope I've tickled your retro feels!



      More images at: https://imgur.com/a/LFMAc
      Live demo feature reel: https://simmer.io/@Dafu/fes
      Live blitting stress test: https://simmer.io/@Dafu/fes-drawstress
      Unity Asset Store: https://www.assetstore.unity3d.com/#!/content/102064

      View full story
    • By Dafu
      FES Retro Game Framework is now available on the Unity Asset Store for your kind consideration!
      FES was born when I set out to start a retro pixel game project. I was looking around for an engine to try next. I tried a number of things, from GameMaker, to Fantasy Consoles, to MonoGame and Godot and then ended up back at Unity. Unity is just unbeatable in it's cross-platform support, and ease of deployment, but it sure as heck gets in the way of proper retro pixel games!
      So I poured over the Unity pipeline and found the lowest levels I could tie into and bring up a new retro game engine inside of Unity, but with a completely different source-code-only, classic game-loop retro blitting and bleeping API. Months of polishing and tweaking later I ended up with FES.
      Some FES features:
      Pixel perfect rendering RGB and Indexed color mode, with palette swapping support Primitive shape rendering, lines, rectangles, ellipses, pixels Multi-layered tilemaps with TMX file support Offscreen rendering Text rendering, with text alignment, overflow settings, and custom pixel font support Clipping Sound and Music APIs Simplified Input handling Wide pixel support (think Atari 2600) Post processing and transition effects, such as scanlines, screen wipes, screen shake, fade, pixelate and more Deploy to all Unity supported platforms I've put in lots of hours into a very detail documentation, you can flip through it here to get an better glimpse at the features and general overview: http://www.pixeltrollgames.com/fes/docs/index.html
      FES is carefully designed and well optimized (see live stress test demo below). Internally it uses batching, it chunks tilemaps, is careful about memory allocations, and tries to be smart about any heavy operations.
      Please have a quick look at the screenshots and live demos below and let me know what you think! I'd love to hear some opinions, feedback and questions!
      I hope I've tickled your retro feels!



      More images at: https://imgur.com/a/LFMAc
      Live demo feature reel: https://simmer.io/@Dafu/fes
      Live blitting stress test: https://simmer.io/@Dafu/fes-drawstress
      Unity Asset Store: https://www.assetstore.unity3d.com/#!/content/102064
    • By Dafu
      Hello all,
      I've been hard at work on a new retro pixel-perfect framework called FES Retro Game Framework. It is now available on the Unity Asset Store for your kind consideration!
      FES was born when I set out to start a retro pixel game project. I was looking around for an engine to try next. I tried a number of things, from GameMaker, to Fantasy Consoles, to MonoGame and Godot and then ended up back at Unity. Unity is just unbeatable in it's cross-platform support, and ease of deployment, but it sure as heck gets in the way of proper retro pixel games!
      So I poured over the Unity pipeline and found the lowest levels I could tie into and bring up a new retro game engine inside of Unity, but with a completely different source-code-only, classic game-loop retro blitting and bleeping API. Months of polishing and tweaking later I ended up with FES.
      Some FES features:
      Pixel perfect rendering RGB and Indexed color mode, with palette swapping support Primitive shape rendering, lines, rectangles, ellipses, pixels Multi-layered tilemaps with TMX file support Offscreen rendering Text rendering, with text alignment, overflow settings, and custom pixel font support Clipping Sound and Music APIs Simplified Input handling Wide pixel support (think Atari 2600) Post processing and transition effects, such as scanlines, screen wipes, screen shake, fade, pixelate and more Deploy to all Unity supported platforms I've put in lots of hours into a very detail documentation, you can flip through it here to get an better glimpse at the features and general overview: http://www.pixeltrollgames.com/fes/docs/index.html
      FES is carefully designed and well optimized (see live stress test demo below). Internally it uses batching, it chunks tilemaps, is careful about memory allocations, and tries to be smart about any heavy operations.
      Please have a quick look at the screenshots and live demos below and let me know what you think! I'd love to hear some opinions, feedback and questions!
      I hope I've tickled your retro feels!



      More images at: https://imgur.com/a/LFMAc
      Live demo feature reel: https://simmer.io/@Dafu/fes
      Live blitting stress test: https://simmer.io/@Dafu/fes-drawstress
      My own game I started working on using FES, a roguelike, very early: https://simmer.io/@Dafu/merl
      Unity Asset Store: https://www.assetstore.unity3d.com/#!/content/102064
       
       
    • By ORmorni
      I am working on a multiplayer Android game using OpenGL ES in Android Studio. The game is planned as a 2d top-down shooter, in which the players survive while defeating waves of enemies. Coordination between the players is required to defeat the enemies, due to the enemy design - for an example, some enemies can be seen only by the player they target, and must be killed by others.
      I have already implemented basic menus and mechanics for the game, and am currently searching for a 2d artist to create graphics for the game.
      I can be contacted at ron_solan@walla.com
  • Popular Now