Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles

Tiny Thor

A topic by joemanaco created Mar 18, 2018 Views: 335 Replies: 6
Viewing posts 1 to 6

Tiny Thor is a retro inspired action platformer with a unique hammer-throwing gameplay mechanic, pixel art by Henk Nieborg and music by Chris Huelsbeck.

I'm already working on this game on- and off for many years (all started with a Ludum Dare Jam). I will try post a small update every week, but to get things started this is what happened the last two weeks.

Switch to 16:9 aspect ratio

Until now we've designed all levels around a 4:3 aspect ratio. 16:9 is a much more common aspect ratio on modern displays and we wanted to switch to 16:9 for quite some time, but we were also aware that this will cause some problems.

The main problem is that as we use pixel art we don't want to make the art blurry by scaling it up. To avoid this, we can only scale up with integers (2,3,4,...), but we also don’t want to introduce any black borders.

However, with these two requirements in mind we are only able to use either 320x180 or 640x360 as native resolution. Those will scale up well on 720p and also on 1080p. Before the transition we've used 320x240 and designed all our levels, mechanics and bosses around that resolution.

The first option of 320x180 didn't work well, because the vertical size of the viewport was way to tall. Especially now with a new charged hammer mechanic (more on that later) where the size of the viewport actually matters A LOT to the gameplay.

The second option of 640x360 had the opposite problem. Although the game works nicely with it and looks beautiful, the viewport feels just way too big. The game is losing it's retro vibe quite a lot. It would also mean a lot of changes to the level design.And the current, narrow boss arenas would not work at all anymore. 

So in the end we've decided to keep the vertical size of 240 pixels which was also a common resolution on popular 8Bit and 16Bit consoles. It scales up very nicely to 720p (3x). The problem now is that it doesn't scale up well to 1080p. So our solution is to scale it up 4x times. And then with that input we scale it up again by 1.3333333334. This will introduce a little bit of blurriness around the edges, but it's very hard to figure it out (Shovel Knight for example used the same or very similar approach I think). We've also added some options that people who prefer the original pixel art in all it's beauty can disable this last step in the games options.

Mushrooms

We tweaked the mushrooms that are acting as trampolines. First of all we have removed that the player is able to modulate the jump height whether he holds the jump button down or not. In play tests we've figured out that it's quite unintuitive and it felt much better just without it. We also added the ability to rotate the mushrooms by 45 and 90 degrees which enables us to create some exciting fast-paced sections where the player is pushed around the level in zig-zag paths which is a lot of fun.

We're currently also talking about the idea, if the Mushrooms should also work as some kind of "charging pads" for the hammer to give some extra boost to it.

Trigger Zones

Using trigger zones we are now able to spawn enemies (indeed: any game object) when the player hits a predefined (invisible) box. The original intention for that feature wa that enemies are able to attack the player from both sides at the same time. But suddenly we realised that we can do much more with it, like spawning objects when the player backtracks a given area or even enemy patterns that change or start when a player hits given zone.

One example that benefits a lot from the spawning system are the statues. These were static enemies that now have a spawn animation where they rise from the ground in a dramatic fashion, ambushing the player.

Checkpoints

We finally implemented Checkpoints. We didn't want them in the game since the beginning, but as the levels are getting bigger and bigger, with lots of areas to explore for the player, it was very frustrating when the player died near the end and has to start over.

Before the checkpoint system we felt very limited with the difficulty curve of an individual level. Very hard passages right before the exit of a 10 minute level felt very punishing if you failed, but you kind of expect a climax before the end. Now, as a level can be divided into chucks, we have much better control over pacing, difficulty and tension.

Improved Charged Hammer

During the last weeks we played around a lot with different mechanics and ideas for the charged hammer the player can throw. And this week we finally reached a design that is genuinely fun and shows a lot of potential for enemy and leveldesign.

The player can now throw the hammer without it losing any speed or it being affected by gravity. This seemingly simple change resulted in the hammer bouncing through the level as if we're playing breakout.

This mechanic feels so awesome, powerful and satisfying because you can do lots of very cool, bouncy skillshots. You can even throw your hammer, watch him destroying enemies in one part of the screen while you fighting some enemies on the ground at the same time.

 

New Wall Jump

The wall jump of the game had some flaws we addressed now. One problem was that the player was not only able to jump up opposite walls but also single-sided walls as much as he wanted to. This was a problem with level design as we always had to take care of it. And for example put spikes on them so the player isn't able to skip sections or something like that. Now the player is pushed away much wider when he executes a wall jump which besides fixing our main problems has some other nice benefits as well. The player is now able to use the wall jump to jump off much wider, which combined with the double jump makes for some very wide jumps which can be used to do some nice level design or secret passages. The flow of it is also much, much better because the player can move or change direction much faster.

