Condo IO!

What is Condo IO?

Condo IO stands for Condo Input and Output. It’s a powerful set of tools and integration with items that allow items to connect with each other and preform actions based on gameplay events.

At bare minimum: Press Button → Open Door

How Do You Use It?

Condo IO will be embedded into items for you automatically.

You can connect items in two ways:

The Connector Tool

  • Part of the Tower Glove, this tool will allow you to click on two items and form a connection. By default, the Connector Tool will pick the most common input/output events for you.

Item Properties → Connections

  • You can then further edit item interactions by editing items and going to Connections (or click on the Connections tab in the item properties menu).


Goals

The main goal for Condo IO is to make a feature that does not require any programming knowledge to create various creations such as puzzle maps, adventure stories, organization tools (such as turning off all lights in a room), and eventually custom games all within your Condo or Condo Workshop maps.

The tools are designed to be easy to understand, intuitive, and straight forward.


What are the plans for the future of Condo IO?

We plan to release Condo IO features in rolling updates, starting with the Phase 1 update.

Phase 1

Connecting items together

  • Items having Inputs and Outputs
    • i.e. Button (OnPressed) → Door (Toggle)

Persistent Connections

  • Items connecting regardless of events, such as:
    • Camera ~ Mediaplayer → Camera Feed Displaying on Mediaplayer Screen

Connector Tool

  • New tool part of the Tower Glove that allows you to quickly connect items together

Delayed Events

  • Be able to time events: Button → Open Door (0 seconds), Turn On Lights (2 seconds)

Item Property Improvements

  • Edit connections directly within the item property menu

Core Inputs

  • These are inputs that ALL items have, regardless if they have any editable properties to begin with
    • Button → Canvas → Hide
    • Button → Canvas → Unhide
      Note: Hiding an item will disable both visuals and collisions.

Logic Modules

  • Relay - Organize IO events by grouping them into a single Relay

Volumes

  • Trigger Volume
  • Damage/Heal Volume
  • Push Volume
  • Blocking Volume
  • Gravity Volume
  • Player Movement Volume
  • Size Volume
  • Teleport Volume

New Input Items

  • Button (with various shapes)
  • Canvas Button
  • Keypad
  • Lever
  • Physics Object Slot - Takes a physics object when you put it into it (can be filtered by name)

Built-In Item Events

  • Items that have interactions such as Doors will come with events you can hook into, such as OnOpened
    • Doors: OnOpened, OnClosed, Open, Close, Lock, Unlock
    • Buttons: OnPressed
    • Lights: Turn On, Turn Off, OnTurnedOn, OnTurnedOff, Set Intensity, Set Color
    • Fireworks: OnIgnite, OnLaunch
    • Food: OnBite, OnConsumed
    • Damagable items such as Balloons, Bell, etc.
    • Media Player: OnMediaStarted, OnMediaEnded
    • Physics: OnPickedUp, OnDropped, OnDamaged
    • Special: Spin To Win, Dice, Bed

Infinitely spawn IO items

  • IO based items will have no Unit cost, you will not have to go to the stores to place down Volumes or Buttons

Editor Improvements

  • Improved item property UI
  • Renaming items

Update 0.16.5.0 - Condo IO Phase 2

  • Variables
    • ex. Button → Set URL on Canvas
    • ex. Button → Set Color on Light
    • ex. Button → Set Time on Timer
  • New Modules
    • Toggle Module
      • A logic item that calls two separate outputs that get toggled between when activated. Useful for toggling multiple things on/off. Will call Off on load. This is a boolean
    • Counter Module
      • A counter that counts a number then fires off when its max or min is reached. Can be reset to restart the count. Counter can optionally save its value persistently. You can Add, Subtract, and even Multiply and Divide the counter
    • Timer Module
      • A timer that keeps track of time passed. Can be adjusted to loop, select random times between min/max, pause/unpause

Future Updates

In order of importance…

  • Custom Spawn Points, Checkpoints
  • Player Stats: Lives / Deaths / Points / Team
  • Default Properties: Hidden, Interactive toggle, Locked, No Collide, Always Playing (for sound emitters)

  • Mover Module (for moving items and creating moving platforms)

  • Workshop Sound Packs

  • Saving a Default state of an item
  • Additional Input items (buttons, etc.)
  • Additional Logic items
  • Additional Volumes such as Post Processing Volume, Day/Night Volume
  • Keys for Doors

  • Custom Condo Currency
    • Can be used for puzzle maps, awarding players for being on your condo, etc. It is persistently saved to the Condo data itself.
  • Pickups (weapon, health)
  • Sensors
    • Sensing when a player has done an action (i.e. OnDeath, OnChatMessage, etc.)
  • NPCs Enemy/Friends
  • NPC Waypoints

  • Cameras (for cinematics)
  • Map Optimization Volumes, Snapshot Loader, Workshop Map Portal (linking workshop map levels)
  • Layer system - Ability to assign a layer to items with the ability to toggle on/off the items within a layer

  • Gameplay Rules

  • Physics toggle for items
    • Physics modifiers

  • Custom Objectives

  • HUD/FX effects
  • Items designed for puzzles
  • And More!

We consider Phase 1 to be the very first start of Condo IO and we’re excited to continue to add new ways to create interactive experiences within your Condo, and by extension, open up new types of level creation tools using the Condo system within Tower Unite.


Advanced Use Cases

Automatic Lights, only when room door is open:
We suggest using Relays. Relays allow you to combine many actions into one spot for quicker editing in the future.

  • Door (OnOpened)
    Door → Relay1 → Fire

  • Door (OnClosed)
    Door → Relay2 → Fire

  • Relay1 (OnFired)
    → Light1 TurnOn
    → Light2 TurnOn
    → Light3 TurnOn
    → Light4 TurnOn

  • Relay2 (OnFired)
    → Light1 TurnOff
    → Light2 TurnOff
    → Light3 TurnOff
    → Light4 TurnOff

  • Locked Door, Key Unlocks

    • Edit the Door and set Locked to enabled
    • Spawn Physics Item Slot
    • Connect the Physics Item Slot to the Door and set the action to Open
    • The Physics Item Slot will open the door once a physics item is slotted into it

This post will be continuously updated as we build on these features.

23 Likes

Is support for scripting planned? As in using an interpreted language. Given that TU follows GMod’s legacy, you could use Lua.

2 Likes

No.

1 Like