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

in utopian-io •  7 years ago  (edited)

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

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved. I can see you are a brand new user of Utopian, Welcome. I would like you to go thorough the Utopian Rules (https://utopian.io/rules) so that next time you will not make any mistake while doing any contribution. We are glad to have you on Utopian.

You can contact us on Discord.
[utopian-moderator]

Hey @codingdefined, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

Thank you, @codingdefined, for the Review!

Hey @xvz I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • This is your first accepted contribution here in Utopian. Welcome!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thanks a lot! I am going to see the Discord channels.

Can you please verify that the GitHub account is yours because according to Utopian Rules

If your username on Github does not correspond to the Utopian username you must use the "Name" field in the Github settings and enter there your Utopian/Steem username to verify you are the author.

You can contact us on Discord.
[utopian-moderator]