Main Page

From vx
Jump to: navigation, search

vx library

Making games with Verge and Lua even better.

Download it now!

Contents

About vx

vx, (preferably pronounced 'vee echs' since it's an acronym -- although 'vex' is okay too) a "[v]erge e[x]tension", attempts to give a sophisticated interface with the free Verge 2D Game Engine. It wraps the raw LuaVerge library that comes with Verge in a more modern, object-oriented approach, to cater to those of us who like lightly sprinkled object-orientation rather than purely procedural code in their Lua programs.

Onne of the Verge engine developers, Overkill (Andrew Crowell), is the creator behind this magical library, so you can be sure it's fairly up-to-date with the engine!

This thing comes with a suite of objects and classes that tidy up Verge projects, plus some other neat and very useful functions. It's also garbage collected! So any resources you no longer need will eventually be removed without the worry or need to explicitly free things (although the option for that is still here).

Once you learn these libraries, I am confident that you can make games in Verge several times faster, and a lot of this has to do with your code being a lot cleaner.

Please read over the next sections for more details!

Downloading

To start using Verge, just get the latest version of vx. It contains all the library goodies which allow vx to work.

(Note: Verge 3.1 used a different Lua binding. Sadly, vx was made between Verge 3.1 and 3.14, and that version was also called Verge 3.1. So there are a lot of underlying differences. If for some reason, this applies to you, you can get the old version)

Setting Up

There is a bit of setup required to use it with your project, but nothing colossal:

  1. The latest Verge executable can be acquired from the verge-rpg.com homepage. The latest build that this library was tested against was Verge 3.2, which you can get here.
  2. To ensure that everything setup-wise goes smoothly, please make a folder with only the bare minimum to get Verge running. So please grab the basic engine release, the one which doesn't include Sully.
  3. Edit verge.cfg and ensure that lua 1 is in there somewhere to make Verge run as LuaVerge.
  4. Extract vx.zip to your workspace. If you do this right, you should have a subfolder called "vx" in the folder as all your verge junk.
    • Note: You should not have a folder called "vx" within this "vx" folder. if that happened please fix that. LuaVerge can't load vx otherwise.
  5. Copy the Hello World! example as a way of testing that you've set everything up properly.

And with that, you should be done! Code a game to your heart's content! Read the tutorials and examples for inspiration.

Using

Here's an even more condensed explanation of how to use the vx library, ensure lua is enabled in Verge, and make sure that the vx folder is contained as a subfolder in your game directory, and type:
require "vx"

All the stuff that comes with the vx library is listed under the documentation. There are also some tutorials and examples to help you on your way to make games.

Help

Documentation

Okay, now that you've got vx, and set it up, you might want to read over this section to get an idea of what sort of things vx gives you. You'll be consulting these sections a lot, to learn all the of large API that vx has. So please tell me if you see anything that seems too vague, or is missing, or has a mistake in it.

Here are the various sections:

Tutorials and Examples

Little code snippets that document and explain things about vx.

Please, feel free to add new examples or tutorials to this list. Tack them on here. Fresh examples are what keep people informed and motivated!

More information

If you're curious about Verge, check out this:

Some other useful guides to Lua include the following:

  • The Lua Manual is the official API documentation, which has the formal description of its code, but has very little examples.
  • Programming in Lua (PIL) is a good reference for examples on various language features, though somewhat awkward to read.
  • lua-users wiki is extremely helpful. The library descriptions are fairly well done. A word of caution though: some of their "workaround" code is kind of hairy.

Still Stuck?

Prod at the documentation to understand what variables, function and objects are in vx, and what attributes and methods belong to each object.

Read the tutorials, and examples above.

Finally, if you have any questions, ask! If you have questions or concerns, go to the help board on http://www.verge-rpg.com/ or join the channel #vergehelp on irc://irc.lunarnet.org/

My email is overkill9999 at gmail dot com. Feel free to fire me a question that way, too.

Contributing to vx

Are you an capable person who'd like to see Verge (and vx) thrive in making 2D indie games? Then why not help out?

Source Code

To get the most recent development build of vx, you will probably want a Subversion client (like TortoiseSVN for Windows).

Then checkout this repository using the SVN client.

If you have patches, send them to me! If you're wanting to help maintain, we can see about getting full commit privileges.

Documentation

vx is still needs better explanations, and more newbie-friendly resource. It needs more examples, better documentation, and tutorials. If you would like to help with any of these tasks, please, by all means do. Talk to me about it so I can put your work here.

Making Games

To create games with vx is the true way to really get more people interested in adapting to it. I want to eventually put a list of games that specifically use vx here. That way, it demonstrates what can be made, and that both Verge and vx are actually quite lively.

The point of game engines like Verge, and tools like vx are so people make games. So help me show them off!

Get the Word Out

Know somebody who wants to make a game? Point them to Verge! A fresh community is part of what makes creating games worthwhile.

Personal tools