So now that I'm on my PC rather than on my phone, I think I can add some more information and answers!
there are loads of things I don't understand about SFML, I don't understand how I'm going to learn it
SFML is a library with just a few functionality for Graphics, Audio, Window Creation, Networking and a some Thread support (see
here), it won't answer many of your question, since those are more related to general programming or the programming language.
I feel I should brush up on my C++ a little, I don't know what topics I need to know and don't need to know, etc etc.
Yes! Here's a
link to a list of the best recommended books.
Like I said, I want to make a 2D side-scroller. Before making a side scroller, I want to port my Lua game Mr. BallGuy into C++/SFML. It was my first game.
Looks nice, although the .exe doesn't work on my Windows 8 machine and when I start the .love file, I can't collect coins for some reason. But it's definitely something you could try to port over to SFML!
It reminds me quite a bit of
Falling Rocks.
Then Xcode refused to load an image. It kept saying it couldn't find it, when I directly specified the path(img/characterSprite.png). Is it looking in some other folder by default? I have the img folder in the same folder as the main.cpp file. I'll have the project at the bottom of the thread.
I don't really know Xcode, but what you could do is changing the working directory at runtime. So before you load anything or try to access any file with a relative path you reset the working directory to the path of you application, so you can be sure where to look from there (see a
possible example).
So that's one of my problems. My second one is how will I make the sidescroller? I've never made one before. How will I handle collisions and stuff?
That's basically asking "how to program a game?". Nobody can really answer you that question, since programming isn't a mathematical formula that can be applied to anything in a general fashion.
At best you start
somewhere and then move on piece for piece until the "puzzle" starts to for a certain image.
Having Mr. BallGuy as my highest level of game that I can achieve, should I still use SFML?
Definitely! If you manage to port it to SFML, you'll have acquired quite a bit of knowledge, which will help you develop on other projects or improve up on Mr. BallGuy.
SFML is great on it's own, and I plan on using the Thor library for spritesheet animation.
I also plan on using the SFGUI library in some upcoming projects(like the platformer).
It's definitely good to keep an eye out on other useful libraries, it will make your life much easier when you can reuse some code, rather than inventing the whole wheels again.
On the subject of making a platformer/side-scroller, could I load in a Tiled map? How does that work? Is there a guide on it?
If you actually mean
Tiled map, then you're lucky enough that some people have already written some loading code for SFML.
Tile maps on the other hand are something rather generic and is widely used for platformers and side-scrollers. But since it's generic there are so many ways to do it. I guess you first want to actually look at what they are and then search a bit around, there are many guides on tile maps, even on the wiki section of SFML.
Is Polymorphism important in game development? Could I maybe find a quick simple guide to it if it is?
It's an important part of C++, thus it's also important for game development with C++, but it's also often used wrongly/not in a modern way.
Instead of some quick and simple guide I'd suggest to take a good look at it in a good C++ book.
I'm coming from LibGDX(which I hate because of the fonts), so do I need to use .fnt font files or can I use .ttf fonts just fine?
SFML uses FreeType, which can handle TrueTypeFonts (ttf) just fine.
sf::Font font;
font.loadFromFile("assets/font/DejaVuSans.ttf");
In games, you'd want achievements. Who wouldn't want achievements, am I right? So, is there an achievement extension for SFML, or would I have to write one myself?
Not really. Personally I don't like achievements, but maybe it's just me that doesn't find it rewarding to get some text pop open every now and then and you know achievements are only there to keep player playing the game. Maybe an advanced highscore list would be nicer, where it doesn't only take into account how many points you collected, but keeps different stats separated.
Anyways this is something very game specific and nothing general about multimedia, thus it's not something that would come with SFML.
Again, I'm not the strongest game developer, but we all have to start somewhere, right?? Right...??
Yes!
I mean, Notch...
Sorry you lost me there.
Notch is just another person and he was quite lucky to have hit the right people with the right type of game, thus kind of setting of a new era of sandbox games. But it's really sad to see, that people now can only think of Minecraft whenever someone else releases a sandbox game. Also don't forget, Minecraft was/is coded horrible. If it takes weeks or month to implement a very basic feature, then there's something seriously wrong with the codebase and Java...
Weeee long wall of text!
Btw I
strongly suggest to change your background/text color on your
blog.