[PLUGIN] - Nostalgia (Clippy, Tetris, Minesweeper, Pong)

Hi all,

New plugin alert!

I’ve put together a small collection of visual elements that are designed in some way or other to keep your users entertained for longer. There are 4 elements in total, 3 of which are simple, old retro games that you might decide to use whilst your users are waiting on a process to happen for example.

I’ve honestly had more fun putting this together than any other plugin I’ve worked on, mostly because I couldn’t stop playing during testing! so I hope it adds some fun into your sites. I’ve come across a number of sites in the past that offer little games of some kind to play, it’s a great way to keep your users engaged for longer.

None of these are designed to work on mobile at the moment, details are below.

PLUGIN
https://bubble.io/plugin/nostalgia-1638630689106x340131096070979600

DEMO
https://paul-testing-4.bubbleapps.io/nostalgia


Clippy

Clippy is the more common name now given to old MS Office assistant that you used to get way back when Windows 98 was all the rage. He’s now harrassing Bubble by hiding in this plugin so if you release him be warned, he’s still awful! but fun none-the-less! All his friends are included too. :slight_smile:


ELEMENT

image

image


EVENTS

  • A Clippy is ready
    Triggered when the clippy plugin has loaded.

  • A Clippy is clicked
    Triggered when the agent is clicked.

  • A Clippy coordinates have changed
    Triggered when pageX and pageY coordinates change.


