The end is in sight
This week whilst I have done some work and had been planning to do a lot more I have been taking it easy as the last few weeks I have spent most of my free time working on project WRA. So on Saturday instead of spending the afternoon working on WRA I took time to just do, pretty much nothing and ended up playing some ps4.
Like I said, I did manage to get some work done though, on Friday after work but before training, I created a bunch of new background clouds and dropped /placed these into the game. These will always stay in game and always be visible, I also then went about placing the forefront clouds and then re-worked the clouds generic script. Now the clouds pick a random number of pixels to move in an up and down location and the forefront clouds slowly move that position. This gives the appearance of the clouds slowly bobbing. This is a much better compromise than my original idea of the clouds moving along the screen. It may not look impressive or amazing but it does the job and does it ok, my idea is that based on difficulty level selected at the outset I can show/hide some of the clouds making it more difficult to see the bombs as they drop.
Sunday morning I spent a couple of hours working on the game before heading out and also tweaked the player barrel movement so it works a bit better. I also added in detection for when player bullets go off screen so I can remove them and destroy the game object. This should have been easy but I stupidly place the wrong type of box collider on object and only discovered about 40 mins later by chance my mistake as none of my detection scripts were working, another rookie mistake that wasted a lot of time. I also put in place a visual image to let you know you have to reload, as in you have depleted all your ammo. Whilst the ammo at the top of the screen was visual representation enough adding this is the extra nudge for those who may get caught up with what's happening on screen with the bombs and not notice.
All those things are small additions or fixes that add a bit more to the game but were not difficult to implement nor do they really change the game overall. Currently I have around 90% of the game code done, in place and working. The last 10% left are big ish changes to what is already in there and I am planning on only doing these once I have a night free to work on them as they may end up being big pieces of work. The three main things I have left to do are:
- Creating a prefab of the bomb and tweaking bomb placement to take into consideration other bombs
- Implementing the difficulty levels and upping these are the player plays the game
- Game Control for watching and monitoring bombs based on player level and game level
All these do not sound too difficult nor should they be too difficult to implement but what they will do, is fundamentally change the game from how it currently is and I will need to test a lot as I'm going to make sure they do what is intended and does not break anything. I have a idea of how all of this should be implemented in my head and I am keeping it as simple as possible that way I can add in more complexity later on if needed. I was thinking about using a one size fits all approach to increasing difficulty level as the game is quite simplistic, but I have instead come up with another way of doing this. I am going to create 3 different cases (Easy, Medium, Hard), based on your selection you have your base levels set. Then as you play the game and you hit certain goals (points wise) your difficulty increases, all pretty easy. But what I I don't want to do is have maximums set that are the same for each case for example. Say you start on an easy game and by the end your difficulty is at maximum and that is equal the maximum of the hard game. Originally that was my plan, as why not, if the easy game is too easy make it as hard as it can go. But really that not fair, easy is supposed to be easy even when it is at it's hardest, that why Ive created an overlapping chard of difficulty for each case. So easy will over lap at it's maximum with Mediums first level, medium maximum overlaps with hard's first level. That way if easy is too easy for you go to medium and so on.
For difficulty I have a lot of ears I can control. I can control the amount of bombs at any time, the amount of damage received by each bomb, the starting size of the bomb (as it scales as it drops down), the speed of the bomb and the amount of cloud cover. This gives me a lot of areas to play around with and will mean a fair bit of playing the game to find the right levels.
Implementation wise I think I will create a sliding scale that is generic for all of the difficulty levels, as in at x score the level increases, that way the steps work the same. I will then create specific levels of all the different difficulty variables for each case at each level so as to tailor the game experience and make sure that each step is not a giant leap. All very easy just time consuming to do and test and then tweak.
My plan for the next week is to get the bomb prefab done and get it's placing working, then fix the game control that will govern the amount of bombs but hard code in an amount. Then once all that works I will then implement the difficulty system.