@hundido, just some organized thoughts.
Start by picking _what_ you want to theme, e.g. the desktop background, what's inside a window, the window frame, button/menu icons (inside a window), icons (on the desktop), the application bar a.k.a. task bar, the system menu, ... I probably left something out but this is a good start.
Pick a concrete target to theme: a specific application, if you're interested in what's inside a window, or a specific window manager, if you're interested in the window frame, etc.
Find out which graphical toolkit your target (application) uses. Broadly speaking the main tookits are GTK+ and Qt. There are others.
Find out which version of the toolkit your target uses. Read up (on wikipedia first then on the toolkit homepage) about your toolkit and how to theme your target. You can of course use tutorials but don't start with tutorials; build up some theory first -- it will pay back.
Be wary that the rules change from toolkit to toolkit and from version to version. GTK+-2 and GTK+-3 are a good example of (bad) breaking changes: a GTK+2 theme will not work with GTK+-3 and viceversa.
Your self-development path - in the first paragraph I listed many _whats_. Learn how to theme one of each (one at the time). When you're finished, put it all together into a coherent supertheme. This could be your e-ink theme, for instance. You will need to learn some technologies and tools to carry on your project. Things worth learning are: CSS, monitor color technology, a decent pixel graphics tool (gimp), of course the toolkits I already mentioned, how to effectively search for good technical information (StackOverflow is a good source).
Let me spend some words about file organization. Be organized. Decide upfront how to name folders and how to structure a tree of folders that will reflect: your learnings and topics you need to lookup frequently; content you create, such as images and other media; versions of your work; tests; documentation; screenshots; tools; todos. This list isn't exhaustive, the point is to store your project in a structured way. Oh, yes, backup your work 
Enjoy yourself while you learn and practice all these things. There's plenty of very interesting stuff to marvel about.
I'm curious: are you running Puppy Linux on an e-ink display, like an e-book reader's?