ACTIONS

  • Show
    Show a new agent.
    -Selected agent
    Select the agent you want to show. Accepted values are: Bonzi, Clippy, F1, Genie, Genius, Links, Merlin, Peedy, Rocky and Rover.
    -Multiple
    Selecting Yes will allow for multiple agents to appear on the screen. The previous agent will not be removed when a new agent is selected. You can control various agents by specifying their agent Id's as each agent has a unique Id associated with them.

  • Remove
    Remove agents.
    -Agent ID
    Specify the ID of the agent that you want to remove. Leaving this empty will target the last agent added.
    -All
    Selecting Yes will remove all agents.

  • Animate
    Allows you to animate the various agents.
    -Agent ID
    Specify the ID of the agent that you want to animate.
    -Bonzi animations
    Select an animation for Bonzi. Accepted values for this agent are: Random, MoveLeft, Congratulate, Hide, Acknowledge, Suggest, Explain, Decline, DontRecognize, Writing, Idle3_3, Idle3_2, Idle3_1, ReadReturn, StartListening, Idle2_2, Announce, GetAttention, Idle2_1, GestureLeft, Surprised, Idle1_5, Idle1_4, LookRight, GestureUp, Idle1_1, Idle1_3, Idle1_2, Read, Processing, Alert, DoMagic1, DoMagic2, Confused, GetAttention2, MoveRight, Reading, LookUp, GetAttentionContinued, WriteContinued, Search, Uncertain, LookLeft, LookDownReturn, LookUpReturn, LookLeftReturn, Greet, Hearing_1, Idle1_6, WriteReturn, Hearing_2, GetAttentionReturn, GestureRight, Think, Blink, Write, MoveRightReturn, MoveUpReturn, Show, Wave, Searching, StopListening, MoveDown, ReadContinued, LookDown, Sad, LookRightReturn, MoveDownReturn, MoveLeftReturn, GestureDown, Process, RestPose, Pleased and MoveUp
    -Clippy animations
    Select an animation for Clippy. Accepted values for this agent are: Random, Congratulate, LookRight, SendMail, Thinking, Explain, IdleRopePile, IdleAtom, Print, Hide, GetAttention, Save, GetTechy, GestureUp, Idle1_1, Processing, Alert, LookUpRight, IdleSideToSide, GoodBye, LookLeft, IdleHeadScratch, LookUpLeft, CheckingSomething, Hearing_1, GetWizardy, IdleFingerTap, GestureLeft, Wave, GestureRight, Writing, IdleSnooze, LookDownRight, GetArtsy, Show, LookDown, Searching, EmptyTrash, Greeting, LookUp, GestureDown, RestPose, IdleEyeBrowRaise and LookDownLeft.
    -F1 animations
    Select an animation for F1. Accepted values for this agent are: Random, Congratulate, LookRight, IdleLookDown, Thinking, Explain, IdleCuteToeTwist, Writing, IdleLowersBrows, IdleBlink, Print, Hide, GetAttention, Alert, IdleHeadPatting, GetTechy, GestureUp, Idle1_1, Processing, Hearing_1, LookUpRight, SendMail, LookLeft, LookUpLeft, CheckingSomething, Save, GetWizardy, IdleBlinkWithBrows, GestureLeft, Wave, Goodbye, GestureRight, IdleLeansAgainstWall, IdleLooksAtUser, IdleLookRight, IdleFallsAsleep, LookDownRight, GetArtsy, Show, IdleLowersToGround, LookDown, Searching, EmptyTrash, Greeting, LookUp, GestureDown, IdleLookLeft, RestPose and LookDownLeft.
    -Genie animations
    Select an animation for Genie. Accepted values for this agent are: Random, MoveLeft, Congratulate, Hide, Pleased, Acknowledge, Thinking, Suggest, Explain, Decline, DontRecognize, Writing, Write, Idle3_2, Idle3_1, Congratulate_2, StartListening, Idle2_3, Idle2_2, Announce, GetAttention, Idle2_1, GestureLeft, Surprised, GestureRight, Idle1_5, Idle1_4, LookLeftReturn, GestureUp, Idle1_1, Idle1_3, Idle1_2, Read, Processing, Wave, DoMagic1, DoMagic2, LookRight, Alert, MoveRight, Reading, GetAttentionContinued, WriteContinued, Confused, LookRightBlink, Search, Uncertain, LookLeft, LookDownReturn, Hearing_4, LookUpReturn, Hearing_1, Greet, Hearing_3, Idle1_6, WriteReturn, Hearing_2, GetAttentionReturn, RestPose, LookDownBlink, LookUpBlink, Think, Blink, Show, LookRightReturn, StopListening, MoveDown, ReadContinued, LookDown, Sad, Process, LookUp, GestureDown, ReadReturn, Searching, MoveUp and LookLeftBlink.
    -Genius animations
    Select an animation for Genius. Accepted values for this agent are: Random, DeepIdle1, Congratulate, Hide, SendMail, Thinking, Explain, Save, Print, LookRight, GetAttention, Alert, GetTechy, GestureUp, Idle1_1, Processing, LookUpRight, Idle7, Idle6, Idle5, Idle4, Idle3, Idle2, Idle1, Idle0, Idle9, Idle8, LookLeft, LookUpLeft, CheckingSomething, Hearing_1, GetWizardy, GestureLeft, Wave, Goodbye, GestureRight, Writing, LookDownRight, GetArtsy, Show, LookDown, Searching, EmptyTrash, Greeting, LookUp, GestureDown, RestPose and LookDownLeft.
    -Links animations
    Select an animation for Links. Accepted values for this agent are: Random, IdleTailWagA, Congratulate, IdleTailWagC, IdleScratch, Hide, IdleTailWagD, SendMail, Thinking, Explain, Save, IdleTailWagB, IdleBlink, Print, LookRight, GetAttention, Alert, GetTechy, GestureUp, Idle1_1, Processing, IdleStretch, LookUpRight, DeepIdleE, IdleButterFly, IdleTwitch, GoodBye, LookLeft, LookUpLeft, CheckingSomething, Hearing_1, GetWizardy, GestureLeft, Wave, GestureRight, Writing, IdleCleaning, LookDownRight, GetArtsy, Show, LookDown, IdleLegLick, Searching, DeepIdleA, EmptyTrash, Greeting, IdleYawn, LookUp, GestureDown, RestPose and LookDownLeft.
    -Merlin animations
    Select an animation for Merlin. Accepted values for this agent are: Random, MoveLeft, Congratulate, Hide, Pleased, Acknowledge, Thinking, Suggest, Explain, Decline, DontRecognize, Writing, Write, Idle3_2, Idle3_1, Congratulate_2, StartListening, Idle2_2, Announce, GetAttention, Idle2_1, GestureLeft, Surprised, GestureRight, Idle1_4, LookLeftReturn, GestureUp, Idle1_1, Idle1_3, Idle1_2, Read, Processing, Wave, DoMagic1, DoMagic2, LookRight, Alert, MoveRight, Reading, GetAttentionContinued, WriteContinued, Confused, LookRightBlink, Search, Uncertain, LookLeft, LookDownReturn, Hearing_4, LookUpReturn, Hearing_1, Greet, Hearing_3, WriteReturn, Hearing_2, GetAttentionReturn, RestPose, LookDownBlink, LookUpBlink, Think, Blink, Show, LookRightReturn, StopListening, MoveDown, ReadContinued, LookDown, Sad, Process, LookUp, GestureDown, ReadReturn, Searching, MoveUp and LookLeftBlink.
    -Peedy animations
    Select an animation for Peedy. Accepted values for this agent are: Random, MoveLeft, Congratulate, Hide, Pleased, LookUpRightBlink, Acknowledge, Thinking, Suggest, Explain, Decline, DontRecognize, Writing, Idle3_3, Idle3_2, Idle3_1, ReadReturn, LookDownLeftBlink, Idle2_2, Announce, GetAttention, Idle2_1, GestureLeft, Surprised, Idle1_5, Idle1_4, LookRight, GestureUp, Idle1_1, Idle1_3, Idle1_2, Read, Processing, Alert, DoMagic1, DoMagic2, Confused, LookUpRight, MoveRight, LookUpRightReturn, Reading, GetAttentionContinued, WriteContinued, LookRightBlink, Wave, Search, Uncertain, LookDownBlink, LookLeft, LookDownReturn, LookDownRightReturn, LookUpLeft, LookUpReturn, LookLeftReturn, Greet, Hearing_1, LookDownLeftReturn, LookUpLeftBlink, WriteReturn, Hearing_2, GetAttentionReturn, GestureRight, LookUpBlink, LookUpLeftReturn, Think, Blink, Write, LookDownRight, StopListening, Show, LookRightReturn, Hearing_3, MoveDown, ReadContinued, LookDown, Sad, Process, LookLeftBlink, LookUp, LookDownLeft, GestureDown, LookDownRightBlink, RestPose, Searching, MoveUp and StartListening.
    -Rocky animations
    Select an animation for Rocky. Accepted values for this agent are: Random, DeepIdle1, Congratulate, Idle(1), Hide, SendMail, Thinking, Idle(3), Explain, Idle(5), Print, LookRight, GetAttention, Save, GetTechy, GestureUp, Idle1_1, Processing, Alert, LookUpRight, Idle(9), Idle(7), GestureDown, LookLeft, Idle(2), LookUpLeft, CheckingSomething, Hearing_1, GetWizardy, GestureLeft, Wave, Goodbye, GestureRight, Writing, LookDownRight, GetArtsy, Show, LookDown, Searching, Idle(4), EmptyTrash, Greeting, LookUp, Idle(6), RestPose, Idle(8) and LookDownLeft.
    -Rover animations
    Select an animation for Rover. Accepted values for this agent are: Random, Congratulate, Hide, Acknowledge, Thinking, Travel, Cooking, Writing, GetAttention, GestureLeft, Surprised, Shopping, ImageSearching, Celebrity, LookUpLeft, Greet, Idle, HideQuick, CharacterSucceeds, Sports, Show, Money, Searching, Embarrassed, Books, LookUp, ClickedOn, GetAttentionMinor, RestPose and Pleased.

  • Speak
    Allows you to make an agent speak (uses speech bubbles).
    -Agent ID
    Specify the ID of the agent that you want to speak. Leaving this empty will target the last agent added.
    -To say
    Enter the text that you want to display when the agent speaks.

  • Move To
    Allows you to move an agent to a set of screen coordinates.
    -Agent ID
    Specify the ID of the agent that you want to move. Leaving this empty will target the last agent added.
    -X coordinate
    Enter the screen X coordinate, you can get this from the 'Page X coordinates' state.
    -Y coordinate
    Enter the screen Y coordinate, you can get this from the 'Page Y coordinates' state.
    -Duration
    Enter a duration in ms for how long you want the move to last for.

  • Stop
    Stops any animations for a given agent.
    -Agent ID
    Specify the ID of the agent that you want to stop animations for. Leaving this empty will target the last agent added.


