A downloadable game for Windows, macOS, and Linux

Download NowName your own price

Streamer Logo is a small Twitch integration game for drawing... with turtles!!!

Why Get Streamer Logo Graphics

No need for Twitch bot authorisation (though this may be added later if a feature requires it.)

Interactive Twitch Chat implementation of a Logo-like language.

Pit teams of turtles against each other to make art!

Run a chill stream where viewers draw together through basic programming techniques.

Supports transparent backgrounds for streaming overlay purposes.

What is Logo?

Logo is a programming language developed in 1967. Part of this language (and perhaps its most well known feature) is Turtle Graphics which allows users to draw vector art using programming commands. Streamer Logo Graphics is a Twitch chat partial implementation of Turtle Graphics.

Features

  • Logo Graphics-like drawing through text
  • Read chat to make art
  • Host individual or team games
  • Generate text or image based prompts
  • Timed play sessions
  • Grid overlay for more accurate positioning.
  • Screenshot artwork at any point in time (this can be requested by viewers too)

NOTE

You agree to use Logo Streamer Graphics responsibly and only run it on channels that you have explicit permission to.

If the game is abused or used for abusive purposes (harassment and similar negative behaviour) it will be taken down and/or Twitch authentication will be required.

How To Use (Streamer)

Overlay Setup (OBS/Streamlabs)

The game supports transparent backgrounds (in windowed mode). This allows you to capture the game as an overlay on top of whatever other content you wish to stream. To do this, set the background colour of the canvas to an alpha less than 1 then in OBS add a Game Capture source, select the game window for Streamer Logo Graphics and then make sure to enable Allow Transparency.

OBS Source Properties Window with SLG in transparent background mode.

In the top half of the image you can see the game preview. You can see im the Background Colour preview that the background has been set to 0 (fully transparent).

With this setup, maximise the window and then you can switch to any other program you want and the game will still be captured as an overlay.

Interface

The game offers a minimal interface. The most important first step is to set your channel. Click the settings cog and then type your channel name. You can save this for future sessions by pressing the Save Settings button, however this is not needed if you have multiple channels and would like to enter the channel name every time you start the game.

Turtle Settings

Turtle Collisions

Sets whether turtles can collide with each other. Leaving this off creates a more pure art environment and will improve performance a little. However, if you would like a more chaotic experience that forces viewers to work together to create their masterpiece, enable this setting.

Clear Queue on Collision

Sets whether a turtle will continue to try and finish its queued commands even if it collides with the bounding box or another turtle. If true any remaining commands will be cleared and the turtle will be reset to waiting state.

Turtle Speed

This is an experimental setting. When lots of turtles/drawn lines are on screen you may find the game will get unstable and turtles will stop and jitter in place when using faster speeds. This can be fixed with a stop or reset command in most cases. If you plan on having a lot of turtles on screen you may want to reduce the speed below the default.

Team Game Settings

Max Teams

Sets the maximum number of turtles that can be in the game at once. For a more chaotic stream set this to a high number, for a more chill or strategic game, set this to a low number, perhaps even just one or two turtles.

Screenshot Settings

Allow Viewers to request a screenshot

Allows viewers to use the screenshot command to request a screenshot. This will be performed no more frequently than the cooldown time.

Screenshot Cooldown

Use this to set a cooldown on viewer screenshot requests.

Hide UI on Screenshot

If true, the UI will be hidden before a screenshot is taken.

Prompt Settings

Generating Art Prompts

There are two ways to generate prompts. The first is to generate a word prompt. This generates a random phrase from a list of words. At the moment they can be somewhat nonsensical. Users can provide their own file to generate their own list of words to generate prompts with.

Custom Word Prompts

If you place a file in the same folder as the game called phrase_gen.json with the following format you can make custom prompts.

{
    "nouns": ["noun1", "noun2"],
    "adjectives": ["adjective1", "adjective2"],
    "activities": ["activity1", "activity2"],
}

Teams Game

Teams mode allows multiple viewers to control the same turtle. The first person to request a turtle is made will be the owner of the turtle and 

Owner Weight

The host can specify if the owner of a turtle received additional weight to their turtle requests and can set how much additional (or less) weight that user receives.

Banning Users

If users are being overly spammy with their commands you can ban them in the game. This won't ban them from Twitch Chat, just from having an effect in the game. If a user is truly being a nuisance it is best to ban them in Twitch itself.

To ban a user click the settings cog then add their name to the ban list. Remember to click Save Settings before closing the popup.

When you are ready to remove the ban, select their name from the list and click unban user. Again, click Save Settings before closing the popup.

BEGIN

When you are ready to accept viewer chat, type begin into your Twitch chat. Begin will only respond to the channel owner.

If viewers wish to run their own copies of the game to see what their turtle is doing more clearly, they will need to load their copy before you type begin. If this is something you want to allow viewers to do you may want to discuss the exact settings you are using and give viewers a countdown before typing begin.

