Beans meet Business
Design and operate a coffee shop, in a game a little like Prison Architect / Game Corp DX.
Pre-Alpha Devlog snippet: This game has been on the back burner for a while, I just wrapped up /updated the save system. and changed some of the balancing...
Let me know about any bugs/Unexpected Errors so I can patch them in the next update. Thanks!
By the way, the save system uses your clipboard data So it may prompt you about that.
Status | On hold |
Platforms | HTML5 |
Rating | Rated 4.7 out of 5 stars (3 total ratings) |
Author | JackPrograms |
Genre | Simulation, Strategy |
Tags | 2D, City Builder, Management, Singleplayer, Tycoon |
Average session | About a half-hour |
Languages | English |
Inputs | Keyboard, Mouse |
Development log
- 1.0.3 PatchNov 27, 2023
- 1.0.2 PatchDec 28, 2022
- 1.0.1 PatchDec 23, 2022
- Launch DevlogDec 22, 2022
Comments
Log in with itch.io to leave a comment.
Money numbers need to be fixed
also needs rotate
What is the problem with money numbers?
(Also, Press R to rotate.)
I think it would be nice to have wall blocks that would be just 1x1 squares
Pretty cool, but all I'm doing doesn't seem to be working out at all. My second total amount of money was $24.23, and when the coffee shop closed my total has slumped to $19.20. Is there anything that I missed for some reason? :(
And I only had enough money to place down 1 register, 2 tables, and 4 chairs.
The sidebar has some sliders that affect how much money you get per customer, how many customers you will get, and how fast you can process them, changing these values can hello optimize & grow your coffee shop, just know that not all of these strategies will scale with time.
As promised, setting popularity to a perfect 1000 creates a scenario in which there is no delay in customer spawns. The result is a human serpent that brings my poor chromebook down to <20 fps with some external browser lag as well. Personally, I'm impressed it runs so well with that many entities and unoptimized javascript behind it. Their pathfinding becomes somewhat more clear as you watch the chaos unfold, but all the chairs on the map aren't enough to satisfy them.
- There are some interesting caps with how the people wait in line. As many as the can will occupy a chair at a time, and the remainder should line up behind them. However, at very high populations, there is a cap on how many will attempt to share a seat, and the line has breaks in it. The people are all still in a line, but they have some preset idea about how many may occupy each segment and generate splits with empty space accordingly.
- By overloading the entities, I was also able to get them to enter the 4th dimension and walk through my tables with no respect for the laws of physics. Here is a screenshot of the mess I made https://imgpile.com/i/d1uvG2.
Did you write this entire thing in plain javascript?
A good bit of the code is in plain javascript. Though I outsourced pathfinding to an external library for efficiency's sake.
Bug Report #4:
Say goodbye to save file security... I have too much free time on my hands so I thought I would hunt for some edge cases, and a quick trip to cyberchef ensured I never needed to actually play this game again, so here you are.
- Years are stored internally as integers, but are displayed as characters. A year value of 2 displays as 2022. A year value of 30 displays as 2030(which presumably redraws the second 2 in 2020. This is defeated by -30, which displays as 20-30. When the year count goes up, it simply receives the old ++, and may still display incorrectly.This is also true for days, day -2 displays as 0-2, but on the end day check, if the number is found to be negative, it is automatically reset to 0 and counts normally.
- Currency displays unhelpfully as forcefully rounded scientific notation at very high values(Which could happen in the normal game).
- On multiple occasions of stress testing values that you claimed affected # of customers per day to very high values(expecting high customer yields), the game just stopped trying and only spawned the starting customer for the entire day cycle.(Problematic for normal users if they spam start day and close early enough)
- You can artificially load corrupted registers where the customer can be served from a non-intended tile(Just calculate it ingame, that's two basic addition calls more)
The files weren't, meant to be super secure, they were primarily meant to be densely filled with saved info and be shorter.
Javascript isn't type-safe, (meaning numbers and strings are somewhat interchangeable) so years have a type change isn't a big deal.
I'll work on better Currency displays for higher values for the next patch.
Popularity is based on an inverse formula (not sure if that's the right term). But it looks something like:
timeBetweenCustomers = 1000-populatarty
So very high numbers may be an issue. I'll rework this down the line.
Personally, I think purposely corrupted saved files are less of an issue & kinda fun to abuse in other games, so this is probably gonna be left in the code unless I get extra time.
Also, let me just say thank you for helping bug test my game. I'll send a patch out with some fixes tonight.
Bug Report #3:
People wait politely to use chairs, then as soon as one person is done, if no other chairs are available they all converge like a group of middle schoolers playing a high-stakes game of musical chairs on the available seat, and are perfectly content sharing it, while a new line builds up. While this behaviour is weird, it isn't groundbreaking. In some edge cases, perhaps due to the approach angle, the people pay no heed to their fellows and sit on each other without a pretense of a line. I achieved this by placing the workstation in the top left and the chair in the bottom right, but I've gotten it to happen with some irregularity along the wall edges. It's a functionally graphical bug, but a bug nonetheless.
Yeah, I saw this a little while bug testing, but I think forcing people to prevent people from waiting will make this occur less because you will either have more chairs, or fewer customers. Both ways will help prevent this down the road.
Need full screen - that Sh*t on the right side is in the way.
I'll work on it, but It will take some time because of how I made the UI, for now: you can zoom in and out with browser zoom to move it out of the way.
Hi, nice game you have here. It would be interesting to know exactly what influences the # of customers per day, as I failed to myself. Regardless, it was still a really fun waste of time. Please keep making these games, we need more developers like you in the world. Are there any drawbacks to maxing the coffee quality value?
Note: You can exploit workers for their labor by cranking their stats up before the day, but dropping them back down at the end of the day before they collect their paycheck, paying them only minimum wage for their doctorates degree in coffee making and customer service.
Alright, Thanks for the bug report. About # of customers per day that value grows over time as your coffee shop becomes older, but staff niceness & coffee quality/price have an effect too.
I'll send out an update for labor pricing tomorrow, or later tonight.
Edit: fixed list to be correct.
New bug for you to handle today. When placing an object out of bounds, so that the grey preview becomes red, the game should prevent you from placing it. This is true enough for the table and chair, but not the register. Since you start with $1250 and the register costs $650, you can accidentally softlock by placing the only register you can buy out of bounds. The register will not place(It presumably disappears into the black lagoon), but you will be charged by the capitalistic furniture company for the delivery and non-return of the product regardless. You cannot purchase another and the customer and worker become stuck on the top left tile even if you push "start day". The worker will now lie back and calmly part you of your remaining funding as you pass out the days.
As a new question, exactly how are the tables and chairs meant to work? A customer will go sit in a chair for a time if available, and will stand around awkwardly if not. Does the chair need to be attached to a table? Do the customers even care internally if you make them all share a single chair in the middle of the room?
Edit: That worker slouch who I refuse to pay won't take your money without a workstation, oddly enough.
I'll work on fixing the register glitch. As for the tables and chairs, they don't need to be placed next to each other, and there's no real bonus for putting them together (yet). They will also queue while waiting for chairs. My goal is to punish players who make players wait for chairs/registers & players who lack tables by lowing popularity, though this hasn't been implemented.
Yet another amazing game! Also, I like that it's referred to as a "Work of Art". There is an issue with the fact that some of the things like "View all by JackPrograms" and stuff block some buttons in the game, but I guess there's not much you can do about that.
Edit: I also found a bug where you can adjust the speed throughout the day, so you can have them be super fast but set it to minimum right before the day ends. You might be able to fix this by assigning a wage per second based on the settings and increase the day's costs over time. Not sure if I explained that well or not, but it's basically just a normal per hour wage.
I'll try to see what I can do with moving buttons around to move out of the way of itch.io's UI, for now, you can zoom in and out using chrome/firefoxes features to move that UI out of the way. About the labor pricing error, I'll send out a patch for that tomorrow, or later tonight.
Alright, thanks!