DEV Community

Cover image for Como Habbo Hotel está relacionado a programação?
Moov
Moov

Posted on

Como Habbo Hotel está relacionado a programação?

É, eu sei, você provavelmente leu o titulo e deve tá se perguntando como diabos isso é relacionado a programação, mas tem uma explicação muito boa, juro.

O Habbo Hotel é um hotel virtual ou multiverso, dependendo da brisa que você tá, onde você navega por quartos e conversa com outros Habbos. Você deve ter ouvido falar disso lá em 2009-2010, época em que o jogo estava em seu maior pico de jogadores.

Habbo Hotel sempre foi presente na minha adolescência, conheci vários amigos lá que mantenho contato até hoje, mas ao longo dos anos como programador, eu parei pra pensar em uma das coisas que são presentes no Habbo Hotel e que hoje eu penso que isso desenvolveu muito bem a minha lógica na programação não intencionalmente. Meus amigos, eu apresento a vocês um item poderoso no mundo pixelado do Habbo, que se chama Wireds.


Table of Contents

O que são Wireds?

Uma imagem mostra uma pilha de 'Wireds' do Habbo Hotel. Cada 'Wired' é um pequeno dispositivo quadrado com conectores e fios visíveis. Eles são coloridos, variando entre verde, vermelho, azul e amarelo. Os 'Wireds' estão empilhados uns sobre os outros de forma desordenada

Wireds são mobis (abreviação que o jogo usa para mobilias) que são um conjunto de ferramentas que permitem aos jogadores programar e automatizar ações dentro dos seus quartos. Os Habbos podem conectar diferentes Wireds para criar cadeias de ações desencadeadas por eventos específicos, como um usuário digitando uma palavra específica para ser teleportado.

Tipos de Wireds

Eles são separados pelas categorias, ativadores, efeitos, condições, condições negativas, seletores e extras, mas esses dois últimos não falaremos no momento.

  • Ativadores: Os ativadores ou triggers são os wireds que vão ser ativados caso o usuário faça alguma ação configurada, como falar uma palavra específica.

  • Efeitos: Os efeitos são o que você quer que aconteça caso você ative o trigger, como por exemplo quando o usuário falar 'salve' (ativador), ele vai teleportar o usuário para um lugar específico (efeito).

  • Condições: Esse você conhece né? O famoso IF. No caso, seguindo o exemplo que estamos construindo, a condição pode ser em um exemplo em que, caso o usuário estiver em cima de um piso, eu quero que ele faça esse efeito de teleportar o usuário pra um lugar.

  • Condições Negativas: Esse seria nosso famoso else. Beleza, mas se o usuário não estiver em cima do piso que eu coloquei na condição inicial? No nosso exemplo, vamos colocar ele pra ser teletransportado pra outro lugar.

Na prática

Vamos usar o exemplo que eu escrevi exemplificando cada Wired, nosso objetivo é simples, quando o usuário falar 'salve' em cima em um piso especifico, que ele seja teleportado.

Para fazer isso a gente vai usar estes wireds:

Image description

O nome deles explica por sí só o que eles fazem, então se puder, leia bem o que cada um faz.

Teremos esse quarto como ponto principal, no piso azul onde queremos ser teleportados.
Image description

Vamos começando com o ativador, coloquei que quando o Habbo falar 'salve' vai ativar os Wireds.

Image description

Logo após vamos configurar o efeito, quando o trigger for ativado, o efeito vai ser ativado também teleportando o Habbo para o piso azul.

Image description

Indo para as condições, eu vou ser teleportado para o piso azul SOMENTE se eu estiver em cima da grama.
Image description

E temos como resultado:
Image description

Caso não esteje em cima da grama, não acontece nada.
Image description

Usando a condição negativa ficaria a mesma coisa, mas agora a condição se torna: se o usuário não estiver em cima da grama, teleporte ele para o piso azul.
Image description

