GameDev 2019 Week 22: UI Improvements
UI Textures, Wave Generation15.06.2019 - 21:20
In the past few weeks I have added a few new UI elements or changed existing ones. Most of them still needed textures. However, the jagged edge style I have been going for turned out to be quite tedious to do by hand in photoshop, especially for bigger elements. So I created a new little program that automatically adds jagged edges to an image. It took some fiddling around with the settings, but in the end it produced good results in one second, while it took at least several minutes in photoshop. Plus, my program uses "truely" ( at least non biased and normal derivated ) random numbers, while doing it by hand always had some kind of bias. Then I used the new program to create the background textures for the reward and wave selection UIs. I also added a little bit of code to allow me to force an item to show up in the random results for testing purposes.
I added a new wave details window to give the player the details of a wave during building or the wave. It can be accessed by a new "i" button over the elemental type in the game state UI. Then I adapted my program from yesterday with slightly different settings to produces a background texture for the window. I also made it automatically pick a random area of my big wooden background texture in the correct size, create the jagged edges and save the image, so if I need a new texture all I need to do is select the size and the settings I want and the program creates the basic result, which can be then finetuned in photoshop. I also fixed a bug where windows were shown above the selection UIs, so I made sure the selection UIs are always going to be in front of everything else. Finally, I added a temporary background image to the main menu, because it was looking very sad with just a grey background.
Today I worked a bit more on the wave generation algorithm. It now also creates flying waves. So far every option in a flying wave is going to flying, so there is no way to skip flying waves, but I may change this a little bit and make some waves where it is possible to choose an option that is not flying or even create random flying options in other waves. Also the mob gold rewards are no longer random, but depend on the stage, the difficulty of the wave, the number of mobs per wave and boni for flying mobs or bosses. Finally I created a new "database" class which stores all different entity types, so the wave generator can pick a fitting one, e.g. a skeleton for a dark type wave.
While playig the game for a little bit I got a bit confused and worried because mobs were going through buildings at some point, but I realized that I had just forgotten to change the path finder to use the flying values from the selected wave option. Then I finally started on updating the building window so it now shows the elemental damages, the number of eliminations and the effects of the building. I had to change the layout and the size of the window, so it also required a new background texture, but luckily it was quite easy to create a new one with my program from earlier this week and I really like the new look of the windows. I also had to change some things so the number of eliminations can be updated on the fly when the window is open. To finish the day I added a new feature to the building upgrades. If the CTRL key is pressed while upgrading, the game will upgrade all buildings of the same type to the same upgrade as long as the player has enough money.
I started by creating new icons for the normal stats like damage, range, attack speed, etc. and added them to the building window, which makes it look a lot cleaner than just text. Then I implemented the ability for labels to have an hover effect, so I could add more information to the effects and auras of a building, I still need to make them a little bit more detailed but I mainly focussed on getting it to work. In the evening I created two new tower models in Blender, but I haven't added them to the game yet.
by Christian - 15.06.2019 - 21:20