Empresas de vários setores dependem agora da inteligência artificial (IA) para trabalhar de forma mais eficiente e desenvolver produtos e modelos de negócios novos e inovadores. A indústria de jogos não é exceção. Afinal, a IA generativa (genAI) está mudando fundamentalmente a forma como os jogos são desenvolvidos e a própria experiência de jogo.
Como uma empresa orientada a dados, a InnoGames GmbH vem explorando há algum tempo as oportunidades (mas também as questões legais e éticas) que a tecnologia traz consigo.
Neste artigo você pode ler:
- Como o trabalho diário de IA é organizado na InnoGames
- Quais inovações genAI desenvolvidas internamente estão sendo usadas
- Como isso está moldando o caminho da empresa para uma nova era de jogos
A base para genAI na InnoGames
A IA já não é um tema de nicho na InnoGames, mas sim uma parte integrante da forma como trabalhamos, proporcionando impulso criativo em muitas áreas e contribuindo para experiências de jogo inovadoras. A IA desempenha um papel particularmente importante na fase inicial do desenvolvimento de jogos, quando novas ideias estão a ser desenvolvidas e os conceitos iniciais estão a tomar forma. Por exemplo, Ferramentas de bate-papo com suporte de IA ajudar nossos designers de jogos a:
- Brainstorm de ideias
- Teste mecânicas de jogo complexas
- Gerar diálogos
Eles atuam como sparrings digitais que abrem novas perspectivas e aceleram o processo criativo. A IA nem sempre entrega o resultado final, mas é um bom ponto de partida para um brainstorming.
InnoGames
Geradores de imagens com suporte de IApor outro lado, enriquecem a criação de materiais de arte conceitual que visualizam a atmosfera e o estilo de um jogo. Nossos artistas podem testar diferentes estilos e variações no menor tempo possível e assim obter resultados convincentes mais rapidamente. Com a IA assumindo tarefas rotineiras demoradas, os artistas ganham um tempo valioso para experimentar e desenvolver mundos visuais únicos.
Para garantir que os funcionários tenham acesso fácil a ferramentas de IAa InnoGames também usa a plataforma TypingMind, que fornece um ponto central de contato para uma variedade de modelos de IA, incluindo ChatGPT e Gemini. Por exemplo, nossos funcionários podem usar esta plataforma para:
- Converse com modelos de IA
- Gerar textos
- Crie imagens
- Treine seus próprios agentes de IA com habilidades específicas
Para explorar plenamente o potencial da IA, a InnoGames também conta com uma abordagem aberta e experimental. Encorajamos as nossas equipas a experimentar diferentes modelos e plataformas de IA e a explorar novos campos de aplicação. Por exemplo, como parte de um recente “AI Jam” interno, que se concentrou no desenvolvimento de soluções inovadoras de IA através do trabalho em equipe.
Protótipos de IA para melhores experiências de jogo
No entanto, a utilização de ferramentas gerais por si só não é suficiente para explorar todo o potencial da IA. O próximo passo lógico foi, portanto, desenvolver soluções de IA personalizadas, adaptadas às necessidades e desafios específicos da InnoGames.
Duas abordagens provaram ser particularmente promissoras: Geração Aumentada de Recuperação (RAG) e ajuste fino. Nesta base, a InnoGames desenvolveu dois protótipos internos: KAWAII e QueryMind. Ambos foram criados para resolver um problema fundamental em dois aspectos:
- Dados que permanecem não utilizados: A InnoGames coleta mais de 1,7 bilhão de registros de dados em tempo real todos os dias, com base nas interações dos jogadores com seus jogos. Além disso, existem vários dados mestre de diferentes sistemas. No entanto, muitas informações valiosas permanecem não utilizadas e podem ser relevantes para decisões estratégicas, planejamento de projetos futuros e muito mais. No entanto, acessar essas informações e adquirir conhecimento geralmente requer um conhecimento profundo de SQL. QueryMind abre novas possibilidades neste momento.
- Conhecimento que não está disponível: Como muitas outras empresas, a InnoGames também utiliza software wiki para criar documentação, registrar atas de reuniões, discutir conceitos e muito mais. Especificamente, o Confluence da Atlassian é usado aqui. Qualquer pessoa que já tenha construído uma extensa base de dados de conhecimento estará familiarizada com a dificuldade de encontrar informações relevantes de forma rápida e fácil. É aqui que entra o KAWAII.
A seguir, daremos uma olhada detalhada nos dois protótipos genAI desenvolvidos internamente e como eles funcionam.
KAWAII
KAWAII significa “Assistente de Conhecimento para Wiki com Inteligência Artificial e Interação”. É um protótipo que implementa a abordagem RAG para tornar o conhecimento interno da InnoGames acessível de forma rápida e fácil.
InnoGames
KAWAII acessa dados de nosso wiki interno e, opcionalmente, também tickets do Jira. No entanto, o foco está no conteúdo do wiki. Para garantir a relevância das informações e evitar dados desatualizados, podemos usar o Confluence Query Language (CQL) para selecionar especificamente as páginas wiki que serão integradas ao KAWAII.
InnoGames
No entanto, antes que as páginas wiki possam ser processadas pela IA, elas devem ser divididas em unidades menores e semanticamente significativas – os chamados pedaços. Esse processo é chamado de chunking e é crucial para a qualidade dos resultados da pesquisa. Para dividir as páginas wiki em pedaços com tamanho de 1.024 tokens e uma sobreposição de 150 tokens, usamos o TokenTextSplitter do LangChain. A sobreposição garante que as conexões entre os pedaços sejam mantidas.
Para tornar os pedaços acessíveis para a pesquisa de IA, eles são convertidos em vetores numéricos usando modelos de incorporação. Usamos incorporações de texto do Google, que suportam um tamanho máximo de bloco de 2.048 tokens. Além dos vetores, títulos contextuais são adicionados a cada bloco. Eles contêm o título da página e outros metadados para garantir que cada parte retenha sua referência à página wiki original, mesmo quando visualizada isoladamente.
O texto, os vetores e os metadados dos pedaços são armazenados em um banco de dados que pode processar vetores e calcular distâncias. Para esse fim, é utilizado o banco de dados de código aberto StarRocks, que já está integrado à infraestrutura de dados da InnoGames e possui interface para LangChain. Com funções como cosine_similarity_norm, StarRocks permite pesquisas eficientes de similaridade entre os vetores.
KAWAII usa uma interface web amigável desenvolvida com Streamlit em Python para fazer consultas em linguagem natural. Por exemplo, um funcionário pode perguntar o que significa um determinado KPI específico da InnoGames. Todo o histórico de conversas é adicionado a cada nova consulta para permitir perguntas de acompanhamento. Para otimizar os resultados, este histórico é reformulado juntamente com a entrada atual em uma questão nova, concisa e única usando o modelo de linguagem grande (LLM) Gemini Flash.
InnoGames
Esta questão reformulada é então convertida em um vetor numérico usando os embeddings de texto do Google como antes. Com base neste vetor, os pedaços mais relevantes são recuperados do banco de dados vetorial. A pergunta reformulada e o contexto consultado são então repassados ao Gemini Flash para gerar uma resposta final. Dessa forma, os usuários recebem respostas precisas e contextualizadas às perguntas específicas da empresa.
QueryMind
A infraestrutura de dados da InnoGames evoluiu ao longo dos anos de uma solução local usando tecnologias de código aberto como Kafka, Flink, Hadoop e Hive para uma arquitetura híbrida que também inclui serviços em nuvem como BigQuery e Vertex AI.
Nosso segundo protótipo, QueryMind, torna possível consultar esse extenso cenário de dados usando linguagem natural. QueryMind é baseado na abordagem RAG e usa a estrutura Python flexível e de código aberto Vanna. Isso nos permite combinar de forma flexível diferentes componentes, como bancos de dados vetoriais, LLMs e bancos de dados SQL para converter linguagem natural em consultas de banco de dados, executá-las e, opcionalmente, interpretar os resultados.
InnoGames
Para QueryMind, optamos pelos seguintes componentes:
- StarRocks como vetor e banco de dados SQL
- Gemini Flash como LLM subjacente
- Streamlit para as interfaces do usuário.
O treinamento do QueryMind é baseado em informações sobre a estrutura da tabela, exemplos de consultas e documentação.
Usando a interface intuitiva do Streamlit, os funcionários agora podem fazer perguntas em linguagem natural sem a necessidade de conhecimento de SQL. Em termos concretos, tal pergunta poderia ser parecida com a imagem abaixo.
InnoGames
QueryMind traduz automaticamente esta consulta em uma consulta SQL, executa-a no StarRocks e apresenta os resultados em um formato fácil de entender. Isso torna o conhecimento valioso para decisões baseadas em dados acessível a uma gama mais ampla de funcionários.
InnoGames
O futuro dos jogos baseados em IA
Os protótipos KAWAII e QueryMind apresentados são apenas o começo. O futuro da IA nos jogos guarda um enorme potencial que vai muito além da otimização de processos internos. Por exemplo, uma versão futura do KAWAII poderia ser usada para gerar novos conteúdos de jogo, como missões e diálogos. Além disso, as tecnologias de IA, como os agentes generativos e os motores de jogos neurais, abrem novas possibilidades:
- Imagine, por exemplo, um mundo virtual como “Smallville”, conforme descrito no artigo especializado “Agentes Geradores: Simulacros Interativos do Comportamento Humano” (PDF). Neste mundo, os personagens controlados pela IA vivem suas vidas cotidianas, constroem relacionamentos, trocam informações e reagem às ações dos jogadores – tudo com base em suas memórias e personalidades individuais (geradas por IA).
- Jogos que não sejam mais baseados em lógica programada manualmente, mas gerados em tempo real por modelos de IA como “GameNGen” também seriam possíveis. Isso poderia levar a experiências de jogo mais dinâmicas e imprevisíveis, conforme ilustrado no white paper “Modelos de difusão são motores de jogos em tempo real” (PDF).
- As ferramentas de animação suportadas por IA também podem revolucionar os jogos com movimentos realistas e expressivos. Eles podem “aprendê-los” usando material de vídeo ou dados de captura de movimento e transferi-los para personagens do jogo – como oferecido pela especialista em animação Motorica, por exemplo.
- Outro exemplo de futuras inovações em IA no setor de jogos é o projeto “AI Dungeon”. Aqui, um sistema de IA assume o papel de um narrador dinâmico que adapta o enredo do jogo às decisões do jogador e assim garante uma experiência individual e envolvente.
Quer a IA generativa seja usada como ferramenta de apoio no desenvolvimento de jogos ou como parte do jogo na forma de narrativas, animações ou NPCs baseados em IA, a tecnologia mudará fundamentalmente o cenário dos jogos nos próximos anos. A InnoGames GmbH deseja desempenhar um papel ativo na definição deste desenvolvimento.
Volker Janz fez parte da equipe de dados da InnoGames GmbH há mais de uma década. Ele desenvolve e mantém sistemas distribuídos com foco em engenharia de dados, big data e IA.