Hello again, SFML community! Although it has been quite a while since its actual release, I'm still happy (although late) to announce that the newest (to my knowledge) SFML book is finally published and available in a myriad of formats and locations now:
https://www.amazon.com/Mastering-SFML-Development-Raimondas-Pupius/dp/178646988X/https://www.packtpub.com/game-development/mastering-sfml-game-developmentThe logical question, I suppose, is what does this one actually offer in comparison to everything else out there. Aside from picking up right where my first book (SFML Game Development by Example) left off, it teaches and demonstrates more advanced rendering techniques to improve your games. Everything from using sf::Shaders to actually going raw OpenGL is covered, and the results range from simply manipulating the rendered image on screen to actually implementing ambient, normal and specular lighting, as well as fully three-dimensional shadows in a 2D game. It also goes over the creation of your own custom tools for building game assets such as maps, using various profiling tools and actually optimizing your game code, and building a particle system that emulates 3D particles in a 2D world.
This is what the shadows look like in the game: (I know the ground looks a bit tiled, and that's simply because auto-generating normal and specular textures for tile-maps is a bit painful, and usually leads to hard edges. I did my best to combat that, but the software I had access to didn't deal with that right, and I have no artistic skills to draw my own material-maps)
There's also a
video of this in action, showcasing how raising and lowering the light affects the shadows being displayed on tiles with greater elevation:
http://ordernexusdev.tumblr.com/post/155511575788/making-a-2d-rpg-project-look-snazzy-with-bumpA couple of different angles showcasing the specular lighting:
A glimpse at some of the game asset editing tools built from scratch:
Some multi-state particles being used in different ways:
A lot of concerns from previous input I've received have been addressed and taken into account, such as using smart pointers, relying on C++11/14 a lot more, following certain general guidelines etc. In the end, I did want to make this book seem like something I myself would want to purchase and use to get better, so that was my primary objective. I think I have accomplished that, and I can't wait to hear some feedback from the community.
If you do decide this is a book you might enjoy and end up reading it, please feel free to contact me at any time to let me know whether it was acceptable or not. If any problems arise, I'm available (within reason) here through the PM system, or you could just directly shoot me an email at
order.nexus.dev@gmail.com. Love it, hate it, bash it or praise it, I'd just be happy to hear from you and potentially help you out.
Hope you all enjoy it, and thanks for reading!