Aqui podem ver os meus logs de desenvolvimento relativos ao Game Engine que crio do zero em C/C++.
Atenção que aqui não conseguem ver animações, apenas thumbnails, terão de visitar os posts para ver os gifs animados, normalmente aparecerão aqui como imagens incompletas sem nada, ao invés de print-screens de desktops.
De tempos a tempos partilharei novidades aqui. 🙂
Comecei a desenvolvê-lo perto de 2017, tendo-o parado uns meses depois, e só o retomei em finais de Agosto de 2020.
Deixo primeiro um pequeno top de favoritos (escolhidos apenas pelo visual), e mais abaixo os últimos posts relacionados com este tema, mas com um pequeno vídeo primeiro:
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
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
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
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
Eu sei que disse que só após terminar o software de Análise Técnica e o Trading System’s Back-Tester (versão GUI) é que retornaria ao maravilhoso mundo dos videojogos, e desenvolver o meu próprio Game Engine do 0 em C++. Mas tive de regressar por umas horas ao meu remake futuro do Master of Orion, porque
É 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
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
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
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á
Aqui temos outra funcionalidade nova do meu game engine, que é a alteração da vista isométrica, pois nem todos os jogos terão a mesma vista, o mesmo ângulo/perspectiva de visão, além de efeitos mais giros. Primeiro, deixo o segundo vídeo, com efeitos muito mais giros, feito em 2023-10-07: É importante referir que eu uso cálculo
Mais umas pequenas melhorias ao meu clone do Master of Orion. Neste caso, criei: E resolvi vários bugs, sendo que um deles causava um pequeno desfasamento entre a posição das estrelas e o rato. Quanto às linhas animadas, baseiam-se nas existentes no jogo original: E por estranho que pareça, no jogo original, só servem para
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
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
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. É
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
O meu Game Engine a tornar-se 3D também, e não apenas 2D. Comecei a preparar o meu Game Engine em C/C++ para funcionar em 3D também, e já explico abaixo o que cada imagem é. E atenção que o que vêem, é renderização 3D feita “à mão”, e não através de facilitismos como OpenGL ou
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
Antes de vos mostrar os últimos vídeos, deixo-vos o VideoLog mais recente sobre o Desenvolvimento do meu Game Engine:
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
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
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
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
Aqui têm uma pequena melhoria do meu algoritmo de Matrix Code ou Matrix Rain, em que adicionei o efeito de números que aparece na cena “System Failure” do primeiro filme, mas melhorada, com várias quebras de barras de números, e um fade-out após o mesmo para dar início à Matrix Rain: Acho melhor assim pois
Aconselho-vos a ver isto às escuras. 😉 Foi há quase 4 anos que tinha criado este algoritmo de Matrix, pois ia estrear o novo filme da Saga Matrix, que simplesmente sempre adorei, e quis criar uma Matrix bem mais bonita que a dos filmes. Na altura fiquei desapontado com o filme em si, mas não
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
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
Este será provavelmente o meu último post relacionado com o meu simulador de galáxias em C++. Primeiro quero deixar um exemplo do mesmo mas com resolução baixa (pixelizado) e cores vivas, bem como as regiões de H2 já adicionadas, para usar um dia talvez em jogos meus como o meu futuro remake to Master of
Há uns dias acabei a parte inicial dos gráficos da Bolsa, do meu software de Análise Técnica, e para me entreter um pouco entre projectos, para não me cansar, lembrei-me de criar uma simulação rápida de aviões em 2D com as suas ondas sonoras. E isto até me levou a criar uma maneira nova de
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
Eu sei que disse que só após terminar o software de Análise Técnica e o Trading System’s Back-Tester (versão GUI) é que retornaria ao maravilhoso mundo dos videojogos, e desenvolver o meu próprio Game Engine do 0 em C++. Mas tive de regressar por umas horas ao meu remake futuro do Master of Orion, porque
Neste vídeo mostro quais as diferenças entre Sprites e Tiles, o que são, como se usam, sempre com exemplos tirados do meu próprio Game Engine, entre outras coisas, como jogos históricos, etc: Os Sprites e os Tiles são super importantes no mundo dos VideoJogos, daí ser o tema do segundo vídeo deste mini-curso. O vídeo
É 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
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
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
Decidi melhorar as armas que mostrei no meu post anterior, e agora tenho várias variantes. Decidi ainda não recriar a arma estilo R-Type porque é 100% circular e pouco realista, mas sou capaz de o fazer depois, porque devo criar um remake do famoso R-Type um dia destes só pela diversão. Uma delas, é uma
Eu quis recriar a arma circular do R-Type, mas decidi começar por tentar um efeito ao que me parece mais realista, de efeito de onda, mais sinusoidal, e fiquei com algo do genero: Ela tem obviamente um fade-out no fim, ao perder energia, e arredondada à frente, mas esqueci-me de desligar as scanlines para verem
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
Neste vídeo temos apenas uma pequena apresentação que visa distinguir os 3 tipos principais de funções relacionadas com a criação de VideoJogos: Game Designers, Game Artists e Game Programmers (English Version video at the end of this post, or here: https://www.youtube.com/watch?v=AfmCaDY189I): Existem outras funções, como Sound Engineer, Game Tester, ou até Game Producer entre outras,
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
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
Pois é, 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
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
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,
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á
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
Terramotos! Ou simplesmente ondas gigantes na superfície deste meu mundo isométrico. 🙂 No dia 7 lembrei-me de criar esta funcionalidade, de meter o plano isométrico ondulado, sob a forma de ondas. E poderão perguntar-se: “Para quê??? Para simular um tremor de terra? Ou para usar quando estivermos a jogar com um pato a nadar na
Mais uma funcionalidade para o meu Game Engine, neste caso na secção isométrica: a rotação da perspectiva do mapa de jogo, bem como inclinações do mapa, etc. Tenho outras formas de inclinar o mapa de jogo, esta tem mais a ver com um resizing feito ao mapa. Mas o mais giro é a rotação: Isto
Aqui temos outra funcionalidade nova do meu game engine, que é a alteração da vista isométrica, pois nem todos os jogos terão a mesma vista, o mesmo ângulo/perspectiva de visão, além de efeitos mais giros. Primeiro, deixo o segundo vídeo, com efeitos muito mais giros, feito em 2023-10-07: É importante referir que eu uso cálculo
Vejam a obra de arte que acabei de criar com o meu Game Engine, e quando gravei estava ao som de AstroPilot (“Here and Now”), e parece mesmo um videoclip oficial. 🙂 É o começo do Isométrico no meu Game Engine, mas inspirado no filme Inception, eu distorço os meus mundos como se fossem de
Aqui estão os primeiros passos na criação de jogos isométricos com o meu Game Engine. Um bloco de 3D, num mapa de 3D, lido pelo meu game engine, mas com o boneco a cair com a gravidade como se fosse um jogo de plataformas normal (é só para testes ainda), e com um ligeiro efeito
Mais umas pequenas melhorias ao meu clone do Master of Orion. Neste caso, criei: E resolvi vários bugs, sendo que um deles causava um pequeno desfasamento entre a posição das estrelas e o rato. Quanto às linhas animadas, baseiam-se nas existentes no jogo original: E por estranho que pareça, no jogo original, só servem para
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
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
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
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
Aqui estão, as minhas novas linhas dinâmicas/animadas, baseadas no jogo Master of Orion, do qual planeio construir um clone, e são as linhas que lá aparecem (com as mesmas cores), no jogo, quando movemos uma nave para outro sistema solar, e a linha fica lá animada para demonstrar o sentido de movimento das naves. Há
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
Aqui está o 2º passo do meu remake do jogo Master of Orion. Como continuo sem ter muito tempo disponível, achei que esta era uma forma rápida de me entreter com jogos com um bocadinho de tempo livre. Eu já tinha criado um sistema de geração de mapas aleatórios de estrelas, para cada jogo ser
Aqui está a razão pela qual meti um controlo da câmera no ecrã com o rato, no meu Game Engine: O meu futuro projecto – Um clone do Master of Orion (podem ver um excerto do jogo neste vídeo). Isto porque eu voltei a jogar a este jogo, e encontrei coisas com as quais não
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
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
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
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
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
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
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
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. É
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
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
Aqui está como se cria e testa um Text Editor low level em C++. Low level porque isto não é adicionar um controlo qualquer que faz a edição do texto, aqui tudo é feito do zero, píxel a píxel, não é como se faz hoje em dia em que basta adicionar um controlo já pré-feito
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
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
Aqui à varanda, cansado, estava a jogar ao Pac-Mania e lembrei-me que convém criar depois um nível de testes isométrico para jogos isométricos. Adoro o Pac-Mania por isso, um dia vou clonar também um Pac-Mania, vou recriar um Pan-Mania da Namco mas mais bem feito, para testar no meu game engine. Até lá, fica apenas
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.
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
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
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
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 à
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
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
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
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,
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ó
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
Uma alteração que fiz ao algoritmo da The Matrix que criei na passagem do ano, para o colocar com as cores da Ucrânia. Sei que a Rússia vai sofrer na Ucrânia até desistir, e que Putin arranjará uma maneira de fazer um acordo da treta para cessar fogo sem dar o braço a torcer e
A minha versão inicial da Matrix Rain / Matrix Code. Pois é, dizem que o filme novo do Matrix é decepcionante (ainda não o vi), mas pensem que o filme trouxe algo de bom: inspiração para recriar a Matrix Rain graficamente. Numa imagem abaixo vêem uma versão ampliada, mas abaixo podem ver em vídeo a
Feliz 2022 para todos. 🙂 Para começar bem o ano, a Matrix Rain, mas ao invés do tom verde que foi incluído no filme para dar um tom doentio à Matriz (reparem que os 3 filmes têm esse som esverdeado), dei um tom mais claro, mais prateado, para que o ano que vem tenha menos
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
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
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
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
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),
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,
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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”,
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
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…
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
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,
Algumas experiências com 3D, com o Game Engine em 3D que estou a criar, com um renderizador 3D feito à pata (sem usar OpenGL e sem usar o GPU das placas gráficas). Isto como expliquei noutro post, torna as coisas mais lentas, pois não tiramos proveito das placas gráficas, e todo o trabalho é feito
O meu Game Engine a tornar-se 3D também, e não apenas 2D. Comecei a preparar o meu Game Engine em C/C++ para funcionar em 3D também, e já explico abaixo o que cada imagem é. E atenção que o que vêem, é renderização 3D feita “à mão”, e não através de facilitismos como OpenGL ou
“Apenas cubos”, poderão vocês pensar! Mas há muito mais aqui do que imaginam… Estes cubos são o primeiro passo para a adaptação do meu game engine de 2D para 3D também. E importantíssimo, a renderização e cálculos 3D, são feitos todos à pata, não usei o OpenGL para nada. Com o OpenGL seria muito mais
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