8000 GitHub - joeliranzo/luango
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

joeliranzo/luango

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Luango Engine

Luango Engine is a lightweight, modular game engine written in Go with built-in scripting support using Lua. It is designed to be simple, flexible, and powerful — ideal for game developers who want performance and modding capabilities without the complexity.

🚀 Features

  • 🔄 Written in Go for performance and concurrency
  • 🧠 Embedded Lua scripting with Gopher-Lua
  • 🧩 Modular architecture for flexibility and expansion
  • 🎮 Custom mod loading system
  • 🧱 ECS-friendly foundation (coming soon)

📂 Project Structure

luango/
├── engine/         # Core engine modules (graphics, input, audio, etc.)
├── core/           # Game loop, scene management, ECS (planned)
├── mod/            # Lua scripts and mods
│   └── main.lua    # Entry Lua script
├── assets/         # Game assets (images, audio, etc.)
├── main.go         # Entry point of the engine
└── README.md       # You're here 😄

🧪 Running the Engine

Make sure you have Go installed.

git clone https://github.com/yourname/luango.git
cd luango
go run main.go

📝 Example Lua Script (mod/main.lua)

log("Hello from Lua!")

🛠 Roadmap

  • ECS system for entities and components
  • Input and audio modules
  • Sprite rendering with OpenGL or Ebiten
  • Lua sandboxing for secure modding
  • Debug console (in-Lua or Go-based)

🧠 Luango Engine – Dev Summary

Nombre del proyecto: Luango Engine

Core Language: Go

Scripting: Lua (Gopher-Lua)

Rendering: Ebiten

Audio: Beep

Input Handling: Ebiten

Arquitectura: Modular, event-driven, ECS-ready

Licencia: MIT (Open Source)


Fases completadas (1 a 8)

  1. Entity System – Con soporte para entidades con ID, nombre, posición, sprite.
  2. Audio Module – Soporte para reproducir sonidos .wav desde Lua (play_sound).
  3. Input Module – Teclado integrado (WASD, Arrows), uso desde Lua (is_key_pressed).
  4. Rendering – Motor 2D con Ebiten, renderiza sprites por coordenadas.
  5. Mod Loader – Carga automática de todos los .lua en mod/ y subdirectorios.
  6. Game Loop – Soporte para on_start() y on_update() desde Lua.
  7. Debug Tools – Consola visual (F3), comando debug(), FPS & posición.
  8. Technical Documentation – Documento TECHNICAL.md con todo lo necesario pa’ devs.

📜 Lua API Actual

lua
CopyEdit
log("msg") -- Mensaje normal debug("msg") -- Mensaje de depuración emit("event", "data") -- Emitir eventos personalizados play_sound("ruta.wav") -- Reproducir audio is_key_pressed("W") -- Verifica si tecla está presionada move_player(dx, dy) -- Mueve al jugador -- Hooks del juego: functionon_start()end-- Se llama una vez al iniciar functionon_update()end-- Se llama cada frame (~60 FPS)

🗂️ Estructura sugerida

bash
CopyEdit
mod/ ├── player/init.lua ├── enemy/slime.lua ├── items/potions.lua ├── world.lua └── game/init.lua ← aquí van on_start y on_update

❤️ Made with amor by...

A crazy paisa who codes with café in hand ☕🎮


¡Gracias por usar Luango Engine , mi amor!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0