💾 Archived View for tanelorn.city › ~vidak › old-blog › plan-for-suya.gemini captured on 2020-11-07 at 01:33:19. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-09-24)
-=-=-=-=-=-=-
---
generator: pandoc
title: 'New Virtual Pet Project: ''suya...'''
viewport: 'width=device-width, initial-scale=1.0, user-scalable=yes'
---
2020-06-18T13:24:00+08:00
Introduction
------------
This is the design of the new virtual pet that I will be creating.
Because I am singularly unoriginal, I will be naming this project
'suya...', because the object of this pet is to end up having cute
platonic cuddles and then drifting off into a beautiful, sound, and
comfortable sleep.
The software for the virtual pet will be written in Steel Bank Common
LISP.
The main object of this particular project, which I have, again, very
little hope of ever completing, is to end up with a little soft toy pet
that you can interact with and cuddle.
Main Motivations
----------------
The over-arching inspiration I had for this toy was my own loneliness
and lack of a partner, and I felt like something cute and hug-able would
be able to ameliorate or simulate what it would be like to cuddle, say,
an IKEA BLĂ…HAJ soft toy shark that is so popular.
I suppose another motivation for this project is to create a virtual pet
that anyone should be able to pick up and understand, despite whether or
not they like the object and want to use it.
Creating a soft, plushy toy with some degree of easily-accessible design
language should enable me to learn some skills about how to transform
complex data structures that are hidden from the user into an overall
object that is fun to use and desirable to have around.
Rough Outline of the Toy's Function
-----------------------------------
'suya...' is going to be something of of chat bot. When you use it, you
will still feed it and tend to it, etc, but the internal structure of
the pet will not be about having it demand your attention.
It will have the basic commands 'pause' and 'run'/'contiue' ---where
your command 'run' will be to leave it be, and it will entertain itself
and report cute behaviours periodically.
When you 'pause' it, you will have the ability to interact with it, and
have it speak to you and play with you.
A stretch goal, mentioned above, would be to get an already existing
popular walking/mobile toy and strip its internal circuitry out and
replace it with a Raspberry Pi, and have it interact with you through
text-to-speech.
I do not think that I will integrate speech recognition into it, I might
just have a set of buttons on it, or a remote control, where you'll be
able to cycle through the different play mechanics.
In fact it might be a BLĂ…HAJ that I embed the Raspberry Pi into, and
I'll put wheels or some sort of counter-weighted motor into it so it
could crawl along on the floor, or give haptic feedback to the user in
order to trick the user into thinking it was alive.
Previous Toys Upon Which I Can Model 'suya...'
----------------------------------------------
- The 'furby'
- The fediverse's 'Maplebot17' ([\@maplebot17]{.citation
cites="maplebot17"}[\@botsin.space]{.citation cites="botsin.space"})
- The 'tickle-me Elmo'
I was originally going to include the now-defunct Anki 'Cosmo' toy, but
it may be cute, but it is not cuddly. So it has been excluded from this
list.
- 'suya..' will utter cute and tender phrases on a periodic basis
- The phrases will be adapted from the popular fediverse bot
[\@maplebot17]{.citation
cites="maplebot17"}[\@botsin.space]{.citation cites="botsin.space"},
because it is the best example of a virtual, small, child-like
entity that I can think of. Its disposition is remarkable in that it
reinforces and popularises emotionally-sensitive and caring
behaviour with those whom it interacts---which at present moment I
believe comprise just three people, its would-be parents.
- Cuddling the pet will reinforce and make specific categories of
phrases more likely to be uttered.
-
One of the features I recently discovered about the Furby toy is that
petting/cuddling the toy after it produces a randomly-generated
utterance will make that specific token utterance more likely to be said
again.
I will incorporate this behaviour into 'suya...'. This is not an attempt
to recreate the Furby in Common LISP, but is a very useful behaviour
that is possible to lift from the Furby in order to give the impression
that the little pet is life-like and has some limited capacity to
'learn'. Over time, behaviours will become reinforced, and it gives the
illusion that the pet has come to develop a limited form of
intelligence.
This fediverse account simulates the behaviour of a robotic child-like
animal. I am particularly fond of this account because it appears to
describe the behaviours of a rather life-like child which is sensitive
to other's emotions, and is quite attentive to the need for its
guardians to practice and experience self care.
I believe this particular fediverse account automatically posts short,
simple phrases that are stored in list, and are randomly selected for
publication on its timeline.
Below are some of my favourite behaviours that this 'fediverse bot'
displays:
*goes looking for mum*
*climbs into mom's lap and sighs happily*
*sings a duet with another maplebot*
*does jumping jacks*
*goes outside to lie down on the grass*
*gives mum a kiss*
*chirps happily*
*picks a tiny book from her bookshelf and sits down to read it*
*very carefully brings mum a cup of tea*
*kisses mum good morning*
> random assortment of emoticon faces
*sits on her mom's desk and just thinks for a while*
*climbs up on the back of the sofa, rolls down onto the seat, and
repeats*
*shows off her new hairstyle*
With permission from the creators of this incredible little fediverse
bot, I will adapt much of the phrases that this bot publishes online for
my own virtual pet.
This very simple toy vibrates and creates sound when it is cuddled or
tickled by the user. Perhaps this is a rather redundant thing to
explain, but I plan to lift the convincing and attractive tactile
feedback that this toy displays and incorporate it into '...suya'.
Hugging the toy will represent approval and loving care that the user
directs to the toy, and will, as explained above, appear to reinforce
certain behaviours that the user finds desirable by increasing the
likelihood of the display of those behaviours.
I intend the toy to have a small LCD screen which displays the message
its programming has selected, as well as having a speaker to allow the
toy to speak to the user.