Ivo Camargo

Apresentação

Desenvolvedor Web e Desenvolvedor de Jogos

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

Comecei a amar computadores e videogames na minha infância e sempre me interessei em saber como tudo isso funciona. Quando eu tinha 12 anos, tive meus primeiros contatos com linguagens de programação e, aos 13, descobri e criei uma ferramenta poderosa em um famoso jogo online, que influenciou centenas de milhares de jogadores. Aos 18 anos, passei a encarar isso como uma profissão e comecei a trabalhar com desenvolvimento web e de jogos.
Ao longo dos anos, fui acumulando experiência no desenvolvimento de jogos focados em cassino, jogos multiplayer online e manutenção em diversos tipos de jogos. No que diz respeito a websites, atuo desde a manutenção e criação de pequenos sistemas até a construção de plataformas SaaS robustas e completas. Contribuo ativamente para a comunidade open source com projetos relevantes e sempre ajudo e oriento pessoas que desejam ingressar na área ou que já fazem parte dela. Muitos dos meus projetos open source me proporcionaram oportunidades de trabalho e reconhecimento na profissão.
Tenho projetos voltados para a criação de frameworks e game engines, pois busco reconhecimento e desejo contribuir ativamente para o trabalho comunitário. Além disso, comecei a dar aulas particulares, ensinando outras pessoas a programar e moldar suas carreiras sem depender de universidade por meio de uma mentoria, embora eu encare a atividade de lecionar como uma algo experimental.

Conhecimento Técnico

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

Meu foco principal de frameworks: VueJS, ReactJS, NuxtJS, NextJS, NestJS, strapi e PhaserJS.
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, TailWindCSS, redux, pinia, rxjs, SocketIO, colyseus, web3.js, Cordova, Wordpress, Laravel, Prisma, TypeORM, puppeteer, Flutter, Laravel, React Native e etc.

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

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

DevOps: Amazon Web Services, Digital Ocean, Heroku, Render, VPS e Cloud em geral. Docker. Git, GitHub, GitLab, e CI/CD. Linux Server, Windows Server, SSH, Nginx e Apache. SSL/TLS, Let's Encrypt, DNS.

Foco Principal

JavaScript e TypeScript
Vue.JS, ReactJS, NuxtJS, NextJS, NestJS e strapi
Cloud, Container, Git, Infra, CI/CD e DevOps em geral
Node.js e PHP
PhaserJS e Pixi.js
SQL, PostgreSQL, MySQL, MariaDB, MongoDB, Redis e RethinkDB

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 com Python 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

Jogo de damas multiplayer online em tempo real.

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.

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

Abril, 2024 - Junho, 2024

Remoto - Estados Unidos em Rainbet

Rainbet BlackJack é um jogo original do cassino Rainbet, que comecei a desenvolver. Sua arquitetura e base principal no Back-End foram estruturadas seguindo princípios já consolidados, adaptados para esse tipo de jogo, que exige uma arquitetura robusta e um código bem escrito e limpo.

Nota: Por questões de saúde, saí da empresa antes que o jogo fosse concluído.

Jogo

Tecnologias

  • TypeScript com ReactJS e NextJS, PixiJS, WebGL e Canvas no FrontEnd.
  • TypeScript com NestJS e TypeORM no BackEnd.

Desenvolvedor de Jogos e Desenvolvedor Web Full Stack (Freelance)

Agosto, 2024 (Feito em um dia)

Remoto - Estados Unidos em Stardust

Stardust Coin Flip é um minigame desenvolvido em um dia como parte de uma coleção de jogos voltados para apostas internas, servindo como complemento aos jogos principais.

Nota: A empresa engavetou o projeto e não deu continuidade à produção de outros minigames.

Tecnologias

  • TypeScript com Vite, PhaserJS, ReactJS e TailWindCSS no FrontEnd.
  • TypeScript com NestJS e TypeORM no BackEnd.

Desenvolvedor Web Full Stack (Tempo Integral)

Setembro, 2024 - Outubro, 2024

Remoto - São Paulo, São Paulo - Brasil em ZnapTxt

ZnapTxt é uma plataforma SaaS de envio massivo de SMS.

Tecnologias

  • TypeScript com Vite, VueJS, NuxtJS, TailWindCSS no FrontEnd.
  • TypeScript com NestJS e TypeORM no BackEnd.

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. Além de sempre ajudar, orientar e manter os debates técnicos relevantes nas redes sociais.

Professor Particular e Mentoria

Fevereiro, 2025 - Agora

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

Como uma atividade experimental e, possivelmente, uma futura profissão, estou lecionando programação com foco em direcionar, de maneira prática, os alunos para suas áreas de interesse. Meu objetivo é prepará-los para desenvolver projetos pessoais ou conquistar oportunidades no mercado de trabalho, construindo uma base sólida de conhecimento e projetos relevantes.
Além disso, na área de mentoria, ensino como encontrar trabalho na indústria de tecnologia de acordo com as exigências do mundo real e do mercado.
Sinto que, mesmo sem uma graduação universitária, posso ser relevante e proporcionar o ponto de ignição para outros profissionais, mostrando que é possível ingressar na área sem precisar passar por um processo que eu considero ultrapassado.

  • Marcos Calvacante: Conheci ele em ambientes de estudos e ao eu entrar como Desenvolvedor Junior na Ortiz Gaming alguns meses.
  • Solum D'angel: Conheci ela em ambientes de estudos e ao eu entrar como Desenvolvedor Junior na Ortiz Gaming alguns meses.

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.