I was wondering what your input would be on using cocos2d-x for making a game? I feel that I'm ready although I'm probably going to be in for world of headaches and hurt. Anyways would you recommend that over something like openGL? Please tell me your thought and experiences with the tool?
I'm currently learning OpenGL in a course and I quite enjoy it. I looked at games made by cocos2d and they were all very small and mostly mobile games. So I guess it depends on what you want to do.
It also depends if you want to make a 3D or 2D Game. You can use different tools for that. If you are just looking to make a game, you can already use finished engines. Like Unreal engine 4 or unity.
I wanted to reply, but wanted to think out my reply.
It depends on what you want to make. Cocos2d-X looks to be made for pretty small games.
I, like TarikNeaj, just finished an OpenGL course (I just finished, Tarik might still be enrolled).
For 2D, sure, use that. If all you want to make is a game and don't need to learn how to do all the stuff behind the engine, then just use an already-finished engine.
I might suggest Unreal Engine. It can make both mobile games and desktop AAA games. It is a very powerful engine, but has a bit of a learning curve. I'm currently learning how to use it.
If you want to learn the graphics behind it, try OpenGL or DirectX. I'm obviously biased to OpenGL right now, but that's because I sort of know the API now. Use whichever suits your needs. But if you choose that route, you'll have to do everything. With an already-finished engine, they will have done most of that behind-the-scenes work for you.
Yeah, I might try out openGL after, however another thought that came to mind was allegro. Anyone got any input on that? I was looking at it and it seems to be pretty neat for simple 2-D games.
I can back up Tarik here. SFML and OpenGL blend together very well, and it's easy to mix the two. I've been combining both. It's pretty seamless. I don't know about Allegro's integration of OpenGL, but SFML makes it really easy to mix OpenGL with its own API (which in turn actually just uses OpenGL anyway).
Making it hard for me to choose. @TarikNeaj which one was easier for you to use SFML or Allegro? @JayhawkZombie on their website for allegro it says this "Allegro only supports 2D graphics primitives natively, but it is perfectly reasonable to use Allegro alongside a 3D API (e.g. OpenGL, Direct3D, and higher level libraries), while Allegro handles the other tasks. Allegro is also designed to be modular; e.g. if you prefer, you can substitute another audio library." So hm. I'm not sure I'm thinking about SFML or hell maybe both, see which one I like more.
EDIT: And thanks @TarikNeaj for the links!
The same goes for SFML. However, I chose SFML for a few big reasons:
1) It is written in C++. It directly incorporates some of C++'s most prominent features and easily allows you to extend the code and interface with its given classes very easily. It's easy to define your own classes and make them work with SFML.
2) It is modular. You can choose to only use some of the modules if you so wish, with the exception of the 'system' module, which is used by all of the others.
3) It supports inter-mixing of OpenGL code. While there are a few things you have to do before switching over to your raw OpenGL code, it is not unnecessarily complicated. SFML can do this for you and the switch from SFML calls to raw OpenGL calls becomes just a few lines of code.
Both SFML and Allegro are built to do 2D graphics, but SFML feels more adaptable, extensible, and dynamic to me, partially because it is written in C++, while Allegro is written in C. While they can both be used alongside 3D APIs, I prefer SFML.
I only had basic knowledge of c++, and never used SFML. In one week I had created the game Space invaders using SFML and c++. It's easy to learn and feels nice to use. I learned it mostly by watching the youtube playlist I gave you. Using google and their Documentation also helped a bunch.
And like @JayhawkZombie said. It is written in c++ which I very much prefer. Whichever you choose goodluck, if you choose SFML & OpenGL and need help, you can always ask on these forums, or pm me and I'll take a look, but don't forget to google and youtube around first to try and find the answer on your own! Goodluck!
The SFML documentation is by far some of the best documentation I've used as of yet. I've had GUIs / games up and running in a short time using it (with the appropriate planning and design done beforehand).
The SFML documentation is filled with examples, explanations, and different ways of doing things. If you want to do something, the SFML documentation probably has an example of how to do that. Maybe I had a bit of a head up, since my father develops using SFML (less now than he used to) and helped me along, but the API is relatively straightforward. There aren't any weird, cryptic API calls. Every function call has a name that immediately tells you what it is for and there is never any calls that make you think "what the hell was the point of doing that?"
SFML can be as simple as:
1) Declare a rectangle with one function call
2) Set the position on the screen, color, size (3 function calls)
3) Draw the rectangle with one function call
YouTube is great for tutorials. Google as well. You're also welcome to ask me if you need help, but many of us here on the forums use/have used SFML before. A smaller number of us have used OpenGL, but I know that at least Tarik and I have formally studied it, as well as a few others.
Of course, once your project gets large, it'll be easier to put it on GitHub and then ask us to look at it. Don't post like 600 lines of code here.
Getting into graphics seems intimidating, but libraries like SFML make it so much easier and a lot more fun.
I guess I might have to install SFML due to the fact that allegro, was a pain to install. Spent 7 hours trying to install yet kept getting linked errors, and missing a DLL file... Asked the forums on allegro yet still waiting response. Please tell SFML is easy to install for VSCommunity 2015. in those 7 hours I probably could have done something...
I set up SFML in Visual Studio 2015 pretty easily. I did have to copy a few DLL files over, but the SFML setup tutorial for Visual Studio tells you which ones to copy over.
Download and extract SFML to some folder on your drive. Mine is D:\SFML
Then follow the directions on the website.
The directions on their website are pretty clear and show pictures of where all the settings are.
It has a simple sample project so you can test to see if it works properly.
Oh no man. I got an error when running the code in the tutorial on the bottom...... Invalid command line switch for "link.exe"...........
This is stressing me out man