Потому что нет конкретной задачи для эффективного решения которое Вы сами придумаете, и после которой сможете увидеть результат от проделанной работы.
То что Вы делаете по "учебнику", это базовые знания которые в дальнейшем пригодятся, и для многих это самый правильный и быстрый путь к программированию.
Есть более сложный и длинный путь, и скорее всего для 99% малоэффективный, это отталкиваться не от
знаний к задаче, а
от задачи к знаниям. Но это только если у Вас очень много времени.
И как сказал
Степан нужны идеи и огромное желание их реализовать. Написать еще один facebook/Doom/HL3, у Вас уйдёт очень много времени, и желание пропадёт через месяц, а то и неделю. А вот написать очередной runner game на Unity3d, у Вас уйдёт несколько месяцев, и эффекта от того что постепенно получается будет гораздо больше.