Implement responsive player movement.
The project that introduced me to software development.
Space Shooter was the first software project I ever completed and my introduction to programming. Built at age 14 using GameMaker Studio 2 and GameMaker Language (GML), I followed a tutorial while balancing football season and AP coursework. Although the project was tutorial-guided, I created every visual asset myself using GameMaker Studio's built-in tools. More importantly, this project introduced me to programming, game development, and the satisfaction of turning ideas into working software. It ultimately sparked my long-term interest in software engineering.
[PROJECT SCREENSHOT]Gameplay screenshot of Space Shooter featuring custom sprites and arcade combat.
Before this project, I had no experience with programming or software development. I wanted to understand how video games were actually built instead of simply playing them. Following a complete tutorial provided a structured way to learn programming fundamentals while building something tangible.
[PROJECT SCREENSHOT]Gameplay showing player movement, enemy ships, projectiles, and custom artwork.
Implement responsive player movement.
Create a projectile-based shooting system.
Spawn and control enemy ships.
Detect collisions between game objects.
Track player score and game progression.
Deliver a complete playable arcade experience.
Learn fundamental programming concepts through practical development.
Create every visual asset using GameMaker Studio.
Maintain smooth and responsive gameplay.
Balance development alongside football season and AP coursework.
Complete my first software project from start to finish.
Develop confidence working with software development tools.
The project follows GameMaker Studio's object-based architecture. Independent game objects manage player input, enemy behavior, projectiles, collisions, scoring, and user interface, demonstrating the fundamentals of event-driven game development.
[ARCHITECTURE DIAGRAM]High-level architecture of the game's core systems.
Processes player input, movement, shooting, and collision handling.
Controls enemy spawning, movement, and interactions with the player.
Coordinates scoring, collision detection, and overall game flow.
Displays menus, HUD elements, and all custom-created visual assets.
Followed a complete GameMaker Studio tutorial to learn the foundations of programming, event-driven logic, debugging, and game development while building a fully playable game.
Technical callout
This project served as my introduction to programming concepts and software development workflows.
Implemented responsive player movement, projectile mechanics, collision detection, and arcade-style gameplay using GameMaker Language.
Technical callout
Learned how independent game objects communicate through events.
Created every sprite, background, UI element, and visual asset directly within GameMaker Studio rather than relying on external asset packs.
Technical callout
100% original artwork created using GameMaker Studio's built-in editor.
Developed menus, enemy spawning, scoring, lives, and game-over conditions to create a complete start-to-finish gameplay experience.
Experienced the complete software development lifecycle for the first time, including following documentation, debugging issues, testing gameplay, and iterating until the project was complete.
Successfully completed my first software project while balancing football season, AP exam preparation, and regular school responsibilities.
Reading about programming wasn't enough. Building a working game introduced me to variables, events, conditionals, loops, debugging, and software development in a way that immediately made sense.
Following a tutorial wasn't a shortcut. It provided the foundation that gave me the confidence to begin experimenting independently and eventually pursue larger software projects.
Creating my own artwork and watching code bring it to life showed me that software engineering combines logical problem solving with creativity.
Although this is the simplest project in my portfolio, it represents the moment I discovered my passion for building software. Everything I've created since traces back to this first experience.