top | item 21504023

Show HN: DevShop, the Game of Kanban

393 points| LeonB | 6 years ago |secretgeek.github.io | reply

96 comments

order
[+] LeonB|6 years ago|reply
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!

[+] giancarlostoro|6 years ago|reply
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.

https://developer.mozilla.org/en-US/docs/Web/API/Window/loca...

[+] kuu|6 years ago|reply
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.
[+] mettamage|6 years ago|reply
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

[+] tomgp|6 years ago|reply
Kudos! I love the simple style and mechanics, I haven't played much but will give it a proper go when I get home.
[+] ef9|6 years ago|reply
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

[+] michannne|6 years ago|reply
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

[+] LeonB|6 years ago|reply
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.

[+] behindsight|6 years ago|reply
> 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

[+] terom|6 years ago|reply
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.

[+] hyperpape|6 years ago|reply
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.

[+] workingpatrick|6 years ago|reply
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 $.
[+] LeonB|6 years ago|reply
This is a really good list of feedback hyperpape.
[+] ivanmaeder|6 years ago|reply
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.

[+] LeonB|6 years ago|reply
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.

[+] glaberficken|6 years ago|reply
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.

[+] jamescodesthing|6 years ago|reply
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

[+] kingbirdy|6 years ago|reply
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!)
[+] RugnirViking|6 years ago|reply
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
[+] LeonB|6 years ago|reply
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.

[+] NKosmatos|6 years ago|reply
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

[+] LeonB|6 years ago|reply
Good suggestions. I’ve added them to my personal backlog. Unfortunately Founder is too busy to do them right this minute.
[+] kryogen1c|6 years ago|reply
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.

[+] jermaustin1|6 years ago|reply
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!
[+] bloopernova|6 years ago|reply
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)

[+] JamesQuigley|6 years ago|reply
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
[+] LeonB|6 years ago|reply
If you Buy them each multiple of the self start or the observation skill you will need to do a lot less clicking.
[+] diegorbaquero|6 years ago|reply
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
[+] mr-ron|6 years ago|reply
You should post this to Reddit at /r/incremental_games/ They would love it
[+] mavsman|6 years ago|reply
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.

[+] jugg1es|6 years ago|reply
Should have a Cash Out button where you sell to private equity and start over :)
[+] prawn|6 years ago|reply
Good idea. Equivalent of Prestige or whatever it was in CoD. Founder notches startups on their belt.
[+] dsalaj|6 years ago|reply
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. :)