^^^
practice helps a lot.
i'm kind of weird as a songwriter-as in i'm not very creative. i can't just write stuff to write stuff, something has to physically inspire me otherwise like your experiences, it comes out forced and terrible. for me it doesn't even have to be huge, although those aren't bad. like taking a walk in a park, the way the wind feels on your face, when a beautiful girl smiles. just little things that happen all the time, that people almost always overlook.
edit: another way to write music is limitation. everyone writes on it, but give lsdj a shot. there are only 4 channels with a finite number of sounds, so you aren't shocked by all of the possibilities that you could do. if you're writing in ableton or something, you could spend hours tweaking sounds and layering them over other sounds, but when you're starting, really it's just distracting you from the actual writing. basically, just creativity through limitation.
hopefully this doesn't come out as nonsense haha