https://github.com/jepemo/malvado
A game programming library with "DIV Game Studio"-style processes for Lua/Love2D
https://github.com/jepemo/malvado
2d-game-engine divgamestudio dsl game-development game-engine love2d lua
Last synced: about 2 months ago
JSON representation
A game programming library with "DIV Game Studio"-style processes for Lua/Love2D
- Host: GitHub
- URL: https://github.com/jepemo/malvado
- Owner: jepemo
- License: apache-2.0
- Created: 2017-02-15T12:23:55.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-09-17T17:16:37.000Z (9 months ago)
- Last Synced: 2025-09-17T18:58:24.016Z (9 months ago)
- Topics: 2d-game-engine, divgamestudio, dsl, game-development, game-engine, love2d, lua
- Language: Lua
- Homepage: https://jepemo.github.io/malvado/
- Size: 404 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# malvado
A game programming library with "DIV Game Studio"-style processes for Lua/Love2D
You can find the *malvado* documentation on the [Website](https://jepemo.github.io/malvado/)
- [Features](#features)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Run Examples](#examples)
- [Hello World Example](#hello-world-example)
## Features
## Getting Started
### Installation
* Install [Love2d](https://love2d.org/)
* Install **Malvado**:
```bash
luarocks install malvado
```
For the documentation generation, if you download from github, you need [LDoc](https://github.com/stevedonovan/LDoc) and [Penlight](https://github.com/stevedonovan/Penlight) .
### Run Examples
```
love examples/helloworld
# or
love examples/demo
# or
love examples/space_asteroids
# or
love examples/bench
```
### Hello World Example
```lua
require 'malvado'
-- Define (not run) one process
HelloWorld = process(function(self)
-- Set background to grey
clear_screen(250, 250, 250)
-- Define global font (size, color (r, g, b))
local font = font(60, 0, 0, 0)
-- Write the "Hello world" text in the process position
write(font, self.x, self.y, self.text)
-- Runs until escape key is pressed
while not key("escape") do
-- Render the process
frame()
end
end)
-- Start (main)
malvado.start(function()
-- Set the title text of the window
set_title("Hello world")
-- Launch the background process
-- The application runs until there is no running process.
HelloWorld { x=240, y=280, text="Hello World" }
end)
```