Isso foi um exemplo simples mas apenas a ponta do iceberg do que isso é capaz de fazer, temos vários exemplos criativos e impressionantes que os usuários colocam, como por exemplo:

Jogo da Cobrinha

Ou até Tetris

Beleza, mas depois dessa explicação toda, como que isso se relaciona com programação?

Programação Orientada a Eventos

Programação Orientada a Eventos é um paradigma de programação que se concentra na interação entre componentes do software por meio de eventos. Esses eventos podem ser gerados por ações do usuário ou mesmo por ações internas do nosso próprio sistema. No caso do exemplo com Habbo Hotel, quando um evento ocorre, o Wired correspondente (ou conjunto de Wireds) executa uma ação predefinida, criando experiências dinâmicas e interativas para os usuários.

Elementos Lógicos

Embora os Wireds do Habbo operem principalmente em um modelo orientado a eventos, eles também incorporam elementos lógicos. Esses elementos são elementos essenciais na programação que focam em derivar conclusões baseados em um conjunto de regras ou fatos vindos das relações entre entidades.

Nos wireds do Habbo, os usuários podem configurar condições lógicas complexas usando as declarações "SE...ENTÃO...SENÃO".
Usando o exemplo que fizemos, se transformarmos em código conseguiríamos uma lógica parecida com essa:

if(user.speak === "salve" && user.place === 'grass') {
    userTeleportToBlueFloor()
}
Enter fullscreen mode Exit fullscreen mode

Ou a condicional negativa:

if(user.speak === "salve" && !user.place === 'grass') {
    userTeleportToBlueFloor()
}
Enter fullscreen mode Exit fullscreen mode

Ligando os Pontos

A combinação entre a programação orientada a eventos e os elementos essenciais da programação nos Wireds do Habbo mostra a variedade e o poder de combinar esses dois conceitos. Aproveitando essas duas partes, os Habbianos podem projetar ambientes complexos, interativos que se adaptam às interações do usuário e à dinâmica do jogo.

Além disso, o uso de Wireds no Habbo serve como uma forma educacional, introduzindo os jogadores a conceitos fundamentais de programação e lógica sem mesmo não tendo o objetivo para isso. Ele encoraja a criatividade, a resolução de problemas e o pensamento crítico, habilidades essenciais que são valiosas tanto no mundo virtual do Habbo quanto no mundo real.

Conclusão

Esse artigo foi para provar o ponto que Habbo Hotel tem completa relação com programação, tanto como elementos lógicos como uma programação orientada a eventos. Mostrando brevemente como funciona os Wireds e como eles correlacionam.

Top comments (6)

Collapse
 
im_leafar profile image
Leafar

Ficou muito legal a explicação, eu posso dizer que se não fosse o Habbo eu não seria um programador, pois eu gostava tanto do jogo que na época cheguei aprender ActionScript (que era a linguagem do jogo antigamente [Flash]) para tentar entender a engine do jogo.

Collapse
 
clintonrocha98 profile image
Clinton Rocha

Que conteúdo legal, parabéns, agora eu fiquei com vontade de fazer algum projeto parecido com o habbo kkkkkkkkkkkk

Collapse
 
_michellemello profile image
Michelle Mello

Nossa, que conteúdo massa! Desbloqueou muitas memórias e explodiu minha cabeça. Que incrível!

Collapse
 
andersonpull profile image
Anderson Oliveira Bezerra

Ficou incrível o artigo, parabéns! rs

Collapse
 
matheusfilg profile image
Matheus Filgueiras

Conteúdo insano, muito bom relembrar um joguinho da nossa infância com um outro olhar, nunca que naquela época eu ia entender e mexer com os wireds, pra mim era só magia kkkkk

Collapse
 
moovhe4rt profile image
Moov

Muitos tem a impressão do jogo de ser só um webnamoro mas tem muitas camadas pra percorrer AHSUAHSUAHD