É, 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?
- Tipos de Wireds
- Na prática
- Programação Orientada a Eventos
- Elementos Lógicos
- Ligando os Pontos
- Conclusão
O que são Wireds?
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:
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.
Vamos começando com o ativador, coloquei que quando o Habbo falar 'salve' vai ativar os Wireds.
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.
Indo para as condições, eu vou ser teleportado para o piso azul SOMENTE se eu estiver em cima da grama.
Caso não esteje em cima da grama, não acontece nada.
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.
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()
}
Ou a condicional negativa:
if(user.speak === "salve" && !user.place === 'grass') {
userTeleportToBlueFloor()
}
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)
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.
Que conteúdo legal, parabéns, agora eu fiquei com vontade de fazer algum projeto parecido com o habbo kkkkkkkkkkkk
Nossa, que conteúdo massa! Desbloqueou muitas memórias e explodiu minha cabeça. Que incrível!
Ficou incrível o artigo, parabéns! rs
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
Muitos tem a impressão do jogo de ser só um webnamoro mas tem muitas camadas pra percorrer AHSUAHSUAHD