Ivo Camargo

Apresentação

Desenvolvedor Web e Desenvolvedor de Jogos

  • Data de Nascimento: 1997
  • Localização: São Paulo, São Paulo - Brasil
  • Idade: 26
  • Freelance e trabalho de tempo integral: Disponível

Olá! Meu nome é Ivo e nasci em São Paulo. Comecei a amar computadores e video games na minha infância e sempre me interessei em saber como isso tudo funciona.
Quando eu tinha 12 anos, tive meus primeiros contatos com linguagens de programação e quando completei 13 anos descobri e criei uma ferramenta poderosa em um famoso jogo online que influenciou centenas de milhares de jogadores no jogo. Aos 18 anos comecei a encarar isso tudo como uma profissão e comecei a trabalhar com desenvolvimento web e de jogos.

Conhecimento Técnico

Desenvolvedor Web Full Stack e Desenvolvedor de Jogos focado em JavaScript e TypeScript.
Conheço essas outras linguagens: PHP, C#, Python, C++, C e Delphi.

Meu foco principal de frameworks: VueJS, ReactJS, NuxtJS, NestJS, strapi e PhaserJS.
Certamente também conheço e já trabalhei com as libs e ferramentas generalistas para web e afins: ExpressJS, Sequelize, Mongoose, JWT, axios, jQuery, Bootstrap, Materialize, redux, rxjs, SocketIO, colyseus, web3.js, Cordova, Wordpress, Laravel, Prisma, TypeORM e etc.

Outras game engines e game frameworks que também já tive experiência: Unity, Godot, Unreal, RPG Maker, ThreeJS, BabylonJS, Construct, GDevelop.

Banco de dados: MySQL, PostgreSQL, MariaDB, MongoDB, Redis e RethinkDB.

Cloud: Digital Ocean, Heroku e Render.

Atualmente estudando essas para adquirir proficiência: Dart, Flutter, NextJS, React Native, Laravel.

HTML, CSS, JavaScript e TypeScript
Node.js
Vue.JS, ReactJS, NestJS, NuxtJS e strapi
PHP
PostgreSQL, MySQL, MariaDB, MongoDB, Redis e RethinkDB
PhaserJS e Pixi.js

Currículo

Educação

Desenvolvimento de Jogos e Arte de Jogos 3D

2015 - 2017

Saga - School of Art, Game and Animation

Unreal Engine, Photoshop e Maya. Conceitos de game design e arte de jogos 3D no geral.

Experiência Profissional

Desenvolvedor Web e Desenvolvedor de Jogos (Tempo Integral e Freelance)

2015 - Agora

Freelance utilizando as mais variadas tecnologias web. Manutenção em sistemas web e sistemas de servidores privados de jogos multiplayer online. Desenvolvimento de sistemas web e jogos no geral. Websites institucionais, landing pages, blogs, aplicativos web, aplicativos híbridos em html5. Manutenção de sistemas, construção de sites, pentest para encontrar vulnerabilidades no sistema e mecânicas de jogos online multiplayer e sites, construção e manutenção de sistemas e mecânicas de jogos online.

Desenvolvedor Web utilizando PHP, MySQL, PostgreSQL, JavaScript, TypeScript, jQuery, bootstrap, wordpress, VueJS, ReactJS, NuxtJS, NestJS, SocketIO, jQuery etc um pouco de Python e C#. Desenvolvedor de Jogos Utilizando PhaserJS, PixiJS, Three.js e outras ferramentas.

Desenvolvedor de Jogos Jr e Desenvolvedor Front-End (Tempo Integral)

Setembro, 2020 - Abril, 2021

Presencial - São Paulo, São Paulo - Brasil em IGS | Desenvolvimento de Software

Desenvolvimento de jogos web de cassino e videobingo, produzidos para a Ortiz Gaming.

Jogos

