Unfortunately, this first project did not progress as well as I anticipated due to set backs, such as restarting the project in PlayMaker, troubleshooting my GPU, as well as my trip to Seattle cutting out a lot of time from my schedule. I was able to got project 1 to the point that it actually resembles a game. Not a game that I’m proud of, but at the very least it resembles a game. Here’s the link to the executable:
I want to break down the good, bad, and what I would do differently if I were to do it again.
First thing is first, I got a character that the player can control. It can move, and it can shoot. It can die if it gets hit. Things I would change is the move speed, I feel like it was going a bit too slow. Not only that, but if I were to do it again, I would make the ship go in 8 directions instead of just 4. I think the 4 directions feels too restrictive and moving in 8 directions would make the game feel more smooth. As for the shooting, the bullets didn’t always destroy the enemy. I didn’t find out what was the issue. It was working fine before I implemented the score, but I had to change the FSM to get the score tracking to work. For brief moments, the bullets would not collide with the enemies. Additionally, the bullet textures will also briefly disappear, but that was a problem from the beginning. I will need to figure out what is causing this issue and prevent it from happening in my next 3 projects.
I was able to get the enemies to spawn in a random position. What I had it do is that I would transform the position on the Y axis up or down a random distance. The issue with this is that it would eventually push the spawn point off the screen. I need to get the spawn point to randomly move to a spot within a certain range on the Y axis rather than pushing it up or down. I also think that random speeds for the enemies, within a certain range, would make the gameplay more interesting.
As for the bullets and enemies, one thing I’m happy about, that I figured out on my own, is to destroy the bullets and enemies after they have left the screen. I originally was trying to get an object to catch the bullet and enemy prefabs and destroy them as they collide. This didn’t work. So what I did instead was had each prefab on a timer so that they would destroy once they have left the screen. The bullets would destroy in 2 seconds and the enemies would destroy in 5 seconds, giving them both enough time to travel across the screen and completely leave the screen. I will try to fix the issue with the bullet and enemy catchers though because future projects might need these methods rather than timing the objects off the screen.
I never got around to implement health or lives. When the player dies, nothing happens. I should have a game over screen if the player reaches zero lives. Also I could have the player earn extra lives if they reach a certain score. A high score tracker would have been cool too, but that would be a stretch goal, as well as getting separate levels and getting the animations to work.
So that’s my run-down for the first project. I’m certain not thrilled with the result, it’s definitely not portfolio-material, but at the same time, I feel like I learned a little about PlayMaker and Unity, and have confidence that Project 2 will turn out better. I will get that started on Monday and have an update this coming Friday.
One other thing, I got an EVGA nVidia GTX 770 after replacing that Gigabyte gpu. I had such a bad experience with them that I decided to sell the replacement card they sent me, and put that money toward a new card. I got the card on Friday and it’s been running smoothly so far. So it looks like I will not be having anymore graphical issues with my home pc.