SFML Tutorials
From here, you’ll find my various SFML tutorials. I have split them various sections: setup, beginner, intermediate and advanced. If you’re not sure what to do next, or where to go, check out my getting started page. Titles not yet linked may not yet have been released. Come back soon for updates!
Setup
- Tools of the trade – what you need to get started
- Building SFML 2.0: Visual C++/NMake (Windows) | MinGW (Windows) | GCC (Ubuntu/Unix)
- Creating a first SFML 2.0 project or solution: Visual C++ (Windows) | Code::Blocks (Windows) | Code::Blocks (Ubuntu/Unix)
- Building the documentation with Doxygen
Beginner
- Creating an empty window
- Loading and drawing images
- Handling events
- Windowing and video modes
- Loading fonts and drawing text
- Creating and drawing shapes
- More on colours
- Real time input
- Loading and playing sounds
- Working with music
Intermediate
- Post effects
- Views
- Animated sprites
- Positional audio and sound effects
- Threading
- Using OpenGL for rendering
Advanced
- Buttons
- Writing a generic button
- Improving our user interface
- Scaling to fit the display
- Tiles, tilesets and maps

Do you ever plan on finishing these tuts?
Absolutely. I have been quite busy recently so the site has not had much of my attention, but over the holidays I’m going to be free a bit more. I have to update some of the old tutorials first, but then I’ll be continuing with these, roughly in order.
Nice tutorials
Looking forwards to seeing the rest!
When are they going to get uploaded? I’m REALLY looking forward to more advanced stuff.
It’s hard to say. Right now I’m writing a draft research paper on general relativity in higher dimensions – it’s my first paper and it’s taking a lot of time. The site generally needs an overhaul (new videos and updated existing ones), but I can’t guarantee it’ll happen soon. Stay tuned for updates, though. I’ll be as quick as I can
Could you maybe give a time roughly in which you will upload? Thanks a ton!!
Mostly, it’ll probably have to wait until Easter, unfortunately. However, I hope to upload one or two videos before then. When I have a minute, I’ll write a post finalising the timeframe in which I’ll be back.
are you a child genuis?
Well, I’m 17 and doing my masters, if that’s what you mean
your tutorials is very good. thank you. but why don’t create continue of tutorials?(write correct sentence!?!)
Thanks! I haven’t made more yet because I’ve been really busy. But I’ll try to make more soon. In the next few days, I’ll write a post which gives the details of when I’ll start doing tutorials again.
it’ very good.
Great tutorials!! It help me set up and learn the basics of SFML 2. I am getting the hang of it but wouldn’t mind seeing some source code of a complete game you have coded and also the other tutorials, hope you get time.
Yeah, things keep getting delayed. However, I have two weeks of exams now and then that’s basically it. So hopefully you’ll see more soon
Please make more of these tutorials. The existing ones helped me a lot, but it would be great if you could make more.
I know I’ve been saying it for ages now, but I shall get back to this site as soon as I have the time!
Its been like 4 months now and I am still wondering if you are going to continue this?? Love your tutorials btw.
Thanks. Yeah, I’m working towards it. Currently rewriting old tutorials for SFML 2 release candidate (they shouldn’t need to change again until SFML 3 now!). I can’t make any promises, but I am going as fast as I can with my limited time
i am started studying SFML.. very good tutorial for me to improvise my knowledge.. yeah, bookmarked this site.. thanks a lot..:)
Glad you’ve found it helpful. I’m hoping to start posting new tutorials again soon.
i just started coding in SFML and i have a general question. Your tutorials are great so i will attempt to ask you the question here. I have a class GameScreen that has a protected member std::vector keys; another class called SplashScreen inherits from GameScreen. now the problem is, in my SplashScreen class, i have a function that has this statement: keys.push_back(sf::Keyboard::Return) and i get an error saying “keys” was not declared in this scope. Why is that? SplashScreen should inherit “keys” from GameScreen.
That does seem rather strange and I can’t think why off the top of my head. Can you show me the sources of the two classes? Don’t post it all in the comments here, but you can either use the Q&A form or email me directly at sfmlcoder@gmail.com.
I’m thinking of starting these tutorials, but before I do, I must ask. Will you finish them, & how often do you bring them out?
I’m hoping to get back to this site over the Christmas break, so that would probably be the best time to start them – I’ll update the existing tutorials and add some new ones. After that I’ll try to bring out one per week (or possibly one per week per ‘series’, so one per week on SFML, one per week on C++, etc).
If you are interested, remember to subscribe so you get emailed as soon as new posts come out.
pls continue this series, it helps out a lot :S
I’ll probably be able to continue the tutorials over the Christmas break, but I can’t promise I’ll have time before then. If you want to be notified as soon as the next tutorial is out, remember to subscribe!
Will these tutorials ever be finished?
Yes I do plan to finish them. I know I’ve said that before and not got round to it, but now I should finally have the time. I’m currently writing up the thesis for my master’s degree and once that’s done I’ll have a lot of time on my hands. I am also considering a small scale Kickstarter project to raise enough money to get private hosting and my own domain name for the site. Subscribe to the site if you haven’t already and you’ll hear from me soon!
Do you ever plan on finishing these tutorials man? They are exactly what I need!
Yes I do plan to finish them. I know I’ve said that before and not got round to it, but now I should finally have the time. I’m currently writing up the thesis for my master’s degree and once that’s done I’ll have a lot of time on my hands. I am also considering a small scale Kickstarter project to raise enough money to get private hosting and my own domain name for the site. Subscribe to the site if you haven’t already and you’ll hear from me soon!