It basically means that you create your own way of storing information about the color of pixels at certain position for raster graphics or your own way of storing curves and shapes and their properties and whatnot for vector graphics. You could look at the existing formats and get inspired by them. For instance, GIF:
http://www.martinreddy.net/gfx/2d/GIF87a.txtBefore you fire up your favorite IDE though, let me tell you something.
You're making a game, not a new image format. To create an efficient format of any kind, you'd need to spend some time researching the thing, which is probably going to take you longer than to make any kind of a simple game in SFML. Realistically, you're going to create an image format with the following cons:
- its files are going to be way bigger than they actually need to be, because you're simply not that good at creating more efficient image format just as a side project for your game as opposed to a whole bunch of people doing just the format thing
- because the images are too big, they're going to take ages to load and possibly use up all the RAM on mobile devices
- its implementation will take quite some time relative to the time it will take you to create your game. Time you could spend on delivering features
- the implementation will be buggy as hell, because it won't have the time to mature and it will not be the primary dev effort
- not only that, you will have to create conversion programs that will take GIF let's say and convert them to your format. That's because you don't have any tools that would generate images in your format. This means even more bugs to fix.
And finally you realize it wasn't worth it at all, since your game won't even get popular for anyone to
care enough to steal your assets (that's because your game is just a Mario clone with custom image format, as you have invested all your time into developing the format and completely forgot about the game).
But let's say your game does get popular. In this case, it's probably time to create your own sound format too, because, hell, sound is important and you don't want anyone to steal it from 'ya, do you? And I could go on with animation files, config files (you wouldn't like if someone changed your gravity to 0 so they could fly, right?)...
But I tell you something. Even in this case developing your own format of anything is a stupid idea. Why? Reverse engineering. If someone knowledgeable enough wants to steal your assets, they will do it anyway, no matter how hard you try to prevent them.
After all, even if someone does steal your assets, it doesn't hurt you at all. If they use them in a commercial project, you may sue them and make some extra money from it (which you then use to market your own game ;-). I mean, to cover legal expenses. Whatever).
Now, I don't think that creating a new image format is a bad idea. It's a wonderful idea, if you know what you're doing - for instance, learning about how are images represented and stored in computers, or solving a particular problem (you could be trying to make big images stream-able, in which case a new format is a suitable strategy) are valid reasons to start developing your own image format. But asset files protection? No. No, don't do that.