A game programming library with "DIV Game Studio"-style processes for Lua/Love2D

xvz(47)
Published in
#utopian-io
Words
174
Reading
1 min
Listen
Play
9y

New Projects

  • What is the project about?
    It is a game programming library for game development. It is implemented in LUA. It is an easy programming language for game programming. The library is inspired by DIV-Game Studio. DIV was a game programming language with a uniq-style entity processes engine.

There are many examples in the repository like a simple asteroids, etc.

asteroids.png

Getting Started

Installation

  • Install Love2d
  • Install Malvado:
luarocks install malvado

For the documentation generation, if you download from github, you need LDoc and Penlight .

Run Examples

love examples/helloworld
# or
love examples/demo
# or
love examples/space_asteroids
# or
love examples/bench

Hello World Example

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)

Roadmap

  • Stable version with simple launch process engine, basic primitives and image loading
  • More image load modes (tilemap)
  • Sound & music utilities
  • Level editor
  • More graphic effects

How to contribute?

Install the game library, make a simple game and add to the library more utilities and features. You can also add more documentation in the cookbook section.



Posted on Utopian.io - Rewarding Open Source Contributors

A game programming library with "DIV Game Studio"-style processes f... | Ecency