Posts for: #Love2D

Clay Damage Calculation

Damage System in Clay Bang

I’ve been reviewing the existing damage system in Clay-Bang. For roguelikes, all enemies must have health, ergo these clays have health. In real life, your aim depends on how the pigeon will break. If you clipped it on the edge, that means you hit the nose. And then there’s the more satisfying shot, hitting it in the middle completely vaporizes the clay and your aim was dead on. This is my approach to simulate those kind of shots.

[Read more]

Changing the cursor and adding sound effects to Clay-Bang

Adding some feedback mechanisms to the game

Clay bang has been getting pretty fun. I started managing states to pause the game to make it feel more like a game. Something I’ve been wanting to do for a while is changing the cursor to a crosshair and adding a muzzle sound while clicking.

I downloaded an open source muzzle sound and created my crosshair using my ipad. I wanted to make the muzzle modular so I’m loading it in a seperate file.

[Read more]

Loading backgrounds into Love2D

Bye Bye Black screen!

I’ve been shooting some clays on clay-bang and it’s starting to look a little lifeless. Just shooting clays on a black screen, all of them with dreams and they yearn to be flown on an open range. Well, let’s change that by adding a background image. I want to keep a pixelated look to the game so it had to be pixel art. There are different tools like piskel but I have an iPad just gathering dust since college. What if I used Procreate to make it?

[Read more]

Clay Bang Physics Troubleshooting

Oh for the love of Clay-Bang Physics

When I initially thought of making the clays fly in my game, I thought of using lines with randomized curves and making the pigeons fly along the line.

Once I finally got to making it, Love2D has a very extensive physics engine which is a port of Box2D so I thought “What if we use physics instead?”

I believe that once humans have a complete understanding of physics, we can be the masters of our own universe. I also believe that with enough physics calculations, I can be the master of clay-bang’s universe. Maybe once I finish this game I’ll set my sights to dark matter research, but for now, I’ll master projectile motion.

[Read more]

Time to add buttons to Clay-Bang

It is time to add some menu functionality to Clay Bang. I had followed a previous tutorial creating some buttons and running them in main.lua

pretty meh

This is good, but I want these to be centered. These are my three buttons in menu.lua. They will help with state management too.

self.buttons = {
  {text = "Start Game", x = 100, y = 100, width = 200, height = 50, action = function() State = "play" end},
  {text = "Settings", x = 100, y = 200, width = 200, height = 50, action = function() State = "SettingsMenu" end},
  {text = "Quit", x = 100, y = 400, width = 200, height = 50, action = function() love.event.quit() end},
}

In games, you are able to resize your window to different resolutions. How am I supposed to click if I only have a 30x30 monitor?

[Read more]