END

When you want to end the game, type end into your Twitch chat. This will lock the game from accepting any more chat requests. This is useful for preventing spam or allowing turtles to finish their art without any new art being started.

Accept Turtle Commands

This button simulates begin and end, however you must type begin before this button has any effect. This is a safety switch feature for channel owners. Once you have called begin you can use this switch in the UI to accept or disable chat commands being read by the game.

How To Use (Viewer)

Turtles will respond to various commands. The first and most important is make turtle. This will request the game make a turtle with your name.

Movement

move [distance]

forward [distance] (alias for move)

back [distance]

Distance can be specified as an integer or non-integer number:
forward 100
forward 250.5
Negative numbers will move the turtle in the opposite direction:
forward -200 is the same as back 200

Rotation

right [angle]

left [angle]

rotate [angle] (alias for right)

Angle can be specified as an integer or non-integer number:
right 90
right 45.5
Negative numbers will rotate the turtle in the opposite direction:
left -90 is the same as right 90
rotate defaults to a right rotation.

Pen Commands

penup 

pendown

pen up

pen down

If the pen is set to down position, a line will be drawn when a move command is issued

width [num]

Sets the pen width in pixels.

e.g. width 10

colour [colour] (can also use US English spelling color)

Colours can be specified using a hex code or one of the default colours
The streamer can present a list of acceptable colour names on the side of the screen.

Queued Commands

Commands can be queued (this does not work in team mode to make evaluating group command requests less intensive for the host's computer)

[command1 parameter, command2, parameter

e.g.
[move 100, right 90, penup, move 100, right 90, pendown
There is technically no limit to the size of the queue, however Twitch chat has a character limit of ~500 characters.

Repeat Commands

You can repeat a queue of commands to get even more advanced drawings. (this does not work in team mode to make evaluating group command requests less intensive for the host's computer)

rpt num [queue (as above)

e.g. rpt 4 [move 100, right 90
The above code will move the turtle in a square motion with sides 100 pixels. 
!!!Currently there is no recursion for repeating or queueing repeats.!!!

Other Commands

reset

If your turtle gets stuck use the reset command to clear any queued commands, lift the pen and reset the position and state of the turtle. Panicked turtle

Turtle frantically flapping its fins

leave

If you are done playing you can use the leave command which will destroy your turtle and all lines that you have drawn.

pos [x,y]

If you would like to quickly move your turtle to a point on screen.

Team Commands

join [name]

join [team]

join [id]

You can join a team by requesting joining the team's owner, the team name or the turtle as specified in its creation order (e.g. the first turtle created would be turtle 1)

name [team_name]

The owner of a team turtle can set the team name. e.g. name best_team will rename the turtle to best_team. This can be used by other players to join the turtle.

Extras

For super advanced play, viewers can run their own copy of the game, sign in with the streamer's channel. Their game will respond just the same as the streamer's chat! (Provided the same settings are used, such as team/owner weight settings)

This can be useful for very busy streams where your turtle or team's turtle may get obscured by others.

Future Features

If the game proves popular, further developments may be considered including:

  • Importing custom images for prompts
  • Resizing prompt images
  • Exporting finished art to SVG format
  • Automatic upload to image sharing platforms
  • Improve timing of games to prevent input outside of the timing events

Support Development

You can support the game in several ways:

  • Provide an optional payment on this page, right here
  • Consider a tip on Ko-Fi
  • If you would to support us for free, consider sharing our work on social media and coming by to support our live streams and other content.

Open Source

Streamer Logo was created in Godot Engine (MIT License) godotengine.org/license.

Utilises snippets of code from TwitchChatManager https://github.com/davidkbd/Godot_TwitchChatManager/

Utilises some concepts from https://www.dougdoug.com/twitchplays

Help!

The game is still in development, please log any bugs, issues or suggests in the game's community pages or on our Discord and we'll try to address them.

I can't connect to Twitch Chat

The game features an independent authorisation mechanism to prevent abuse. If you see an error about authentication it may just be that the authentication server is temporarily down or inaccessible, please try again shortly. If the problem persists it may be that the game has been removed from the authentication server. In this case check the devlog to see if a new version has been posted.

If the game gets too much abuse it may be removed permanently, in which case a devlog will be posted stating as such.

No Turtles Show On Stream

The streamer must type begin in order for any commands to be run by the game. Make sure you, the streamer has typed this command before anyone else tries to make turtles.

Download

Download NowName your own price

Click download now to get access to the following files:

StreamerLogoGraphics.zip 32 MB
Version 4
streamer-logo-windows.zip 19 MB
Version 8
streamer-logo-linux-universal.zip 20 MB
Version 5

Development log

Leave a comment

Log in with itch.io to leave a comment.