I worked on Space Pylot for several months. It wasn't a full time thing, just something I worked on when I had free time. The whole project was for an intro to programming class that I took in 2015. This was a game that was created from a nice idea, some proper game design, and lots of programming.
I do also want to give a shout-out to my group members before I completely delve into this. I was the programmer and the architect, but I'm not responsible for the graphics, the sound, or the documentation that went into the final project.
So - let's begin.
This game began with an idea. The idea was pretty simple at first, we wanted a top-down shooter. So to start, I built a screen using Pygame that would have a spaceship sprite in it to represent the player.
By the way, if it wasn't clear from my use of Pygame, this whole thing was written in Python.
The screen itself was trivial, and the player ship wasn't that hard either. I created a Ship class that had a sprite, as well as position, velocity, and acceleration vectors as data members. The vectors were represented by a Vector class that I had made myself. In its most basic form, the Vector class just held an x value and a y value. The usefulness of making it a class came from all of the class methods that I created for it. I put a photo below that shows what the game looked like at that point.
So I had a screen. The next logical step was to get the ship to move around. This was relatively simple. I bound the arrow keys to call a function update(). Update() increased the ships acceleration by small increments, then changed velocity and position accordingly. This allowed for smooth, gliding movements. If I had bound the keys to velocity instead, I would have been left with a ship that exhibited short, stuttered movements. Once I bound the ships position to the width and height of the screen, I had a ship that could fly around the screen.
There is a full page here if you want to read about this project in its entirety. All subsequent blog posts about Space Pylot will be added there.
More coming soon, stay tuned.