Bearblasting Tools and Dirty Tricks

I'd like to share some of the tools and tricks I used to put together my LD40 Compo entry, Bearhalla.

bearhallaem02/empart_01.gif

Aesprite

https://www.aseprite.org/

I am a lousy pixel artist, but Aesprite provides the utility necessary to make quick animations and push your polish level up just that little bit more. It is perfect for creatures -- pixel symmetry tools let you make interesting shapes quickly, and the frame and layer system in Aesprite lets you create individual parts to move/stretch/skew in order to create motion. For most of us there just isn't time to paint multiple frames of real art, so create a core and use Aesprite's easy peasy interface to put a little bounce and verve into your critters.

bee_anim.gif

Rewired

https://www.assetstore.unity3d.com/en/#!/content/21676

If you're making LD projects in Unity, don't write the same input code every time. Rewired and a little bit of your own scripting as a base will make sure that basic input is handled from the get go AND more players out in the world can enjoy your game. If your game is going for unique input styles, this doesn't apply, but if what you're making needs directional motion and button pushing, get up on an input manager and save yourself some time.

At $45 dollars Rewired might not be in your budget, and it might seem extravagant to pick it up for a weekend jam. But if you build games in Unity with any sort of regularity, this is one of the best investments you can make.

LeanTween

https://assetstore.unity.com/packages/tools/animation/leantween-3595

Super simple method to add some bounce and flavor to your game objects. I use it in the UI to shake and color morph some objects, and I use it in the world to make the powerups fly up off the screen when you grab them. The code is straightforward and often just one line for single effects. Take some time to learn about Easings, I'm so glad I did. http://easings.net/

Leaderboards via Dreamlo

http://dreamlo.com/

Free leaderboards, easy to implement in Unity. I've built a UI wrapper that I can carry from project to project, because a highscore collection doesn't change at its mechanical core. If your game is score based, Leaderboards drive players to give it one more go and have a little more fun. Track time, progress, or just have an online repository for players to store some information -- what could you do with it?

Bearblasting Destructible Terrain

bearhalla_01.gif

I wanted to make sure this time around I had weapons that had a lot of punch. In Bearhalla, even the base weapon has the ability to crack and break walls, high rate-of-fire weapons can really tear things up. How does it work? I was loathe to keep track of individual wall hitpoints and the great number of separate objects that would create. I was also unsure about doing track individual damage -- only creating an object if there's an impact, because the bullet spray all over the place would make lots of these impacts.

So I decided that when a player bullet hits a wall, there's a 1 in 5 chance it cracks, or if cracked it becomes broken. The cracking is a texture change, and breaking is converting it to grass. Simple and easy, and something the player really doesn't notice unless they're trying to minecraft through a large wall section. You lose out on the consistency of a wall breaking pattern, but with stuff flying everywhere it's hardly a problem. I added a Shovel powerup that increases the chance of your shots breaking a wall, eventually you can just tear everything apart with single shots.

Two Tile Terrain Technique

I was inspired by Oryx's Tiny Dungeon tileset: https://www.oryxdesignlab.com/products/tiny-dungeon-tileset He had this excellent idea for environments where everything was one of two tiles: the solid terrain, or a vertical edge.

bearhallemtile/emplacement.png

Walls check the tile beneath them, and water checks the tile above. If the terrain is the same, then the texture stays the solid color block. If the terrain is different, the tile switches to an edge.

This allows you to create large environments with very little art, and allows you to keep code complexity down. Anyone who's messed with tiles even a little bit knows how deep a rabbit hole it can be if you start considering edge cases, transitions, etc etc. The typical Ludum Dare solution is to just use single tiles, or hand craft the environments. Quick systems like this allow you to create dynamic environments that still have shape and form.

Give it a try!

https://ldjam.com/events/ludum-dare/40/bearhalla

Thanks for reading! I'd love to hear your thoughts on my tips above, so please comment! And if you feel like it, give the game a spin and let me know what you think.