It was challenging without internet access, I invented things like the game loop, and tried to compartmentalise the enemy code vs input code, First version cleared and redrew the screen every frame, then I learnt about blacking out the characters and only drawing the essentials (it was all ASCII based I didn't know how to draw graphics)
Looking back on it, I can see there's a bunch of polling where there should be events, the game loop is full of input code, and lots of global state and gotos
But I was pretty young at the time, about 8 or so - it was the first proper development project I made and the first time I thought "hey, this software stuff is complex!!"
I fondly remember spending hours trying to hold the program state in my head, being so inexperienced at programming I was oscillating between getting distracted by implementation details or thinking too abstract to be useful - I practiced shifting up and down the abstraction layers to try and hold all this complexity (not knowing terminology or really understanding what I was doing) so challenging and fun!
As an adult: A web based Basketball scorecard in plain HTML/CSS/JS. Was in college at the time and it came as a side project through a contact. Was really fun in the beginning but it was my first taste of how real world works when the client started calling me day and night to make tweaks and fixes :). No regrets though.