Skip to content

Releases: yhdgms1/novely

v0.30.0

26 Apr 05:01
cb6f9b1
Compare
Choose a tag to compare
v0.30.0 Pre-release
Pre-release

Default emotions for characters

const engine = novely({
  characters: {
    Yuki: {
      name: 'Yuki',
      color: '#f595f6',
      emotions: {
        normal: './normal.png'
      }
    }
  },
  defaultEmotions: {
    Yuki: 'normal'
  }
})

engine.script({
  start: [
    // Without emotion!
    engine.action.showCharacter('Yuki')
  ]
})

v0.28.0

30 Mar 15:59
70d6c5f
Compare
Choose a tag to compare
v0.28.0 Pre-release
Pre-release

Fix Saves

Before if the story was set to the following

script({
  start: [
    a.say('Character', 'Lyric One'),
    a.say('Character', 'Lyric Two'),
  ]
})

When, however being on lyric two, player exit the game using exit button, game will be saved at lyric one.

Now game will be saved on lyric two. There were also some minor changes to the saves logic. Now Novely itself decides should save been overwritten or not.

Fix Action Double Call

Same story is used in this example.

script({
  start: [
    a.say('Character', 'Lyric One'),
    a.say('Character', 'Lyric Two'),
  ]
})

Player save on lyric two. Basically you should expect, when restoring, first lyric one to run, and then lyric two to run.
But things was working differently. Firstly, lyric one was called, then lyric two, and then lyric two was called again, this time variables goingBack and restoring was false.

Now restoring working in expected way

v0.27.0 — Don't give up

27 Mar 15:28
8597afc
Compare
Choose a tag to compare
Pre-release

Replacement of loading screen with overlay loading screen

Previously there was a choice either show loading or either show some another screen. Now renderer should provide ui.showLoading and ui.hideLoading methods. This was made to allow dynamic script call inside a game don't break or make game restore when completely not needed. However, this is not a recommended way of using a script function, it could be supported partially.

v0.25.0 — Red Exclamation

16 Mar 19:06
a54e409
Compare
Choose a tag to compare
Pre-release

New State

Previously novely would return a state function that is used to receive and set state.

const { action, state } = engine;

engine.script({
 start: [
  action.function(() => {
    // Set state
    state({ weather: 'Sunny' })
    // Receive state
    console.log(state())
  })
 ]
})

Now state is passed directly into actions

const { action } = engine;

engine.script({
 start: [
  action.function(({ state }) => {
    // Set state
    state({ weather: 'Cloudy' })
    // Receive state
    console.log(state())
  })
 ]
})

New Say Action

New Say action, unlike of Dialog, that was used to make characters say their lyrics, does not allow non-characters to say lyrics, also it does not provide functionality to show mini-character near the text.

engine.script({
  start: [
    action.say('Character', 'Hello')
  ]
})

Rename of unwrap to templateReplace

Unwrap used to be a function that is used internally, but exported to use with global data instead of local state. Now it is just renamed to have a more descriptive name.

engine.data({ tea: 'Strawberry' })

// Before (deprecated)
engine.unwrap('I like tea with {{tea}}')
// After
engine.templateReplace('I like tea with {{tea}}')

v0.24.0 — Yellow Duck

02 Mar 17:10
6ae7363
Compare
Choose a tag to compare
Pre-release

However Novely still in development phase, I want to release it.