Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: DevShop, the Game of Kanban (secretgeek.github.io)
393 points by LeonB on Nov 11, 2019 | hide | past | favorite | 96 comments

Here's a really lightweight game I made, written in vanilla javascript, no frameworks, no graphics (just Emoji).

For 10 years I've been meaning to make this. (It was even mentioned on Hacker News back when I first wrote about it: https://news.ycombinator.com/item?id=967641)

A week or two ago, prompted by an email from a friend, I made this version, very quickly. A few days ago I switched to using TypeScript (but still no frameworks) and found that TypeScript is amazing.

To play the game, you "find a new project" (for $100 of in-game currency), then assign it to your only employee ("the Founder"). Once you've worked on a few projects you can hire staff. A store becomes available where you can buy further skills and items.

It shows you some basic aspects of software development in a bespoke devshop. Interplay between different roles, how self-managing teams operate etc. I've had a blast writing it!

Took me a few tries to get the flow, maybe hiding irrelevant workers (and highlighting the appropriate workers) when you click on a task might help make it slightly more obvious. It's also easy to forget who works on what tasks, maybe organizing those later on might also be worthwhile.

This is a great game, could eventually turn into an "idle clicker" if you so desire. Good job! I'm a fan of vanilla JS solutions.

Also: if you want to preserve some state: localStorage might be the api you want, cookies are a mess.


Great job! How is it take you 10 years to take the step to do it? Any idea about how to overcome that? I question this because I have some ideas but later on I never find the time / motivation to deal with it.

I’ve done a lot of other things in the meantime :), such as putting out profitable projects and books etc.

The original vision for this game was a fully animated iOS game. It only became worth doing when I suddenly had a way to make it ultra-lightweight, no graphics at all.

So my advice is to find the minimum. Less than an Mvp. Halve your idea. Then halve it again.

Thanks for the advice!

Have you made money from your products? How it go? Also are you working full time? Just curious.


I am working full time, and my products make modest profits. I’m also a parent so that’s another full time job right there. ;)

Sounds like a fun serious/educational game. I'll check it out.

There was a list of serious/educational games that I once submitted to HN [1]. Maybe you should contact the author to see if it can be added.

Edit: that was more fun than I expected. At later levels it feels a bit like a grind, but for just for a couple of days of work I find it a fantastic achievement. You kept me hooked for about 25 minutes ;-)

[1] https://news.ycombinator.com/item?id=14661813

To avoid the grind: If you give your people multiple of the self-start skill they will do more work with less clicking on your part. Also observation skill is similar, means they can do multiple in a row without any intervention.

I've seen these skills fire several times, but I'm not sure what the rules are.

Do they self-start any time they could complete an open task? Do they self-start only when there is new work available as soon as they finish?

For the Observation Training, your worker seems to work X tasks in a row when you manually click them to assign a task, where X is their "Observation Training" level.

So that automates their work if you assign it to them manually.

The self-starter training seems to take effect when you've not manually assigned a task to them. They will search for a single task to complete X times in a row, with a slight delay between each task, where X is equal to their "Self-Starter Training" level.

When their tasks are started automatically via this skill, the "Observation training" seems to be ignored.

Will do, thanks

Kudos! I love the simple style and mechanics, I haven't played much but will give it a proper go when I get home.

This was a great time.

I had a story come back with bugs multiple times until I forced the Founder to triage, dev AND test themselves! :D

Incredibly fun game! Thought I would spend maybe 5 minutes checking it out and eventually turned into 30! You should definitely turn this into a mobile game, it can easily pass the time.

Few things:

- It gets really confusing when I have 3 different specializations named Renee

- It makes sense that when you get more team members, you have to scroll to see them, parallels actual work where you can't really give full oversight to large teams

- Because there is an option to get a large team, you should add project managers that can take some team members and auto-perform their work

There are thousands of names... you got very lucky to have so many Renees!

On iOS, btw, if you use “add to homepage” it will act like an app. (Full screen; high res icon)

But my kids want me to make it a proper iOS app with animation.

I must've been lucky two hire two Lydias in a row!

> you should add project managers that can take some team members and auto-perform their work

Though it's not yet implemented[0], it seems that feature is purchasable per person:

