Jump to content
  • Advertisement
Sign in to follow this  

Yae - Game engine for MoonScript, in MoonScript

This topic is 1213 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Yet Another Engine


Kaizo: Oh! Even someone with a tender face like yours has a great weapon like that! It doesn’t fit someone like you!
Yae: Eh? This bazooka?
Kaizo: Yeah! If I had that weapon, I could have the power of a million people! Well, give it to me! Give it to me!

An engine you can use to make games in MoonScript. It’s free, open-source, and works on Windows, Mac OS X, Linux, Android, iOS and Ouya.

luarocks install --server=http://luarocks.org/dev yae
Getting StartedDocumentation
The Wiki contains all the information you’ll need to write game. You can contribute to the Wiki directly here on GitHub! Also, you can view online documentation generated right from the source code.

Reporting Issues
Use the issue tracker here on GitHub to report issues. Edited by deathbeam

Share this post

Link to post
Share on other sites

I might have woken up on the wrong side of the bed....  But is it called non or nön?


That's two different words if you are swedish, german, turkish, icelandish, estnian, finnish or any other of the languages where you actually use the letter ö.


Just wanted to let you know that misuse of it looks pretty ridiculous and confusing to most of those people...

But I do understand we might be in a minority from people who mostly view it as a decoration and associate to other mis-users of it, like Motörhead...

Share this post

Link to post
Share on other sites

I named it NÖN purely because of search engines. It actual name stands for No Nonsense (NON). Love2D does same thing (LÖVE rather than LOVE cause searching google for love would bring some valentine **** :D ) And hey, Motörhead is great band. 

Edited by deathbeam

Share this post

Link to post
Share on other sites
Hello everyone smile.png New update is finally here.I updated website (again). You can check it here: http://non2d.github.io/. Also, new logo:


So, stop talking, start showcasing.I created new super awesome splash screen which now also logs progress.


Here is example of old method of drawing images and text (with resource loading displayed on splash screen):

require "non/graphics"

def init(assets)
  assets.add :image, "nokia_logo.png"

def ready
  @image = Graphics.image "nokia_logo.png"

def render(dt)
  Graphics.print "What hath Matz wrought?", position: [10, 10]
  Graphics.draw @image, position: [50, 50]
And here is same functionality with new API:

@image = NON.graphics.image "nokia_logo.png"

def draw
  NON.graphics.print "What hath Matz wrought?", position: [10, 10]
  NON.graphics.draw @image, position: [50, 50]
Awesome right? Same applies to rest of NÖN functionality. Also, added new file API. Reading from files:

file = NON.files.internal "myfile.txt"
text = file.read_string
Writing to files:

file = NON.files.local "myfile.txt"
file.write_string "My god, it's full of stars"
Also, added support for parsing YAML, JSON and XML files. Small example of parsing YAML:

@file = NON.files.internal "non/config.yml"
@config = NON.files.parse_yaml @file.read_string
puts @config["name"]
Edited by deathbeam

Share this post

Link to post
Share on other sites
Hey everyone again. I finished API finally so I was able to add back Lua support. Now NÖN can be also installed with LuaRocks:

luarocks install non

Share this post

Link to post
Share on other sites
Hey everyone!

I released version 0.6.2 of engine. Some major updates are
* updated LibGDX backend to v1.5.5
* updated RoboVM backend to v1.0.0
* updated and optimized Lua backend
* fully documented entire API
* new non.system module
* speeded up engine (a lot)
* fixed all known (and unknown) bugs

To see full changelog, navigate here.

New documentation is uploaded to official site.
You can see full documentation here.

Also, engine have new icon (looks great mainly on mobile devices):


Share this post

Link to post
Share on other sites
Hello again smile.png

I finished new version of the engine, v0.6.3. It includes
* new non.system.getSize(), non.system.getWidth() and non.system.getHeight() methods
* new non.graphics.setSize() method what can be usefull for screen cropping
* launcher and splash screen optimizations

Also, I updated documentation with MoonScript examples. Check it here.

Click here to see full changelog

Share this post

Link to post
Share on other sites
Hello, hello ;)

Right now I finished new version (v0.6.4). It includes one awesome feature what is unique to every other Lua game engine, and that is direct interoperability with Java. Small example on how to use Apache Commons IO (popular Java library with many IO utilities).

1. We will add dependency to config.yml
    - "commons-io:commons-io:2.4"
2. Now, we can use it:

function non.ready()
  fsu = non.java.bind("org.apache.commons.io.FileSystemUtils")
  freeSpace = fsu:freeSpaceKb()
non.ready = ->
  fsu = non.java.bind "org.apache.commons.io.FileSystemUtils"
  freeSpace = fsu\freeSpaceKb!
Also, I added documentation for new non.java module here.

Click here to see full changelog

Share this post

Link to post
Share on other sites

Hello everyone.

I just wanted to tell that this project is not dead yet (and still under active development). I just do not had time to post updates here. I changed API totatlly to match Love2D API.

Here are some images of running random Love2D games in NON:





Also, here is image of IDE for NON called NIDE what is WIP:


Love2D Passing clouds demo on

- my Android x86 quad-core 2GHz, 1GB ram tablet:

- my Android arm-v7 single-core 1GHz, 512MB ram phone

I want to replace LuaJ with luajava for big performance boost. I just need pre-compiled luajava (along with latest Lua for iOS and for rest of platforms with latest LuaJIT) natives for

* android32
* ios32
* linux32
* linux64
* macosx32
* macosx64
* windows32
* windows64

If anyone is able to cross-compile natives for any of that platforms (for Android it must be for both ARM and x86) it would be great and will save me tons of work. Maybe we can use something like libGDX is doing here but as I do not own Mac I cannot make natives for iOS and Mac OS X.

Share this post

Link to post
Share on other sites
Hello again.

I rewrote entire engine in MoonScript. Why? Because now source code can be really familiar to users who want to use this engine, because they will actually understand what is going on.

Also, I created plugin for Sublime Text, which adds support for entire NON build system and API autocompletion. It looks like this:


Also, website got new design again, now it looks awesome, is more clear, lists all important features and shows some more info about engine: http://nondev.io/

It also contains new section, with full NON documentation: http://nondev.io/doc

If you have any questions, post a reply here or come and visit us in our Gitter chatroom smile.png

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!