Notifications
Article
Golem
Updated 5 years ago
1.2 K
4
2D Action/Adventure Platformer - Demonstration of SpriteShape and Anima2D
Update - 12/15/18 - Updated preview on itch.io
Update - 12/13/18 - SpriteShape backgrounds
Update - 12/11/18 - Transitions between animation states and animation events
Update - 12/5/18 - AI with Anima2D

About

Hello, thanks for checking out my game! I am a Computer Science major, and I decided to make a game for my senior project. I started this my sophomore year, not really knowing what it would turn into. As I was tinkering around, I realized that I could make something a lot more involved than I had originally intended. I delved into ancient Jewish lore regarding stone or clay golems, and found some really fascinating stuff, so I decided to base the game around that. The main character is a small golem who embarks on a journey, learning about his ancient ancestors and meeting incredible creatures. According to tradition, golems have a fire burning within them, and so the game uses a fire mechanic for weapons and interactions.

Unity SpriteShape

I used SpriteShape to efficiently create dynamic and smooth ground. The game is a 2D side-scrolling platformer and up to this point has over 200 sprites and 3800 lines of code.
Play a small preview of the environment with the link below (NOTE: This preview is not the full game. It is only the main character and some graphics from the game. Also, this doesn't seem to work as well on Microsoft Edge.)
https://golemgames.itch.io/golem-environment-preview - (WASD to move, click to shoot)
Art assets, planning, and coding by John Paul Depew - Some coding help from Sebastian Lague and Brackeys

Preview

Process

Fading between ground types with SpriteShape

I created two sprites for different ground types, two for the fill texture, and two to fade between the ground types.
Finally I arranged the sprites to enhance my scene. Below is a screenshot showing the art assets I created along with a Sprite Shape Controller in edit mode:

Backgrounds and Blurring

I was able to easily create some nice backgrounds with SpriteShape.
In order to create the blur effect, I made a few different sprites with varying levels of blurriness, and then used multiple SpriteShape controllers.

Below are a few screenshots from Gimp2.10 which give an idea of the processes and layers that went into creating the main tree and large stone creature.

Anima2D

I've also been using Anima2D for some of the animations. It was particularly useful when I was creating the ranged-attack enemy below. This enemy has four states: follow, throw, step back while throwing, and retreat. These states are based off distance from the player.
Unity animation has a built in event feature which enable an animation to call a function at a certain frame. I used this to throw the rock at the correct time and play the footstep sound.