Ludum Dare 54 Game Jam: Day 1
Ludum Dare Day 1
Ludum Dare 54 started today about 9 hours ago. The theme for this game jam is “Limited Space.”
For those who aren't aware, Ludum Dare is one of the biggest game jams in the world. Developers make games from scratch in a weekend! Check it out here: https://ldjam.com
My concept is managing a bar with limited space behind the bar. The main mechanic moves the workers who need to serve the patrons like a jigsaw puzzle. This means there is only one open tile, and you need to shuffle workers around to get each one to where it needs to go.
Hopefully it is fun, not frustrating!
I didn't feel great today, so I knew I wouldn't get started as soon as the game jam was announced.
So I laid down on the couch to watch the STL Cardinals game, with a notepad handy to jot down any ideas, and between innings, I read through some comments in different game dev Discords, of other developers discussing ideas for the jams.
There was actually a very similar theme for the first Ludum Dare jam I participated in: Running out of Space. I remember playing an entry I really enjoyed, well, I think a lot of people enjoyed it, where you ran valet and had to park cars quickly, with penalties if you bumped any of them, with the parking area quickly running out of space!
I loved the simplicity of it - as in, it is kind of a realistic situation. I have worked for hotels in the past and seen how crazy valet lots get on days of big events. One thing led to another, and I thought how crowded it looks behind some bars, but experienced bartenders are able to weave through the chaos.
So I started writing down notes and expanding on ideas. I made some progress and started planning out the game on paper. When I realized the Cardinals were losing 14-2 and it wasn't even the end of the 4th inning, I figured I might as well grap my laptop.
Day 1 Progress
Enough storytelling. Let's cut to the chase.
I'll share the progress after day 1. I actually have the project exported and posted below. This is in no way means I think it is like a playable state. Since most people who see this are probably other developers, I figured it could be interesting to see what it looks like at different stages in the development.
You will definitely need an explanation, as there is so much to do. Art has not been worked on at all. I hope the art will help everything be more intuitive, like a customer holding cash in the air to show they are ready to pay. Right now, I threw on some ugly text to keep track of states.
Each worker has a specific role. I hope to play up a bit of a comedic aspect of this, but it also simplifies everything, both for me, the developer, and the player. If a worker only has one role, I can have them automatically perform that role whenever they have the opportunity.å
Here are the workers and what they do, or steps they need to do:
- Cashier: Blue Square. Will take money from customers. Will drop money off at cash register
- Tapper: Green Square. Job is to pour (root) beer, ha. Will pick up a clean mug when empty handed. Will pour a beer when holding an empty mug. Will give beer to the customer, if customer already paid.
- Barback: Pink Square. Job is to cleanup. There is no text to show it, but after a customer leaves the spot is marked dirty. When the barback comes across an empty spot they will pick up the empty mug. When having an empty mug at the sink, they will wash it. When having the (now) clean mug they will put it back with the clean mugs.
There are four tiles, and right now, each one has a separate purpose. I made little icons, but I doubt anyone but me will be able to decipher that:
- Top Left: Beer tap. Where empty mugs are filled up.
- Top Right: Clean mugs. Clean mugs gotta be stored somewhere. This is where the Barback will return mugs after cleaning and the Tapper will need to get them from.
- Bottom Left: Cash Register. This is where the cashier will need to return the cash. I have a bit of logic added to prepare for credit cards or open tabs, but that seems unnecessary to implement at this stage.
- Bottom Right: Sink. Where the Barback will wash dirty mugs to make them clean again.
Controls/Movement: Simply tap or click on a worker that is adjacent to the vacant space to move them. Just like a jigsaw puzzle!
When a worker arrives at a spot, they will check if there is a task they can do!
Note: Since they only check when arrive, you will often need to move workers back and forth to trigger that check. Like if you pour a beer and want to give it to the customer at the same tile. I want to fix this, but I also plan to add in timers, as most tasks won't be instant. I'll take care of those together.
Right now, it seems a bit tedious to me, ha! That's fine, though. There is still work to do!
Also, this is supposed to be the intro level. Additional levels will be bigger with more workers, so it won't just be a little merry-go-round.
Day 2 Plans
I really want to focus on the art first tomorrow.
I'm actually pretty happy that this prototype is pretty functional. It is basically level 1, and I feel that everything is pretty scalable to add more tiles and workers.
Not only am I worried about having enough time to get the art done, I feel like it will make or break it. Games of this nature are always kind of tedious, but when the animations make it feel satisfying to complete tasks, it can feel pretty chill and rewarding.
I have a bunch of random ideas written down during the brainstorming - upgrades, placing equipment where you want - but I think I'll just have to take stock of everything once I know how much time I have remaining after finishing the art.
Final Thoughts (for the night)
I'm happy with my progress and happy that I decided to participate at all. I am worried about time and scope, but I hope that sharing this post will guilt me into not abandoning the jam if things look rough.
Lastly, I'll leave you with a couple of screenshots of how I planned out the flow and states, which made implementing the logic very quick and organized. It is probably almost impossible to read my writing, but again, maybe a few other developers could benefit from it somehow.