Swinging ropes tweaked

Last but not least we tweaked the swinging ropes. One thing that was important was to have greater control over their timings/angles in the editor, so that more intricate sections can be built. Another change we made was that the player gains more momentum from the swinging rope, allowing him to make wider jumps and we tweaked that values a lot so it felt less random and the player has better control over it.

The Hive

The hive is a new enemy type that is constantly spawning small bees that are buzzing around and attacking the player if he comes closer. They are the only enemy type for now that can fly through walls - which makes them quite dangerous for the player, because his attacks cannot reach them until they close in.

They can swarm the player but Thor can destroy hordes of them with one single well aimed throw (which feels very satisfying).

The hive itself has multiple hitpoints and will replenish destroyed swarm bees. The player has to push through and eliminate the hive to overcome this encounter.

During the development we played around a lot with different values: Move rate, aggressiveness, spawn rate and spawn cap. It seems the engine is robust enough to handle … experimental numbers :P

The Guard

This enemy is carrying a shield in front of him. As he is always facing towards the player, Tiny Thor is not able to attack him directly, but rather has to employ trick shots and clever positioning to hit him in the back, where he is vulnerable.

The enemy also launches a shockwave every now and then that will follow the ground and forces the player to jump to dodge it. To do an aimed throw with the hammer the player has to stand still, so there’s only a small window to get the shot off.

The wave following the level geometry also counters Thors newfound ability to kill enemies safely from behind a corner with the charged throw.

We don't have a visual concept for this enemy yet - so if you have any ideas please let us know. Have a look how it works:

Snakes

Our Snakes now have the ability to do a dash attack at the player when he is in reach:

 

Spikey Ball

The spikey ball is a nice variation of our rope (which is usually used by the player to swing around the levels): At the end of the rope we put a big spikey ball on it. You'd better avoid it if you don't want to die :-)

The spikey ball came to be by changing a platforming tool of little Thor into a threat by attaching the namesake to the end of our swinging ropes. This thing now flails around in our levels, forcing Thor to dodge it in more interesting ways than our other environmental threats (falling spikes, etc.).

Besides that we also worked on the design of the first levels again to introduce the new features and also establish a better game flow to get the player hooked sooner into the game.

(2 edits)

Here is our latest progress update on Tiny Thor:

Charged Hammer: Energy
This week we found the final piece to the puzzle of Thor’s new toy. As shown in previous updates Tiny Thor has two different hammer attacks. A simple, fast one for enemies close by, that lets the hammer fly like a boomerang and the charged attack, that requires the player to hold the fire button down to aim into any direction. On release Tiny will throw the hammer and it will bounce off of enemies and walls.

While this is a very intriguing mechanic it also invalidates enemies in certain level passages as the player can just kill them from around the corner without putting himself in the line of danger.

To address this problem we redesigned some enemies to counter Thors new-found powers (like the guard in the previous week). While this alleviates the issue, we needed something that solves it and we found just that in an energy mechanic.

The charged hammer now drains energy while flying and automatically returns to the player when the pool is emptied. The player now has to manage this resource.

The energy of the hammer refills when it hits enemies or destroyable blocks. This is true for both attack types, so if the player is out of energy, he can just fight a few enemies to refill the bar. Or if he plans his charged shots carefully he can hit enemies multiple times and the hammer refills itself even while flying.

This results in a very nice game flow because the player has to constantly switch between clever trick shots and intense close combats.

Here is an example how it can be used, to destroy dozens of enemies at once while the hammer is refueling itself:

Here is another example, but the distance between the hits is getting too far, so finally the hammer ran out of energy:


When out of energy, the player can attack the enemies with regular attacks to refill it:

Another benefit of this resource is that we can now tie other systems to it. Previously red gems were just rare score objects (three in each level, often hidden behind secrets or tough platforming). Now each one of them will add an extra point to the energy pool of the hammer. Now exploration will be rewarded mechanically, enabling the player to do more awesome shots.

Mushrooms...
Steffen (one of our two Game- and Level-Designers) requested a feature that he can rotate the mushrooms (basically jump pads) freely in all eight directions. He created lots of cool passages with the new set, like this one for example:

...and Secrets
He also reworked / improved the level design of the first world to go along with the new charged hammer and level elements (and will continue with this the coming week):



