Since you say you have done 2d already I would suggest learning a 3d engine like Ogre3d or Irrlicht. Don't try to write your own engine using low level api like directx/openGL. That not only would take a very long time for one person to write but require a very high skill level.
If you still want to hang around 2d for a while use sfml 2.
The true definition of an infinite loop is one that never ends. You don't want to write an infinite loop, you must break out of this at some point, say when the game ends or the player chooses to exit.
There is a article on this site about component architecture, and also several books that cover it in a chapter. Such as Game Programming Gems 6 chapter 4.6 .
You really should start reading books on the subject of making games as all this will be explained within. A good book about 2d ( which is a good place to start ) is SFML 2 game development, check my sig for the link. If that's not what you want then search amazon for what you are looking for.
Do you want the car to rotate when turning? It doesn't really need to unless you want the car to actually turn at an angle. You could always keep it forward and just slide it to the left or rigth a bit when steering and moving forward. This will allow you to use FloatRect to do collisions. Otherwise you will need to create a rotated box class for collisions.
That said you can get from the transform the direction this object is facing and then use that to move the object forward, and rotate it a little when you want to turn.
Switching libraries is quite common as you have to work with an api to find out if it fits your needs or not. Once you realize it doesn't then you have to move on.
I'm going to layout two of the best paths I know of. The first one is the more popular easier path the second is a bit harder however most who successfully hike that path say it's more rewarding. Since you were kind of vague in describing your skill level I will pretend you are a complete beginner.
Path 1. C# and Unity
Unity is a 2d/3d game engine. C# is one of the languages you can script that engine with. There is a free version of unity to get your feet wet.
Here is a pretty good book on programing c# and Unity. This book is for beginning programming.
In both paths I would suggest Blender(3d modeling and animation) and gimp(texture editing) since they are both free and open source. However substituting them for a paid product like Photoshop is common.
Posted by EddieV223
on 07 December 2013 - 06:57 PM
The open source program called Tiled, is a great 2D map editor. It can create xml files for your maps which you can then load into your game.
I am currently working on a zelda style game ( the game play ), but the story is modern day.
Me and my team are using SFML 2 libraries for rendering and sound, which is an Object Oriented Library, unlike allegro, which when using c++ is a huge advantage. Also it wraps internally openGL, and openAL so it provides cross platform support.
If you are interested in this project you can check it out here, it is open source.