Made changes as per J+M’s feedback and sent it back to them and Jim felt like it was ‘there’. I also tweeted an image of the About dialog and that got almost 200 favourites in about 4 hours, which I read as an endorsement of the sentiment and tone. I’m so eager for this project to be done at this point that those two things have me pretty convinced that I’ll just release the project on Wednesday and try to send it to press tomorrow. As such I’ll probably whip up my press kit this evening and tomorrow morning and that will be that.
It’s entirely possible I could do more and better with it, but it’s gone on long enough and I have other plans and thoughts for games based around user interfaces (in fact I’m thinking of basing a funding application on it this funding season to see what happens). Better to make and release and make something else that continue to try to perfect this specific idea. I think it does its job at this point.
Jim and Mary sent feedback on the game a couple of days ago and I’ve got enough headspace to look at them this weekend. I’ll make some notes of what seem to be the key issues - as well as what I might do to address them.
Game generates a sense of panic. This is a bit problematic given that my vision for this was that it was to be an experience of efficacy. But on the other hand nothing bad happens, so perhaps a heightened sense of work is not actually the end of the world here. Essentially Jim said it was too fast - not a sense that you could enjoy what was happening as it happened. A little unclear how I can adjust this successfully? Can certainly make dialogs come up less often? Maybe make the larger documents easier to complete and have actual down time? Mary suggested it was a representation of present day work conditions of constant interruption and multi-tasking… which I guess is fair to the extent it’s meant to make you feel like you’re working, so that’s not a bad thing - in that sense a slight feeling of being harried would actually be the feeling you wanted to evoke, because that’s what gives you a sense of being needed…
Should be able to resume work. Jim noticed that when you go to break and come back your in-progress work isn’t there, so I need to fix that for sure. I’d actually thought of this in bed one night, so it’s good to have it re-raised.
Did have a feeling of accomplishment. Being promoted registered as an actual feeling. I could probably make it slightly less frequent though? Unsure about that.
Work time too short. Interesting that this came up given I was very concerned about them being too long. I guess I’ve been in a hurry to have people at least see the break time thing, but really they’ll see that that can happen if they try to play the game pre-break, so I could afford to have work time be longer.
Ranks maybe too satirical. Mary felt the ranking system seemed too obviously a joke and thus maybe condescending. How can they seem more serious? I guess lessen the superlatives and focus in maybe on a kind of progression after all. Probably don’t need such frequent promotions either if it’s being serious - something to strive towards. Could also raise the distance between promotions - but could also increase the ‘value’ of work you do at the same time?
Possible promotion bug. Mary suggested she was getting promoted even if she did nothing! Will have to look into it.
I’ll write back to them with responses to their feedback, but that’s definitely helped me clarify a couple of important elements on the game in my mind now I think? Especially the idea of embracing the idea that the game is at least a bit stressful - it’s also possible to return to the idea that it increased in intensity with promotions to reflect the idea that you’re getting better and taking on more responsibility so that the promotions actually mean something? CEO, Input Division as the ultimate title or something? Input Executive? Heh.
Okay, well I think the feedback has helped to crystalise a couple of things.
Last night I finally got together a build of the game that I could send to Jim and Mary, so I sent it to them. No word as yet on their reaction, but I’ll of course be interested to see. Main things I’m ‘worried’ about, in the sense that I’m not really sure about them are
Timing. Not clear how to nail down a good sense of productivity without feeling stressed out or like you have to move super fast - but then also wanting the player to be able to appear to be super super productive. The fact that I’ve limited the number of little work boxes showing up helps with that - if you ignore them you won’t end up with more and could focus on your larger work blocks. There’s a kind of implication with the ‘typing’ oriented ones (the document and the email) that you should type as fast as humanly possibly? Which is strenuous… but on the other hand typing super fast is probably another signifier of ‘I’m definitely getting work done!’, so maybe that’s okay as well…
Fuck ups. Obviously there will be plenty of fuck ups around in the code. I need to find and destroy them.
Texts. As I use the thing I’m less and less positive that the text appearing in the document and email ought to be that kind of extreme positivity? I’d kind of like a tracery grammar that leverages Kazemi’s technology list so that it looks more like tech speak stuff rather than some of the overly specific inspirational stuff? Maybe somehow a combination? Like positivity about technology? You can X and Y! … ?
Hmm. So I guess the big thing right now is that I feel much less emotionally connected to the game (kind of sick of it), and also that I’m not totally, totally sure what the emotional trajectory is meant to be for the player either… how are they meant to feel while they play? I mean, it’s meant to be a tool for them to use, rather than a totally shaped experience, but obviously when someone encounters it in this universe they’re more likely to treat it as a game and thus something to win.
Possibly a ‘solution’ to this might actually to be to add another icon to the desktop which is an ‘about’ you can read that is ‘in character’ and explaining the service provided by the software? And this reminds me I need the login dialog to look a little less bullshit. (Did that… it’s not much less bullshit, but it’s simple.)
Okay. Well those are my thoughts for now. I think I’ll wait until I hear from J+M before I really do much more on the game and in my dreams it’s basically done.
The game is really getting there at this point. I’ve got two longer term tasks - documents and emails - implemented now and they look appropriately funny I think. Then beneath that we have the desktop with three options. And on top of it we have random work dialogs (that now have ‘technical language’ as their default) and inspirational images. I dropped the data entry one since it requires too much CSS, too much thinking for the user, and strays too far from the textual basis of the whole thing.
I’m kind of wondering now whether the automatically typed text ought to be the inspirational stuff I have now or more technical language like the rest of it? There’s something funny about all the inspirational stuff, but maybe it would look and feel more like “work” if you were just typing random tech shit? Or may it’s still funnier to read the inspirational stuff while you type, so it kind of cheers you up. Both are viable.
I’m realising as I type this that the horrible megatask of making a game of breakout appear is still needed to be done and that could be quite a task. Other than that the big thing remaining is just the question of promotions and feedback on actions beyond the audio stuff… not a huge deal, but still have to think of something to do for it.
Walking to the OBX BBQ yesterday had the idea of longer-term tasks you could be doing during the game as a way to get out of it ‘just’ being a relentless stream of dialogs, but also to avoid the situation if/when I slow them down of just kind of sitting there with nothing to do.
So with that in mind thought you could have:
The nice thing there is that you have something to do all the time that’s not and doesn’t feel time sensitive, and it can be interrupted by the other things which you can quickly dismiss (in a pleasantly work-y way) before coming back to it. Partly realised this idea when I was trying to fill in an input-style dialog and realised that every time a new popup came up it would steal focus, making the input one kind of suck to fill in. But if that was a longer term task then it would actually be useful because you’d always have something to do.
Conceivably these could even be further icons on the desktop that you could call up - but suspect it’s more likely that you ought to just be assigned them though. Could be funny if, when you save them, they appear on the desktop as little icons of files. The documents and data-entry anyway.
Also while I was thinking about this just now and writing my diary I started wondering whether it even makes sense to bother with having demotions/warnings/being fired if the objective is to keep people happy? Quite possibly it doesn’t make sense at all. Rather it should all be positive. Though it’s possible it’d be funny to still generate a little message saying why you got a dialog box wrong and how we should all strive to work as hard as we can…
So those are some thoughts.
I’m at a point with the game suddenly where it’s looking more and more like a real thing and the code is, simultaneously, becoming more and more unmanageable and gross.
Now have the ability (if not entire implementation) to do a basic sequence of login, desktop comes up, work/inspirational dialogs come up repeatedly.
Big remaining tasks are: implementing breaks (including a little version of breakout I guess in phaser that will target a div inside a dialog box? That might be a little hairy but I think is technically possible), implementing the actual stream of work and timing for breaks, icons for changing the desktop picture and playing breakout, music, the language and ui consequences of evaluation. HMMM.
So those are some pretty big things. The most intimidating is the evaluation stuff I suppose.
Oh my god can I just tell you that I finally disabled autocomplete inside markdown and text files and it is just such a goddamn relief.
Anyway, I had a conversation with Rilla last night about the meta-interface/narrative/aesthetic of this game and she felt like the background needed more life than it currently has. Her thought was to make it look something like my.concordia for example, with a bunch of links to subsections and sub-applications, none of which would actually be functional.
My reaction to that is/was that it’s probably true it needs ‘something more’ than just the stream of dialogs, but that I’m concerned if I have totally non-functional stuff in the back it conflicts with that message of calm and competent work that the game sort of meant to be providing to the player. So with that in mind who/what is that player story in this:
… 2017-06-13 19:47 …
Later on I actually get around to this (also after a conversation with Jonathan over lunch). So, the player:
Is a person who lives in the near future of fully automated work and a living wage. They have no obligations day to day, but they remember the concept of working and the idea that having a job and doing work (on a computer) gave them value in society. They want to continue to have that feeling, but there’s nothing for them to actually do, so this game “It is as if you were doing work” exists to allow them to have that feeling - the semblance of doing work without the actual productivity.
In my discussion with Jonathan about the issue of the background element and the meta-interface a couple of ideas came up:
A question arises particularly without salary of how you indicate each individual success (and whether you actually should, given that it’s meant to look like work… maybe it should be blank… though I think the shaking box is good for indicating failure.) Should a separate dialog box come up for every completed dialog box with a little assessment like “Good job!” and you click Okay to dismiss that one? Quite funny to have yet more dialog boxes reporting on your success with the dialog boxes…
Hehehehe.
I’ve now implemented the evaluation mode where the correctness of a dialog box is decided by the accumulation of all possible steps (including clicking the right button to dismiss it). (Actually I haven’t quite got the final final decision, but I might as well have, it’s easy enough.)
So we now have a thing where it can populate a dialog box with random UI elements (eight different types) and instructions on how to complete the dialog box and the dialog box can tell if you’ve correctly handled the instruction. It would also be able to tell, if you wanted it to, how you were incorrect (and there’s a possibility for Tracery-generated warnings/advisories based on what you messed up).
The next step is the outer structure of generating dialog boxes over time and reflecting your successes/failures in terms of your annual salary and position, promotions/demotions as they occur, possibly bonuses (rather than incremental salary upgrades?), and perhaps warnings and advice offered based on screw-ups. And then also including things like sound and plausibly visual effects like shake on failure so that you know you didn’t complete a dialog box properly…
… quickly went away and implemented the shake which I think is nice.
So there’s a bunch of larger stuff to do basically. But the basic underpinnings of the project now actually work.
Yesterday’s thoughts were perhaps a little underwhelming. But okay here we are, what do we have now?
Next up we need
So basically I need to work out how to make correct decisions (each element can know itself) and how to indicate that.
Later that day.
I’ve implemented a bunch of stuff to be able to generate correct answers to elements and generally to be able to check them as you change them, but in fact as I get to things like date pickers and sliders it’s becoming a bit more obvious that one should really only check the result after the final click of the button, which requires a different structure.
Basically I’ll need to collect up all the elements in a single dialog and then check if they’re all satisfied on the button click.
One, two, three.
Time to think about about the overall structure of the game (though much of that is taken care of below), and the strategy for actually implementing it specifically, so that I can move forward and eventually get this thing done.
So as we know, the rough idea of the game in standard browser at this point is a kind of desktop simulator with a menu bar at the top, some icons to drag around, and many dialog boxes popping up all the time.
Question: Do we actually want the top level menu and the icon dragging? One advantage is that they create two more layer of interaction and things like the icon dragging can then be obfuscated by the dialogs on the screen, which is a potential positive. Further it might be possible/interesting to allow the user non-game actions like opening an image file, say, or even a folder if I could be bothered (probably not although I guess a folder is just a dialog with no buttons and some number of ‘files’ inside it? Whoa.).
Answer: I think a key thing here is probably to build the game without the top menu and icon dragging in favour of only dealing with the dialogs popping up and their various requirements. Then depending on enthusiasm I could add in the other stuff too.
Question: How will points/success be indicated?
Answer: Possibly your salary should be listed somewhere on the screen - probably at the top in a menu-bar style space. “Current position: Intern Salary: $0.00”. As salary goes up per dialog handled, your position goes up too (and is announced via another dialog box).
Question: How do we determine what the user has to do for any given dialog box (it will depend on the element represented), and how do we track whether or not they have done it?
Answer: In terms of tracking…
Answer: In terms of determining what needs to be done in a given dialog, that’s more complex. It seems like it can be generated with the dialog, given only the dialog needs to track it (unless we created interdependencies, like only click OK when there are three dialogs on the screen, for example!, some of these would be checkable without creating too much drama). Will need to determine the kinds of parameters that influence correctness, here’s a first attempt:
Answer: The ‘correct action’ itself could be obfuscated in language and time and even visually
Answer: In terms of generating a specific requirement for a dialog, that requires an amount of task generation (e.g. radiobuttons+3rd correct+click cancel when done, progressbar+click OK when done, …) so need a kind of taxonomy of what makes a dialog correct, and what makes subelements correct - and that taxonomy needs to be combined but also needs to translate both into human-readable task text and into code generating the dialog that behaves that way. Each element probably needs a label so that it can be referred to in the text. (‘any’ and ‘none’ should be potential options for some of the things… like ‘don’t select a date, then press OK’). Could conceivably use Tracery to generate a grammar that represents these things as sets of symbols, and then have some engine that translates from the symbols to instructions? This could get really complex… but any approach will be?
So it’s certainly possible to have a little language thing that generates a specific outcome for a specific UI element. The dialog box itself is a separate case that is used to check the requirements on close (e.g. closed with the right button, at the right time, in the right place, with the right sub-conditions)
Then there’s the extra question of whether you want more complex presentation language that just “select options one and two for the curry checkbox”. One thing is just to hide this stuff in a language text so it’s less obvious.
Question: How hard is this meant to be? Is the idea to just be continuously effective and to appear to be working, or is it meant to be like a game with challenges? The former is more in the spirit of Bejewel and Candy Crush, the later more in the spirit of an actual game.
Answer: The former kind of makes more sense? In which case we’d be talking about not overcomplicating the instructions and tasks. Steps in the dialog box could literally just be a list of instructions… “1. Select ‘hair’”, 2. Click ‘close’. It’s simpler and probably gets the point across.
Pitched it to Rilla and she agrees. So the language translation problem becomes a lot simpler: you just generate the requirements per step in the dialog box and then literally state them to the player. Okay. In this context it’s p… well I was going to say it would make sense to have the desktop stuff too, but perhaps not. Nor the menu at the top. Just dialogs. Or at least, get it working and see how successful it is. And for now not even time pressure (beyond the time pressure of the quantity of dialogs).
Okay: Looks like we’re ready to move forward.
Just made a Windows-esque version of the UI in response to a key issue I thought about while in NZ, which is that the actual aesthetic approach I was using before (specifically the very minimalist graphical style and the ‘alien language’) were heavily influencing how I was able to think about the project. And most notably they were hugely detracting from being able to think of it in a humorous or comical way, which was in turn kind of killing the emotional tone and making it hard to work. And not just that, but because it was looking quite mysterious and stylish, it was pulling away from the original idea of a person pretending to work - it didn’t look like work so much as the controls for an alien starship or something. Which is itself work, but in a different kind of ‘narrative context’ or something.
By mimicking an old-school GUI / WIMP thing, it feels much lighter and I think that’s a better approach for letting the experience come out.
The other thing I’m thinking about just this instant is the question of how ‘gameplay’ should flow…
Well, see the ol’ notebook for more thoughts on this because I did a bunch of notebookery at Le Melbourne to try to figure out What’s Going On with the game. And came to a number of pretty satisfactory conclusions I think. But the basic conclusions were:
Key next steps:
Discussion with DART 450:
I’m back in the directory containing this game thinking about whatever it is I’m meant to be thinking about when I’m meant to be working on this game. Since the last time I actually though about this I started and finished SNAKISMS, v r 3, and Let’s Play: Ancient Greek Punishment: CPU Edition! So it’s kind of been a while.
The game still seems like a good idea, but re-reading my notes I feel like I’m still a bit lost in terms of what it actually is, what the idea is, and as usual I think the probably solution to this is to come up with the simplest possible version of what’s potentially interesting about the project.
To the extent this is a kind of sequel to It is as if you were playing chess then really the message is: clicking on user interface elements is a game. You get told what to do and you do it. ‘Select the first checkbox and press ok’ kind of tasks. Or possibly even the freedom to set the elements as you wish. Maybe there’s always an OKAY button. Maybe there’s always a quit option. Maybe there are points that are ‘work units’?
But the simplest thing is: one ui element, one action, one set of points, and move on to the next. In some ways there’s a purity to that that could conceivably be better than the idea of complicating it with multi-element layouts? But the multi-element layouts do have a kind of appeal.
There’s a question of language - interfaces have texts. Could just use emoji or ‘censored’ unicode block elements.
█▉▊▋▌▍▎▕▖▗▘▙▚▛▜▝▞▟▔▀▁▂▃▄▅▆▇░▒▓
Totally plausible to generate an imagined ‘language’ out of these elements. Could even be referred to in the instructions? 30 elements there already… if you remove the shaded blocks you get something kind of nice? Like
“▕▔▙▞▚▃▙█▄▜▍▘▁▀▚▕▁▜▜▅▊▝▁▟▖▜▆▁▀▀▛▕▊▃▊▖▂▊▘▌▁▀▊▅▄▘▂▌▃▍▃█▞▊█▞▊▅▀▍▄▋▎▜▘▚▆▅▃▉▚▎▋▙▛▄▄▃█▌▞▃▕▊▀▉▂▋▄▞ ▔▅▁▋▄▜▄▋▎”
That’s a 50 character phrase including spaces. I kind of like that as a possibility?
Maybe the language of the game could be this language and thus you can get things right or wrong? Or is that a distraction really from the notion of ‘doing work’? It’s perhaps a little overly rhetorical. But still plausible to label elements with this ‘language’ and have instructions be in english - e.g. ‘type 140 characters into the text box and press ‘▃█▞’… though looking at it maybe even the alie… no maybe that will work. I have to mock it up. Fuck.
Okay so here’s the minimal case:
Each ‘level’ is a single element (or as much of an element as one needs for it to make sense - e.g. multiple radio buttons), an instruction (e.g. select ‘▃█▞’ and press ‘█▃█’), and that’s it. You get a work unit each time. Or possibly you don’t get a work unit? And there’s the question of getting it ‘wrong’ and whether that’s desirable. HMHMHMHMHMHMHM shit. Why is this confusing me so much?
WWwwwweeelllll at the very least let’s make the ‘single element version’ and we can score/no score abstract/no abstract based on that. OH KAY?
…
Alright well I create the barest minimum thing - two radio buttons and a button. It looks very daunting. Next thing is I guess to generate some text with instructions. Which may make it look a little less hideously daunting in terms of what it is.
Candidate naming:
Extra thought: If it were part of the “It is as if you were” series then I could theme the jQuery UI CSS to resemble the same kind of abstracted setup I imagine, which could look really cool actually.
Feeling irked with jQuery UI. Have added a button (easy). Then battling with radio selectors, which are displaying a little strangely and pissing me off. The point of using jQuery UI is to have nicer (“nicer”?) styling for everything, so it’s kind of an ass-pain to have it not working properly and actually just not even recreating the default look that’s meant to be there according to the jQuery UI website.
So grr. Other than that it’s comparatively easy to just put these things in - I don’t think it would be especially difficult to at least get the elements in there and to construct them dynamically… though I have to think about how you determine whether they’ve done the right thing (or sequence of things?). And I have to think about how much I care about specific layouts…
Got the CSS working better… it seems like the default theme online just has really fucking ugly settings. Which is annoying, but I’d have ended up with a custom theme anyway so no particularly big deal.
Next step is probably writing code to more easily dynamically generate a particular UI element (including random numbers of checkboxes and stuff I suppose) and throw it onto the screen.
And then to give thought to how to track what the “correct” (set of) action(s) isare fucking English.
Okay? Okay.
It’s been a while since I paid attention to this, and for now what I want to do is just list the plausible activities that one could be taking in this scenario. Perhaps with a mind toward how it might be implemented in jQuery specifically…
(This is no longer intended to be a narrative version of the game, it’s just straight up playing UI games as the first approach to the concept - while knowing it can of course be a much larger project.)
So possible actions are:
Along with individual actions it’s obvious that you could also start to group multiple elements both to make it harder to find an individual element to select/manipulate OR to allow for the possibility of following multiple instructions in the interface
[Weird aside: could the game actually present you with the story of The Machine Stops via these UI elements as a way to “read” it? Or could this be a separate very strange version of the game?]
So the basic task would be to conquer jQuery’s widgets and then have code that can arbitrarily create an interface along with a specific (known and recognisable) task to perform with it. The base case being to just add a single UI element and give a single instruction for its use. And then working up from there to this idea of multiple elements, multiple tabs of elements, and so on.
So first task: make a thing that can randomly place any of the jQuery UI widgets on the screen. Then make it so that it knows if you did the “right” thing.
A game made entirely of small (WarioWare-esque) activities from our daily life of using computers. So, for instance, you might be challenged to drag a folder into the trash, or move a slider to a specific setting.
There’s a question of what this is actually about. One option is pure WarioWare style madness where there’s a heavy time limit and you succeed or fail rapidly. Another is that it’s more of a time trial where a clock runs up and you’re trying to be “good” at using the UI rather than pass/fail. In some ways I prefer that. It’s also something that could be put into tension if I pursued a more narrative concept of the game.
A narrative twist? One twist would be to incorporate narrative into the texts and imagery in the game, so that over time it becomes apparent it’s also a story. That could be pretty fun in terms of me getting to do some storytelling, but it would obviously massively complicate how the game would be able to work in terms of randomising things, the order of presentation, how you determine where the player is in the story, etc. And would the narrative be linear or generated or suggestive or? What? Importantly, you could tie the UI actions as metaphors for content in the story and vice versa…
A pre-existing narrative twist? One way to lighten the storytelling burden would be to use something in the public domain and translate it into this new format. Kafka for example? Moby Dick for example? It would be possible to find something really interesting and would enable me to dig into some literature which could be a lot of fun. Having just played through The Shining now I love what I did in terms of those connections between mechanics and (visual) aesthetics. Speaking of which, it would also be possible to adapt a movie, but that could run into mega copyright issues, so a textual narrative probably makes more sense.
A decay twist? I liked the ending of Get X Avoid Y and I’d be interested to work with that idea of entropy/decay in the game itself again. The idea that over time different levels/tasks could overlay each other, become impossible, be offset, lots of potential variations that could do that. Of course in the narrative twist that would have to actually mean something.
A comedy twist? Rather than playing the UI work completely vanilla it would be possible to (perhaps over time) have elements that are stranger than they are straightforward. A progress bar where you just wait for it to finish. A set of sliders that interact and make it difficult to get the settings you’re told to reach. A button that runs away from the cursor and has to be pinned in a corner (or something).
A meta twist? It would be possible to have meta UI elements. E.g. the game could take place in a UI window that could be closed, exposing a different interface for you to explore.
The question of whether this could be the Humble Original Could it? The idea is for a 20-30 minute experience if limited replay (e.g. anything I make). Can this particular idea about interfaces sustain that amount of time? John mentioned the idea of a “TV episode” in that context of length, but it could be funny to treat it as a TV episode in some ways - fade outs, advertising, …
How do my other games sustain time? The Shining has a set sequence that you play through to get to the end and probably takes about… well I checked, about 7 minutes. Other games with some length are, I suppose, the various 3D games in terms of exploration time, Art Game with its art production time, Epic Sax Game, perhaps, due to its skill component, …
What would it take for this UI game to be Humble Original?
You could add skill elements - e.g. you actually can’t advance until you attain a particular speed/proficiency/accuracy with the UI actions - i.e. it could have levels you get through.
A sufficiently long/detailed linear narrative - e.g. if the story is long enough and engaging enough that it needs to be told over a long enough time, then you have a game of the “correct” length, even if it means repeating certain challenges. This would point more toward the game being linear in terms of its narrative element though (which would make my life easier - not totally clear that generative narrative is something I want or need to branch into?). [Note that this still fits the WarioWare concept in a way, those tend to be linked together with (admittedly trivial) narrative elements.]
A sufficiently sophisticated generative narrative - e.g. if I committed to the idea of UI work as metaphor for other narrative actions it would be possible to, say, implement a Proppian storytelling system where the different actions/events are represented as UI actions and where the story elements are generated through something like Tracery, making it more of a replayable narrative game. Pretty weird though…