Big Game Project – Week 3&4
|
I didn’t write a blog post last week cause it was holiday and I forgot about it after travelling home during the weekend, but I’ll make a double one now. I feel like development slowed down somewhat after the first two weeks, but I believe this is mainly because of the earlier programming being such huge features in the game and every small task meant progress and impact in the current build of the game. For example every couple of hours I had completed a new tower or their targeting, or maybe I made the enemy spawner more dynamic. Now that most of the basic mechanics features of the game are actually done, it feels like we’re making less progress programming-wise. Either way, we’ve definitely gotten further since the last post. Week 3 – A Use For While LoopsThis week I worked on a variety of things, although overall I worked on bug fixes and many other smaller additions to the game. I fixed so that if you sell a block tower if will make that path available again. This is interesting because it was the first time I actually used a while loop except for the game loop in games. The while loop is interesting because it continues until you tell it not to, compared to the for loop which is used frequently to check through lists or the like. I actually used the while loop inside a double for loop, which blew my mind somewhat if I’m to be honest. Last week I described the structure I made for waypoints, so you might see where I’m going with this. When the player sells a block the waypoint manager loops until it finds a waypoint that has a blockedFrom list with an element in it. Once it finds one it casts a linecast through it’s blockFrom list with another loop to the blocked waypoints backwards and repeats this until it finds the block, this is before the block is removed. Then it loops through the paths with a while loop and removes the blocks one by one, using an int to jump through the list from block to block. I also added animations to the enemies, which was something I had somewhat feared from earlier since we had so many problems trying to get it to work with the matching field (we ended up scrapping it and moving/animating them through code completely). Unity’s Animator is somewhat tricky to get a basic understanding of, but once I knew how it worked it was quite easy to use. For every object you want to animate you use an animator, and that itself is used to call the different animation clips that you need to have added to the animator. Last but definitely not the least, we decided to change perspective of the game. From complete top-down 2D we’re changing to an isometric view of the game, meaning that all enemies and towers have to be re-made from scratch. I think this will hit our two artists hard in workload, but we all decided it would be for the best. Not only is it easier to understand and see all the different things on the screen, but it looks better and is also easier to draw. It’s harder to make a top-down enemy look good (and even look like an enemy) than it is to make one from the side. Week 4 – Player Abilities And Why We Have To Re-Design, Or Maybe We Don’tThis section will be more about the design choices of the abilities and how they compare to each other, rather than how I implemented them in code. I intended to make this section a rant about how overpowered Freeze was, but I believe that there are ways to change that without reworking them. What you’re looking at is the current version of Level 4 in our game, with the player having activated the Freeze ability. It freezes all enemies on screen and stops anything from spawning for ten seconds. This sounds sweet and all, and there’s fancy effects for it already, but the problem is that the other abilities aren’t quite up to par. I’ve been working with the abilities concerning the Tower Defense part this week, and I realized that there aren’t many reasons not to choose Freeze. Once we finish the menu system with a world map that I’ve started working on the player will be able to choose one ability to use in the game. At the moment, there are the following ones: Tower Defense:
Match Three:
If you look at the list of abilities you can probably agree that Freeze is the best one. I will start by comparing the other Tower Defense ones and giving my thoughts on each one.
Comparing the Matching abilities is a bit trickier, since they don’t directly affect how well you do in killing enemies. They do however affect the task the player spends the most time on, which is important to keep in mind.
This concludes my thoughts on the abilities for now, and I believe we should have a look at them the coming week and decide if we want to keep them or if we want to swap some of them out for better ones. Freeze being too strong is not necessarily a reason to make it worse, but rather to make the other ones feel better.
Until next time!
|
