The mobile game is coming along nicely. As you can see there are some new characters on my game. I have a Moss Monster, a Skeleton with a red battle axe and I also have a super creepy spider that is about the size of my character stuffed back in the corner. I even have a sword attack with my player that puts out a cool arc when it swings.
This part of making the game has been pretty great. I am really feeling that as I develop these games I spend less time on googling and trying to figure out how something is going to work and what I need to implement what I want to do. I am able to complete any challenges so far without the help of the challenge reviews because I have already used a method that we are using or have either read about it or tried it somewhere else.
I guess that is what comes with every project you make as a developer. Each one gets you closer to being able to retain the knowledge you are using over and over again. You remember all of the mistakes you make and how you fixed them, know where to find the documentation you are looking for exactly because you came across it looking for something else before, or have done something so many times at this point it is just muscle memory.
I am, however, learning new and very valuable skills on this game. I am starting to use abstract classes. I wish I used this earlier when I was making my space shooter game. It is a way to not be so redundant in writing code that is the same for multiple elements of the game. It works really well for my enemies in this game. I have one enemy script for the three enemies I have so far. They all have the same movements and actions at the moment. When I need to change it up, I can make it different in their individual scripts while keeping the core movements and variables like health, speed, (in this game) gems the same without having to write the code out multiple times. These classes I can see coming in very useful in games with dozens of types of enemies or elements that share the same properties. It is definitely a much smarter way to write code moving forward as I develop more complex games.