segunda-feira, 16 de fevereiro de 2026

Dynamic Wall: As 5 Técnicas de meu Minigame

Dynamic Wall: 5 técnicas de meu Minigame

Dynamic Wall: Minigame Criado na Engine UPBGE

As cinco técnicas deste Minigame

Veja aqui técnicas que desenvolvi para tornar meu Game em realidade. São cinco tecnologias ou mais que apliquei em um único projeto.

O que tem neste Minigame?
Temos um muro com diferentes fragmentos de forma que ao mover o mouse no muro "quebra" o muro em diferentes partes, de maneira que há certa programação que foi implementada em níveis progressivos de fragmentação.

UPBGE é um motor de Jogos completo e multiplataforma, link para Conhecer UPBGE, versões disponíveis para Download: Baixar UPBGE e para se aprofundar ainda mais, conheça a API de Programação em Python: API de Programação

Adotei uma estratégia para desenvolver um muro com diferentes particionamentos, com a opção de poder ter pedaços de fragmentos quebrados, para criar uma mecânica de jogos de ambientes quebráveis e assim sendo objetos destruíveis.

  1. Aplicar Nomes de Objetos
  2. Adicionar Objetos
  3. Usar o Painel de Lógica
  4. Aplicar Classe em Python
  5. Entender a API de programação

1. Aplicar Nomes de Objetos

Tendo uma enorme quantidade de objetos no mesmo cenário, foi indispensável atribuir um nome lógico para os objetos, para facilitar a identificação de cada um no momento que for necessário. E fazendo assim, assegurará que seu projeto esteja organizado, e que há uma sequência lógica e qualidade na produção.

2. Adicionar Objetos

Sabendo uma maneira de adicionar objetos via código no cenário, e programaticamente por meio da classe de Cenário a Scene, é como podemos no momento apropriado adicionar determinado objeto conhecido o local em que se posicionará o objeto no atual cenário.


fob = scn.addObject(sensorID, obj[ob["loc"]])

No código acima tornou possível que eu adicionasse o objeto desejado exatamente na localização em que eu desejava, uma vez que eu já sabia o local e também já havia adicionado a propriedade com o nome do objeto em que desejava aplicar esta funcionalidade.

3. Usar o Painel de Lógica

Programando em Python no Blender é uma solução aplicada no desenvolvimento de Jogos, com a BGE, sobretuto a UPBGE, Range Engine ou semilares, é possível programar e fazer uso do Manual oficial que detalha as opções de programação e desenvolvimento.

4. Aplicar Classe em Python

Desenhando o projeto por meio do Paradigma de Programação de Orientação a Objetos, permite assegurar que seus projetos terão qualidade adicionada, pois esta técnica permite maior abstração dos dados e algoritmo, facilitando o trabalho e tornando reusável e escalonável o game que faz uso desta tecnologia.

5. Entender a API de programação

Conhecer a API de programação lhe trará boas experiências, e lhe concederá um caminho para produzir seu projeto, uma vez que o que mais importa é a profundidade de conhecimento que você acumular para aplicar em seus projetos e por conseguinte confere um produto de qualidade é se basear no manual oficial, para que tudo que você incrementar no projeto tem suporte de ténicas que já foi estabelecida, que norteia o design do produto: seu Game.

Link para Baixar Este projeto único e totalmente integrado e funcional.

domingo, 15 de fevereiro de 2026

UPBGE meu Minigame Dynamic Wall

Dynamic Wall: Conheça meu Minigame

Dynamic Wall: Minigame Criado na Engine UPBGE

As cinco opções de níveis deste Minigame

O que tem neste Minigame?
Temos um muro com diferentes fragmentos de forma que ao mover o mouse no muro "quebra" o muro em diferentes partes, de maneira que há certa programação que foi implementada em níveis progressivos de fragmentação.

UPBGE é um motor de Jogos completo e multiplataforma, link para Conhecer UPBGE, versões disponíveis para Download: Baixar UPBGE e para se aprofundar ainda mais, conheça a API de Programação em Python: API de Programação

Adotei uma estratégia para desenvolver um muro com diferentes particionamentos, com a opção de poder ter pedaços de fragmentos quebrados, para criar uma mecânica de jogos de ambientes quebráveis e assim sendo objetos destruíveis.

Um muro quebrado no meio

Nesta imagem você pode conferir o Game proposto neste artigo.

Mas, quais são As cinco opções de níveis deste Minigame?

  1. Ambientes quebráveis
  2. Posição Fixa com Empty
  3. Nível de Fragmento
  4. Objetos de Geometria Diferente
  5. Sensor sensível do Mouse

1. Ambientes quebráveis

Nesta seção você verá que há diferentes fragmentos para os níveis de sessões separadas do muro. Foi feito uma modelagem específica para cada pedaço do muro, aplicando face no local de corte para facilitar a visualização de cada objeto de geometria única.

Um fragmento do muro

Nesta imagem você pode conferir um dos fragmentos do muro.

2. Posição Fixa com Empty

Nesta seção você pode observar que há vários Emptys que são objetos primitivos do blender para a aplicação do novo objeto fragmentado em cada posição que é o centro de massa do fragmento.

Um Empty para posição

Nesta imagem você pode conferir um dos Emptys com a localização de um fragmento.

3. Nível de Fragmento

Aqui temos os níveis de fragmentos com a malha original com que foi repartido os fragmentos para separação dos objetos individuais, para cada nível de fragmentação.

A malha de partição dos fragmentos

Nesta imagem você pode conferir a malha onde se repartiu para a criação de objetos.

4. Objetos de Geometria Diferente

Totalizando 43 objetos, este exemplo lida com a possivel implementação de integração com outros níveis de fragmentos, para poder adicionar objetos em novas secções menores.

Outliner e listagem de objetos

Nesta imagem você pode conferir os nomes e tipos de objetos, uma varieade que compõe o grande muro quebrável.

5. Sensor sensível do Mouse

A grande área esverdeada é um Plano com o sensor lógico de Mouse Over e Mouse Movement, para detectar a posição do Mouse e acionar a mecânica principal deste Minigame para o Muro virtual.

E, não menos importante, abaixo você pode conferir o código fonte para a implementação desta mecânica, um Minigame completo em si só, que funciona indepedente em uma abordagem inteligente e minimalista.


import bge
cont = bge.logic.getCurrentController()
own = cont.owner
scn = own.scene
obj = scn.objects


class WallDynamic():
    def mouseLoc(self):
        if cont.sensors["mo"].positive:
            if cont.sensors["mm"].positive:
                obj["colide"].localPosition = cont.sensors["mo"].hitPosition
    def colideSensor(self):
        for ob in obj:
            if 'level' in ob:
                if "loc" in ob:
                    if ob['level'] == 1:
                        sensorID = ob['sensor']
                        if cont.sensors[sensorID].positive:
                            print("sensor")
                            fob = scn.addObject(sensorID, obj[ob["loc"]])
                            ob.endObject()
                        else:
                            print("not collide")
                        
WallDynamic().mouseLoc()                    
WallDynamic().colideSensor()  

Link para Baixar Este projeto único e totalmente integrado e funcional.