dumbgamelab

joined 3 weeks ago
 

In Critter Park you could let the whole place fill up with litter and the coins kept coming anyway. People playing it figured that out pretty fast

So as of today cleanliness and guest satisfaction multiply snack and ride income, anywhere from x0.5 for a filthy park up to x1.3 for a spotless one. Ingredients cost 10-20 coins per item now instead of a flat 4, and rides went from 3 to 5, so the margins actually mean something

Average engaged time on the phone builds is about 186 seconds a session. Not sure a slow penalty even shows up in that window

Would you punish the messy park at all, or only pay extra for a clean one?

I make it solo, it's free in the browser https://dumbgamelab.com/play/ppijukland/?lang=en

 

That was the number from the age check in my slime sim, the one the ad settings read

Birth year was a scroll list. The top of the list was the most recent years

92.5% of people tapped somewhere near the top and kept going, so almost everyone got filed as a kid and the ads paid kid rates

Switched it to a box where you type the year. Over 13 went to 60%

Nobody got older, they just had to type four digits

I make a slime idle game and the worst-balanced thing in it was a dropdown

Slime sim on Play: https://play.google.com/store/apps/details?id=com.dumbgamelab.slimesimulator&referrer=utm_source%3Dlemmy-ml-incrementalgames%26utm_medium%3Dsocial%26utm_campaign%3Dlemmy-ml-incrementalgames_organic

 

1,016 people opened the browser version of my PC bang game in the last 28 days and the average was about 7 minutes each (413 seconds is the exact number GA gave me). 234 of them were just this past week. It's a Korean internet cafe management thing I made, runs in the tab, no sign up

I honestly don't know if 7 minutes is good or bad for something you can close in one click. How long do you give a browser game with no install before you decide it's worth continuing?

https://qqq1212341.github.io/pcbang-alba-sim/?lang=en

 

Another small game of mine had no sound at all on iPhone in the app version and I only found out because someone finally played it on one. The iOS web view gives back status 0 for local files. My audio loader read status 0 as file not found, so it quietly threw out every sound. Web version was fine the whole time

Fixed that and put a volume slider in settings while I was in there

If you saw One Life: Reborn Simulator here earlier this month, same dev. Birth country rolled from UN 2024 birth stats across 124 countries, no rerolls, free with ads

https://playgama.ai/play/7hersnnnxaqs5l

 

My tower climbing game has a "watch an ad to continue" button and sometimes there's just no fill I had it retrying every few seconds when the inventory was empty. That made it worse, it would not come back

Now from the 3rd failure it waits 60, then 120, 240, 300 seconds, and the button is hidden while it waits. Before that it was a button you tap and nothing happens, which is the worst version The generic no-inventory retry also went from 30 seconds to 10 minutes

Does anyone here running ads in browser games handle no fill some other way, or is backoff just what everyone ends up doing

Same dev as the One Life: Reborn Simulator post from a few days ago, that's the browser one https://dumbgamelab.com/play/one-life/?lang=en

 

so that's how my browser life sim rolls you. 124 countries, odds from the UN 2024 birth numbers, life expectancy from the same table, which means where you land also decides how long you're likely to get

30 jobs, 8 possible titles on the card at the end

https://dumbgamelab.com/play/one-life/?lang=en

free, no account, phone is fine. what job did you end up with

 

1.4% on day 7, from 3,053 players

day 1 is 13.8% so it's not like nobody comes back, they come back once and then most of them are gone by the end of the week. you'd think an idle game would do better at this since checking in is the entire genre

no clue which part to touch first

this is Idle PC Bang, solo project, Korean internet cafe tycoon https://qqq1212341.github.io/pcbang-alba-sim/?lang=e

 

Movement in my little 3v3 top-down shooter felt sluggish so I kept lowering the deceleration, then raising it, then lowering it again

Turns out the virtual joystick ring just stayed where you first touched. If your thumb drifted past the edge the ring didn't move with it, so the direction kept lagging behind your thumb

Made the ring follow the finger and it felt right straight away

The annoying part is I'd already cut the trailer and screenshots and they looked just like the game I was using as reference. Then someone picked up the phone, played for a bit and said it still felt slow. Nobody had actually held both games and played them back to back

same dev as One Life: Reborn Simulator, the browser life sim https://playgama.ai/play/7hersnnnxaqs5l

 

needed one sound for stepping on honey in a tower climbing game i'm making. went looking for a new one 8 times. ripped audio out of 12 videos, slime, mud, that kind of thing, and cut it down to fit. every version got compared against the old honey sound i started with and the old one kept winning. then i tried a CC0 library clip of pudding squelching, didn't edit it at all, and it beat both. 8 rounds of trimming video rips and the answer was a stock pudding sound

most of my time goes to a browser life sim, One Life: Reborn Simulator, if you want to see what i actually ship https://dumbgamelab.com/play/one-life/

 

Spent a while thinking my tower climbing game had a real input bug on Android. The crash collector kept getting "invalid utf16 surrogate input", always two at once