EXPOSED STATES

  • Current agent
    Contains the current agent name.

  • Current agent ID
    Contains the current agent ID.

  • Page X coordinates
    Shows the page X screen coordinates.

  • Page Y coordinates
    Shows the page Y screen coordinates.

:arrow_down_small:
:arrow_down_small:

Minesweeper

Another old game, works in the standard way. Find the bombs using the numbers uncovered, which represent how many bombs are in the surrounding square.


ELEMENT

image


ACTIONS

  • Reset game
    Resets the game.

  • Change difficulty
    Change the game difficulty.
    -Difficulty
    Set the desired difficulty, accepted values are: easy, medium, hard and custom. A value of custom will enable the fields below.
    -Width
    Number of squares wide.
    -Height
    Number of squares high.
    -Mines
    Number of mines.


EXPOSED STATES

  • Play time
    Number in seconds that shows the current play time.

  • Bombs remaining
    Number of potential bombs remaining, changes when flags are set.

  • Game status
    Status of game, values will be standby, playing, success or failure.

:arrow_down_small:
:arrow_down_small:

Tetris

A game of blocks that just can’t be beaten, comes with an option to apply the original theme on the blocks. I may decide to recreate the side panel at some point.


ELEMENT

image


ACTIONS

  • Reset game
    This resets the game.

  • Pause game
    Pauses the game.

  • Resume game
    Resumes the game.

  • Begin game
    Starts the game.


