GameDev 2019 Week 26: Map Selection
Game Settings, New Map13.07.2019 - 20:30
I only got around to writing last weeks blogpost today, because I couldn't type properly due to my messed up finger and I didn't do much more after that.
Today I worked a bit more on the second map I had created a few weeks ago, but didn't add it to the game back then. It still needed a few polishing touches and I also made a vulcano/mountain model in Blender and added it in the distance, which looks pretty good coming through the fog, even though it isn't technically correct, because I don't render shadows on the water to save some performance and there are some water reflections which technically wouldn't be there. And it also clips a bit weird with the skyplane, but it is only a distance decoration so it doesn't matter that much.
Now, with a second playable map ready it was time to actually add a functioning lobby where the player can select the map he wants to play on among other settings. Previously the map was just hardcoded so it took some time to change the game to work with multiple maps. The map selection is synced with the server while in the lobby and once the game starts the server includes the selected map in its start game message so all clients can load the correct map. Right now it is only in the singleplayer lobby, but as mentioned before the singleplayer is in fact a local multiplayer game with one player, so it should be fairly straight forward to make it work in multiplayer games too.
To give the player some information about the map when choosing one, I added a minimap preview to the lobby. However, the tropical island map is not square and the minimap renderer needed an update to handle non square maps. And the in game minimap was also broken for non square maps, and it took me way longer than it should have to figure out how to change all the coordinates, so the buildings are in the correct spot on the map and the camera repositions correctly when clicking on the map. Then I added waypoints to the island map and left two tiles between the waypoints and the building edge so it is possible to almost surround the waypoints with towers to allow for more creative maze layouts, which was bothering me in the first map. The waypoints are not hardcoded in the maps themselves, they are in the map data files and can be edited easily so it is possible to have different waypoint layouts on one map anyway. I also added a name to the map data files and changed the listbox to show the map names rather than the file names. Finally, I redesigned the layout of the singleplayer lobby and made some background textures for it.
Today I added the difficulty selection to the lobby and to the game, a higher difficulty will increase the amount of hp the mobs have. It isn't balanced yet, that's probably the biggest challenge yet to come ( besides finding a good name for the game ^.^ ). After that I continued on the web tool for tower creation I mentioned last week, which will hopefully help with balancing the game, because it can show all towers at once and can calculate damage per second, damage per gold and other statistics. I mostly converted it from mysql to sqlite, because I want to have the same database on all devices and its easier to share the sqlite database file than to copy a mysql database. Additionally having the database in sqlite enables the theoretic possibility to load the towers in the game directly from that database if I want to.
by Christian - 13.07.2019 - 20:30