Lucas Bittencourt

Mundo Virtual Online

Virtual Online World

Sobre

About

Mundo Virtual Online é um jogo de construção de cidade misturado com mundo virtual. O objetivo é cuidar de uma cidade, ganhar dinheiro e deixar seus cidadãos felizes. Cada jogador tem sua cidade "offline" mas pode além de poder visitar a cidade de amigos, também é possível ir para a praia que é uma área comum a todos os jogadores. Você pode comprar roupas e acessórios para o seu personagem e conforme você sobe de nível, novos itens são desbloqueados.

Virtual Online World is a construction game with a mix of virtual world. The main goal is to take care of a city, make money and keep your citizens happy. Each player has their "offline" city but not only they can visit their friend's cities, it is also possible to go to the beach which is a common area for every player. You can buy clothes and accessories for your character and as you level up, new itens are unlocked.

Desenvolvimento

Development

Eu fui responsável por todo o back-end do projeto, e por parte da integração do back-end com o front-end. Eu modelei e montei o banco de dados (com MySQL), criei a lógica do jogo no servidor com Java e SmartFox2X e criei funcionalidades para facilitar a comunicação entre o cliente e o servidor usando C# na Unity3D. Uma das maiores dificuldades no servidor foi garantir que o código era thread-safe (já que SmartFox automaticamente divide as chamadas em threads diferentes). Também foi complicado organizar o conteúdo do jogo, modelos 3d e texturas. Esses assets precisavam estar cada um em um "pacote" diferente e cada pacote precisava ser específico para cada plataforma (Web, PC/Mac, Android e iOS). No fim optamos por criar uma ferramenta que automaticamente organizava e empacotava os assets.

I was responsible for the project back-end and for the communication between the back and front-end. I did the database architeture (MySQL), programmed the game logic in the server using Java and SmartFox2X and wrote functions to make it easier to send messages from the client to the server using C#. One of the biggest challenges was to make sure everything was thread-safe (since SmartFox automatically splits the calls into different threads). It was also hard to organize all the game content, 3d models and textures. Each of these assets had to be in a different asset bundle and each asset bundle needed at least 4 different versions for each platform we had to support (Web, PC/Mac, Android and iOS). In the end, we created a tool to organize and bundle the assets according to our needs.