> ️Observation Training - When a person finishes a card, train them to look for another card. If trained multiple times, they will look for multiple cards.

0: https://github.com/secretGeek/devShop#walkthrough

I just bought my rockstar 10x tester an office cat, and then accidently hit the home button on my browser instead of exiting the shop. RIP office cat :<

Needs to use local storage to save and restore the game state.

Source code is here by the way: https://github.com/secretGeek/devShop

Fun little game, and I actually quite like the look of it. For something so minimal, it has a nice feel to it.

A couple of thoughts/ideas:

1. It seems like there's not much of an incentive to have more than 3-4 employees. You can just keep stacking upgrades & self-starter or observation training on one of each, and it seems like it works just as well as spreading them out (hiring another employee gives you a small benefit without upgrades, but not much of one, and has a big downside in needing to click more).

2. The distinction between self-starting and observation is confusing (I know others have said it, but I want to repeat that).

3. Workers completing tasks overrides the description for items in the store, which makes it a pain to read.

4. You can't see how many items are in a given swim lane.

5. Not being able to apply upgrades to an employee while they're working on something is a little inconvenient, especially with the little gap that self-starter has.

6. The emoji for the workers made me think I had unhappy workers and I needed to fix them. That was a little frustrating.

Lastly, a big idea that might or might not be fun: there's no penalty for accumulating a big backlog of work (it's not perfectly optimal, because there's opportunity cost, but you still get the payoff). If projects got stale when they piled up in one column, that could be an interesting dynamic.

I agree about having fewer workers stacked with upgrades seems to be the "meta" but I found that the upgrades don't seem to stack linearly. For example, one Dev with 51x mechanical keyboards is not significantly faster than 2x Devs with 1x mech. keyboards each, and costs orders of magnitude more $.

This is a really good list of feedback hyperpape.

Thanks. I actually walked into my office Monday morning a few weeks ago, and told everyone "I've got it! I'm going to make an idle game about running a development team!" so I've spent a little while thinking about various mechanics.

Simple and fun! Nice work :)

Even in its simplicity there are a few similarities (lessons?) with the real-world that I think are worth mentioning:

- Generalists (like the founder) are often useful because they're able to consume different types of work from the backlog as needed (when flow isn't perfect and work piles up in some areas)

- Ideally work doesn't pile up in any area, and it proceeds left to right without any waiting

- But if you don't want work to wait, you'll have people waiting (the aim should never be 100% utilisation)

- Work going backwards (bugs!) is more expensive (time consuming) than doing it right the first time

- Managing all this isn't easy: it's much better when the team can be proactive and do the right things at the right time without supervision/overhead (having everyone on the same page, shared vision, practice, etc)

Thanks for some good fun… and a reminder of all these things.

Cheers Ivan. That’s exactly what I was hoping it would show.

There’s no cross-skilling available at the moment (I want to add this to the store) but that would demonstrate the value of cross-disciplinary team members.

Idea is good, here are a few details that really killed the experience for me (early game at least):

- It is not explicit at which level of each "skill" each character is. i.e. how many self start levels have i bought for founder?

- Item/skill price should only increase per level. i.e. Self starter level 1 should always be a fixed price, then level 2 higher etc...

- income progression is slow... you are stuck back at 1000$ for way too long after projects.

Fun game, good idea. Sorry, couldn't help myself: https://gist.github.com/fridgerator/3c1ef7e5c7d8e0c847079a29...

aaaaand the trainer: https://gist.github.com/romualdr/92f78c79bfa0d3c2f537953f3e7... ( fun game btw, i just love cheating in those kind of games )

Hey man, I saw no PRs at the minute but I wanted to play on the train with save/restore so I knocked out a quick Cordova wrapper.

It’s here; https://github.com/jamescodesthings/devShop-cordova

If you do go commercial and want a hand modifying to get into app stores feel free to reach out and use whatever you see

This is a well made, fun little game. I accidentally sunk 20 minutes or so into it before I realized where the time had gone (just like real scrum meetings!)

Wow, thanks

That's really cool! I think my one complaint is that its unclear how some of the 'self starter' items are operating - sometimes they just sit there with stuff they can be doing on the board

Ah ok. Here’s how it works.