Tecnologias

  • Front-End com JavaScript e TypeScript, webpack, gulp. PhaserJS é o principal framework.
  • Usando padrões de arquitetura criativos para fazer manutenção e implementações no game framework autoral da própria empresa feito no topo do PhaserJS.
  • Criação de comportamento de debug durante o tempo de execução do jogo com uma GUI para otimizar a produção e manutenção do jogo.
  • Implementação e manutenção em AJAX para carregar assets e solicitar os valores de sorteio, dados do jogador do jogo, etc.
  • Implementação e manutenção nos templates dos games com JSON; comportamentos JSON automatizados para cada jogo; carregamento de scripts para cada jogo com lazy load.
  • Criação de scripts automatizados para a equipe de arte para fazer uma melhor produção dos recursos de arte dos jogos.
  • Uso de orientação a objeto e o paradigma funcional seguindo clean code e SOLID.

Desenvolvedor de Jogos NFT e Desenvolvedor Web Full Stack (Freelance)

Novembro, 2021 - Dezembro, 2021

Remoto - San Francisco, California, Estados Unidos em OniSquad

Oni Mansion é um jogo de NFT multiplayer online casual onde o jogador pode decorar sua casa com decorações assustadoras e assombrar a casa se outros jogadores.

Jogo

Tecnologias

  • JavaScript + Jsdoc no gameclient usando PhaserJS, web3.js e VueJS.
  • JSON para a configuração de layout do gameclient.
  • NodeJS com JavaScript e Jsdoc no gameserver com ExpressJS, Sequelize, JWT e libs da web3 e Postgres no banco de dados.
  • Postgres no banco de dados.
  • Aplicação do uso de devnet na blockchain e interações com smart contract no front-end com web3.js.
  • Uso de orientação a objeto e o paradigma funcional seguindo clean code e SOLID.

Desenvolvedor de Jogos NFT e Desenvolvedor Web Full Stack (Tempo Integral)

Abril, 2022 - Fevereiro, 2023

Remoto - Inglaterra em Solport.io

Solstead Surreal World é um jogo de NFT Web-based social multiplayer online com gameplay semelhante a Club Penguin onde o jogador tem um personagem NFT e pode comprar um terreno de NFT dentro de um metaverso.

Nota: O Solstead Surreal World que desenvolvi foi arquivado e sua base foi reutilizada para fazer os jogos Solstead Arcade.

Jogos

Tecnologias

  • JavaScript com Jsdoc no gameclient com Vite, PhaserJS, SocketIO, colyseus, web3.js e VueJS. NodeJS.
  • JavaScript com Jsdoc no gameserver com ExpressJS, Sequelize, JWT, colyseus e SocketIO.
  • Implementação da arquitetura MVC + services no sevidor.
  • Automação de componentes de UI e layouts com JSON no client.
  • Interação em tempo real de jogadores com sistemas de salas e/ou canais com comunicação via eventos de rede.
  • Consultas e requisições a Web3 API para carregar dados dos jogadores e interação dentro do 'metaverso' do jogo.
  • Otimização de carregamento do client com lazy load e async load dos recursos do jogo.
  • Seguindo tendências de clean code e SOLID sempre preferindo usar o paradigma funcional com a orientação a objeto.

Desenvolvedor de Jogos e Desenvolvedor Web Full Stack (Tempo Integral)

Novembro, 2023 - Dezembro, 2023

Remoto - São Paulo, São Paulo - Brasil em Blaze-1.bet

DESTAQUE: A "empresa" não remunerou os empregados e sofremos calote, então decidi deixar a minha parte do projeto open-source.

Jogo

Tecnologias

  • TypeScript com PhaserJS, ReactJS, NestJS, SocketIO e Prisma.
  • Interação em tempo real de jogadores com sistemas de salas e/ou canais com comunicação via eventos de rede e websockets e matchmaking.
  • Arquitetura própria limpa e organizada baseada em Entity-Rule-Manager.
  • Seguindo tendências de clean code e SOLID sempre preferindo usar o paradigma funcional com a orientação a objeto.

Projetos Pessoais

Membro ativo da comunidade open-source

2015 - Agora

São Paulo, São Paulo - Brasil em GitHub de Ivopc

