Sobre este projeto
it-programming / desktop-apps
Aberto
Contexto Geral do Projeto
O projeto já possui diversas funcionalidades implementadas e está bem estruturado. No entanto, o maior desafio e foco deste trabalho é aperfeiçoar a emulação do mouse para o analógico direito do controle, buscando uma fidelidade próxima a sensação de usar um mouse nativo em um jogo. O Problema Principal: Atualmente, a emulação não está se comportando de forma linear como um mouse nativo. O objetivo é que, independentemente da velocidade do movimento do mouse (seja um "flick" rápido ou um movimento lento e constante), a mesma distância física percorrida com o mouse resulte sempre na mesma quantidade de rotação da câmera no jogo ( ou o mais parecido possível ). No momento, estou observando um comportamento onde movimentos rápidos ("flicks") podem resultar em menos rotação do que movimentos de velocidade média percorrendo a mesma distância física, o que é contraintuitivo e prejudica a "memória muscular". Objetivo do Freelancer: Busco um programador experiente para analisar o código C# existente (principalmente as classes responsáveis pela lógica de conversão do input do mouse para o joystick) e refinar/corrigir essa lógica para que a emulação do mouse seja verdadeiramente 1:1, proporcionando uma sensação próxima à de jogar com um mouse diretamente no jogo (sem acelerações ou desacelerações indesejadas). O que já foi tentado (sem sucesso completo até agora): Implementação de curvas de sensibilidade (velocidade vs. Fator de sensibilidade). Tentativas de forçar um fator de sensibilidade linear (1.0) e remover suavizações. Apesar disso, o comportamento não linear persiste, indicando que pode haver algum fator na lógica atual (cálculo de deltas, aplicação de sensibilidade, deltaTime, etc.) Que precise de uma análise mais profunda e correção. Habilidades e Experiência Desejadas: Domínio de C#: Experiência sólida com a linguagem. ViGEmBus (Nefarius Virtual Gamepad Emulation Bus Driver): Experiência prévia ou um forte entendimento de como interagir com esta biblioteca é crucial. Processamento de Input do Windows: Conhecimento em como o Windows lida com inputs de mouse, captura de movimento (ex: GetCursorPos), cálculo de deltas, etc. Matemática Aplicada a Gráficos/Input: Compreensão de vetores, normalização, curvas de resposta, e como traduzir movimentos 2D do mouse para eixos analógicos de joystick. Sensibilidade em Jogos: Entendimento prático de como a sensibilidade do mouse e do controle funcionam em jogos e o que constitui uma sensação "nativa" e responsiva. Resolução de Problemas Complexos: Habilidade para depurar e identificar a causa raiz de comportamentos não intuitivos em sistemas de input. O que será fornecido: Acesso completo ao código-fonte atual do projeto em C#. Meu Config.ini atual e a estrutura da classe AimAssist.cs e MainWindow.xaml.cs que lidam com a lógica principal. Comunicação aberta para discutir as abordagens e testes. Entregáveis Esperados: Código C# modificado/refatorado na seção de emulação do mouse para o analógico direito. Uma solução que resulte em um comportamento 1:1 (linear) do mouse, onde a velocidade do movimento não altera a distância de rotação para um mesmo deslocamento físico do mouse. A sensibilidade global ainda deve ser ajustável através de um parâmetro base (como já existe no Config.ini), mas a resposta deve ser linear em relação a esse parâmetro. Estou buscando alguém que realmente entenda do assunto e possa me ajudar a alcançar essa qualidade "premium" na emulação do mouse. Se você tem a experiência necessária e está confiante que pode resolver este desafio, por favor, envie sua proposta detalhando sua abordagem ou experiências anteriores com problemas similares. Obrigado!
Categoria TI e Programação
Subcategoria Aplicativos desktop
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Plataformas exigidas Windows
Prazo de Entrega: Não estabelecido
Habilidades necessárias