It's emoji. Characters outside the BMP are two UTF-16 units, and Godot's Java text input wrapper sends press/release per unit, so a release gets in between the high and low surrogate and android_input_handler.cpp complains. The presses still combine. The emoji goes in fine

so my busiest "crash" was players putting emoji in their name lol

my fault for treating every engine error line as a crash. it's now just a breadcrumb (last action before a crash) across my 5 Godot games and old build reports are downgraded to lowest severity

edit: the game I'm mostly working on now is a browser life sim, https://playgama.ai/play/7hersnnnxaqs5l

 

It's an internet cafe tycoon game, web stuff wrapped as a phone app

One 4GB iPhone kept killing it. 3 times in one session

The fix was baking a second, lower res copy of the character sprite sheets for devices that had crashed before. Texture memory on those went from 67.9MB to 34.1MB

Both copies ship in the Android bundle too. Download went from 110MB to 142.6MB, so every Android player was about to get +32MB for a crash they never had

I measured memory on the device and didn't check the download size until release day

The size check stopped the Android upload at the very last step and the update is still stuck

I also made One Life: Reborn Simulator, posted it here last week

[–] dumbgamelab@programming.dev 1 points 2 days ago

The logo was sitting right on top of the globe canvas in normal flow. Pulled it out with position: absolute and the next analyzer run just didn't show the memory warning anymore

 

My browser life sim stopped sending crash reports one day and I figured it was just throwing too many errors. Spent a while staring at that.

It wasn't even this game. Another game of mine on the same Cloudflare account had an alarm going off every 5 seconds, and every time it scanned a table with no index. The free read quota (5 million rows) is shared across the whole account, so that one alarm ate all of it and three services went down at once

Two indexes and pruning anything older than 90 days sorted it. Kind of embarrassing how long I looked at the error count when the problem was the quiet thing in the background

The life sim is One Life: Reborn Simulator, I'm the one who made it

[–] dumbgamelab@programming.dev 0 points 3 days ago

There should be, and your run shows there basically isn't one right now. A poor start in Kenya is supposed to keep money tight for years, so the money side is way too generous and that's the first thing I'm fixing

[–] dumbgamelab@programming.dev 0 points 4 days ago

Sort of both. Sound sleeps on a set of reasons: 'ad' goes on at ad start and comes off in the SDK's ad-end callback, and 'app' goes on when the page lifecycle says the tab is hidden. While either one is set, the element and the Web Audio context both stay asleep, so a tab switch mid-ad just adds a second reason and music waits for both to clear On the icon, we resubmitted with only that and GamePix hasn't answered yet, so I don't know if they'll also want "Watch ad" text

[–] dumbgamelab@programming.dev -1 points 5 days ago (2 children)

That freeze was real and it only hit the Playgama build. Our save shim sent each save to the portal's storage, the portal wrote it back to localStorage, and that fired the shim again, forever. Live it triggers the first save, so the tab hung right there

Fixed and re-uploaded today, then tested through Live it on the same link

[–] dumbgamelab@programming.dev 1 points 1 week ago

Getting Over It, the Bennett Foddy one. The guy in the pot is called Diogenes, which somehow makes losing an hour of climbing feel philosophical

[–] dumbgamelab@programming.dev 1 points 1 week ago

Funders wanting a polished vertical slice, or a year of full-time work from the whole team, while Young Suns was still in production is the brutal bit. A 30 person studio can't build two games at once, and Dabbous says they've never had a hit to pay for it

[–] dumbgamelab@programming.dev 1 points 1 week ago

Option 1 behaves closer to Python's setdefault, since it only writes when the key is actually missing. Option 2 calls set_value on every read, which is harmless, but anyone reading a call site later will assume something changed

[–] dumbgamelab@programming.dev 1 points 1 week ago

A denied click, the dull little thud for pressing a greyed-out button or trying to buy something you can't afford. Packs nearly always have confirm and cancel, but players hit the denied case constantly and cancel doesn't sound right there

[–] dumbgamelab@programming.dev 2 points 1 week ago

For the item farming problem you could seed the item roll by section index instead of by generation count. Falling would still reroll the terrain, but section 12 always hands out the same thing, so dropping down ten times just gets you the same pickup ten times and the first one is the only one that counts

[–] dumbgamelab@programming.dev 2 points 1 week ago

Set of reason keys, and the fight only ticks when the set is empty. Each panel adds its own name on open and deletes it in every close path, so if something slips through you end up with one named leftover like "bank" in your error report instead of a bare true

Counters went bad for me in the mental model the moment open could fire twice and close once

[–] dumbgamelab@programming.dev 2 points 2 weeks ago (1 children)

Does the in-car view share the same steering sensitivity as the chase cam? Inside the car the pillars and dash swing across the screen, so the same input tends to feel twitchier, and a lot of driving prototypes end up with a slightly softer steering curve for the cockpit camera only. Might be worth swapping views mid-corner in a playtest to see if it feels like the same car.

view more: next ›