AboutBoneyard was made in several months during the university application process to study "Game Design". For this applicants where required to create something fitting to the theme "Deal". My idea was to incorporate that theme into the gameplay: The player is forced to give up on some of his health in order to defeat enemies.
GameplayApart from the main idea I wanted to add some elements that would compliment the core mechanic well, instead of just adding features. The first step for this was to create unique enemy types that have distinct movement patterns. I ended up with zombies that just walk in a straight line at constant speed, slimes that hop at set intervals and eyes that float in a more or less random directions to the player.
After the core gameplay was done, I decided to add more features. During gameplay you may find yourself with very few bones, so instead of shooting it is wise to first pick up all of your ammunition. So to make it more fun to gather bones while avoiding enemies I added two additional movement abilities. The first is a regular double jump (with variable height). The second one actually has multiple applications and can even be combined with the jump. By holding down the player will duck. Now if the player just holds down and moves he has a smaller hitbox at the cost of moving slowly. If he chooses to duck while running or jumping though, he can keep some of his momentum while being very small and possibily sliding underneath enemies (see the 3. gif on the right). EngineBoneyard was made in Pico8. It is a fantasy console build around emulating an imaginary console that has never existed. This means two big things: you are very restricted in color, code and sound. However it also gives every game made using it a very unique touch. It also forces you to use color more selectively and being able to instantly test your game after changing code, sprites or sounds is very effective.
BalancingThe mechanic of shooting your own health seemed impossible to implement in a fun way at first. I went through many iterations, such as having more, or very few bones in total, or bones staying on the ground until the player walks over them with enough space.
In the end i settled with is a system with enough bones to kill exactly 3 enemyies. They also each drop 3 bones back on their death (most of the time), meaning you don't usually gain many bones and thus can't just horde them in a place. They can also be collected while you don't have any empty space, effectively deleting them. You also only lose one HP each time you are hit (with the bone vanishing). Another option might have been to scatter some bones on the ground to be recollected, like in a Sonic game. Walls were also surprisingly unbalanced. I ended up having to take them out completely, as the game was just too easy if you stood in a corner. Another trick to keep the player moving and not camping was to have a combo system that rewards players that have long chains with more points. PostmortemThis is perhaps the project I have worked on for the longest yet, which I think shows in the amount of polish and plain fun. During the development I learned a lot about gamefeel and player feedback, such as screen shake, screen freeze, flickering and knock back.
But still there are many things I'd like to have done differently. For projects of similar size I will definitely try to use another engine from now on. Pico8 is very fun for small prototypes, but I didn't have even one line of code left for a 4th enemy. On the right side is also some kind of "shader" that would have made sprites be effected by shadows, but it just didn't fit into the final product. I'd also like to work more on sound design. |