Kevin Kremer, Patrick Maul
Milestone 1 (17.11)
Improved Game concept
Changed movement and placement system
First of all, we wanted a better map building system. For this, we decided to change from a predefined map to a map which was created runtime, using an array for coordinates.
To make the map creation as easy as possible without having to imagine all fields and filling the array based on this, we set up an MS Excel sheet. By using some simple VBA we managed to create an array, which we simply could copy and paste into our code.
Ok, Map-Building done... Almost: We wanted to start the array with [0,0] in the upper corner. After some trial and error, we managed to get everything perfectly in our new built dungeon.
This new implemantion also made a big change possible, which we actually already wanted to have in our first project: No more misplaced bosses! We decided to use this array not only for map building, but for everything! So you can now only place bosses on tiles. A cut in the player's freedom, but believe us, it is good.
However, it also brought new challenging in pathfinding for the heroes. Since we cannot use our system anymore, that the hero walks until he finds a trigger where he needs to turn (triggers are hard to generate the way we built the code), he actually has to know where to stop before running into a wall or falling off the world. What sounds easy for normal people is hard for stupid heroes (and programmers). Also we already wanted to prepare for future improvements, where the heroes are able to see in the distance, at least till the next corner. This proves to be quite a challenge for us, since the tiles now are far more than just the map. They also have to know what is standing on them.
After we gave every tile information about the object standing on them, and every object information about their tile, we could implement a wayfinding algorithm for the first hero.
Due to this, we had a playable game again. Which means. We were exactly at the status which we had some weeks before, without any changes that can be seen by the players... great...
Milestone 2 (01.12)
Items and power ups
Ok, game is playable again. And everybody wanted to try it, so we chose a qualified tester (who was in the same room as we were by chance) to try it out. First tests were very satisfying and he confirmed us, that it will indeed be the best game ever. However, he's a friend of us and we suspect that he lied to not make us unhappy.
However, back to development: First, we realized that our project plan had a little flaw. We wanted to create a hero, who is really crazy for items and power ups, but we still had no items and power ups implemented. So we switched these two points in the project plan.
And then we programmed the strengths/weaknesses system. We opted for a simple system, where certain elements have an advantage over other, just like in rock/paper/scissors. And since we don't have any imagination, we decided to call the elements rock, paper, scissors. If we don't find a better idea, we will also base our hero and boss design on these elements.
As for implementation details of the system: We decided to give only the boss a damage bonus, if he has the type advantage or a malus if he has the disadvantage. So, a Rock Boss (cool name, eh?) makes normal damage against rock heroes, 1.5* damage against scissor heroes and 1/1.5 * damage against paper heroes. These values can of course be changed if we find out the balancing is not fine. The last small change was in the UI, where we have to decide what kind of boss you want to recruit.
Next important step was the addition of potions. The player has to add them every two rounds. The hero then can pick them up. We included four potions: HP, Strength, Invisibility and poison. While the first two were pretty easy to implement, Invisibility and poison proved to be quite a challenge. This is because we want them to have an effect for an certain amount of time.
Milestone 3 (15.12)
Updated User interface and menu
Android Demo (postponed)
The main goal was to implement different hero types. And we were successful.
We took advantage of our previous implemented changes in pathfinding, so that every tile knows what is on it... Well actually, we had to implement so new features, because previously tiles only knew bosses on them. Now the tiles also know which potions are standing on them, which is important for one of the hero types.
Back to the topic: Hero types! We have three diffent types:
-Smart and Sneaky: He will always choose the path with the least resistance, meaning he will try to avoid bosses. If it is not possible, he will calculate the sum of all the stats (he is smart) and go the other way (sneaky)
-Strong and Stupid: He will always take the hard path, because he has something to prove (We don't know to whom, but it doesn't really matter). So basically the opposite of smart and sneaky.
- Greedy and Geeky: He will always take the path, where he can find a potion, no matter how many bosses there are. We just called him geeky, because it fits the scheme.
All heroes inherit from the main hero class. The stat calculation and path finding are defined in the respective hero class. The sprites are still from opengameart.com, and it is not yet possible to see the strength/weakness from it. You still have to look at the HUD for this.
We also updated the HUD, to give you more information you need. You can now see the strengths and weaknesses of each boss and the hero. We also changed the camera and position of text a little bit to make everything better.
So, now we have a playable game, which is also kind of fun. Biggest issue now is balancing. We weren't yet able to beat our own game. Maybe it will be the Dark Souls of Tower Defence, maybe we just tweak the values to make it beatable (Probably the second option).
Final product (12.01.)
Better sprites and animations (postponed)
Best game ever (slightly postponed)
We had big plans for the time between milestone 3 and the final presentation. However, a big vacation, Christmas and the exams came a little unexepected for us. This is why we did not yet fulfill our goal to develop the best game ever.
However, we were not completely lazy. We sent the game to some friends and got many good suggestions how to improve it - most of them were ignored due to the aforementioned time problem.
But we tackled the most obvious problem - it was to difficult. So we invested lot of time into balancing, to make it challenging but beatable. We are not sure how to ensure optimal difficulty beforehand, so we just tweaked the numbers, played it and cycled through this process several times.
We also added some small features. It was possible before, to ignore the duty to place a potion. It is not anymore. We also wrote a tutorial ingame. And last but not least, we changed the map a little bit and made some optical improvements.
Final game can be found here: https://drive.google.com/drive/folders/0B5M8BRqLrj76REdJNlVaN2xhNlU?usp=sharing