If you are a beginner in making demos, intros or games on the C64/C128 it is nice to know what tools and utilities you probably would like to have. So here is a short list of some things you could start collecting or make yourself.
For coding/programming: A good Assembler and a good MC monitor (Like
in some cartridges).
For writing texts (Scrolls etc.): Scroll text editors and text editors.
For making music: A music editor, and maybe a relocator.
For compression and linking: Crunchers, Packers, Level-packers, Linkers etc.
For making graphics/Animations: Sprite editors, Charset editors, full-screen graphics programs.
And sometimes map editors can be a handy thing (depending on what you want to do).
A sinus-table calculator program (Sinus can give you some nice moving effects, especially when you combine several sinus tables), is sometimes handy too. And remember that you sometimes may have to use special utilities (depending on what you want to do) or you may have to write your own (A good way of starting programming).
Furthermore, as a coder, you will be needing some information about
instructions, memory-maps and knowledge about how to do different
things. A "must have" bible is the "Commodore 64
programmers reference" which explains some of the basics in many
areas. The book does not however, cover more advanced techniques such
as crunching, FLI, sprite multiplexers etc. and should only be
considered as a good source of inspiration and basic knowledge. There
are some sites around, some dedicated for beginners and they can also
give some information you will be needing while learning how to make
stuff on the commie.
Whatever you choose to develop strictly on the commie, or use some of the cross development options nowadays is up to you, some of them are quite nice. Also some options is available on different development tools on the commie, like XMEM support, TRANS-assemblers and such goodies.