DevBlogs #2 - 1 Ano de Desenvolvimento do CPA

Olá Comunidade, aqui é o Renan, dessa vez falando sobre uma data muito especial, no dia 24 de Fevereiro de 2023 eu junto com Alberto, Sofia, Naphiss e Logan fundamos o Club Penguin Avalanche.

Lembro como se fosse ontem os 3 dias diretos que passei sem dormir, resolvendo bugs e descobrindo como o Club Penguin funcionava.

Tenho no começo só a agradecer esse projeto que fiquei meses full-time e me tirou da depressão que eu estava na época.

Hoje comemoramos 1 ano da fundação do CPA, e apesar de não ser a data de abertura das portas do nosso querido servidor, foi uma data marcante para nós que estamos aqui desde o começo.

Por isso nessa segunda edição do DevBlogs, trago um pouco da evolução no desenvolvimento do CPA durante um ano, e resumidamente mostrar como o foco foi, e continua sendo a qualidade na experiência dos usuários.

O Famigerado bug do login

Imagina o login no jogo ser um "Par ou Ímpar"? Se cair par, você consegue logar, se for ímpar o seguinte erro acontece:

Bug do login CPPS AS2

Esse foi um dos piores bugs que o CPA possuía em sua fase Alpha (antes da abertura ao público).

Após dias e muito código sendo debugado (testado) em produção, descobrimos que o Club Penguin possuía um sistema de sorteio de servidores de login, e se um dos ips ou portas fossem sorteados errado você não conseguia entrar no jogo.

O bug dos selos dos dias de vida

Esse é um bug famoso para qualquer servidor CPPS AS2, com exceção do Avalanche, esse bug consiste em toda vez que você loga no jogo você recebe os selos de 183 dias e 365 dias de vida.

Bug dos Selos de Dias de Vida CPPS AS2

Esse erro acontecia porque o Club Penguin possui uma categoria de selos chamada achievements que são configurados à parte.

Esse sistema de achievements carrega antes mesmo do seu pinguim receber os selos que ele possui do servidor, o que fazia com que você ganhasse o selo toda vez que entrasse.

Desafio Ninja Água

Algo interessante é o Desafio Ninja Água do CPA, seu lançamento estava planejado para Novembro de 2023, contudo o Desafio Ninja Água é um dos meus minigames favoritos do Club Penguin, o que fez com que eu ficasse 3 madrugadas inteiras até que ele estivesse em uma versão estável.

Atualmente existe uma versão desenvolvida e mal feita do Água, cheia de bugs, problemas de lógica e memory leaks (memory leak é quando, geralmente um looping não é encerrado corretamente, resultando em uma infinita alocação de memória).

Abaixo você pode conferir alguns dos vários bugs nesta versão:

Desafio Ninja Água Bugado

Isso fez com que eu tivesse que reescrever essa versão praticamente inteira do 0 (ao menos tive como entender o funcionamento do minigame).

É até irônico lembrar que esse minigame será reescrito novamente por conta da migração de stack do CPA.

Aos mais curiosos relaxem, farei um DevBlogs somente sobre o Desafio Ninja Água.

Minigames e arquivos AS3

Uma coisa que poucas pessoas sabem é a real diferença entre AS2 e AS3, geralmente dividimos um CPPS AS2 como um CPPS que foca na versão mais antiga do jogo (2008-2010) e AS3 na versão mais moderna (2017).

Contudo AS2/AS3 na verdade fala sobre a versão do ActionScript, linguagem de programação usada no Flash. Quando a Adobe lançou a Versão 3.0 quebrou a compatibilidade com a Versão 2.0, dessa forma é impossível um arquivo da Versão 3.0 executar um da Versão 2.0 e vice-versa.

Contudo a partir de 2011 o Club Penguin começava a dar suporte a vários arquivos AS3 incluindo minigames como o Patinuffle e Esmaga Fruta, isso é possível graças a uma adaptação para que esses arquivos sejam carregados separadamente, o ponto é que, qualquer CPPS AS3 possui esse suporte, e esse não foi o caso para o nosso sofrido Club Penguin Avalanche, que precisou fazer essa adaptação manualmente.

Abaixo você confere o que acontece ao tentar acessar esse minigame em um CPPS AS2 comum (o jogo não carrega):

Club Penguin Minigame AS3 na AS2

Calma curiosos, também teremos um DevBlogs sobre isso.

Adicionalmente, fazer minigames AS3 funcionarem em um CPPS AS2 é relativamente simples, o problema começa ao carregar módulos AS3 do Club Penguin, onde esses precisam de uma série de dependências presentes na adaptação original feita pelo Club Penguin.

Atualmente o Club Penguin Avalanche possui suporte a qualquer minigame ou módulo AS3 do Club Penguin, com exceção do Desafio Ninja Neve que está em desenvolvimento.

Tabela comparativa

Por fim vamos comparar o que o Club Penguin Avalanche implementou em 1 ano em relação ao Club Penguin Original e a outros CPPSes de diferentes versões.

FeatureCPPS AS2 QualquerCPPS AS3 QualquerClub Penguin OriginalClub Penguin Avalanche
Manuseio de Cache Avançado⚠️⚠️
Pode carregar minigames de qualquer versão
Festas com evento de caçada
Festas com sistema de missões
Desafio Ninja
Desafio Fogo⚠️⚠️
Desafio Água
Desafio Neve⚒️
Encriptação de pacotes
Puffles não são itens de mão
Suporte a salas de todas as versões
Transformações⚒️
Sistemas avançados de moderação
Filtro de palavrões avançado⚠️⚠️⚒️
Sistema de iglus avançado⚒️
Suporta carregar qualquer arquivo AS3
Jogo de fácil configuração

Legenda:
❌ - Não implementa.
⚠️ - Implementa uma versão parcial, ou incompleta.
⚒️ - Está em desenvolvimento.
✅ - Implementa.

Assim finalizamos o nosso segundo DevBlogs, eai pinguins o que acharam? Aproveitem esse 1 ano de CPA com a gente, nossa festa de aniversário será em Março junto com a Festa dos Puffles.

Por Renanrcp em 24 fevereiro de 2024 às 03:50


3 Comentários

então né vocês meio que DIVARAM e ainda se tornaram destaque entre tantos outros servidores, patrões fazem assim!!!

03 junho de 2026 às 20:05
Renanrcp disse

São os devs não tem jeito 🙅‍♂️


Esse projeto é um dos melhores projetos que eu já trabalhei e tenho muito orgulho! <3

03 junho de 2026 às 20:05
Renanrcp disse

Tenho muito orgulho do meu Juninho, parabéns você é fera e vai ser um Dev excepcional, tudo de bom você merece 🫶


É um prazer imenso poder fazer parte de tudo isso e cada vez aprender mais.

03 junho de 2026 às 20:05
Renanrcp disse

O prazer é meu Sarf, fico muito feliz com as pessoas que conheci nesse projeto, em especial você irmão 👊


Deixe um comentário

Seu comentário terá de ser aprovado por um Moderador antes que apareça publicamente a todos os usuários, iremos mostrar apenas os comentários relacionados a esses posts. Muito obrigado!