
Show HN: DevShop, the Game of Kanban - LeonB
https://secretgeek.github.io/devShop/
======
LeonB
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](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!

~~~
mettamage
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](https://news.ycombinator.com/item?id=14661813)

~~~
LeonB
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.

~~~
reificator
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?

~~~
workingpatrick
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.

------
michannne
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
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.

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

------
terom
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.

------
LeonB
Source code is here by the way:
[https://github.com/secretGeek/devShop](https://github.com/secretGeek/devShop)

------
hyperpape
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.

~~~
LeonB
This is a really good list of feedback hyperpape.

~~~
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.

------
ivanmaeder
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
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
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.

------
fridgamarator
Fun game, good idea. Sorry, couldn't help myself:
[https://gist.github.com/fridgerator/3c1ef7e5c7d8e0c847079a29...](https://gist.github.com/fridgerator/3c1ef7e5c7d8e0c847079a29a737cf33)

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

------
jamescodesthing
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](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
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!)

~~~
LeonB
Wow, thanks

------
RugnirViking
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
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.

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

~~~
LeonB
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”.

~~~
kingbirdy
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?

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

------
NKosmatos
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
Good suggestions. I’ve added them to my personal backlog. Unfortunately
Founder is too busy to do them right this minute.

------
kryogen1c
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
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
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
Reminds me of
[https://en.wikipedia.org/wiki/Game_Dev_Story](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
If you Buy them each multiple of the self start or the observation skill you
will need to do a lot less clicking.

------
diegorbaquero
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
You should post this to Reddit at /r/incremental_games/ They would love it

------
mavsman
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
Should have a Cash Out button where you sell to private equity and start over
:)

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

------
dsalaj
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. :)

------
aasasd
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](https://en.wikipedia.org/wiki/Drugwars).
Personally I was playing it on an olden Palm in the mid-2000s.

~~~
LeonB
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.

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

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

------
prawn
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)_

------
dnl_pozzobon
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.

------
gmanis
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](https://imgur.com/erAxNzF)

------
bitwiser
Played a bit, actually pretty fun.

~~~
LeonB
Thanks bitwiser!

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

------
aaronschroeder
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!

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

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

------
Msurrow
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.

------
auto
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

------
jlis
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.

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

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

~~~
edraferi
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](https://en.wikipedia.org/wiki/Universal_Paperclips)

~~~
jsgo
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.

------
joi_de_vivre
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.

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

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

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

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

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

------
Svoka
I just want to hire a project manager :)

Great game.

------
tajstar
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.

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

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

------
caitlinface
Fun game.

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

------
fatterypt
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!

------
platz
I actually do want "point-free wiki"

------
binarysolo
Love it - this is really simple and elegant

------
mkohlmyr
This is truly excellent. Well done.

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

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

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

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

------
halbritt
Too real.

------
plexiglass
fun game :)

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

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

