

StarShip
Overview
Role: Programmer
Genre: Fixed Shooter
Engine: Personal C++ Engine
Team Size: Solo
Development Time: 1.5 months
About StarShip
StarShip is a simple fixed camera shooter game where you can fight with Beetles, Wasps and plenty of asteroids in endless levels.
Mechanics
-
Acceleration-based movement
-
Random shaped asteroids
-
Controller rumble
-
Simple AI
Deep Learning
While making the starship assignment, I realized the importance of the code architecture.
A good architecture can make the codes clear and highly readable. Moreover, a good architecture will also make the calling relationships between codes more reasonable and more convenient. At the very beginning of this course, it is hard for me to design the architecture of everything from scratch. Thus, I keep watching Prof. Squirrel's recording and do exactly what he did in class. After the first two assignment, I am able to design some architectures myself.
I think the best way to be a good programmer is to code more and think more. When you encounter difficulties that cannot be solved by yourself, it is okay to learn from others' code, but you have to learn something from it, keep practising and eventually be able to solve these difficulties on your own.
The second thing I learned from the assignment is that, the more comments you put in your code the better. Comments are really useful for others or yourself in the future to review your code. It significantly improves the code's readability. Moreover, by adding comments, you can go for a higher-level look at your code which is very helpful to your architecture design skills.
Post Mortem
What Went Well
-
Finished the game in 2 monthes without bugs.
-
Successfully added OpenGL into my personal engine.
-
First time touched the 2D rendering in C++.
What Went Wrong
-
Didn't have time to add animations to the game.
-
The controller movement wasn't polished very well.