He also ensured that there are always small hints of some sort for the numerous secrets we have in the game. So if you watch carefully the player should be able to identify them.

Here are some small branches looking through the rocks. Following them will guide Tiny Thor to a red gem.

Hmmm... this mushroom doesn't make much sense, right? Wrong!

It’s raining snakes! Tiny probably should have a closer look, after he defeated them:

Besides small bug fixes we did speed up the games respawn sequence so hard passages feel less frustrating and get you right into the action again.

As Chris and Fabian are working like crazy on the Music, I've also implemented a small Debug Audio Menu where we can switch between the different Music Tracks / Ideas and feel them in game. We really love the first drafts Chris composed for Tiny Thor and can't wait to share them with you :)

The Spitting Plant

This week we worked on the redesign of the spitting plant.

The spitting plant is an stationary enemy. First it is shooting salves of bullets which makes it very difficult and sometimes impossible for the player to pass. But luckily, Tiny has his mighty hammer he can use to shut the plant up. Afterwards he has a short timespan before the plant spits out the hammer again and restarts firing bullets.

Besides that we have 8 different rotated variations of the plant. They have slightly different bullet patterns as well - but we're still tweaking those patterns right now.

When we carefuly place them the plants can throw Tiny's Hammer around to each other. We also have some interessting things and small puzzles in mind we can build with them.

Steffen worked like crazy on new levels that are very fun to play. They still need playtesting and some tweaking but I think we're on a very good direction.

So, thanks for reading and I wish you happy easter to all of you.

This week our biggest task was to work on tweaking and polishing the aiming mechanic further as well as implementing the gamepad controls.

The aiming has now a very slightly acceleration component which enables the player to aim more precisely. For the gamepad we tried different controls, and for now this is the final scheme we came up with:



The most part should be very obvious. To aim and throw the hammer, the player has two possibilities. First, he can press and hold the "Throw Hammer" Button. The aiming preview appears on the screen and by pressing left/right on the DPAD or the left analogue stick the player can rotate freely.

This works exactly as on the keyboard. But with a gamepad it's also possible to just use the right analogue stick, which immediately opens the aiming preview. By pressing the right analogue shoulder button the player can throw the hammer. If you release the analogue stick you can cancel your shot.

This is quite an advantage when playing with the gamepad over the keyboard. Because of that we had endless discussions if we should allow this or not. Of course we'd love to offer the same player experience for keyboard and gamepad players.

We also discussed switchung to a WASD/Mouse Control Scheme on Deskop PCs, but I don't think it fits the retro vibe of the game well. So - at least for now - we decided against this solution and we even tweaked the keyboard aiming more so the gap between keyboard and gamepad isn't too big.

But we would love to hear your opinion on this topic.

Those GIFs are looking great!  I'm getting a "Hocus Pocus" vibe from them in a good way, don't know if you ever played that old DOS game.

Personally, I'd optimize the game for whatever control scheme you feel best suits it.  It doesn't make sense to sacrifice fun just because PCs can have multiple control schemes --- there are plenty of games out there that say "controller recommended" or "mouse/keyboard recommended."

Yes, good point. 

I've played a free version of Hocus Pocus back then I guess. There were quite some great MS DOS back then. Loved Comander Keen myself :)

NPCs and new player animation

First of all I'm sorry that I didn't post updates the last two weeks, I got knocked out by a bad case of the flu. However, this week I felt better and resumed working on Tiny Thor.

Besidest lots of small polishing tasks (smoother aiming, screen shaking for stampers) and minor bug fixes, this is what happened in the last weeks.

Our protagonist got a makeover! We've implemented the new player sprite (156 glorious frames, and it will be even more in the end because we will add some custom animations/outfits later on). It was a lot of work, but Henk did an outstanding job on the animation, again.



Henk also updated all the NPCs (now fully animated) and I already implemented them while Steffen made them speak the first draft of our games story.

 

Another important piece of the game is sliding into place: The music! Chris and Fabian already sent the ingame tracks for the first three worlds over to me, and they are on the verge of finalising those tracks. The music reminds me of Chris' early Amiga works with a more modern sound. I'm listening to those tracks all the day right now :-) As soon as the tracks are finalised we will prepare some short snippets for you to listen to.

 

Steffen also redesigned the first world of levels with the new combat design in mind.

 

They still have some rough edges gameplay wise and some look like construction sites, but we’re happy that they provide more engaging gameplay now. Next up are the two boss fights of the first world!