EXPOSED STATES

  • Score
    Shows the current score.

  • Lines
    Shows how many lines you have cleared.

:arrow_down_small:
:arrow_down_small:

Pong

Classic ping pong, just like the one that was around on the ATARI - damn I’m getting old!
All colors customizable, bat, ball sizes, game area size etc.

image


No actions, event or states in this game, shout if you want any.
All configuration options are held within the element itself. I figured it probably didn’t need much adding to it, although I suspect I’ll come back at a later stage and add things to it.

Happy playing!!

Paul

9 Likes

:slight_smile: more ways to procrastinate rather than getting on with some work :slight_smile:

3 Likes

Just amazing.

btw I was playing pong and I managed to crash it lol. I hit the ball into the very top right corner and the computer “bat” landed in corner at same time and that made it crash…just flashes in that spot. But whatever its hella fun

I cannot believe this :joy:
Clippy!

I’m looking forward to giving this a shot. I can imagine a really nice onboarding with Clippy as my spokesperson. :joy:

Woot woot woot! …. Awesome Paul! @pork1977gm

Awesome!

Are custom agents possible?

Well they are to a degree, by that I mean you need some additional software to generate all the sprites needed for the animations and then each agent will have it’s own set of animations assigned to it. It can be done but it will require a fair bit of work. I’d need to understand that a little more than I do at the moment. Will have to research it.

1 Like

For the Tetris component of the Nostalgia plugin, would it be hard to add the following workflow features:

button pressed move block to the right
button pressed move block to the left
button pressed move block down
button pressed rotate block

in effect this would allow someone to create their own buttons to move the blocks rather than using the computer keyboard, allowing Tetris to be played on mobile

thank you & the plugin is great!

hi @mattymacrophage

Yep I can do that, I’ll let you know when it’s done.

Paul

1 Like

Hi @mattymacrophage

I’ve pushed an update with a couple of fixes/changes applied. The bugs I spotted came about when v4 of the plugin editor was introduced, since I haven’t been in the plugin for a while, I never noticed them.

One of those fixes and got Clippy back up and running again, although there was a move action inside that element which has now been removed because it wasn’t working too well.

The other fix was to do with the controls for Tetris. To move the shape, it’s not done through an action because it’s too slow to execute. Instead, if you upgrade and see the options now, you should see this:

image

All you need to do is define the attribute ID’s for the 4 buttons/shapes etc that you have on your page, then enter those attribute ID’s into the settings. When you click on those elements, the shape will just move without having a workflow execute. This was the functionality that was broken, but you should be good now. It’s back working again on the demo page.

Let me know how you get on.

Paul

Working great! Thank you! Would it be possible to have exposed Game States for Tetris as well? I am trying to create a High Score database but need to be able to have the Game Statuses available. Thanks a ton!

Yeh I think so, although I need specifics as to what you mean. What is it your thinking? There’s a score state but I could throw in an event which triggers when the game is over then you can access the score inside the event and save to your database.

Or create a “do when is true” condition
Do when “Game status” is “failure” (everytime)

That second one sounds perfect. I would like to save scores saved to database when game over as well as show certain icons and hide others when game over. Thanks again for all the help!!!

1 Like

Also the ability to change the font of the scores and lines numbers to help with branding would be great as well as the ability to re-zero the lines without refreshing the page! Thank you!!!

You can do that directly through the text element, the score and line numbers are just states so throw them into a text element then just apply whatever font styles and sizes you like.

1 Like

Awesome! Thanks!!!