I have officially put Ship Shooter on the Google Play Store! Right now I consider it Alpha Testing, but the testing will be open Alpha so that anyone can download and play.
Please, if you have any feed back let me know. It’s not perfect, and I doubt that it ever will be. The reason that I am doing this is because I want to get more education and have more experience with the game development production pipeline. I have already learned a lot about pushing to Android and some of the problems that you can run into when it comes to conflicting APK’s. It is very easy to have conflicts, just having the same version number will not allow it to be published.
I am very excited to say that I have an app on the Play store, and even more excited to get some actual feedback on this game! This started out as something I spent a couple hours on one day, and then rolled into me constantly tweaking it and trying to add more features. Definitely expect some more from me on this game soon, and hopefully one day I will be able to look back on this moment with a smile on my face.
Here is a list of changes that I have made over the past little while
Added in power ups that have a chance of spawning pseudo randomly. I did this by adding a script to my game controller object that holds an array of GameObjects. This way I can edit which ones power ups to use in the inspector. So far I have a power up that increases the firing rate of the player, but is set up so that I can I also make it a debuf to the player if I wanted to in the future. I also have one that adds health to the Earth so that the player can last longer.
Added in some background art, like the Earth itself and some stars in the background. I got the stars background off of Google, and I was messing around in Photoshop to make the earth myself.
Changed it so that the player dies on first contact. I feel that this makes the game a lot harder, but I can still change it for a power up that I want to add soon which will be like a shield that will just take a hit for you.
The buttons scale to different resolutions! It might not be done in the best way, but I did a lot of research into this and it seems that the scaling of the UI elements in Unity is really weird and a lot of people struggle with this issue. However, it now works with all the resolutions available in the Unity Game window in the editor.
Lowered the volume of the sound effects. They were very loud and annoying last time around. I eventually want to get different sound effects in the game and also a background track, but I’m not worried about that right now.
Issues that I am working on and aware of
The “GAME OVER” is very fuzzy. I am still looking into the best way to scale this image, but I’m sure I will figure it out eventually.
The waves of enemies really are not that great. I haven’t changed the way that they spawn at all yet, but I am going to make it non-uniform distribution, similar to the way that I spawned the dinosaurs in this demo.
The background image is not scaled very well, and I want a new one. I am struggling to find one that matches the ascetic that I want for the game, and I might end up making one in Photoshop.
The way that the power ups go up and down rapidly is supposed to happen. I just need to change how it happens because it look awful. Like, really bad. I’m aware of this and I’m looking into better ways to do this. I want to make them move up and down so that it is not as easy to hit them. This way when the player actually gets them them they will feel like the power up actually worth it.
This is a school project that I did a lot more than I had to do. The main goal of this project is to show my understanding of using different random distributions in code.
I used Perlin noise to generate the terrain, and I can change it to whatever kind of shape I want just in the editor. For the dinosaurs, I used a non-uniform distribution to make it so that there are more towards the front, and less in the back. The leaders(little animated guys standing on two legs) are scaled in the Y axis using a Gaussian distribution. The walk pattern that they have is also randomized to the left and right a little bit. The trees and rocks are just randomly generated within the bounds of the terrain itself. There is a problem with that which I have not fixed yet, which is that they spawn inside of the rocks and other things too.
What made me go above and beyond on this project, was that I turned it into a small game. I added a first person controller from Unity, and gave the player a basic shoot/reload sequence.
For the shooting I used ray casts. Each dinosaur has 3 hit points, and on the third hit they are destroyed. To play the animation of the small explosion going off, I used the RaycastHit variable’s point property to make a new explosion wherever the raycast hit.
I also did more than I had to when it came to aesthetics. I added in rocks around the border of the terrain. Because the terrain is generated randomly, and the Z value will always be different, I had to make a small script so that every time the game starts, the transforms of anything with that script on it will be set to the terrains Z value at the X and Y coordinates of that object.
All assets that I imported or used in any way for this project are listed in the documentation file for it on GitHub.