Contribuo ativamente nas comunidades de desenvolvimento, já achei problemas em projetos amplamente utilizados a nível profissional (exemplos: SocketCluster e Phaser 3), tenho ferramentas open-source disponíveis em meus repositórios e já acumulei mais de 100 estrelas no meu GitHub.

Desenvolvedor de Jogos e Desenvolvedor Web Full Stack

Abril, 2016 - Agora

São Paulo, São Paulo - Brasil em Monster Valle

Monster Valle é um jogo de MMORPG completo com lutas baseadas em turno e monstros colecionáveis. O jogo rendeu muita propriedade ao meu nome como profissional e graças a ele arranjei trabalhos no exterior.

Mecânicas notáveis: batalha, farming, PvP, mercado de jogadores, missões, interações multiplayer em tempo real, aprendizado de ataques de monstros e aumento de nível, party, itens, enredo, sistemas de RPG no geral, etc.

A versão antiga, que atualmente está disponível para testar o jogo, sem fins comerciais e com alguns bugs, tornou-se open-source e seu código está disponível aqui. Estou trabalhando em uma versão do jogo totalmente nova e refeita do zero.

Tecnologias

  • No front-end trabalhando com VueJS para fazer o dashboard e PhaserJS para fazer o gameclient.
  • No back-end NodeJS com ExpressJS e SocketIO, para banco de dados MySQL e RethinkDB.
  • Para suporte à mobile, Cordova (NativeScript foi descartado devido ao suporte a WebGL) e desktop, Electron.
  • Em uma solução criativa, uma `linguagem de script` foi construída em cima do JSON para automatizar o gameclient/gameserver, a maioria do jogo é totalmente automatizada: level design, UIs, batalha, processos de rede. Um padrão de arquitetura próprio foi criado para tornar o desenvolvimento e a manutenção fáceis e claros. Criei soluções criativas que economizaram muitos meses de trabalho manual e o jogo poderia se tornar um mecanismo de jogo facilmente personalizável, semelhante a mecanismos como Construct, RPG Maker e GDevelop. Muita otimização no carregamento do jogo, claro, porque estou em uma plataforma web onde os recursos não podem ser carregados todos de uma vez, muitas soluções criativas envolvendo carregamento dinâmico.
  • Estou trabalhando em uma nova versão do jogo utilizando TypeScript, PhaserJS 3, NuxtJS, NestJS, SocketIO, TypeORM e JWT.

Desenvolvedor Web Full Stack

Junho, 2023 - Agora

São Paulo, São Paulo - Brasil em Open Rifinha

Open Rifinha é um sistema web de rifas que envolve meus conhecimentos diretamente relacionados a desenvolvimento web utilizando o sistema de pagamento do Mercado Pago via PIX.

No website disponível ao público tem: página inicial onde mostra os prêmios disponíveis e os ganhadores dos sorteios passados de maneira resumida. Menu de navegação incluindo: todos os sorteios atuais e já feitos; todos os ganhadores; consultar as compras do cliente. Rodapé com as demais informações, redes sociais e contato direto com o administrador.

  • Compra da rifa: o cliente pode escolher o número de rifas que ele comprará na modalidade de escolha randômica ou de escolher o número das rifas e um PIX com QR Code é gerado e o sistema dará baixa automaticamente quando o PIX cair, já incluindo um sistema de promoção referente ao número de bilhetes que o cliente comprou configurado na dashboard administrativa.
  • Ganhadores: Lista de todos os ganhadores do sorteio.
  • Bilhetes do cliente: cliente pode fazer consultas ao estado atual das compras que ele solicitou.

Dashboard administrativa: login; índice mostrando as estatísticas gerais das vendas; gerenciar sorteios; gerenciar compras dos bilhetes; ranking detalhado de vendas; gerenciar layout do website; configurações gerais.

Tecnologias

  • Front-end: VueJS, NuxtJS, Tailwind CSS e TW Elements.
  • Back-end: strapi, Mercado Pago API, node-cron e p-queue.