NoctVM

NoctVM is a very portable lightweight scripting runtime for game development.

View on GitHub | Join the Community

✨ Key Features

🧪 Example

Here’s a simple NoctLang script showing how to render an image at the mouse position:

func setup() {
  return {
    title: "My Sample Game",
    width: 640,
    height: 480
  };
}

func start() {
  App.myTexture = API.loadTexture({file: "apple.png"});
}

func frame() {
  API.renderTexture({
    dstLeft:   API.mousePosX,
    dstTop:    API.mousePosY,
    dstWidth:  App.myTexture.width,
    dstHeight: App.myTexture.height,
    texture:   App.myTexture,
    srcLeft:   0,
    srcTop:    0,
    srcWidth:  App.myTexture.width,
    srcHeight: App.myTexture.height,
    alpha:     255
  });
}

Why NoctVM?

Creativity shouldn't depend on hardware, budget, or location.

NoctVM is built to empower creators — from classrooms to studios — with lightweight tools that just work.

Whether you're using a Raspberry Pi or a MacBook Pro, NoctVM adapts to your environment and dreams.

🤝 Join the Community

NoctVM is in early development. We welcome contributors of all kinds — whether you're a coder, writer, tester, or dreamer.

Join us on Discord