Skip to content

ronanbastos/Nandraki.js

Repository files navigation

mascote


index-html index-html index-htmlindex-html

Sobre o projeto / About the project

A engine game nandraki esta sendo criada com base webgl,html,js e css com proposta de criar jogo de maneira fácil pelo celular e computador, com objetivo de favorecer computares antigo e com baixo consumo de ram e placa de vídeo, com suporte para interagir lib de game existente que usa tecnologia Webgl canvas.Projeto esta sendo feito em class principal e blocos de função js.Podendo ate possível ser usada para pessoas que não usa maquina robusta e que não tem suporte webgl no navegador, assim nasceu a ideia do DDP (dinâmica Dom programar)que uso js,html e css sem canvas para criar jogos. Em processo alfa aqui em baixo tem links de exemplos de projetos feitos na engine

The nandraki game engine is being created based on webgl, html, js and css with the purpose of creating games easily on cell phones and computers, with the objective of favoring old computers with low consumption of ram and video card, with support for interacting Existing game lib that uses Webgl technology canvas.Project is being done in main class and js function blocks.It can even be used for people who don't use robust machines and don't have webgl support in their browser, so the idea of ​​DDP was born (Dynamic Dom program) I use js, html and css without canvas to create games. In alpha process below, there are links to examples of projects made in the engine

[Demostração test ,test1 e test2]
Nota:[Na pasta da engine contém arquivo test de demostração/ In the engine folder contains demo test file]

Test html: https://github.com/ronanbastos/Nandraki.js/blob/main/test.html

Test 1 html: https://github.com/ronanbastos/Nandraki.js/blob/main/test1.html

Test 2 html: https://github.com/ronanbastos/Nandraki.js/blob/main/test2.html

*Download engine: https://github.com/ronanbastos/Nandraki.js/archive/refs/heads/main.zip

Playground

Playground 3D Draki.js : https://drakijs--ronan1995.on.websim.ai

Playground Dom : https://ronanbastos.github.io/Nandraki.js/ //Use o console para pegar variaves da Nandraki e game

Js Inteface : https://ronanbastos.github.io/Nandraki-Inteface/

Playground CodePen: https://codepen.io/ronan-varella/pen/xxPeeEM
#

CDN

<script src="https://unpkg.com/nandraki@2.5.8/nandraki.js" ></script>

Help channel

1 => @RonanTI: https://www.youtube.com/channel/UCmffxA2ppF1zL9SEU22_7AA

2 => @BrazilianDev: https://www.youtube.com/watch?v=zQ6_a0LRHsU&list=PL-R1FQNkywO7cyBnd-vmF1ufCoaMcAa9k&ab_channel=BrazilianDev

3 =>

4 =>

5 =>

# Testar o script [Testar sem inteface da engine... Crie um arquivo chamado index.html e cole o seguinte código nele]

<html>
<head>
	
	<script src="https://unpkg.com/nandraki@2.5.8/nandraki.js" ></script>
</head>
<body>

	<script>
	       Nandraki.create_ui("text_id","[hello world]")
	       myjogo = {


		 start : function(){


		  // Nandraki.create_ui("text_id","hello world")	


		 },	
	       }

	       fps=60;	
	       game.update(myjogo.start,fps);  

</script>
</body>
</html>

[draki 3d]

<html>
<head>
	
	<script src="draki3d.js"></script>
</head>
<body>
 
    <script>

// Exemplo de como o usuário pode interagir diretamente
const draki = new ThreeCore();
draki.init(document.body);

// Criação dos objetos diretamente
let cubo = Game.create('cube');
cubo.position.set(5,0, 0);


let camera = Game.create('camera');
camera.position.set(5,0,5);


let luz = Game.create('light');
luz.position.set(0,5,10);


// Animando o cubo
draki.animate = function () {
  cubo.rotation.y += 0.05;
  cubo.rotation.x += 0.01;
  draki.renderer.render(draki.scene, camera);
  requestAnimationFrame(draki.animate);
};

draki.scene.add(camera);
draki.scene.add(cubo);
draki.scene.add(luz);

    </script>
</body>
</html>

Funcionalidades e Metas [Features]

  • Criar interface completa
  • Export html
  • Criar interface da engine html
  • Manipulação de elemento Dom
  • Key event down e up
  • Event touch,click,move
  • Manipulação de css e js
  • Criar event Gamepad touch
  • Criar event Gamepad joystick
  • Manipulação de animação
  • Manipulação de canvas
  • Verficador de estados animação
  • Criador de mapas canvas e sprite png
  • Interface da engine android,web e desktop
  • Implementar sistema Singleton da cena principal
  • Adicionar suporte a câmera, malhas e luzes via Abstract Factory
  • Criar sistema EntityBuilder para compor objetos
  • Adicionar suporte a clonagem via protótipos (PrototypeFactory)
  • Suporte a Game.create('tipo') para construção simplificada
  • Sistema de nomeação e busca de objetos na cena (.name)
  • Função drak() para acessar e alterar dinamicamente propriedades (set, get)
  • Sistema de scripts dentro dos objetos via script(fn)
  • ATT camada lib js externa
  • ATT camada 3D game Webgl
  • Finalizar sistema de Scene Singleton (ThreeCore)
  • Implementar sistema de hierarquia de objetos na cena
  • Adicionar suporte completo a componentes via script (drak().set/get/script)
  • Criar módulo de física básica (colisores, gravidade simples)
  • Desenvolver sistema de câmera com controle de movimento
  • Adicionar suporte a importação de modelos externos (GLTF/OBJ)
  • Implementar sistema de materiais personalizados
  • Criar GUI mínima para visualização e depuração da cena
  • Sistema de exportação da cena como JSON
  • Criar sistema de carregamento de cenas (load/save)
  • Adicionar sistema de input (teclado, mouse, toque)
  • Implementar módulo de áudio 3D
  • Adicionar sistema de animações básicas (keyframes)
  • Criar módulo de iluminação avançada (ambient, direcional, sombras)
  • Integrar com Nandraki.js para sobreposição de UI 2D
  • Sistema de entidades baseadas em componentes (ECS simplificado)
  • Modo de build/exportação para Web (embed fácil)
  • Criar documentação básica da engine
  • Subir repositório com exemplo de jogo funcional
  • Criar sistema de plugin para usuários extenderem a engine
  • ATT camada Web3
  • Import Apps Android
  • Import Apps Exe
  • Import Apps deb

# Metas da Engine Draki3D

✅ Fase 1 — Núcleo funcional
🚧 Fase 2 — Scripting e lógica de jogo
🚧 Fase 3 — Estrutura de projeto
🚧 Fase 4 — Assets e importação
🚧 Fase 5 — Exportação e build
🚧 Fase 6 — Suporte a gameplay
🚧 Fase 7 — Ferramentas extras

Sistema de plugins para extensões da engine

projeto Electron

Aqui: 🚧 [OFF] 🚧

Autor

Projeto esta sendo feito por mim @RonanBasto,caso queria ajudar pode entra conta comigo.

Email:ronanbatos@hotmail.com

[Paypal] Doar:Aqui!

Npmjs

https://www.npmjs.com/package/nandraki

Documentation.md

Aqui:https://ronanbastos.github.io/Documentation-Nandraki.js/