Is the Habbo Hotel related to programming?
Published: 2024-05-06 21:27:51

Yeah, I know, the title looks weird, but trust me! I'll show in this article that the claim totally makes sense.

Habbo Hotel is a virtual hotel where you can enter rooms and talk to other Habbos, play games created by the community and build relationships. You may have heard of it in the 2000s, when the game was at its peak. It was really famous in Brazil, **reaching a peak of 50k players playing simultaneously**. It doesn't sound like much, but for 2010 it's a lot.

Habbo Hotel was very present in my life when I was young, I met a lot of people and made a lot of friends who I still talk to. But after many years as a programmer, **I realized one of the things about Habbo that developed my programming logic**. Ladies and gentlemen, I present to you an incredible and powerful item in the world of Habbo Hotel called **Wired**.

---

## Table of Contents
- [What is Wireds?](#what-is-wireds)
- [Type of Wireds](#type-of-wireds)
- [Let's get our hands dirty](#lets-get-our-hands-dirty)
- [Event driven programming](#event-driven-programming)
- [Logic Elements](#logic-elements)
- [Connecting the points](#connecting-the-points)
- [Conclusion](#conclusion)

## What is Wireds?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mhyt3wze1tju63d1gobs.png)



Wireds are furnis (abbreviation that the game uses to refer to furniture) who is a group of tools that allow the users to program and automate the actions inside your rooms. The users can connect different Wireds to create a chains of actions triggered by specific events, like a user saying a specific word to be teleport. 

## Type of Wireds

They're separate by the categories: triggers, effects, conditions, negative conditions, selectors and add-ons. We won't be discussing the last two for now.

- **Triggers**: Triggers are the Wireds that will be triggered if the user performs a specific action, such as saying a specific word.

- **Effects**: The effects are what you want to happen if you activate the trigger, such as when the user says 'Hello' (trigger), it will teleport the user to a specific place (effect).

- **Conditions**: I've got it. This is the famous **if**. I'm going to follow the example we've set and make the effect teleport to a specified x place if the user is on a floor.

- **Condition Negative**: The famous else. Okay, but if the user hasn't been to a floor that I put in the initial conditional? In our example, we put to be teleported in a y place.


## Let's get our hands dirty

We're going to use the example I gave at the top. Our goal is simple: **when the user says "Hello" at the top of a specific floor, he has to be teleported**.

We need these Wireds to do that.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0p7bbomm4mcx5a8tmpyj.png)

Their names tell you exactly what they do. Read carefully and you'll see.

This is our starting point, we are going to do the things with Wireds here.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p7tt90a6zyotf12re6i4.png)


Let's start with the trigger. When the Habbo says "Hello", the Wireds will activate.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oxqdnhn58mtk04wt55xf.png)


Once the trigger is activated, the effect will be triggered and Habbo will be teleported to the blue floor.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5dr7hzcneed34gjs525.png)


In the Wired condition, the Habbo will be teleported **ONLY** if they are at the top of the grass.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i4zmegnzt9gk45xq26al.png)


This is the result we're looking for:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/el4y0xsfagmlw5ve0mlh.gif)



If the Habbo is not on the grass, nothing happens.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/405goucvdd0t4zc5co5g.gif)



The negative condition is the same thing, but with this one, if the user **isn't** at the top of the grass, they'll teleport to the blue floor.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/spvbbbw1h88yy8tlmymw.gif)



That's just the tip of the iceberg. There are many more creative and impressive examples like:

The Snake Game
{% twitter 1503392183432458246 %} 

Or Tetris
{% twitter 1608474955104096257 %} 

_I understand how Wired's works, but I want to know how this is related to programming..._

## Event driven programming
Event-driven programming is the way to go. It's a paradigm of programming that focuses on the interaction between components through events. These events can be generated by user actions or internal actions in our system. Let's take Habbo as an example. **When a user interacts with the Wired, they answer to a predefined action, creating a dynamic experience and making the user feel interactive.**


## Logic Elements
The Wireds is related to event-driven programming, and **it can also relate to logic elements**. These are essential elements in programming that focus on deriving conclusions based on a set of rules or facts that come from the relationships between entities.

In the Habbo Wireds, users can set the complexity condition logic using the **"IF, THEN, ELSE"** declarations.
Using the example we made, the logic looks like this in code:

```js
if(user.speak === "hello" && user.place === 'grass') {
    userTeleportToBlueFloor()
}
```


The negative condition is as follows:

```js
if(user.speak === "hello" && !user.place === 'grass') {
    userTeleportToBlueFloor()
}
```


## Connecting the points

The combination of event-driven programming and essential programming elements is evident in the Habbo Wireds, showcasing the versatility and power of these two concepts. **The Habbos can create complex places, interactives that adapt to user interactions and the dynamic of the game when they use both parts**.

The use of Habbo Wireds is an excellent way to introduce players to fundamental concepts of programming and logic. It encourages **creativity, problem-solving, and critical thinking, essential skills that are valuable both in the virtual world of Habbo and in the real world in a programmer's career**.


## Conclusion

This article proves that Habbo Hotel has complete relationship with programming, both with logic elements and as event-driven programming. It shows how the Wireds work and how they correlate.