You can give someone multiple self-starters. Say you give someone 3 of them. That means that after they’ve been assigned a task manually (once) they will then go back to their desk and after a little pause, spontaneously go back and look for work to do. They’ll do this 3 times (since they have a self start level of 3). Then they’ll rest until they’re manually assigned to a task again, at which point they’ll again do up to 3 extra tasks. And so on.

There’s no “infinite self starter” item you can buy for them.

What's the difference between "Self Starter" and "Observation Training", then?

Observation means that as soon as they complete a card they immediately look for a card of the same sort.

With self starter there is a delay before they look for it (which can actually be good) and if they have multiple skills they’ll first look for cards to test, then for cards to dev, then for cards to “ba”.

Does Observation chain in to Self Starter, then? For example, if there are 2 dev tasks and 2 test tasks and I assign my founder to test, will he test 1, use observer to go back and do the 2nd, use self starter to pick up the 1st dev task, and then use observer again to finish the 2nd dev task?

No, the order is "Observation", "Self Starter", idle

It doesn’t but it should. I haven’t added that yet.

Oh boy, what till I show this to my team tomorrow in our stand up meeting :-) Being a product owner and using a Kanban board daily, I “lost” half an hour with your game. Nice work and as others have suggested, polish it up and release a game.

A few comments/suggestions if I may (playing on iPad with latest iOS): - include the same icons in the swimlane titles as the ones you have on each resource - ability to rearrange resources - make swimlanes scrollable so that we can see all tasks - add a random timer of sick/vacation unavailability for each resource - resources gain experience/competence with each task they finish

Good suggestions. I’ve added them to my personal backlog. Unfortunately Founder is too busy to do them right this minute.

I have paid $60 for games less fun than this.

If you flesh this out with a bit more content, i think this is an easy $10-20 purchase on steam.

Well done.

But if there isn't more content, its a $4.99 game on steam. And that becomes an impulse purchase vs $10-20, and almost NO additional work!

This is great!

Please hire a dev (lol) to make this a mobile game. Hopefully before someone else steals your idea and releases a shitty clone. (sorry to be a Debbie Downer)

Reminds me of https://en.wikipedia.org/wiki/Game_Dev_Story. If you were able to have people automatically grab tasks that would be awesome (which I see is already on your backlog). I got to level 8, but the clicking quickly got unruly

If you Buy them each multiple of the self start or the observation skill you will need to do a lot less clicking.

Amazing, really loving this! One thing I’d change is that prices keep increasing, a chair should remain the same, keyboard too. No need to have “inflation” on everything. And skills such as self starter should have price per person as levels increase

You should post this to Reddit at /r/incremental_games/ They would love it

Perhaps this isn't even a commentary on the software development lifecycle but I found it interesting as I started playing and advancing that it opened my eyes to parallels between the game and real life.

One thought I'll mention is that at the beginning the founder is of course used for everything and then as time goes on, they are used less. In the game, I wanted to keep the founder free anytime someone else could do the task. In the real world this can lead to a feeling of disconnectedness and atrophy of skills. I didn't play long enough to see if that is truly manifest in the game.

Should have a Cash Out button where you sell to private equity and start over :)

Good idea. Equivalent of Prestige or whatever it was in CoD. Founder notches startups on their belt.

Great work! Maybe extending the keybinding would help with playability? Something like assigning workers to letters for shortcuts. That would make the pairing of tasks to workers more efficient and faster to play. :)

This reminds everyone of some game or another, but ‘spreadsheet’-driven daily grind sims have been around for ages. I've seen similarly minimalistic coder simulators for DOS and Windows 95, however to my knowledge the same-mechanics game with the most ports and clones is Drugwars / Dope Wars: https://en.wikipedia.org/wiki/Drugwars. Personally I was playing it on an olden Palm in the mid-2000s.

I've made a clone of Drugwars previously (called "Handguns and Cigarettes) and I can confirm that the mechanics are not the same. I get the similarities, but there are not many. This is more like a time-management game. I love drugwars, but this is not that, at all.

It's too real, the 'help' button doesn't work.

fixed. it was a rogue z-index. cheers!

It's alluring but then I don't think I've played a Cookie Clicker game that wasn't. I suspect someone could make one about raking faeces and I'd still play it. In fact, there's a sequence in RDR2 where you do exactly that.

I did like this though:

