Estilo Plataformas
Aqui deixo registo de tudo o que eu faça relacionado com o meu Game Engine, criado do zero usando C++ (e algum C), mas que seja relacionado com o estilo de jogos de Plataformas, porque eu vou adaptar o meu Game Engine a vários estilos de jogos, e este será apenas um deles.
Mas o de plataformas é no fundo aquele em que mexo mais e que terá mais destaque, e planeio ter como primeiro jogo criado, um clone da versão para o Commodore Amiga, do Batman the Movie de 1989, e daí este sistema de cordas que criei:
Alguns posts associados abaixo:
- 2024-11-01 – Especial de Halloween – Melhoria nas Luzes e Sombras do meu Game Engine, e umas Evil Pumpkins, em C++…Aqui está o meu post comemorativo da tradição milenar dos nossos antepassados, o Samhain, ou como os Americanos gostam de chamar: O Halloween. 🙂 E o que seria do Halloween sem umas abóboras com ar maléfico ao som de uma música sinistra que compus há uns anos? 😛 E neste post mostro melhorias ao meu
- 2024-10-16 – Finalizados os Algoritmos de Neve e Chuva no meu Game Engine em C++…Após finalmente terminar de corrigir os bugs restantes no meu Algoritmo de Neve e no de Chuva para o meu Game Engine em C++… Tive de corrigir também o meu nível de testes de ambos, já com o novo sistema, acelerado, sem bugs, e com Multi-Threading funcional. Claro que aqui o Multi-Threading não é tão
- 2024-10-05 – Sistema de Gestão de Threads finalizado no meu Game Engine em C++…Já finalizei o sistema de gestão automático de threads no meu Game Engine. E porquê usar threads em primeiro lugar? Simples. Se temos um computador com por exemplo uns 8 cores e 8 threads, de que nos serve correr a aplicação em apenas uma thread, onde teríamos no máximo 12,5% (16,6% se usasse 6 threads
- 2024-10-03 – Testando Multi-Threading com a Chuva do meu Game Engine em C++…Hoje quero mostrar-vos algo de diferente, já que trabalho com Multi-Threading como sempre, mas nunca o mostrei, e também para efeitos de ensino, seja para formandos ou para quem queira acompanhar o meu trabalho, e também explicar as melhorias que fiz à chuva. Aqui estou a testar a Chuva funcionando em threads separadas (Multi-Threading), no
- 2024-09-04 – Paineis Publicitários estilo Tricky Quicky no meu Game Engine em C++…Vejam os placards/outdoors publicitários que adicionei ao meu Game Engine. Pois é, em certas datas especiais, perco alguras horitas do meu tempo para adicionar algo ao meu Game Engine. É por isso que no Natal em cada ano adicionei coisas associadas, como árvores de Natal com luzes a piscar, neve, barretes de Pai Natal, ou
- 2024-08-05 – Melhoria nos Relâmpagos e Chuva e Multi-Threading – de volta ao meu Game Engine em C++…Um dos mundos mágicos de testes escondidos no meu Game Engine, para mostrar uma melhoria no meu sistema de relâmpagos e trovões (sim, estou de volta ao Game Engine!). Isto porque eu há meses não mexia no meu Game Engine, e tinha saudades, e decidi melhorar os meus sistemas de rendering (explico abaixo). E ao
- 2024-03-31 – Adicionado um Ovo da Páscoa como demonstração do meu sistema novo de prémios do meu Game Engine em C++…Para festejar a Páscoa, decidi criar um Ovinho da Páscoa que quando apanhado, dá invencibilidade ao jogador (no estilo do Sonic). No fundo, criei um sistema de prémios (ao apanharmos um objecto recebemos um prémio específico), para poder ter uma desculpa para colocar aqui um Ovo da Páscoa, e assim usei esse Ovinho da Páscoa
- 2023-12-29 – Criação de uma grid de tiles para debugging, no meu Game Engine em C++…É incrível mas só agora me lembrei de criar um sistema de grid (rede) para o meu Game Engine, de forma a exibir a posição dos tiles que compõem cada jogo: Como sabem eu estou a criar o meu Game Engine não só como hobby para exercitar o cérebro (e devido ao meu lema “Se
- 2023-12-26 – Melhoria no sistema balístico do meu Game Engine, em C++…Aqui estão pequenas melhorias que fiz antes de terminar o ano, ao meu sistema de trajectórias balísticas do meu Game Engine. Adicionei opções como não ir para além dos alvos, e o de enviar objectos de um local ao outro, para preparar para enviar sprites, como granadas no jogo que irei fazer de clone ao
- 2023-12-23 – Armas de raios de energia já a destruir inimigos, no meu Game Engine em C++…Agora sim já tenho as armas a causar destruição total nos inimigos (tive mais umas horinhas livres), comecemos pelo meu exemplo de plataformas: Antes de partirmos para as “technicalities”, e antes de vos mostrar o vídeo completo de plataformas, deixo o vídeo no Shoot Em Up de testes, para quem queira ver, e onde podem
- 2023-12-09 – Adicionada uma Pausa, e também inimigos ao meu Mapa de Jogo do meu Game Engine em C++, e corrigido bug de Abelhas a voar fora do ecrã…Sim, é incrível mas só agora é que me lembrei de colocar um sistema de Pausa no meu Game Engine. Além disso, adicionei a posição dos inimigos todos ao mapa de jogo, que serão aqueles pontinhos avermelhados no mapa (o nosso é o amarelo), e assim podem ver que ele está literalmente a controlar centenas
- 2023-12-04 – VideoLog do Meu Game Engine – Parte VI – Chuva, Neve, Relâmpagos, Cascatas, Isométricos, 3D, Fogo, Luzes e Sombras, Armas, e 1001 coisas mais…Aqui têm o meu 6º Vídeo da minha série de VideoLogs de Desenvolvimento sobre o meu Game Engine, criado do zero em C++, com a descrição do vídeo abaixo (English Version at the end of this page)… Descrição no Vídeo: «Esta é a 6ª parte do meu VideoLog de Desenvolvimento do meu Game Engine, escrito
- 2023-11-28 – Início da Época Natalícia com Árvores de Natal criadas para o meu Game Engine em C++…Declaro oficialmente iniciada a Época Natalícia!!! Pois é, dizem que “O Natal é quando um Homem quer”, e pois bem, eu quero que o Natal comece hoje! Reparem no pormenor do “H” grande hahaha. Bem, para dar início, eu decidi criar uma maravilhosa árvore de Natal para ser usada no meu Game Engine, com luzes
- 2023-11-24 – O Início do meu Mini-Curso sobre Criação e Design de VideoJogosPois é, aqui está o vídeo introdutório ao meu futuro mini-curso sobre Design de VideoJogos:https://www.youtube.com/watch?v=RyfbThWMroU Isto porque, me perguntei, porque raios só dou matéria mais complexa (e chata para os formandos), como Linux e Programação C, C++, etc, quando posso dar matéria divertida, e quando sou a pessoa indicada (modéstia à parte), para dar esta
- 2023-11-18 – Adicionada arma “laser” estilo R-Type ao meu Game Engine, em C++…Quem não se lembra do velhinho R-Type? Já viram os “lasers” do R-Type no meu Game Engine? Tinha algumas horinhas livres e para relaxar, como não gosto de ter o cérebro parado muito tempo, decidi, já que não mexia no meu nível de Shoot’Em Up há muito tempo, criar essa funcionalidade para ser usada no
- 2023-11-15 – Melhoria nas animações e migração dos seus dados para XML, no meu Game Engine em C++…Pois é, após anos com animações muito ranhosas (ou inexistentes) cada vez que limpava o sebo a um inimigo (sempre quis escrever isso aqui hahaha), decidi melhorar isso, vejam que maravilhosas animações temos quando damos cabo do “Killer Nemo” e do Egípcio, no vídeo abaixo: Neste caso eu nem tinha animações, e no Horizontal Shooter,
- 2023-11-09 – Cascatas/Waterfalls, já finalizadas no meu Game Engine em C++…As minhas novas waterfalls. Há dias partihei um vídeo no meu website com um “rascunho” de como ficariam as minhas cascatas agora, porque se virem nos vídeos antigos, estavam horríveis, eram apenas tiles ocupados com água e onde nasciam bolhas de ar ao passarmos por elas. E isso deixava muito a desejar, por isso há
- 2023-11-05 – Adicionada animação das Cascatas (waterfalls) ao meu Game Engine em C++…Aqui temos uma nova funcionalidade do meu Game Engine, que desenha movimento nas cascatas de água. Isto porque antes, se colocássemos zonas de água em locais isolados, como numa cascata, ele só desenhava essas zonas mas sem movimento. Se virem bem, agora não só temos movimento (nota-se a água a cair), como temos o topo
- 2023-09-07 – Luzes e Sombras em locais específicos como quartos ou água, no meu Game Engine em C++…Aqui está o próximo passo das funcionalidades de luzes e sombras, no começo dentro de água, e após o segundo 10 em quartos escuros também… O não ter apenas o ecrã inteiro escuro da noite, mas também durante o dia pequenas zonas às escuras, como por exemplo quartos sem luz, ou zonas fundas debaixo de
- 2023-08-29 – Testes balísticos com uma Demo de testes nova no meu Game Engine em C++…O passo seguinte nos cálculos balísticos, era o de criar uma demonstração, tipo aqueles mundos secretos que criei com neve ou chuva, para testar, mas neste caso com estas parábolas. Tenho 4 atalhos diferentes nele, com os atalhos F3 e F4, consigo reduzir ou aumentar o número de testes, respectivamente. E com os atalhos SHIFT+F3
- 2023-08-25 – Criado sistema de targeting através de Física/Balística para o meu Game Engine em C++…De novo de volta da Física no meu Game Engine. Estava na hora de criar um sistema de targeting, através da Física (em especial Balística), para que qualquer jogador ou inimigo possa atirar por exemplo granadas, em parábolas perfeitas que atingissem sempre o alvo. Para isso há que usar Física, e aqui temos envolvidos factores
- 2023-08-24 – Início de cálculos de movimentos parabólicos para o meu Game Engine, em C++…Por ontem ter visto o filme Oppenheimer no Cinema, e por ter adorado o filme e adorar Física, tinha de fazer algo relacionado com o tema. E lembrei-me que estava nos meus planos até ao fim do ano, criar os algoritmos para o clone do Batman the Movie, de atirar objectos. Aqui está o começo
- 2023-08-14 – Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++…O próximo passo que me veio à cabeça no meu Game Engine: a Noite, e focos de luzes, além de melhorias no meu Debugging Status Panel. 🙂 O que me veio à cabeça de novo para fazer, foi isto, porque em certos jogos posso querer estar num ambiente de noite, ou entrar com as personagens
- 2023-07-22 – De volta ao Game Engine, com controlo da vista de câmera com o rato, em C++…Após meses super ocupado, já tive algumas horitas livres para dar mais uns toques ao meu Game Engine, escrito do zero em C++. Mas adicionei uma funcionalidade nova, que é a de eu com o rato, poder andar com a câmera do jogo, para ver o que está ao meu redor, mas não é para
- 2023-03-30 – Zooms Automáticos e Scanlines Ajustáveis no meu Game Engine em C++…Olá a todos, como há muito não mexia no meu Game Engine, perdi umas horitas com funcionalidades novas. Uma é o zoom automático mediante certas situações, como quando o jogador se teleporta, e podem ver que faz lembrar os velhos tempos dos super-scalers. 🙂 A outra é o ajustar das scanlines em tempo real, para
- 2023-02-25 – Criação de um Sistema de Zooming para o meu Game Engine em C++…De volta ao Game Engine, para criar um sistema de Zoom em real-time para o meu Game Engine, criado do zero em C++. Estive super mega ocupado nas últimas semanas, pois não tive um único dia livre para programar, e estarei ainda mais uma, mas já começam as coisas a abrandar e por isso tive
- 2023-01-21 – Neve já com flocos a derreter de forma realista, no meu Game Engine em C++…A neve no meu game engine, já a derreter de forma mais realista, e a agarrar as plataformas móveis. No último vídeo podiam que a neve já derretia de forma irrealista, onde apenas viam os flocos de neve a cair quando os de baixo derretiam (desapareciam assim do nada). Agora não, agora são os flocos
- 2022-12-28 – Neve já com vento, acumulação, derreter, e outras coisas bem, para o meu Game Engine em C++…Aqui está uma pequena melhoria ao sistema de neve (têm o link de uma actualização posterior onde a neve está melhor, no fim deste post). Notem que o vento atira os flocos contra a cara do Sonic perto do meio do vídeo e vão deslizando por ele até atingir solo seguro, a dada altura. Podem
- 2022-12-26 – Neve já quase pronta no meu Game Engine em C++…Conforme é tradição minha, passei o Natal a fazer o que mais gostava, em especial a desenvolver o meu Game Engine em C++, e de há uns anos para cá, o que mais tenho gostado de fazer nas horas vaga é o meu Game Engine. Não foi um Natal muito alegre, pois vi que não
- 2022-12-23 – Uma primeira tentativa de criar um sistema de neve para o meu Game Engine, para o Natal, em C++…Para a época natalícia decidi criar um sistema de neve para o meu game engine, criado do zero com C/C++. Ainda é um esboço, a neve não agarra ainda objectos móveis, falta o sistema de concentração de neve por mm3 (e respectivas tonalidades e transparências), mas já comecei o sistema de derreter a neve e
- 2022-12-16 – O meu pequeno mundo de testes de chuva, relâmpagos e neve, do meu game engine, em C++…O meu pequeno mundo escondido dentro do meu Game Engine, isolado de tudo e todos, onde o Sonic apanha uns banhos de chuva, e testo a chuva, colisões, relâmpagos, etc: Desde há dois anos quando peguei mais a sério no game engine, que tenho como tradição fazer qualquer coisa no mesmo associada ao Natal. É
- 2022-12-03 – Como qualquer pessoa poderá criar jogos com o meu Game Engine um dia, gratuito, sem saber programar…Mostro-vos na imagem acima o sistema que escolhi para criar os jogos. Ao invés de ser tudo por código, uso um software gratuito chamado Tiled (para quê recriar algo que funciona super bem?), onde crio os maps dos jogos. Eu tenho de ter claro os sprites e tiles que usarei no jogo (tenho usado os
- 2022-11-22 – Melhorias no sistema de cordas, e vídeo de demonstração a imitar o Tarzan ou Homem-Aranha, no meu Game Engine em C++…Como estava já cansado de trabalhar só no projecto da GUI e Knowledge Tester, para desanuviar, melhorei um pouco o meu Game Engine, em que não mexia há meses. Corrigi um bug que havia antes, pois quando eu lançava a corda, e estava em cima de uma plataforma (no chão), e não no ar, o
- 2022-09-28 – Sistema de cordas perfeito com Gravidade incluída, no meu game engine em C++…A versão final do sistema de cordas, agora com a Gravidade incluída quando a corda é atirada. E partilho esta actualização, sendo que no próximo mês vou trabalhar noutros dois projectos, o Knowledge Tester e nos Trading Systems. Mas sobre o game engine: Agora sim, o sistema de cordas tem incluído o factor Gravidade, podem
- 2022-09-11 – Terminada a funcionalidade das cordas e de subir para plataformas superiores do meu game engine em C++…Esta funcionalidade, de atirar arpões, e balançar nas cordas depois, e até trepar para plataformas superiores, ou descer para as inferiores, tudo típico do jogo Batman the Movie de 1989, do qual criarei um clone, da Ocean, está terminada: Claro que serão feitos ajustes depois, mas de resto, o importante é que isto funciona, e
- 2022-08-14 – Sistema de cordas quase pronto, com energia cinética, atrito, no meu Game Engine, em C++…Aqui estão notícias do meu projecto favorito, o meu Game Engine, escrito do zero em C++. Podem ver nele já várias melhorias no sistema de cordas, tanto que até já podemos balançar que nem o Tarzan: Lembrem-se que eu podia deixar o boneco cair quando atira a corda, mas decidi deixar assim para a demo.
- 2022-07-31 – Funcionalidade de descer para plataformas inferiores, no meu Game Engine em C++…Após semanas sem tempo livre, com algumas horitas, criei a funcionalidade de baixar o jogador (ou outros objectos do jogo), para plataformas inferiores, tal como acontece no jogo Batman the Movie. Vejamos: Eu tive o cuidado de fazer a descida perto de paredes, para que vejam que ele detecta mesmo a nível de píxeis, onde
- 2022-07-24 – Dinâmica de cordas a funcionar e com controlos, no meu Game Engine, em C++…Deixo aqui o estado actual da dinâmica de cordas no meu Game Engine, escrito do zero em C++. Podem ver que desde o post anterior já teve várias melhorias, agora já está mais aperfeiçoado em termos da Matemática, e já tem controlos também para controlar o balanço que se dá à corda, claro que não
- 2022-07-06 – Sistema de cordas a imitar a dinâmica do jogo Batman the Movie, no meu Game Engine em C++…Aqui está o começo da criação da dinâmica de cordas para replicar o jogo Batman the Movie, até porque será o primeiro remake que criarei de jogos dos anos 80, o grande sucesso da Ocean que vendeu milhões de computadores. Tenho andado mega-ocupado por isso só hoje dediquei umas horitas a isto. [Update de 2022-07-23
- 2022-06-19 – Relâmpagos melhorados, e com efeitos sonoros também, bem como a Chuva, no meu Game Engine em C++…Melhorei os relâmpagos, tanto adicionando alguns flashes ocasionais, bem como melhoria no fade-out dos mesmos, além de adicionar sons de relâmpagos ao jogo. Estes sons, são ajustados, consoante o número de relâmpagos que tem, ele escolhe sons que tenham mais relâmpagos, e consoante a duração dos mesmos. Além disso, já tem som de chuva à
- 2022-06-13 – Relâmpagos e Chuva no meu Game Engine, em C++…Aqui está a nova adição ao meu Game Engine, efeitos de relâmpagos, e é de notar que já atingi 5000 FPS no Shoot’Em Up sem chuva, e com muitos milhares de gotas de chuva, ainda atinjo uns 500 FPS facilmente. Um amigo recomendou-me ao invés de colocar relâmpagos reais, que criei há tempos, colocar apenas
- 2022-06-10 – Game Engine super-optimizado com C++, 1000 FPS num velhinho portátil I5, mesmo usando RGBA 640×480 com fogo e água real-time, milhares de objectos no ecrã, etc…Estes 1000 FPS seriam muitos mais se cortasse algumas coisas. Podem ver aqui a performance do meu game engine desenvolvido do zero em C++, e super-optimizado por mim, na vertente do Shooter de testes que tenho, depois o Shooter sem aceleração (só 60 FPS ou 90 FPS não lembro), e depois o meu platformer de
- 2022-05-07 – Sistema de Colisões Píxel-a-Píxel no meu Game Engine, em C++, e vídeo do meu Shooter de testes…Aqui mostro como funciona a pixel-level detection no meu game engine. Como não tenho tido tempo nenhum ultimamente, mostrei isto que ainda não tinha mostrado antes. E aproveito para dizer que usei para as naves e torres inimigas, sprites fornecidas por um amigo Vitor Bonifácio que é artista na área, e desenhou estas naves, e
- 2022-05-01 – Tiros e Health Bars finalizadas no meu Game Engine, em C++, bem como novos sons para os inimigos, criados por mim…Não mexia nisto desde a semana passada, e dediquei uma horita hoje para melhorar tudo. As health bars estão mais bonitas, funcionais, e também os tiros que tinha feito antes de forma atabalhoada, agora estão mais perfeitos, e limitei neste caso a dois tiros por segundo. Podem ver abaixo o vídeo com som: E adicionei,
- 2022-04-20 – Shooting e Health Bars no meu Game Engine, em C++…Mais funcionalidades para o meu Game Engine, as Health Bars, e Shooting. Não sabia bem qual seria o meu próximo passo no meu Game Engine, há dias que tive algum descanso na Páscoa, e decidi retomar o desenvolvimento do meu Game Engine, escrito do zero em C++ (daí levar tempo a desenvolver), e estava só
- 2022-04-18 – Adicionada funcionalidade de disparar, no meu Game Engine, em C++…Payback Time!!! Para ter uma Páscoa diferente, e porque já não podia ver gráficos à frente, decidi voltar ao meu Game Engine, e lembrei-me de adicionar a funcionalidade de tar tirinhos, ao meu Game Engine, em C++… Foi uma autêntica chacina! Eu já tinha criado a funcionalidade de dar tiros no meu game engine, mas
- 2021-12-22 – Colisão de chuva com sprites a nível de píxels já bem, C++…Já está acabada a colisão a nível de píxeis, entre a chuva e os sprites do meu Game Engine, podem clicar na imagem acima para ver a animação, ou no vídeo abaixo com som, que é diferente: No gif abaixo podem ver ampliado também, e irão reparar que há salpicos perfeitos quando a chuva toca
- 2021-12-21 – Colisão a nível de píxeis contra chuva quase pronta, no meu Game Engine em C++…A detecção de colisão entre as personagens do jogo (jogador e inimigos), e a chuva, e até entre fogo e chuva, estão quase prontas (cliquem na imagem acima para ver a animação, ou vejam abaixo). Mas ainda não está a nível de píxeis, isso requer mais tempo, mas podem ver que já são colisões em
- 2021-12-19 – A preparar colisões de chuva com todos os objectos do jogo, em C/C++…Aqui podem ver já os preparativos para a detecção de colisões entre a chuva e todos os objectos do jogo, sem excepção (cliquem na imagem acima para ver a animação, ou espreitem abaixo). De momento, estou a detectar de forma errada (mal feita), que é através de áreas quadriculares que envolvem cada objecto, daí verem
- 2021-12-18 – A Chuva já a colidir com plataformas no meu Game Engine, em C++…Podem ver o primeiro passo da inclusão do meu algoritmo de chuva no meu Game Engine (têm vídeo já abaixo, antes do GIF animado, com som). De momento a chuva só colide com plataformas, depois farei com que colida com o jogador, com os inimigos, e com a própria água e outras coisas. Tive de
- 2021-12-17 – A começar a migrar o algoritmo da chuva para o meu Game Engine em C++…Hoje escrevo pouco: na imagem acima pode ver-se o primeiro passo da migração do meu algoritmo de chuva para o meu Game Engine. Aqui ficou com apenas 30 Frames Por Segundo (FPS), porque tenho milhares de gotas no ar, e redundâncias de código junto com o do jogo, plataformas extra (as do exemplo da chuva),
- 2021-12-13 – Experiência com simulação de jactos de água, em C++…Uma experiência que fiz com base nos algoritmos de água usados para a chuva também, mas desta vez com jactos de água (clicar na imagem acima para ver a animação). Podemos ver que os splashes são os mesmos, bem como o “mapa”, as colisões, etc, só que concentrei a água como se fosse um jacto,
- 2021-12-12 – Testando ventos de múltiplas velocidades na chuva do meu Game Engine em C++…Algumas novas melhorias, mas a mais visível foi a implementação de ventos de velocidade variável no meu Game Engine, para dar mais realismo e alguma sensação de profundidade, vendo que algumas gotas estão mais próximas e caem mais rápido (clicar na imagem para ver a animação). O problema é que ficam com velocidades diferentes, pois
- 2021-12-06 – Colisões da chuva com o sprite do Sonic no meu Game Engine em C/C++…Aqui um teste de colisões ao nível dos píxeis, entre a chuva e um sprite, neste caso um sprite fixo do Sonic (cliquem na imagem acima para ver a animação, desculpem estar imperfeita mas foi da compressão para gif que se perdeu qualidade de imagem). Vejam os salpicos da chuva ao embater no Sonic. Isto
- 2021-12-04 – Chuva com obstáculos móveis, para o meu Game Engine em C/C++…Ocupei mais uns minutitos do meu dia hoje, a desenvolver a colisão a nível de píxeis da chuva no meu Game Engine, podem ver melhor ao clicar na imagem acima. Eu tenho é uma pequena dúvida sobre se hei-de deixar como está o comportamento dos splashes à esquerda ou se modifico, é que quando ele
- 2021-12-01 – Regresso ao Game Engine – Chuva com Obstáculos, em C/C++…Não mexia no meu Game Engine há quase 4 meses (em C/C++ claro!), adicionei algumas alterações, um algoritmo de colisão para a chuva, podem ver que ela ao bater num obstáculo fica-se por ali e os splashes lá também (cliquem na imagem acima para ver a animação). Isto é importante porque quero uma espécie de
- 2021-09-07 – Relâmpagos já com brilho e quase terminados, para o meu game engine em C/C++…Os meus relâmpagos já têm um efeito de brilho correcto à volta dos raios, que podem ver na imagem ampliada, não pude aperfeiçoar mais porque quis poupar CPU, mas talvez melhor ainda mais, mais tarde, mas parece-me perfeito já para jogos. Estive um mês sem programar, a trabalhar num tutorial de Linux cheio de imagens
- 2021-08-31- A chuva no meu Game Engine em C/C++, a uns 30 FPS…Para ver a animação, clicar na imagem acima ou ver o GIF abaixo. Tenho saudades de programar este meu game engine, ando ocupado a criar manuais de Linux, um deles já vai com 130 páginas. Mas um dia vou voltar, e vai ser ainda melhor que o que vêem aqui. Na imagem falta referir que
- 2021-08-06 – Exemplo de Relâmpagos com Chuva, em C/C++…Este é um possível exemplo de como podem ficar os meus relâmpagos com chuva, em C/C++. Cliquem na imagem acima para ver a animação, ou espreitem abaixo. A chuva pode estar (modéstia à parte) perfeita, mas os relâmpagos é difícil criar algo com definição suficiente (ficam pixelizados dado o tamanho da imagem), bem como as
- 2021-08-05 – Um “Death Ray” com electricidade, no meu Game Engine, em C/C++…Aqui fica um exemplo de algo que já criei há dias, que é uma espécie de “Death Ray”, criado com electricidade, que desejei colocar com este formato porque fica giro. Cliquem acima para ver a animação, ou espreitem abaixo. À partida parece desafiar um bocado as leis da Física, ficar com esta forma, mas imaginem
- 2021-08-02 – Relâmpagos com ramificações, no meu Game Engine, em C/C++…Podem ver aqui como como ficam as ramificações dos meus relâmpagos, misturados com o meu game engine. O que se passa é que o relâmpago após encontrar um caminho, terá um ramo mais forte e os outros ficam mais fracos, e aqui estão todos fortes. As ramificações também nem sempre ficam bonitas, tenho de melhorar
- 2021-08-01 – Relâmpagos já com cores finais, para o meu Game Engine em C/C++…Só para mostrar a cor final com que vou deixar os meus relâmpagos no meu Game Engine. Cliquem acima ou espreitem abaixo, para ver a animação. Repito que a intenção não é deixar algo super-perfeito porque tenho de poupar no CPU, mas parece-me que tenho um bom efeito com pouco CPU. As cores ficarão assim,
- 2021-08-01 – Electric Bolts, já com melhor cor, no meu Game Engine, C/C++…Já estão um bocadinho mais realistas, não? Cliquem acima ou vejam abaixo para verem a animação. Não posso perder muito CPU nas cores para tornar isto super realista, por isso tive de usar alguns truques que me vieram à cabeça, mas no geral, parece-me que está com a cor da electricidade, e com um efeito
- 2021-07-29 – Arcos Voltaicos, para o meu Game Engine, em C/C++…Uma aproximação ao comportamento da electricidade na vida real, ao criar arcos voltaicos. Cliquem na imagem acima para ver a animação, ou espreitem abaixo. Aliás, esta imagem deveria chamar-se mais é de “Dies Irae”, pois parece o fim do mundo, chuva forte atrás, e electricidade a fritar tudo o que aparece pelo meio. 😛 Eu
- 2021-07-28 – Ride The Lightnings! O começo da Era dos Relâmpagos, no meu Game Engine em C/C++…Estou a dar uma de Tesla. Pois é, já sabem o que isto significa, não é verdade? Vêm aí relâmpagos, e choques, e arcos voltaicos. Isto são os testes iniciais, de como simular arcos de electricidade no ar, depois é só simular relâmpagos, simulando a forma como a electricidade vai encontrando um caminho mais próximo
- 2021-07-26 – Chuva já com vento, e teste de performance, para o meu Game Engine em C/C++…O teste final de performance à chuva, e já com vento. Cliquem na imagem acima para ver a animação, ou abaixo. Estão até 21.000 objectos no ecrã, desta chuva aleatória e com vento aleatório, gastando apenas 2% a 5% do CPU de um fraquinho I5 quando no auge da chuva. Isto inclui a aleatoriedade da
- 2021-07-24 – A testar gotas de chuva, com vento, para o meu Game Engine, em C/C++…Estive uns dias sem mexer em nada, por falta de tempo. E decidi voltar hoje a mexer no algoritmo de chuva. Desta vez, adicionei o factor vento à chuva. Cliquem na imagem acima para ver a animação. Mas isto é mais complicado do que parece, no sentido de tornar isto o mais realista possível! Porque
- 2021-07-18 – A criação de uma Media Layer para tornar o código mais portável, no meu Game Engine, em C/C++…DML – Direct Media Layer. É o nome que dei à layer que tenho entre o código e o hardware da máquina, e já explico o que é. E podem ver à direita o tamanho do executável com uns 11 megas (enorme) e já explicarei porquê também. E chamei DML (Direct Media Layer ou Multimedia
- 2021-07-14 – O meu Game Engine em C/C++, sem sprites e tiles à vista, só o que é desenhado em tempo real…Há dias perguntaram-me se o fogo e a chuva eram sprites ou era desenhado em tempo real (cliquem acima para ver a animação). Para quem não sabe o que são sprites, é o nome que damos nos videojogos a sequências de imagens que criam animações. As imagens de fundo são chamadas por nós de “tiles”,
- 2021-07-12 – Variações de intensidade na simulação da chuva, em C/C++…Uma chuva com algumas variações de intensidade, ainda não tive tempo para mais nada, mais tarde trato do vento. Cliquem na imagem para ver a animação, ou vejam abaixo. Mas reparem que por vezes fica fraquinha, depois volta ao normal. 🙂 2021-07-12. Partilhado no dia 2021-07-13 no LinkedIn: «Só para não pensarem que não tenho
- 2021-07-11 – Um pequeno exemplo de como fica a chuva no meu Game Engine em C/C++…A chuva que criei, aplicada ao Game Engine, só para testes, claro. Ainda falta muita coisa, a chuva ainda passa por todo o lado. O vídeo está abaixo! 2021-07-11. Deixo abaixo a animação partilhada no meu canal de Vimeo, pois no YouTube o vídeo seria arruinado com compressões de vídeo. Façam play abaixo…
- 2021-07-10 – Simulação de Chuva para o meu Game Engine em C/C++…Aqui está uma simulação de Chuva, para aplicar ao meu Game Engine, criado en C/C++. Cliquem na imagem acima, ou vejam na animação abaixo. E vejam os splashes abaixo. Está realista o suficiente? Ainda não coloquei o vento, mas já coloquei tamanhos diferentes de chuva, consoante se houver várias gotas unidas no ar ou não
- 2021-07-04 – Estou de volta aos VideoJogos! Vou retomar o meu Game Engine, escrito do zero em C/C++…Estou de volta ao desenvolvimento de VideoJogos, após uma pausa de cinco meses, e no vídeo podem ver como ele ia quando o deixei. 🙂 Relembro que não usei qualquer game engine criado por outros, estou a criar o game engine do zero, em C/C++. Total poder e controlo sobre o que vou criar. Sim,
- 2021-05-11 – Um pouco de Fluid/Fire Dynamics, com o meu algoritmo gerador de fogo em tempo real, em C/C++…Deixo aqui três tipos de animações criadas com o algoritmo gerador de fogo que desenvolvi em C/C++ para o meu Game Engine, criado do zero também em C/C++ (e que podem ver na opção “Projectos Meus” no menu deste website. Agora, as três variantes são muito simples. Numa delas não tenho velocidade de vento, na
- 2021-05-09 – Nova grelha de altitude, display de dados, e outras funcionalidades na Simulação de Física da StarShip, em C/C++…Deixo aqui as últimas actualizações referentes ao projecto de rocket simulation, e que mexeram também com o game engine em si. Na Rocket Simulation, poderão ver uma grelha de altitude, um display com dados do foguetão (aqui estático e não relacionado com a altura em si), algumas melhorias gráficas, entre outras coisas que explicarei abaixo,
- 2021-04-07 – “Fogo e Água” – Um resumo do que fiz nestes dois meses, em C/C++, para o meu Game EngineEste vídeo já foi gravado no dia 2 de Abril, com o gerador de Gifs animados que incluí no meu Game Engine em C/C++, e serve para dar um pequeno resumo visual do que fiz nestes dois últimos meses nas horas vagas, que teve a ver tanto com os efeitos aquáticos como com os de
- 2021-04-01 – Terminada a funcionalidade de fogos em tempo real no meu Game Engine em C/C++…Terminei a aplicação do algoritmo de geração de fogo realista em tempo real, ao meu game engine (C/C++). Ele tem 14 tipos de fogo, nesta animação podem ver 2 (mas o lava ficou horrível porque escolhi mal os tons de vermelho). Para a semana volto aos trading systems, talvez durante um mês, e deixo o
- 2021-03-31 – Fogo já automaticamente incluído no meu Game Engine em C/C++…Já tenho a parte dos fogos incluída no game engine, pelo que agora é só adicionar fogos no mapa do nível e eles automaticamente aparecem. O personagem não perde no fogo ainda, é melhor assim. Como expliquei em tempos, para não ter de andar a alterar o mapa no código e recompilar 1001 ficheiros sempre
- 2021-03-29 – Fogo em estilo de placard, em C/C++…Uma coisa gira que quero partilhar, o display de placard. Este é um dos 12/14 tipos e variantes de fogos que criei, chamei-lhe Napalm Hell Fire, e “Hell” porque atrás dele há uma parede constante de fogo, mas em forma de “caverna” de fogo fixa, daí “hell fire”. Mas com o display em placard fica
- 2021-03-28 – Aplicando o meu fogo gerado em tempo real ao meu Game Engine em C/C++…Que tal? Está ou não melhor do que o fogo que alguma vez viram nalgum jogo de computador? Claro que está a ficar melhor, não se esqueçam que não é feito por alguma equipa de empresas bilionárias, é feito por MIM! Por isso é normal que esteja melhor. Já sabem que eu não me contento
- 2021-03-25 – Quase dois minutos de fogo gerado artificialmente com C/C++…Deixo aqui um exemplo do algoritmo que criei na semana passada para geração de fogo em tempo real, mas atenção que no começo vêem o que chamei de “efeito Napalm”, que é todo o ecrã cheio de fogo (meti branco para testes), e depois já vêem o fogo em si. Atenção que aqui o gif
- 2021-03-23 – Fogo gerado em tempo real e com vento variável, em C/C++…“The cursed fire of reverence”. Criei 10 tipos de fogos mas este é o que prefiro, e com vento variável, mas ficou pixelizado porque tenho a máquina lenta e assim fica mais rápido. Versão que partilhei no Facebook na altura, em vídeo: 2021-03-23.
- 2021-03-21 – Tentando encontrar as cores perfeitas para um fogo perfeito, em C/C++…Um post que coloquei no Facebook dia 21 de Março a perguntar a amigos qual era a opinião deles em relação às cores, para tentar achar as cores mais realistas para simular um fogo na perfeição. 🙂 «Alguém opina sobre quais cores são as melhores? O algoritmo estava algo mal (1ª imagem), com cores trocadas,
- 2021-03-19 – Quando achei a fórmula perfeita para gerar fogo em tempo real em C/C++…Que nem Deus, acabo de criar fogo do nada. Descobri a fórmula que a Natureza usa para gerar fogo na nossa realidade, quando o vírem vão ver que é tal e qual, nunca vi antes fogo tão bem feito num computador, seja em jogos ou simulações, amanhã partilho mas agora deixo isto para terem uma
- 2021-03-18 – Tentativa de recriar a superfície do Sol em C/C++ – Parte II (Red Giant)…Para quê desenhar, se, que nem Deus, crio as minhas próprias galáxias, e faço nascer estrelas com o premir de uma tecla, e as faço desaparecer com um simples estalar de dedos? Ou como escrevi no twitter: “Why paint, if, like God, I can create entire galaxies by pressing a key, and watch the surface
- 2021-03-18 – Tentando recriar a superfície do Sol em C/C++ – Parte I…Acabei de recriar a superfície do Sol, parece-me altamente, vou evitar mexer mais neste algoritmo, talvez o use para jogos de naves, ou para algo em que fique bem, tipo superfícies de vulcões, etc. Aqui em grande fica feio, mas em reduzido fica lindo e vêem-se as ondas de “lava”, a simular talvez tempestades solares,
- 2021-03-17 – Criando o “mar de lava”, para o meu Game Engine em C/C++…Um post de dia 17, em que estava contente com este fogo, mas na realidade não estava nada de especial, umas páginas após esta, podem ver um fogo realista, mas deixo na mesma o post daquele dia abaixo: «Espero que isto esteja um fogo realista. Não posso fazer algo mega perfeito porque me levaria muito
- 2021-03-17 – A importância da Física e Matemática na criação de um Game Engine do zero…Quero aqui explicar porque é importante adorar Matemática a quem queira criar um Game Engine do zero, e ter conhecimentos de Física também, e não apenas saber programar. Vamos começar pela Matemática. Tudo no nosso Universo se representa por fórmulas matemáticas. Deixo na imagem um exemplo de um “death ray” que criei com apenas 3
- 2021-03-16 – Tentando aplicar algumas leis da Física ao Game Engine para criar Fogo, em C/C++…De novo a aplicar leis da Física na programação para tentar recriar a realidade. Desta vez mais com Particle Physics. Agora a sério, o problema é que eu pensei em usar algo mais tipo plasmas para recriar o fogo, porque quero que os meus jogos tenham tudo calculado em tempo real, até o fogo, etc,
- 2021-03-14 – Terminado o sistema de gravação de vídeos ou animações (GIFs, etc) do meu Game Engine em C/C++…Hoje terminei o sistema de gravação de vídeo do meu Game Engine, pois o OBS era muito lento, e já sabem como sou, se quero uma coisa a meu gosto, tenho de ser eu a fazê-la. E lembrem-se que isto é C/C++, não é uma daquelas linguagens básicas tipo C# ou Java em que basta
- 2021-03-08 – Gerando animações em formato GIF no meu Game Engine em C/C++…Hoje dei mais uns retoques no meu GIF creator, ele cria GIFs animados já, através de frames do próprio jogo (neste caso com 10 frames entre cada screenshot), e adiciona os frames ao GIF animado, que no fim terá a animação. O problema é que ainda uso apenas uma palete de cores, achada no começo
- 2021-03-05 – Criando um algoritmo de conversão de cores RGBA para Indexed-256 para a criação de Gifs no meu Game Engine em C/C++…O que vêem aqui sou eu a tentar criar o meu próprio algoritmo de conversão de cores RGB para indexed-256, pois decidi com o premir de uma tecla, gravar um vídeo em formato GIF para partilhas de vídeos do meu jogo, e resolvi criar o meu próprio algoritmo de compressão e redução de cores, do
- 2021-02-23 – Melhorando a performance dos scripts das bolhas de ar na água no meu Game Engine em C/C++…Ontem nalguns minutos livres retomei por horas o game engine, porque já não tocava nele desde o dia 9 de Fevereiro, em que tenho estado ocupado com os trading systems, e dei uns toques, a ver se trabalho em 2 dias da semana no game engine, talvez aos Sábados e Domingos (como descanso, programação relaxante
- 2021-02-05 – Eu e o meu poder incrível de reverter o Tempo (no meu Game Engine em C/C++)…Eu e o meu incrível poder de reverter o Tempo. O mal é que só funciona com as ondas, não com peixes assassinos. Além disso reparem na perfeição das bolhas, assim que tocam na superfície da água, desaparecem e que posso acelerar e desacelerar as ondas.. Sobre o time-reversal, na realidade foi um pequeno mecanismo
- 2021-02-01 – Optimização de código após criar as ondas realistas no meu Game Engine em C/C++…Uma primeira experiência de ter as ondas realistas e com as bolhas a não vir à tona de água. Mais tarde fiz melhoramentos extra como optimização de código, porque neste momento o peso era tanto que desceram os FPS de uns 175 para uns 40, mas mais tarde optimizei o código e voltei a perto
- 2021-01-31 – Achando os parâmetros ideais para as ondas perfeitas no meu Game Engine em C/C++…Penso que achei os parâmetros ideais para criar as ondas perfeitas. O movimento é suave, a maré também (o subir e baixar), as formas também. Vou deixar estar esta configuração por defeito. O próximo passo é evitar que as bolhas saiam da água a 100%, e depois fazer com que o efeito de mergulho que
- 2021-01-24 – Vendo as ondas em tempo real no meu game engine em C/C++…Um print screen que me havia esquecido de partilhar no dia 25, foi o dia em que meti as ondas a serem aplicadas de forma automática em cada local onde houvesse água. O Game Engine preenche as áreas aquáticas, e ao detectar um topo (onde as tais águas acabam), torna essas superfícies um objecto específico,
- 2021-01-24 – Testes com ondas no ecrã no meu Game Engine em C/C++…No dia 24 ainda não tinha aquelas ondas animadas que partilhei ontem, mas como me esqueci desta imagem, partilho hoje. Podem ver que tinha várias superfícies de ondas já aplicadas nos locais correctos, e uma em separado para testar os splashes, e só após ter tudo isto a funcionar na perfeição, é que pude aplicar
- 2021-01-21 – Efeitos de Ondas e Mergulhos no meu Game Engine, criado em C/C++…Um vídeo que fiz no dia 21, para mostrar como as ondas funcionam. O ideal foi criar uma superfície de ondas (chamei-lhe “waterSurface” ao objecto), e fazer com que pudesse ser calculada individualmente, para poder ser dividida em pedaços e colocada no ecrã em pedaços, para permitir a que por exemplo, se algo cair no
- 2021-01-18 – Embelezar as ondas no meu Game Engine em C/C++…No dia 18 já tinha feito muitas coisas que não dá para explicar, no game engine, mas visíveis estão as ondas que já estão mais bonitas e pintadas, como podem ver na imagem. Mas ainda não aplicadas nos sítios correctos, isso foi feito mais tarde. 2021-01-18.