Skip to content

Releases: WilliamJardim/Engine

alpha1.0.0.5

25 May 00:45

Choose a tag to compare

alpha1.0.0.5 Pre-release
Pre-release

Mudanças

Algumas correções. Vários ajustes e melhorias. Simplificações na estrutura, interfaces e no código, pensando mais no estilo C++. Novas ideias. Novos bugs identificados.

Sistema de forças (NOVO)

Criei um sistema de aplicação de forças em objetos, com calculo de aceleração baseado na massa e na força atual. Reset das forças após o termino de cada frame. Métodos de manipulação de forças como somarForca, subtrairForca

Força de rotação

Criei um sistema de aplicação de força de rotação, com os mesmos conceitos do sistema de forças.

Rastreador de frames

Criei um sistema de rastrear dados dos objetos ao longo dos frames, pra poder analisar e fazer calculos depois.

Melhoria no monitoramento de objetos

Criei um monitoramento de direção de movimento, direção da velocidade em cada eixo, etc.

Alpha v1.0.0.4

16 Apr 19:59

Choose a tag to compare

Alpha v1.0.0.4 Pre-release
Pre-release

Principais coisas que destaquei:

Mudanças até 16/04/2025, agrupando commits:

Lógica de um objeto sem fisica ao se mover carregar outro objeto que está em cima dele, se ambos tem colisão habilitada.

Comecei a criar outra lógica de objeto carregar outro objeto que está em cima dele, quanto o objeto debaixo não tem fisica e usa movimentos não baseados em força

Explicando melhor

Criei uma fisica que se um objeto recebe uma força, e tem outro objeto em cima dele, esse objeto é carregado em cima dele junto, como se fosse uma plataforma que pode carregar outros objetos em cim…

Melhorando a fisica

Melhorando a fisica de desaceleração

Melhorando um pouco a fisica da desaceleração

Testando fisica

Adionando movimentação simples de objetos

Melhorando a fisica pra deixar a desaceleração dos objetos mais suave e mais de acordo com o frame delta

Melhorando e testando a fisica de aceleracão de objetos

Melhorando um pouco mais a fisica usando frame delta

Melhorando o frame delta para ficar mais realista

Adicionando frame delta para controlar um pouco mais os movimentos dos objetos de acordo com o FPS

Salvando uma tentativa de isolar a logica do Player da Camera. Vou tentar isso denovo depois.

Adicionei que o vento na fisica de queda ao inves de somar posicao diretamente empurrando objetos que estão caindo, ele vai somar a velocidade, tornando o efeito um pouco mais realista.

Adicionei o arrasto do ar

Adicionando atrito

Criei uma fisica de movimento com dessaceleração. Ou seja, se um objeto receber uma velocidade em algum dos eixos, ele se movimenta para esse eixo, e vai dessacelerando aos poucos gadualmente.

Quando os objetos caem no chao eles vao zerar a rotacao, e tambem adicionei uma nova propriedade chaamada lastObjectBelow que armazena o ultimo objeto abaixo do objeto atual. E agora o objectBelow …

Melhorando um pouco a fisica do vento, e novas ideias que quero fazer

Fisica de vento simples

Teste de rotação

Adicionando rotação nos objetos, e métodos somarRotation, somarEscala e somarPosition

Inventei os métodos getCollisions e getProximity, que permitem ver quais objetos estão proximos ou colidindo com os objetos. Cada objeto tem esses dois métodos, que podem ser simplismente chamados.

Agora os métodos isCollisionOf e isProximityOf é mais flexivel

Agora o método isCollisionOf e isProximityOf aceitam um parametro chamado "limites" que é o limite da zona de proximidade valida, que permite ampliar o alcançe da verificação para abrajer outros ob…

Ao usar o isCollisionOf e o isProximityOf, agora ele vai aceitar tanto ambos ObjectBase quanto ambos strings

Inventei uma tabela chamada ProximityBinaryTable e CollisionBinaryTable, que apenas mapeam cada objeto da cena, para verificar se eles colidiram ou estão proximos de outros objetos pelo name ou id,…

Criando uma tabela para armazenar todas as colisoes e proximidades de todos os objetos da cena, e anotando bugs e ideias

Alpha v1.0.0.3

Alpha v1.0.0.2

Alpha v1.0.0.1

09 Apr 01:01

Choose a tag to compare

Alpha v1.0.0.1 Pre-release
Pre-release

Mudanças

Data: 08/04/2025, 22:00 PM
Fiz varias mudanças:

Nova configuração sameScale para os attachments

Novas funções para manipular attachments

Logo

Logo

Inventei a propriedade 'attachments' que serve para grudar/anexar outros objetos ao objeto atual, de modo que eles vão acompanhar a movimentação do objeto pai(a qual eles estão anexados). Tambem cr…

Inventei a propriedade 'traverse' que quando 'true' faz com que objetos possam atravessar livremente outros objetos em ter fisica sendo aplicada. E também a propiedade 'collisionEvents' que permite…

Melhorando a minha função de fisica, para um objeto não poder ultrapassar outro objeto por baixo

Pequena melhoria na minua função updatePhysics

Corrigindo bug da minha função isProximity por causa do Math.abs que causava outro bug na colisão dos objetos fazendo com que a Engine nunca identificasse que o cubo deveria cair ao sair da zona de…

Corrigindo um bug que fazia um objeto subir pra cima infinitamente se ele ficasse em baixo de outro objeto, e depois subisse em Y, ambos os objetos ficavam subindo infinitamente

Corrigindo objeto que fica tremendo

Logica de pulo da camera

Adicionando fisica na camera/personagem em primeira pessoa

Adicionando um chão pra testar queda basica

Testando queda simples

Fisica simples, que um objeto pode cair, e para de cair quando encosta no eixo Y de outro objeto

Detectando quando um objeto toca no chão mais próximo

Ajustei mais minha lógica de proximidade

Criei uma função chamada isProximity que verifica proximidade, e adicionei evento whenProximity em objetos

Inventei excessões por nome, id e classes, que se alguma das partes envolvidas na colisão entrar na excessão, ele não vai colidir nem emitir eventos de colisão

Adicionei que um objeto só pode colidir com outro, se ele tiver a propriedade collide=true

Criei uma função para apagar objetos da cena

Criei um sistema de eventos de colisão, que não substituem um ao outro.

Detectando quando clica fora do canvas

Adicionei o comando date para mostrar a hora

Adicionei o comando clear para limpar a tela, e o comando history para mostrar o histórico de comandos

Criei no terminal uma forma de voltar para comandos anteriores no histórico

Criei uma função que chamei de getDistance para obter a distancia entre dois objetos

Colisão básica

Adicionado aba de SceneBuilder onde vou criar meu editor de cenas

Criando um terminal para facilitar debug

Alpha v1.0.0.0

20 Jan 20:49

Choose a tag to compare

Alpha v1.0.0.0 Pre-release
Pre-release
alpha1.0.0.0

Melhorando os wrappers com o Three.js, e adicionando função pra perco…