For your first game, this is pretty solid. The core loop works and is a solid foundation. With that, I think you should focus on making the game more arcadier (faster movement, more graphical feedback, etc.)
Thanks for the feedback!