/boom

WIP platforming game

Primary LanguageLua

Boom nade

Boom?

Hi, quigley-c here with quick intro to our little project :)

Boom is an open-source platformer codeandkey and myself began with the goal of creating an open-world platforming game. Our goal is to deliver an experience focused on exploration and movement, complete with a centralizing mechanic and a compact design that also provides an entertaining experience.

There are a lot of inspirations for this project. The first and most obvious are the Metroid games. Both of us played a lot of Metroid Zero Mission, Metroid Prime, and Metroid Fusion as kids and we love the genre to this day. I personally played a ton of the original Metroid and Super Metroid, both of which helped me understand some of the ideas behind metroidvania design. I also have a deep love for Yacht Club's Shovel Knight as a prime example of Old School Done Right.

This isn't our first attempt at a game like this, and it probably won't be the last. We've worked on many demos and side-projects over the years and this one just happens to be the longest running of the bunch. While both codeandkey and I develop these projects for fun, I truly hope that one day we will be able to reach people with our games. Until then, this is quigley-c signing off.

Peace, Love, and Much Caffeine,

-- Carson

HTML Documentation

The documentation can be viewed by opening index.html inside doc with your favorite web browser.

If for some reason you can't view the doc you can compile it yourself. To compole the documentation you'll need to install ldoc and compile with the build script. If you don't have luarocks you can install it on most linux distributions with apt. Once luarocks has been installed you can install ldoc.

apt install luarocks

luarocks install ldoc

Quickstart

Before running the game you'll need to install the Love2d engine. Love is available on the official repositories for most linux distributions. If you need help or don't know how to install love2d for your system you can check out the Love2d website. Most linux distributions can install love with the command:

apt install love

love2d website (for windows users)

Boom.

Boom can be run either by executing the boom executable

./boom

or by running the command

love src

from the root directory.

Boom. Maps.

To design maps for Boom you will need to get the Tiled map editor. In the src/object_types directory you will find Boom's object types that can be used in the editor.

Some useful object types:

  • player is the player spawn point.
  • npc is a passive non-player-character.
  • load_trigger will prompt the player to transition to another map
    • interactable makes the trigger usable by the player
    • destination points to another map
    • entry_point points to the load trigger the other map
  • background draws a background with optional parallax movement.
    • parallax_x denotes the horizontal parallax factor. Higher values will make motion slower. 1 will lock the background to the camera.
    • parallax_y denotes the vertical parllax factor.
  • nade, explosion, and gib are types used at runtime and should not be placed in the map.

Boom. Physics.

Boom uses Love2d's builtin physics engine, Box2D.

Boom. Devs.