Saturday, April 6, 2013

Game mechanics and juicy things...

I've spent the last 4 days play testing Elementz game trying to find out the best balance and while having fun, but after a few hours I felt that it was too slow and too tedious in some places, with matches lasting for about 6 minutes or more, i felt it dragged me too much. Also I got confused in many cases with the icons and the response of the game, I wouldn't say it is not fun to play but after playing myself alone it became clear that lot of small changes are needed to make it faster and have a better pace.

So, I had a about a year ago the great idea that a puzzle game of matching 3 is not enough, and that an evolution of the old match 3 puzzle is the next step, so why there isn't any game that allows you to upgrade each of the matching elements? that was the first idea, so Elementz is based on match or upgrade and match, so the gameplay can be more rewarding, but found that just upgrading is not enough, so I forced also the player to only be able to match 3 of the same level, but since the elements non upgraded and upgraded are very similar and the properties are the same it became confusing for me while playing, what to upgrade, how to group, and how to take advantage, this only small change in the match 3 puzzle make it very hard to play. Anyway today I just tweeked it and I am able to use any upgraded and non upgraded together and that helped save a lot of time and avoided confusion so I think a design issue is fixed, the pace got faster too and I felt I was doing more in less time. To illustrate the issue, the picture below shows two groups one inside the red area and another in blue, both are the same elements but how the player can use them vary a lot after this change, either use 3 or use 5, it doesn't looks like a big difference but when playing it makes a lot of difference when you have many different groups at the same time.

Now coming back to match 3 puzzle style, another simple idea is that usually you put 3 elements together and the game rule is that it should vanish or attack or something else, always 3 together or more and that should be the trigger, well the next idea is also simple but changed greatly the pace and gameplay, I just forced the player to choose what should be triggered, so now i can put together like 10 or 20 elements together and trigger all at the same time for greater effect. Sounds like a good idea but this also slowed the gameplay and since you can only trigger what you want to trigger it means that there is one key thing missing, "combos" that are cascaded when other elements get in groups of 3 or more, that is one of the most rewarding things to see but since I am triggering those groups manually there are no more combos to trigger. So for now, the only thing I could do from design perspective is to create a fever mode, which is triggered by the number of elements used by the player, the more elements used the more points awarded to the player and once you reach a certain limit you enter a fever mode and you get some extra benefits for about 30 seconds. But now the question I have is how to make the gameplay more strategic since I could just spam as many elements as possible without having to upgrade, and I noticed that I was playing after this change without upgrading the elements too much or not doing that at all, just spamming attacks one after another. The interesting thing that came from this experience is that even though I was spamming my AI opponent non stop, I lost to it twice, only because the AI decided that upgrade is better than spamming like I did, this was a very rewarding experience, so I think somehow there is some more strategy involved but I was not able to see it since I played this game for so many days without looking at any other thing, but losing to the AI was the most interesting thing that I had today. Just to show up the idea behind this and some animation made with the animation framework, I just posted a video in my channel.

Monday, April 1, 2013

Animation loops the hard way or is there a better way?

One thing that sometimes seems to be tedious is to make an animation to loop seamlessly without jumps, and all animation packages I saw till today do not provide a way to to do this, the reason can be obvious if you are just making straight animations, but when making games an essential component is to loop for example an idle animation and have each channel behave as expected regardless of the starting frame without having to worry about the start or end of the animation loop, anyway it can start at any frame if you are in a loop and it should look as expected.

Since I couldn't find any reasonable tool for that, I ended up doing it to simplify simple looping tasks, like moving legs, arms, etc... in loops , Check a quick test here. Nothing really revolutionary to see here, but it just broke down a tedious task to the minimum, by only having a keyframe at the beginning and one in the middle the framework takes care of compensating and returning back to the loop properly without having to do it myself manually, and one of the key issues I had for many months when trying to animate simple loops was that all loops had to start at frame 0, and put my keys after, with this solution I just end up putting keyframes at any time and the framework will close the loop without me having to adjust it to look proper. This simple logic actually made me save quite a lot of time at the end, each animation has multiple parts moving and I am not showing up at this stage what the vertex animation holds, so trying to loop seamlessly all the keys and look proper was a tedious task, for example, for one of the characters it took me about 10 hours to make it look right, only because the looping started always at frame 0, ended at the end of the animation length and have so many moving parts that it was really hard to make it look convincing. Now it can easily take me half of that just by using a free mode where loops are calculated by the framework and not by my eyes. I am still wondering why there aren't any tools like that in animation packages, probably because the target audience is not games and just movies, or perhaps I haven't search enough.