Sign in to follow this  
patience

Make games you'll love with the Affinity Engine! <3 <3 <3

Recommended Posts

Overview

The Affinity Engine is an open-source, browser-based game engine. It's entirely free: no licensing, no royalties, and no price tag. And since it’s browser-based, its games are de facto cross-platform: PCs, Macs, iPhones, Androids, you name it.

After nearly three years of development, the engine is ready to make games. Or rather, "games you'll love"--as I like to put it. This emphasis on "love" is evident in everything from the project's pink-and-heart branding to the companionable hosts that will guide you through the engine's interactive documentation, which you can find at http://www.affinityengine.org. The documentation also includes an extensive tutorial that'll get you making games within a few hours.

While the engine is currently adept at making interactive fiction and visual novels, it has the potential to do quite a bit more. Rather than locking game designers into a single, monolothic solution, the engine actually consists of dozens of small modules that designers can pick and choose from. Each module adds new functionality to a game, while also exposing a simple, human-readable API that often feels like a theatrical script or screen play. In this way, it attempts to be both easy to use and infinitely extensible.

As the engine continues to mature, more modules are bound to come out, adding genres along the way. If you'd like to create your own modules, that's also an option, though one serious short-coming of the current documentation is that it doesn't go into detail about that yet.

If you're interested, you can follow us on Twitter or contribute on GitHub! We've also got an Itch.io account, because--oh yeah, you can post Affinity Engine games directly into Itch!

Or you can check out the documentation demos!

Features

  • Free, open-source, and browser-based!
  • Complete VN support: text, menus, images, and music/voice/sound effects
  • Advanced Layering: everything on the stage is divided into layers, which you can individually animate for perspective effects
  • Transitions: everything supports animated transitions, from background images to menus to full scenes
  • Text Animation: text is animated and has markup for changing speed, animation, pausing, and more; you can even changing character expressions when the text arrives at a particular point!
  • Data Management: multi-save, load, reset, and rewind
  • i18n: easily manage multiple languages
  • And more:
    • Configurable keyboard and mouse support
    • Full mobile support
    • Multiple style choices, or design your own!
    • Use FontAwesome icons! (Or another icon set of your choosing)

Code Sample

export default Scene.extend({
  start: task(function * (script) {
    script.backdrop('bedroom').fadeIn();
    const diy = script.character('diy').fadeIn();
    const ember = script.character('ember').fadeIn();

    yield diy._.text("We'd like to welcome you!");
    yield ember.expression('smiling')._.text("We'll be your tour guides.");
  }
});

 

Share this post


Link to post
Share on other sites

Thanks for sharing with your friend, Ivan!

All the generator functions are cancellable, and the engine will take care of that for you when certain things happen, like when the stage is torn down when the player starts a new game. You can also manually cancel the direction from a script if you know the name of the async task, such as `direction.get('component.someAsyncTask').cancelAll()`. But, it really wasn't built with that in mind, so your milage will vary.

No integrations yet, though the way the Affinity Engine is structured, that shouldn't be too hard. You could even integrate with the DOM stage by making a direction that uses the library, though something tells me you'd rather replace the DOM stage straight up. That's totally an option too. The DOM stage is just another module, `affinity-engine-stage`.

Anyway, thanks for checking it out!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.