May 22nd 2025: A large number of spam user accounts have been removed from the wiki. If your account was accidentally deleted during this process, please get in contact to have it restored!

This is an old revision of the document!


Needle

The creation featured on this page contains one or more content warnings indicated by the developer(s). Sensitive content may be reflected on this page. Please check the content warning at the top of the article and proceed with caution.

Needle
TypeGhost
Developer(s)Galla, Zichqec
OriginOriginal Character
SakuraNeedle
Language(s)English
SHIORIYAYA
Release dateMay 11th, 2022
Download

Content warning: mentions of violence, gaslighting, general unsettlingness.

Needle is an original character by Galla and Zichqec, made for Ghost Jam 2022. It was made from scratch, using all new assets, in just 72 hours (though it did not count for the 72 hour challenge of the 2022 jam, since it was not the first 72 hours).

The ghost features a simple needle with vast amounts of dialogue. The dialogue is generally erratic, oftentimes making little to no sense or lacking context.

Features

  • Talks at random intervals, giving the user no control over when it speaks.
  • No menus at all; double clicking the ghost will result in a poke dialogue and nothing more.
  • If Needle overlaps another ghost, it will send a special event to that ghost, 'poking' them and letting them react to it.
  • Generates a 'true name' for the user when first booted, which it will always remember and refer back to on occasion.
    • If the user changes their name, it will generate nicknames for them each time it is booted, saving these names to a list and picking names to call the user at random from the list.
  • Extremely large envelopes with hundreds of entries.

Communication Features

Needle uses OnOtherOverlap to detect if it is overlapping with another ghost. It will then send an event called OnNeedlePoke to any ghosts that it is overlapping with raiseother, and say a short dialogue. Other ghosts may implement this event and respond to being poked by needle.

Which character Needle is overlapping is sent via reference0. It will be 0 for the sakura, 1 for the kero, 2 for the first extra character, etc. If Needle is overlapping more than one character in the same ghost, the events will be sent one after another.

A simple implementation of the OnNeedlePoke event is as follows:

OnNeedlePoke
{
	if reference0 == 0 //Sakura
	{
		"\0Ow!"
	}
	elseif reference0 == 1 //Kero
	{
		"\1Ow!"
	}
	elseif reference0 == 2 //Third char
	{
		"\p[2]Ow!"
	}
	//etc...
}

Here also is an example of this event implemented into the ghost Balloons:1)

True Name and Nicknames System

Upon booting Needle for the first time, the user will be assigned a random “true name” that cannot be changed. Needle will refer to the user with this now and then, always displaying the name as an anchor that can be clicked. Upon clicking the anchor, the user will have the opportunity to deny the true name and insist on their own instead.

Should the user choose their own name, Needle will run the name through a “name mangler” to corrupt the string, saving the result as a nickname. Every time the user boots needle, a new nickname will be generated and saved, such that the user ends up with a long list of nicknames that needle may call them by.

When a nickname is set, Needle will alternate randomly between calling the user by their true name, chosen username, and random nicknames from the saved list. All of these names will show up as clickable anchors, which the user can click to have the option to change their name again. Needle will also always call the user by their new nickname upon booting, so closing and reopening Needle may be used as a method of quickly getting to the name change option.

The user can reset the list of nicknames by attempting to change their name again, and putting in the same name as before. This will keep the same base username, but start the list anew.

The user may also choose to go back to their true name, which will clear the list of nicknames, and Needle will go back to exclusively calling them by the true name.

If the user decides they don't actually want to change their name at all, they can leave the input field blank, and their settings will be left alone.

Name Mangler

The name mangler is a function that corrupts whatever name the user puts in. It may reverse the name, change letters to upper/lowercase at random, change some letters to their corresponding numbers in 1337 speak, append random prefixes and suffixes, repeat letters or sections of the name, and more. Multiple of these corruptions may happen together.

Needle will attempt to never generate the same nickname twice. Names may end up similar, thanks to slightly different upper/lowercase letters, but never exactly the same.

Balloon

Needle comes bundled with Needloon, a balloon made with the image of Needle's master shell, which has been stretched and warped to make a suitable text area.

Shells

Name Description
The True Needle The default shell. A beautiful gray needle.
External shells
Polished A polished version of the original needle shell.
Diamond Eye An alternate needle by Zichqec.
Twemoji The :sewing_needle: emoji from the open source Twemoji emoji set.
1)
A random balloon is chosen to be popped each time the event is sent