Twenty ways to think about a snake! Is it an alarmist?! A nudist?! A conformist?! Crossing tasks off its checklist!? Or just doing the twist!? You get the gist!
SNAKISTS is a direct sequel to SNAKISMS. I thought it would be pretty fun to take on the variations challenge with Snake one more time. The world of ists is a weirder and less philosophical world than the isms, and so are the games. Heist, typist, ... onanist. You know you want to.
SNAKISTS was created using Phaser 3.
Timeline
Ists
Well, it begins. What am I doing? I'm avoiding working on other projects like a "game poem" and also the next step along the way of the It is as if projects. I'm doing that by making a sequel to SNAKISMS called SNAKISTS which allows me to do another suite of these stupid things with a slightly different flavour. Don't know what that flavour is yet... for now I literally thought it would be fun to use IST instead of ISM as the sequel indicator.
Let me list a bunch of ISTS and worry about them later:
(Taking these from a scrabble dictionary because it's what I found)
- nudist (default?)
- purist (default?)
- agist
- exist
- mist (fog of war)
- fist (boxing? snake as punch?)
- heist (robbing a bank?)
- assist (helping another snake?)
- sadist (surely?)
- tubist (tuba music and rhythm on tick)
- egoist
- insist
- typist
- artist
- cubist
- jurist
- atheist
- chemist
- dentist
- fascist
- lookist??
- narcicist
- onanist
- animist
- duelist
- elitist
- persist
- baptist
- guitarist
- dadaist
- diarist
- egotist
- entwist
- florist
- ...
That's to the end of the 7-letter words anyway.
One thing that I find fun here is that unlike ISM, the IST ends up with a bunch of words that are not about philosophical positions because IST is just a more common suffix (e.g. persist), and you also end up with kind of quite negative words (agist, fascist)... these are less abstract and more forceful? Maybe they're harder or easier to turn into snakes?
As I wrote stuff down I confess I usually had no fucking idea of what to do for them, so let's not get too excited. But still this is at least a funny experiment for now.
- Took the codebase from Let's Snake: Ancient Greek Punishment and cleared out the irrelevant stuff
- Created NUDISSST and immediately felt like it does work - in that I made the snake pink
- But now I realize the NUDIST could be the one that's just normal snake hehe. Though I also thought of PURIST for that... so I dunno...
- Anyway we've made a start and it's always nice to reuse code right?
- Became clear after yester's journaling that I need a separate file to store the list of ists and my reactions to them
- That in turn led me to create a further document where I can explore the design ideas behind the ists I'm actually considering. This is mostly quality of life stuff in terms of finding information.
- Also just an experiment with not loading every design thinking task into the journal where it's hard to look up, and this is a project that's very "fragmented" in the sense of a whole bunch of distinct ideas
- Remembering to put in a screenshot!
- As I remembered that I figured I might as well have a visual history file, so let's see if that works out? The idea being to create a representative image per commit... I like it in principle, worth a go
- Just going through the lists my friend, and writing down what comes to mind
- This kind of design exercise is such a question of how to avoid too much ridiculous shoe-horning.. making sure that they feel like the work and aren't basically arbitrary... that people will have that little tick of pleasure as they get it and move along...
- Obviously a lot of candidates won't make it because they are terrible
- It's notable how many of the candidates are not ists in the sense of isms; almost like the whole game could be that. But it's a word length thing where the ismists are more likely to be longer words eh?
- There is some funny stuff in here for sure. How many SNAKISMS were there total? 21. That seems a reasonable target for this one too.
- Finished up tot eh 5-letter ists, so there are billions remaining (well at least 600 or more)
- Are we looking at the potential for SNAKISTS 2? Haha. Jesus.
Organization; Chronological design?; Ist listing
Organization
Spent my time on Friday morning moving away from "designing in the journal." Which strikes me as a whole thing to think about relative to MDM. Where design happens versus where reflection happens. And they're of course incredibly intertwined but at least for this project it has felt like it makes sense to have separate documentation of elements of the design process. Specifically there's now a separate ists list that just contains all the ists pulled from a Scrabble dictionary that I'm going through to check which ones lead to design ideas. And then there's a list of candidates where I'm building up a list of the ideas that feel like I should at least prototype.
Chronological design?
One thing about these two new (design) documents is that they're not (in themselves) chronological but rather... what... topical? Taxonomic? And as I'm writing this I realize how much I think of design as a chronology! As a passage through time with a person grappling with ideas and materials and figuring it out. Which seems like... an odd way to think about design perhaps. But that is for sure what seems natural... either because it's my brain or even because of the way I've traditionally kept a journal relative to design practice that makes it seem like design should/can be framed in terms of a passage of time.
This may merit further thought... there's more to this and I think it's important in the context of MDM.
Ist listing
Anyway, the listing of ists and just combing through them one at a time has been a really pleasant activity. Almost like a series of flash cards or actually those verb noun subject cards Rilla and I had where you just are shown some information and try to snap out a game idea. Feels like improv perhaps? Never done improv but I sure have ended up hearing a lot about it. Yes, and. Improv with yourself? (Is that a euphemism for masturbation?) Improv with the materials? (As distinct from conversation?)
The process also reminds me a bit of PONGS which was epochal in terms of that idea of coming up with lots of (separate but related) designs, rather than trying to come up with "the design". SNAKISTS (and the others) is even "easier" in the sense that you don't need to generate the idea from nowhere but rather in reaction to a word, a definition.
So yeah, it's a fun design exercise. As I write this I'm remembering that I was maybe walking somewhere and thought to myself I (or with someone else?) could write a design "textbook" that is, say, 10 exercises for design, premised on stuff I do "naturally". This would for sure be one of them. And the book could offer the exercise, resulting work, and get into the weeds a bit on the subtleties of how the exercise functions, how it relates to design as a practice, what aspects of your designerly practice it might shape, and so on. The bridge to it being relevant to game-y-game folks might be tough but might not be. (I'm being put in mind of Jon Sharp and Colleen Macklin's book here which I should check to see if it's somehow exactly what I'm proposing?)
(Though note how this would be a potential format/approach for MDM-based reasoning to be applied at the level of teaching design? Learn from the "master" ahahahaha)
- 24 candidates as of now, feels like there's plenty of stuff still, and some of them seem really fun to me
- In a perfect world all of the final set are really fun? We'll see
- As a design process this continues to be enjoyable
- This pass is mostly about "sparks" and then I guess there's a subsequent pass about the realities of the available mechanics/visuals etc., but because those are so simple it's less likely I'm completely misreading what could be done in the first place
- Arguably did too much work in one session here but I got a bit caught up in it
- This session was helpful in that it includes design thinking in the new "prototypes" document where I'm reflecting specifically on prototyping work; but also the prototyping work itself
- Is that a good thing, or not? It's nice that the commit has both at the same time maybe? A bit in conversation? Or would it have been better to do the work then reflect? Or reflect commit work commit reflect commit? I don't really know
- Anyway, the act of prototyping and playing the real versions of a couple of these was really quite fun and made me happy, nice to switch from reading the dictionary for a bit
- Some revelations in the reflections about the power of text (not surprising, but really neat how a little goes a long way) as well as comic timing (which I think is really important in this game, though I don't want to try too hard to engineer funny)
Snake
Okay well this is more of a thought experiment so I'm not going to try to be too clever about it, I just want to make notes on what there "is" in Snake and so correspondingly what can be manipulated (not what could be added because that is... infinite.)
My main point (having written some of the below) is that each of these lines is an opportunity for intervention. They are essentially "rules"? They could be augmented, altered, deleted, superceded, perverted, etc.
Menu
- My game has a menu, it's a textual list of the available variations
- You move up and down it and choose one
- As of now a Snake "eats" the selection and then you switch
Snake
- The snake has a head (white) and a body (grey) that follows along one tick behind
- The snake moves in the cardinal directions, once per tick
- When the snake moves there is a "move" sound effect
- The player controls the snake by specifying which direction to move in
- The snake can collide with a wall and die
- The snake can collide with itself and die
- When the Snake dies there is a "death" sound effect
- The snake starts as just the head at the top left; when it first starts moving it "unspools" into having a 3 unit body
- The snake can eat an apple and grow by a specified amount (default is 3 units)
- The snake can theoretically grow so large it occupies the entire playing area, at which point it will necessarily crash into itself and die
(A note: there are some kind of "second order" things here that I wonder about. Should I state that the snake can eat its own tail? Or is that a design moment? It's technically just there in the potential play of the game, but it signifies differently...)
Apple
- The apple is a pink tile
- It is positioned randomly inside the walls and not on a snake
- The apple is always reachable
- The apple does not move
- If the Snake's head overlaps an apple, the apple is "eaten"
- When eaten the apple will reappear on a timer
- When eaten there is an "apple" sound effect
Wall
- A wall unit is a grey square with a cross through it
- By default there are walls around the defined play area in a rectangle
- As above, if the Snake's head overlaps a wall the Snake dies
- Walls do not move and have no physics outside overlap (do I state that as a rule, or am I writing it to clarify something implicit? It's weird specifying negatives? But it makes sense to express negative capacities if we're talking about something an element might do?)
Score
- The player gains points (10) each time they eat an apple
- That is the only event they gain points for (another negative rule... implying expansion... feels weird...)
- The score only increases
- The score is displayed to the player at the top right
- The score is updated each time it increases
Text
- When the game begins movement controls are displayed near the Snake's body
- The current score is displayed as text at the top right
- When the Snake dies there is a delay, then GAME OVER is displayed in the centre of the playing field
- There are instructions for restarting and returning to the menu at the bottom of the screen
- There is a grid of potential text positions across the entire canvas (is this a rule? It's a technical truth...)
Time
- Time is most obviously measured in ticks which define how fast the snake moves
- There is also the delay of the apple appearing
- There is also the delay after death of the GAME OVER appearing
- There is also the timing of the flashing of the Snake's body on death
Sound
- There is a move sound
- There is an apple sound
- There is a die sound
Physics
- The Snake can move
- The Snake can overlap meaningfully with itself, the apple, a wall
- The apple can appear and disappear
- The walls and apple and text do not move
Prototyping is fun and design; hierarchies of design practice?
Prototyping is fun and design
As I type this I'm not actually in a "fun mood" but yesterday I treated(?) myself to doing some prototyping as a break from the ist-defintion-to-candidate grind to build a couple of the variations to get a read on how they might plausibly turn out. Most of my focus was on Gist because it's such a "simple" idea (an abbreviated experience of playing Snake), but at least intuitively I figured that protoyping it would also engage other design and implementation muscles (because you can't have one without the other, or you can't make an omelet or whatever). And indeed:
- Gist turned out to be more complex when I implemented, particularly the question of whether dying without eating an apple counts as "getting the idea" and if it does what to do if the player does that (still don't know)
- Gist led me to want a pre-game screen that provides the definition of the word, especially thinking ahead to lesser-known ist-words where it'd be helpful, but also it adds a kind of grave tone that I think is a fun juxtaposition to the games themselves which are of course largely functioning as jokes?
- And making that had me thinking about where and when to display texts - you could put the definition on the game screen before play for instance, but I wanted to separate it to give it room to breathe; and then there was the question of any game-specific ending text (such as the "You get the idea" of Gist) and whether that should be in a separate screen or just on the death screen - went with the later to avoid too much screen-to-screenery.
- Prototyping activates different thought processes and attentions and one thing I keep being aware of is the level of "materiality" I guess I'm dealing with here which is not "implementing Snake variations in JavaScript" and not even "implementing Snake variations in Phaser 3" but "implementing Snake variations on top of my existing framework for Snake from Let's Snake and before that SNAKISMS". Which leads to very different kinds of thinking about what to do and how to do it - the framework literally has a spot to put extra after-death text for example, which encouraged me to think in that way; or just the idea of the definition screens still being built on the Snake class because it's just easier to hide all the snake stuff and leave the words...
- Well and there's some argument to be made about a kind of Platonic Snake here where what I'm often thinking about are the basic building blocks of snake:
- The snake, its movement, its vulnerability, its growth
- The apple, its appearance, its position, its effect
- The walls, their appearance, their position, (their effect?)
- Prototyping will (probably) circle back around to how I'm able to think about the ists I'm yet to read and develop ideas for - unsure how yet, but hard to believe having dipped my hands (eyes? brain?) into the actual code and framework won't shape how I think?
- And very obvious but in prototyping these things I was designing, because my definition what to do in the prototypes document is not total, so I'm making decisions (moves) as I go through with the coding, and the coding is forcing/encouraging certain moves too
Well so... doing a bit of prototyping was: nice. And I'll keep doing that alternation probably because it just feels generative.
Hierarchies of design practice?
That feels a bit grandiose, but I'm trying to get at the way that this project seems to have some kind of structure around design... targets? Processes? Somethings?
- "Snake" is a key design material here but nowhere have I actually specified it in a design sense, you could point to Snake.js as defining my version of Snake, and that is importantly specific, but it would conceivably be worth having a
snake.mdwhere I'm reflecting on, laying out the nature of Snake explicitly? This taxonomizing is getting to me. - "Words ending in ist" are a material to work with at a pretty high level, and they have their own document: ists
- Then I have the document where I'm considering actual candidates for prototyping - this represents a decision that a word is worth pursuing further (I actually identify these in the ists document), and reflects it by... pursuing it further in design, trying to accomplish a description "what that version of Snake would be", though at least the way I'm working it's not very carefully specified - kind of enough to convince myself I could build it to try it out...
- Which is what I'm reflecting on in the prototyping document - so this document + the commits associated with that prototype (hmmm should I be linking them somehow? Relevant commits? Getting a bit librarian...) is a reflection-in-action(?) on the specific forms of Snake (and are a representation of the game being made)
- And then here in the journal I'm trying to get my bearings a bit because I have traditionally done a lot of the design thinking here rather than in separate documents. Now this bit is more of a larger reflection on how the whole thing is going according to the big pictures; I was reading the [Schön x Bennett chapter] this morning and would link this to [stop and think]?
- And way up in the clouds there's why (which of course I embarrassingly haven't written yet) where I'm supposed to be identifying and refining my understanding of "what this project does" in terms of why I'm making it, how it is "research" and so on. What is it outside of a joke...
- And then at the "end" there's the closing statement which I guess is a final "stop and think" with the project more or less in the rear view mirror. I suppose you could argue there's an opportunity (requirement??) in the closing statement to expand outward to what Schön calls reflection on practice here? Could be.
- And really there's also then the release "into the wild" and the potential backtalk and conversations around players and how they experience and react to the game. Which could lead to changing the game, or just thinking about it differently. And this is a part I'm yet to find a particularly good way to document (mostly because most games get no response?)
And I guess the Schön-y argument about this is that each of those processes/documents/levels is still part of the design practice (maybe either writ large, but even all for this specific project).
Which doesn't really take me anywhere, but it's been interesting to think about.
- To what extent am I prototyping versus just implementing these things? A lot of the time there's not really a significant difference because these ideas are atomic enough to not always need a lot of refining? But maybe that isn't true. Delist was maybe specifically quite basic and so not a prototype.
- Anyway I was happy about the way it works, not that it was very hard to visualize but it's always nice when it's real.
- Some concerns about localStorage so I might move to something more internal to the game/JS itself instead
- Continuing to work my way through the ists. It's really... there's a lot of ists. It's taking a while.
- I am learning words which is kind of fun, I wonder if I'll remember them.
- I think I'm running into some "helpful difficulties" around the sheer limits of the Snake universe; because I'm mostly trying to think in terms of minimally additive stuff, but a lot of ISTS (and all words) are understandably so far removed from what Snake world represents that it would take adding a lot of stuff to close the gap; which I think may contradict something wrote earlier about Snake being some kind of primitive Ur-language, haha
- I've run into a category of ISTS where I'm very interested in them and WISH I had a design idea but don't, so I've been tagging them with #interesting
- Continuing tensions on the sort of balance of interesting words and their brand recognition, as I don't want LOTS of very obscure (especially not archaic) words
- Though that said this can oddly be a word-learning game too, so it's not a bad thing to have a mix, just need to think about what the right mix is
- Continues to be a lot of "not the -ists I meant" ones, where it's not about philosophical/political positions.
- Found some good ones; seem to have 33 candidates now (SNAKISMS had 21 released)
- Got excited about Dada and started to wonder if there's enough mileage to do a whole Art Movements version of Snake, but it may be there aren't quite as many fits/interesting propositions as I think there are
- Definitely there is an embarrassment of riches... I will only be scratching the surface with this particular versino
- Also spent quite a lot of time figuring out why the Menu wouldn't work second time out (and the reason doesn't make much sense to me, but I'm rolling with the fact I fixed it)
- Deist is pretty satisfying in the sense of a correspondence between the definition and the resulting nature of the game
- Currently I have textual emphasis stuff but I wonder if it's too strong/silly and it will probably need editing
- I'm probably going to show this game as part of talking about MDM at WdKA tomorrow and when I was quickly looking at it this evening I noticed that the Definition screen wouldn't progress after the first time (a timer problem - forgot that Phaser constructs the scenes once not at each scene start)
- Also the apple wasn't appearing in any of the levels - because I wasn't starting the timer, which I think was meant to be a fix for something else?
- Fun to return to this practice after a week away from it
- There sure are a lot of... words out there... ending in ist...
- There do feel like there are groupings and a tension around a more specialist (get it??) game based on that, or folding in a singular example here
- Is it madness to try to review all 1000 or so of these things? Should I at some point switch to more eyeballing my way through the list for candidates rather than case by case? The problem being it would then rely on my vocab rather than checking the definition with every one?
- Might be worth it as a first pass, just to avoid this turning into a trudge that stops being fun...
- And also just... kind of want to make this one and move on etc.
- Ended up being surprisingly satisfying in its implementation... simple but quite effective, it's a mechanic that makes an amount of sense as a playing challenge
- I like how much it does look like condensation in practice, that you wipe of but that returns
- Realized in implementation it would make sense for the snake's last tail bit be the one that zeroes the alpha for that grid element since that's the last wiping surface... I'd had it as the head initially which had a kind of "agency" the rest doesn't, but in terms of physical realism the last tail bit is correct
- A pretty straightforward piece of work really
- Given that it was just Snake this was not complex
- I did end up reworking the JSON to make it easier to put in definitions because it was feeling really unweildy doing the line wraps myself in the JSON, so now it does that in the code somewhat successfully, saving me trouble
- Nothing much to say about this one. it is what we thought it was.
Death of the journal? Themes? Bigger Pictures?
Death of the journal?
It's been really noticeable how "unneeded" my journal has been for this project. It's only 2000 words long for cryin out loud! And there are obvious factors here that I think play into MDM stuff writ large:
- Maybe most obviously, this is not a very tormenting design project... it's all about reacting to words in the language of Snake, so there's not a lot of high level tossing and turning about "what it all means"? Although... there's probably should be because I think there are some bigger picture reflections on design available through this process.
- But crucially too: I have this document structure around ist > candidate > prototype which obviates the need to wrestle with lower level design thinking specifically in the journal, which is where I used to do that.
Hard to quite say whether this highly structured document approach is something I could do for any project? Would it have worked for "on your phone" for instance where I feel like the process was a bit more messy? Less clear what the divisions would be up front and more something I had to feel out? But would it still have been worth having some sort of file division around different practices/levels of design? Unclear maybe.
Anyway, the point being that the journal has not felt as immediate in the day to day; but secret I think it maybe has meant that some of the higher level reflection is being missed around what this particular game project means about design and also some of the more thematic drawing together of different kinds of observations at the project level too... so let me... at least try? It feels exhausting but...
Themes?
As part of running through the dictionary and just trying to design in immediate response to word definitions I feel like there are a few categories of design "move" or... something... that come up repeatedly? Or that are just worth noting...?
The same thing
The idea of -ists that end up just being Snake with no modifications. Purist, Nudist, Individualist, ... -- that's both funny and kind of about the question of how you characterize underlying value or other systems of a game like Snake. Is Snake "fascist" in some way? Do videogames have inherent political or cultural alignments? It's a pretty interesting question at the level of design? It might also be a (truly weird) kind of language/insight into why some forms of design are just harder than others? If Snake is a Fascist is it harder to create progressive revisions?
Non-philosophy
With SNAKISMS the whole point was to channel -ism as a conduit to philosophical (and perhaps political) positions. But in just going through the dictionary understanding of -ist as a suffix, there's a big broadening out. There are a bunch of words ending in -ist that aren't "ISTS" in that sense. Like "twist" or "delist" and there's been a pleasure in how kind of practical they are? Could also be a verb form thing that works well with games? Getting across to that Noun Verb Adjective design approach or whatever? Grammar-based design? Design language. Etc.
Power of text
It's come up more than once that the text presented at the end of play with the game over can be quite a powerful spiking of the ball or context giver or... just emphasis on the joke/idea? "At least you died nude" "You get the idea".
Snake as a language
Have said this plenty of times, but good to keep it in mind. An obvious way to think of this whole project is that Snake presents you with a language (or play) and the process becomes about how the Snake-language can "say" or "define" the word in question. And one thing that happens is you do run into how limited the Snake language is... it can't say everything, some of the things require adding or changing so much stuff it's questionable to say it's still Snake? So that kind of range of power... the question of where the borders are, the question of which words are easy/difficult to say in Snake feels... revealing? About Snake?
Excited but idea-less
There's a whole category of words that I want to be able to Snake but don't have an idea right away. Like, say, Fascist. But this also makes me wonder... if there's not an idea almost instantly, given how simple the Snake language is, does that mean... there's no idea to be had? To what extent can you worry the bone of Snake until you make something fit into it? Or is the language so simple there's not much to be done?
Word recognition
So many words are insanely hard to recognize. Lots of them are archaic, or actually Scots, or just not popular. And some of those words have really fun definitions but it raises the question (somewhat helped along by the definition pages) of whether I'm interested in "teaching words" to the player. To what extent does the game work best with more immediate/low-friction words the player just knows and so can anticipate... versus using weirder words and defining them? Or is a mix the right sauce?
Locus of intervention
There's something in here about how you view/frame the materials of making for this. Most obviously it's Snake. But you could also say "Snake as implemented in Snake.js". Or "Snake as it exists in Pippin's mind" (reflected in my Snake document?) But you could also say "Snake as in the entire game including the menu" at which point you get something like "delist" or one of my ideas for "persist".
Expanding outwards from the obvious can be satisfying and effective, a moment for designer and player to metaphorically look up from the computer and recalibrate their eyes and brains? Narcissism in SNAKISMS was a good example of that. "Oh yeah, I'm playing a game on a computer with email, the person who made this game has an email address..."
Bigger Pictures?
Are there even bigger pictures? What did I even mean here? I think I meant something about what this game and process says about Design Writ Larger, or about MDM as a project? I'm running out of steam though.
Well I do think design by holding a play language (relatively) still and bombarding it with just "words from the dictionary" is a pretty amazing design exercise regardless. It's fun. It also makes me think in this moment about (weirdly) some sort of science setup where you fire electrons and something to understand it better (is that a collider? something else?). The words are the electrons, and the snake is the thing we seek to understand. There's something to that; I think there's a bigger and more substantial argument to be made about this form as a way to explore and understand forms of design.
And then as for MDM... I mean the fact I'm writing this is really the outcome I want. I don't want to lose the higher level reflections that the journal allows for. The "stop and think" that's really important; or like the "practice review" that's important. And... I suppose I'm not. Go me.
- Some great ones came from this session I feel: imagist, onanist, palmist, persist, plenist, protist, sacrist, subsist, tourist, utopist
- Persist was fun because one of the ideas revolves around a more meta-level interpretation of it, which I appreciate (in the vein of delist)
- Onanist is of course VERY APPEALING because it's sexual and awkward
- I'm loving, in this moment, that this project amounts to READING THE DICTIONARY and designing games based on words you find. So basic, so effective, such a nice commentary on game design and the affordances of design with a pre-established game/play language.
- A nice simple one to just keep making stuff, whether or not it makes a final cut.
- Things with visual effects that affect gameplay are fun and pleasing; I like this one overall... will consider if I want a deeper reference to the dance in which case I might consider a more controlled rhythmic switching of directions of twist rather than having it be controlled by the player's directional inputs?
- Remembered the visual history. It's hard to remember everything.
- Quite effective (see notes in Prototypes doc)
- A bit of technical exploration to get it going, but now that it is I'm already fairly satisfied. I'll throw a bit more effort to see if you can have multiply persisting persist scenes, but if I can't I won't lose sleep over it I don't think. Or I will.
- Satisfying to have two "meta" versions now with delist and persist that are about affecting the overall game rather than a metaphorical/mechanical take via Snake's direct mechanics
- Progress
- This makes 8 versions right now and I'm chasing, say, 20+?
- I think that's the fastest I've ever made a game? Listerally just editing the wall creation function to create a wall in every spot and it worked immediately from there
- The snake dies on the first tick because the world is full of matter
- I mean, this is the good life right here
- Let's not ask ourselves too rigorously whether this is also the research life... I want to be amused
- And it works pretty well. There's some microdetailed stuff around sfx and body flashing and maybe more that I'm not 1000% sold on, but I think it may be in place now
- Loving that of course a sadist definition will tend to include the sexual angle...
- This brings us to 10 snakes which is nice, getting there
- Felt good to pop out three today just here and there, keep it rolling... slithering...
- We're up to 11 versions now, so perhaps roughly halfway? I need to remember to add the website link thing as I kind of appreciated that callback... to myself
- Tourist worked out well. A nice design-in-the-moment thing of combining two ideas that had initially seemed separate to me (mostly due to my literalistic mind)
- There's a real win to have photographs juxtaposed with the game for this one case as it's pretty surprising I think (hope).
- Switched to just speed reading the ists instead of defining/considering every single one. Still pulled out a few that I think can be good at the expense of learning some interesting words I think
- Kind of want to get this project done
- Looks like there's room for another maybe 7 titles?
- Moved it up a bit
- Not much going on here, just trying to get it to look like SNAKISMS
- That was fun.
- There's something nice about a game that's panicking about your play... it's probably been done before of course, but there's an odd sweetness and annoyingness that's kind of parental?
- Running into problems with word wrap. Trying to figure out just HARD CODING IT, or really figuring it out. Leaning to the former.
- Realizing in this moment I could just hand wrap a bunch of different ALL WORK sentences to get the demented stuff in? Or not?
- I don't think that joke is good enough because nobody is going to be able to do it, so no.
- It works now. Fell into some shallow pits of work around word processing and especially word wrap which were... necessary but boring?
- I still don't know if I adore the moment of word-wrap which comes on typing a space... but I also think it's probably fine and not going to be something I care about when I'm 80?
- I do think this is a solid variation, let's not get too too precious?
- Currently interested in artist, checklist, conformist, absurdist, elegist, heist, imagist, nacissist, onanist, violinist, ...
- I was going pretty pretty fast by the end of that
- But still pulled out a few more into candidates
- Feeling that feeling of "well, it would be quite nice to just finish this thing" so would like to accelerate
- If I can
- Some small technical problems, but it's conceptually in a place where I can move forward
- It doesn't necessarily totally nail what I want? Not completely sure why?
- Remain a teeny bit unclear... it's not as funny as I wanted. Should it just create a wall that totally fucks you? Should the walls simply be bigger?
- But "obstructionist" to me is not that it completely prevents access but more it forces you to the side, to go more slowly...
- But maybe there's a more "obstructionist shape" I can consider in this... not fully done clearly
- Again I have a slight misgiving about how nailed this is, but I am theoretically prototyping and not finalizing so I'll just register the mild discontent and move on with it
- In particular which there were greater consequences of smallness
- Well it's hard to see.
- But if it were only the snake it could die when it hits the giant apple and that would be a funny beat. Maybe it's worth it.
- Came out pretty well, I'm happy that it got a bit funnier, though I'm not very amused by anything in this exact moment, too tired to laugh
- But yeah I think it's a helpful addition
- We're up to 15
- 6 to go?
- Nice to get in another nonstandard "ist" like this one
- Happy with how this has turned out though there are some things to work on (sound?)
- It's an example of a transformation of snake that I think is at least semi worthwhile in that it leans into a specific problem: the long body; and just starts with that as the premise - you need to move in a way that doesn't close off your exits... which is perfect for a heist
- Coming along quite well I think! Had a realization in implementing it that it needed to be walls moving over the snake and not the snake moving between the walls. Important.
- Impressed by quite how evocative it is to masturbate the snake... feels erotic. To me. I mean... just between you and me okay?
- Some technical issues around shriveling/reverse arousal... derousal?
- Will catch that tomorrow
- This one has some pretty good game feel at this point, pretty sexy stuff
- Great moment where the implementation of snake meant the snake/dick kept growing until it hit the opposite wall and died - thinking about this as another alternate signifier of orgasm, but I think it's better if that comes more as a surprise?
- Right now it's a bit deterministic... could use some randomness to change it up plausibly
- Happy with this one overall
- No real surprises here. Happy with how it turned out.
- The moment of realizing it makes sense to put the apple in the most inconvenient spot possible (right behind them) was a good one
- I think there's maybe a question of how big the track should be... should feel constrained, but also good if it takes a little longer to die perhaps?
- Relatively straightforward but we're not always solving the world's greatest problems
- No major design thinking here outside of whether snakes should die on colliding with other dead snakes? Currently they do and that seems like the most reasonable option?
- I enjoyed the surprise of what the screen looks like with many dead snakes all flashing in alternation
- It's just what you would thing
- I like the addition of the textual explanation for when the mailto: doesn't work... feels even more awesomely narcissistic in that it's about an anxiety you might not tell me I'm great...
- Mostly just trying to gather up some polish issues so that I know what to do get head towards release
- Fixed a couple of pretty basic bugs
- Found some textual stuff to fix and a couple of more design oriented issues
- Good to do this stuff, though the will is weak
- Now it is freaked out if you're next to a wall which is funny and adds to the sheer intensity of things
- They don't play nice with Phaser because they run across scenes which freaks everything out
- Using Phaser's internal timer system solves that so I replaced everything even when it wasn't being an active issue
- Most all just disabled their functionality for persist specifically once you're out of the game... so that restarts only affect the new one and persist just persist...
- It still can't multiply persist (e.g. multiple editions of persist on top of itself) but I think that's alright and logical...
- By adding camera rotation
- Makes it kind of unplayable, but I feel like I'm okay with that
- Wondering if we should tween-rotate everything back to normal so that on the death screen you can see what the hell you're doing?
- Mostly just wanting to communicate you can go back to the menu from a Definition screen
- Mild concern about the fact I used swipe left to go back to menu there but a button elsewhere?
- Mixed messages... but... fuck it? Or not fuck it? I dunno. Fuck it.
- On death everything is rotated back to zero by a tween. Which looks nice and means you can actually read the instructoins again.
- There's a small bug here but it may not be enough to care about
- Largely just making things work, nothing very interesting!
- It makes more sense than the pink body, but it's not THAT great... but it's mechanically more interesting etc.
- I dunno. I liked the purity of the nude pink snake tbh, but I guess I can live with the problem that it's just inaccurate (and vaguely racist even!)
- Nude.
The end in sight
Yeah well, journal just not a happening thing eh? This is two weeks on since writing the previous journal entry. It just hasn't been necessary to navel-gaze in the way I think I often do in the journal... and of course the new document structure has meant there have been other places to do the moment to moment designing. And plus this game just... isn't all that complex to design. The writing feels more spread out for this one... is that even a good thing? Honestly I don't know. It feels like it has been a successful process, but at the same time I'm not sure that I learned as much from this one as I have in the past?
It's a great process and it works, but I knew that. I don't think there was a ton of confrontation with really hard design problems, though there was the usual cache of solutions I was really happy about finding, and that whole thing of kind of confirming instincts in implementation and then play (the feel of onanist is one such for me).
In a way it feels almost over documented, but on the other hand with such a massive word search and then that kind of "panning for gold process" filtering from ists to candidates to prototypes... it made sense I think to break it apart so you don't just have an enormous document mixing all those ideas up. But that process was enough to a point where I wasn't really questioning much at the journal level? Does this mean I haven't learned much about design from this one? It's not impossible?
I think there remain big and cool things to say about the larger project of translation/adaptation to game languages and about the power of small-scale variation, but this game is a datapoint rather than a revelation? But that's also... important... understanding design as part of a much larger exploration than the individual "product" you're working on?
So I dunno. Would I use this same structuring principle in another project? I think I'd at least give some thought to division of labour between different elements. But I do regret, to some extent, not returning to the noodliness of a journal entry more often, just to get in touch with more uncertainty than I think gets expressed at lower levels of this thing.
--
Meanwhile I'm mostly waiting on some feedback from Jim on the accessibility of the variations before largely considering the thing done.
I should run some phone tests too because it's displaying ugly as sin. If I had the energy I might think about scaling/positioning to maximize real-estate for width. Can I be fucked? Dunno.
- Nothing to write home about, the standard kind of process of capturing gifs with giphy capture (though noteworthy that they come out pleasingly small for long lengths because of the minimal change between frames I guess?)
- A bit of fast writing about the history of the game and stuff
- Coming up with the !!! description was kind of fun, some moments of thinking it through, but I think I landed somewhere useful.
- For some reason I was linking out to more than one stylesheet in index.html, one of which was only appropriate for the Huge website stuff
- So... now it looks pretty good?
- Moved away from Hammer which was causing a lot of trouble; same as Phone game, just implement ultra-basic swipe detection myself
- Conformist wasn't detecting the right boundaries
- Deist seemed to have the apple positioning freakout (except I couldn't find it?)
- Onanist felt too slow so it's hornier now
- Wasn't setting snakeHead and addition snakebits to have centered origin for the rotation
- Just threw in the On your phone CSS to avoid scrolling and other swipe-annoying behaviours
- Seems fine
- Theoretically people could accidentally do that pull-down reload by mistake if they start a swipe at the top, but I think that's no big deal
- I think it's... ready?
- They were a half-tile misaligned. Good catch pips.
Closing statement too open?
I'm making the odd-feeling choice of writing a journal entry about my closing statement. I've been working on it for a few sessions now, and I have some text in place, but I'm aware of struggling to do anything that feels genuinely worthwhile. Had lunch with Rilla and Matt today and that whole question of the value of the "higher level" writing came up, and I found myself saying that it should be sort of enjoyable or inspiring to do that part of the writing – in that moment I was sort of trying to convince Matt, but I think I was probably even more trying to convince myself.
So why isn't writing a closing statement fun then? Or why isn't this one?
- Partly it just feels like a chore because I have this sense of not really adding enough to the language/insight that I "achieve" in the journal and commits and other documentation? So that I'm putting myself more in a role of just pulling together stuff into themes and then... that's it... hasn't felt like I'm adding a lot on top of that
- No real audience? I'm generally the audience of my documentation stuff, but here I'm not all that interested because it's a level at which I already know - I'm not saying something new, I'm gathering the stuff I figured out. So it's likely the case that this closing statement step would need a target audience - could be my website where I'm trying to explain something important about the game in question, could be a publication target?
- Lack of specificity. In looking through the entire project documentation for thematic areas and then reporting on the thematic areas I'm missing the idea of some really important core concern that I want to build an argument/story around. Maybe SNAKISTS is just bad for this because it's a repetition of things I've already done, but in that case I should be looking for what is plausibly unique (e.g. the "everything is Snake" idea) and only telling that story?
Outcome: Do things I just said to do?
Parseltongue? Designing in the Language of Snake
The main reason I keep making games like SNAKISTS is because I fundamentally enjoy the sense it has a learning a new language, or learning a familiar language more thoroughly. At heart, these kinds of variation games driven by some overarching conceptual approach (philosophical positions, classic cinema, Greek mythology, words ending in -ist) are about figuring out what you can express with the underlying language of a simple game, such as Snake. Or, as I put it in the journal:
Have said this plenty of times, but good to keep it in mind. An obvious way to think of this whole project is that Snake presents you with a language (or play) and the process becomes about how the Snake-language can “say” or “define” the word in question. And one thing that happens is you do run into how limited the Snake language is… it can’t say everything, some of the things require adding or changing so much stuff it’s questionable to say it’s still Snake? So that kind of range of power… the question of where the borders are, the question of which words are easy/difficult to say in Snake feels… revealing? About Snake?
So, one of the main threads of investigation in this particular process was around what you can and cannot (and maybe should not?) say in the gameplay language of Snake.
Stating the obvious
One of the surprises of this whole project was an extension of an idea that had come up in SNAKISMS: creating a version of the game, based on a concept, that is just the game itself framed by that concept. So in SNAKISMS I made "Conservatism" which was literally just Snake itself, with the point being that the idea of Conservatism is being committed to traditional ways and values and avoiding/disliking change.
In that case the point was to make a joke about "variation games" in a sense, to say that the variation in that case just is the base game. But in SNAKISMS there was only one of these, and it was specific and intentional. What I found in SNAKISTS was that I ran into multiple "-ists" that could be reasonably said to correspond to the base case of Snake, e.g.:
But now I realize the NUDIST could be the one that's just normal snake hehe. Though I also thought of PURIST for that... so I dunno...
All snakes, including the Snake snake, are "nudists" because they don't wear clothes. But a "purist" versino of Snake would presumably also just be unadulterated Snake as well. That's funny, but it led to some reflection on how this activity of thinking about "-ists" in relation to Snake was also a reflection on the underlying values of Snake itself, what kinds of cultural/political/social ideals it seems to embody (directly or metaphorically):
The idea of -ists that end up just being Snake with no modifications. Purist, Nudist, Individualist, … – that’s both funny and kind of about the question of how you characterize underlying value or other systems of a game like Snake. Is Snake “fascist” in some way? Do videogames have inherent political or cultural alignments? It’s a pretty interesting question at the level of design? It might also be a (truly weird) kind of language/insight into why some forms of design are just harder than others? If Snake is a Fascist is it harder to create progressive revisions?
I think there's almost an experimental process suggested here of taking a specific game (Snake would be fine) and testing it against diverse cultural/political/societal positions in terms of its expressive capacity. I'm sure there are other forms of analysis that could be applied here (interface inventory and that kind of stuff) but I quite like the idea of interrogating a gameplay language/game design through design, there's something neat to that as a methodology?
Even the very simple experimental setup suggested here is quite fun: take a simple game and then see how many cultural/political positions you can attribute to it without change. Snake seems comfortably conservative, individualistic, capitalistic, nudist, etc.? I was actually envisaging a game at some point where you inflect gameplay merely by describing it in different ways without changing it, which is another version of this approach. So this is perhaps a good example of how generative it can be to create these kinds of gameplay+idea setups.
Hard to say
In the opposite direction, there were plenty of – really most – "-ists" that I either had no idea for, or for which my ideas kind of crumbled away on any deeper investigation, for instance:
waist
- Well we all have one. Does a snake have a waist? Is a snake all waist?
- Is there anything to be done about this in a videogame?
Over time the weight of all these "-ists" I kind of had nothing for built into a feeling that was roughly the mirror of the idea of "going with the grain" of Snake's language. The idea that there are things you perhaps cannot or should not say with Snake, which is of course itself revealing about the nature of Snake (as a language):
I think I'm running into some "helpful difficulties" around the sheer limits of the Snake universe; because I'm mostly trying to think in terms of minimally additive stuff, but a lot of ISTS (and all words) are understandably so far removed from what Snake world represents that it would take adding a lot of stuff to close the gap; which I think may contradict something wrote earlier about Snake being some kind of primitive Ur-language, haha
So, probably unsurprisingly you can't say absolutely anything in the voice of a Snake. There are things that are easily and well said, things that are more of a struggle, and things about which we maybe must remain silent, though this raises specters of merely being a bad designer (poorly spoken) rather than that there's nothing there:
There’s a whole category of words that I want to be able to Snake but don’t have an idea right away. Like, say, Fascist. But this also makes me wonder… if there’s not an idea almost instantly, given how simple the Snake language is, does that mean… there’s no idea to be had? To what extent can you worry the bone of Snake until you make something fit into it? Or is the language so simple there’s not much to be done?
A good "in between" example of this was with the word "activist", which I was initially quite keen on:
CANDIDATE activist There has to be a way this could work? “a person who campaigns to bring about political or social change.”
The active nature of Snake alongside its focus on life or death situations, resources, the body, it all felt like it would clearly lead somewhere fruitful on the activist front:
“a person who campaigns to bring about political or social change.”
There has to be an option here, but one would also have to be careful that it isn’t just a flip idea about activism… it would need to actually do the work in some way. Like, can you make a Snake about Palestine? But also: is the game activist, is the Snake in the game an activist, is the player an activist by playing the game, …?
Of those the game itself being activist makes the most sense to me? Could it be about settlers in Gaza? A gradual impingement on the Snake’s world by walls representing settlers?
I was actually quite taken with my not-very-thought-through idea of taking on the idea of settlers within the world of Snake, but I also felt nervous about simply doing a bad job or missing something obvious. These aren't necessarily issues to wade into with your game design, especially in the context of a bunch of minigames that are framed around it being funny to redesign Snake over and over. The situation with Settlers in Palestine isn't funny.
Nonetheless, I wanted to do due dilligence and did ask my colleague Kevin Lo – a deeply experienced activist – what his thoughts were about my idea but also just the idea of an activist version of Snake more generally. This was my email, which I should really have put somewhere in the documentation, but at least now it's here:
My inclination was to try to simulate settlers in Gaza by having the walls of the snake game randomly but inexorably encroach inwards over time, squeezing the snake out of space until it inevitably dies through a collision.
With the idea that the game itself would then be living up to the idea of "activism". There's a spot at the end of the game on game over where I can insert a small text and I'd want to think about how to use that to nail down the messaging of the version.
However! This is to some extent amateur hour! I'm not an activist and I don't want to be a dumbass about it or treat it as a flip joke... I think there's some potential for it to land in a useful way in the context of a more comic game... Because it's not funny, and its not funniness would be potentially enhanced/set off by the lightness of the other entries.
But... What do you think?
We ended up having a good hallway conversation about this at work, the upshot of which was partly that the Settlers thing felt too simplistic and that anything around activism would need some kind of nuance/complexity – because activism is itself complex and nuanced:
Kevin had a pretty cool response around the nature of activism and representing multiple snakes (activists) getting in each others’ way. But mostly it emphasized to me how it’s probably going to be very hard to do something that works in any meaningful way without going really far into redesign.
This is a pretty expansive discussion of a passage of design that didn't make it through, but I think that's valuable as well. In part because this is just the reality, but also because it does feel like it sheds some light on the specific questions of what a game can (or wants to?) say. You can easily end up tongue tied.
Expanded vocabulary
A final observation on Snake language I returned to multiple times was around what exactly the bounds of that language should be. At the beginning of the project I would have instinctively answered that the language is the "Platonic" gameplay/rules of the old Nokia Snake, but I pretty quickly moved on to a more meta understanding as soon as I started actually programming some of the variations:
Prototyping activates different thought processes and attentions and one thing I keep being aware of is the level of “materiality” I guess I’m dealing with here which is not “implementing Snake variations in JavaScript” and not even “implementing Snake variations in Phaser 3” but “implementing Snake variations on top of my existing framework for Snake from Let’s Snake and before that SNAKISMS”.
And as I noted in the following paragraph this really changes some of the affordances for how you then go about "telling the story" of different "-ists" because there's quite a lot more than just the base-level Snake-language that you're speaking:
Which leads to very different kinds of thinking about what to do and how to do it - the framework literally has a spot to put extra after-death text for example, which encouraged me to think in that way; or just the idea of the definition screens still being built on the Snake class because it’s just easier to hide all the snake stuff and leave the words…
This expanded out to thinking about the menu system and the sort of persistent idea of playing SNAKISMS as fair game for interventions via the "ists". That's how we end up with "delist" just removing a menu item, and "persist" being a persistent game of Snake as you attempt to play other games in the collection.
There’s something in here about how you view/frame the materials of making for this. Most obviously it’s Snake. But you could also say “Snake as implemented in Snake.js”. Or “Snake as it exists in Pippin’s mind” (reflected in my Snake document?) But you could also say “Snake as in the entire game including the menu” at which point you get something like “delist” or one of my ideas for “persist”.
Enough said
One of the things I'd been worried about, or at least conscious of, when I started in on SNAKISTS was the extent to which I was "just" doing it to have a kind of easy, repeated project that I didn't have to think too much about:
Well, it begins. What am I doing? I’m avoiding working on other projects like a “game poem” and also the next step along the way of the It is as if projects. I’m doing that by making a sequel to SNAKISMS called SNAKISTS which allows me to do another suite of these stupid things with a slightly different flavour.
But as I've hopefully demonstrated to myself in the process and in this closing statement, there was plenty of value in going through this particular design challenge again, including the ways in which the "ists" inflected it in different ways. Most of all I think it ended up being a story of really grappling quite directly and consciously with the idea of a game form as a language, and what it means when you can or cannot say certain things in that language. I think that's really fruitful and even could represent a very particularly kind of game design research methodology that I think is worth some further investigation.