Hello, I am pretty new to c++, have been doing it on and off for 2 months. I had a few questions. I have developed very simple programs, guess my number, etc. I use xcode, and it runs my program in a little side window. I want to know how to begin using graphics and how to make the program run outside of the window. Like have its own window and make it its own app. I heard that SDL is the way to go for graphics but that seems weird to me because SDL seems like a language in itself. I dont really like SDL. Is there any way to handle images in c++ without using a third party plugin? Isn't there code to display images? I really want to get into c++ but I am tired of making text-based games :(. If someone would, could you please tell me what they use to make games like COD and WoW. Do they use SDL? once again, is there a way of handling graphics without the use of third-party frameworks? I want to be able to make a 2d game like mario. Please keep the answers as non-techy as you can :) I really do appreciate all help. Cheers, Michael.
No COD is not done with SDL, sdl does not have the capacity to do that kind of 3D.
SDL is a great start for making 2d-games, I would say that most of the people start there, but if I can have my say in it I wish I had used SFML from start.
The thing with SDL is that you have to write everything by yourself. Almost everything, the initialization of the window is done for you. But you have to write entitymanager, rendermanager, spritemanager by yourself. It's a lot of work but very rewarding, you gain a lot of knowledge by using SDL. A stepping point so to say.
SDL have a built in renderer, all you have to do is to have a surface (its called that in SDL) and load it. load_bmp(const std::string& alias). So if you have a picture in a folder you just write load_bmp("data//images//image.bmp"); for example.
I don't really wanna know what goes on in the background of that load_bmp :P
hardcore stuff imo.
I really don't know how to load in images without using a library, can imagine it would suck hard to implement it :P
Commercial games probably use libraries which were written in-house by the games company. But whichever way you look at it, you must use some third-party code. Even if you use the facilities provided by the operating system, you are using that third-party code.
But if you want to do everything yourself you'll just re-invent some small portion of the stuff which is already provided by various libraries. Except the libraries are thoroughly tried and tested and are known to work. Time is precious, if you want to re-invent the wheel, you will have no time left for actually creating any actual applications.