//chance of adding a bug relates to effectiveness of ba, and size of story. (and whether or not they have... a cat)

i got a suggestion for your project. Instead of clicking a team member to make it work on a task, what if you have to manage the size and priorities of the lanes, and the other aspects of your production. the biggest problem that i see now is that you have to do 2 kinds of managment, making people work, and making the flow of work effective. by eliminating the first one you are simulating a little better how a dev shop should work. with this approach your devs would work on the projects based on their priority, but would stop if there too much stuff queued in test, the founder would be finding new projecst only if there's enought capacity for the devs , if not it can concentrate on other tasks. Late projects will cost you money so it doesn't make sense to have them in queue. you could also add that the team member time can cost you money.

Real fun. I spent quite a bit of time and it was really tough to close the browsing window :)

I didn't realize there can be less frantic clicking by using the observer or self-starter skills.

I saved the screenshot before I was done clicking https://imgur.com/erAxNzF

Played a bit, actually pretty fun.

Thanks bitwiser!

Somehow I got a few self starter cards but after one task they disappeared.

As a founder who has operated in all the different roles, this game really illustrates the importance of JIT and continuous flow, which can be very hard to do consistently. Nice work!

good fun. Glad my office keeps the price of coffee the same :P

If the rest of the economy was experiencing hyper inflation as seen in the game, it would extend into your coffee too ;)

Great game!

I cannot press the help button. I can Tab my way to it and hit enter to get to the link, but mouse is not working. Chrome on OS X, no blockers, and no errors in console.

This is awesome, my only suggestion would be the ability to rearrange the order of the employees, or maybe hiring order is part of the strategy :D

This is just too nice. Someone needs to partner up with you and make cute little isometric pixel art graphics for it. I'd pay to play this.

I love it! Reminds me a little of the paperclip game.

It reminds me of paperclips too. I opened it just to check it out. It was so simple that every few clicks I could discover a new few-clicks, and the next thing I know I've been clicking away for a couple of hours.

I’m not familiar with that. Reading about it now cheers. Looks like a “cookie clicker”

The genius of Universal Paperclips [0] is that it teaches you the unintuitive ways that exponential systems work. Things seem to move very slowly, then they explode very very quickly. (Assuming that’s the paper clip game mentioned by GP!)

[0] https://en.wikipedia.org/wiki/Universal_Paperclips

Personally, I enjoy Crusaders of the Lost Idols and have recently taken up Idle Champions of the Forgotten Realms.

A more straight up click based one w/o much of a graphical component would probably be AdVenture Capitalist or the like.

Great game--I think it would a little better if you had to pay each employee a salary, just to give it something of a challenge factor.

damn this is addictive... main problem is how to keep the employees happy..

After $4k in earnings, only Tester is happy..

I could be wrong, but I think they are just emojis-as-icons, I don't think they're related to general happiness.

that's it. Their countenance never changes. Each worker has an avatar that is just one of many icons, randomly selected from an array.

Thanks for this. I spent my evening writing code to automate playing it for me. Lots of fun!

I just want to hire a project manager :)

Great game.

really well-made game for vanilla javascript. I sunk an embarrassing 2 HOURS this morning planning this. Not a particularly productive morning. But the game was quite fun! It made me think about the actual workflow in our own office.

Delightful. Add in some snazzy animations and it'll be downright addicting

I would love to make an iOS version of this in the style of Jira :D

Fun game.

I accidentally bought five cats and then had to take care of them all!

started clicking around and there it went 30 minutes of my time, increasing the lead time of the current task I'm working on. :)

Amazing game! Thanks!

I actually do want "point-free wiki"

Love it - this is really simple and elegant

This is truly excellent. Well done.

The game is incomplete. Store items don't have any effect.

(Developer here) They do have an effect. Click the question mark next to an item to read a description. What have you experienced?

Well, they didn't seem to have an effect, and it says on the help page https://github.com/secretGeek/devShop#walkthrough that they're not implemented.

self-starter only worked once for me. seems like observation training has the same effect but much cheaper?

Self starters only start X times on their own, where X is their self starter level

Too real.

fun game :)

Not “KanBan” but “Kanban” please. One of the few Lean terms where I prefer the Japanese to an English translation

Just a typo sorry. It’s not in the game itself.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact