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.
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 ;-)
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.
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.
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
> 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.
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.
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 $.
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.
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.
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!)
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
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.
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?
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
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
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
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.
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 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.
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!
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.
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.
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!)
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.
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!