naninovel / docs Goto Github PK
View Code? Open in Web Editor NEWDocumentation website
Home Page: https://naninovel.com
Documentation website
Home Page: https://naninovel.com
In this thread I'd like to accumulate any ideas and suggestions regarding the in-game settings menu: what could we add or change to make them more helpful and user-friendly? Any comments and references (eg, setting menus from other VN engines or games) are welcome in this topic or via the discord server and private messages.
A feature that would allow to generate documents containing only the dialogue text extracted from the novel scripts of the project. The text should be associated with the voice clip names to be used with the auto voicing feature.
Add an open API and a novel action to control the render camera, eg:
@camera offset:0.2,0.1 rotation:25 zoom:10 time:1
... where offset will move (add offset) camera in scene space by x and y axis, rotation will rotate around X-axis (in degrees), zoom will change the ortho size and time will control the animation time.
Comparing numbers in conditional expressions yield wrong results in some cases, eg:
@set a=150
@set b=50
@print text:"{a} < {b}" if:a<b
— will evaluate the condition as true and print the string.
Allow inlining a set expression to the choice
actions.
Describe your idea
Describe possible use cases
Playing "typing" sounds when a message is revealing in the text printers.
Currently, all the resources referenced in the played novel script are loaded into memory. Dynamic resources management will result in pre-loading only the resources referenced in the next n
actions (or up to a defined memory limit?) and un-loading resources which are no longer needed.
The following should make the engine more user-friendly when using it as a drop-in dialogue system for existing projects:
In the text settings menu (message speed, font, etc) add a preview printer that will print a stub text in a loop. This will allow to immediately see the effect of the changes, without returning to the game.
Currently, there is no built-in way to manage the state variables for debug purposes. A simple UI or console commands could do the trick.
Need to make the FX and transition docs more transparent regarding the start-stop params, improve presentation and add examples for each effect on how to call it from the novel scripts.
Add a system to track unlockable in-game illustrations (CG) and a sample built-in UI to browse it.
Currently there is no way to control the lifetime of the objects spawned with @spawn
action.
Need to add an action, like @despawn
and an interface (along with Spawn.IInitializable
, and Spawn.IAwaitable
) that will optionally invoke an async "despawn" action before destroying the gameobject.
Describe your idea
Allow providing button
and pos
(optional) params to the choice handler. Make the choice description text param optional.
Describe possible use cases
Making an "interactive map" with the @choice
actions.
Share reference implementations
https://www.youtube.com/watch?v=s5_yvgkmv0c
Describe the bug
A clear and concise description of what the bug is.
Managed text generate tool can't work properly in macOS. I think the output path code is hardcoded to Windows path format. (eg, if I output to ./Resources/Text
, the outputted file will in ./Resources/
with the file name Text\CharacterNames.txt
, Text\UIBacklog.txt ...
)
To Reproduce
Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Naninovel -> Tools -> Managed Text
context menu.<selected_directory_name>\CharacterNames.txt
, <selected_directory_name>\UIBacklog.txt ...
)Expected behavior
A clear and concise description of what you expected to happen.
The managed text documents should be generated in the selected directory with file name CharacterNames.txt
, UIBacklog.txt ...
Screenshots
If applicable, add screenshots to help explain your problem.
Generate the managed text documents in ./Resources/TestText
After generated, the generated files are not visible in the Unity project tab.
But visible in Finder with file name TestText\CharacterNames.txt
, TestText\UIBacklog.txt ...
Naninovel version
Version of the engine as displayed inNaninovel -> About
window, e.g.: 1.0.12-beta
v1.3.2-beta build 2019-03-08
Unity version
Specify Unity version you are using, e.g.: 2018.3.5f2.
2018.3.11f1
OS (when editor-related)
Which operating system you're running the editor under, e.g.: Windows 10
macOS 10.14.4
Platform
Which target platform you're using, e.g.: WebGL
PC, Mac & Linux Standalone (Mac OS X)
Describe your idea
A printer that scrolls by vertical axis and display messages in a chat manner.
Describe possible use cases
A starting point for users to learn how to make custom printers and a basic chat printer implementation that could be used in existing projects.
Just testing webhook integration.
A feature to set custom tint colors per character for printer messages and name labels.
Add a component, that will update UI.Text
with the value of the specified custom state variable when it's changed (need to also add an OnVariableUpdated<string>
event to CustomVariableManager
).
If this is already possible it may not be clear in the documentation how this is done.
I’m looking to set a state variable externally from code (the player’s custom name) and print out dialogue that includes it.
The documentation shows how the $ works for defines however the documentation doesn’t explain if it is possible with set/state variables or how to go about printing referenced variables like this.
Describe the bug
A clear and concise description of what the bug is.
Novel scripts won't work with the character name that have blank space. It will print all the text including character name as a generic text statement.
Using double quote " "
, escape character \
, or define >
doesn't work.
To Reproduce
Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Expected behavior
A clear and concise description of what you expected to happen.
The character name should be displayed at the top of the dialogue.
Screenshots
If applicable, add screenshots to help explain your problem.
Naninovel version
Version of the engine as displayed inNaninovel -> About
window, e.g.: 1.0.12-beta
v1.3.2-beta build 2019-03-08
Unity version
Specify Unity version you are using, e.g.: 2018.3.5f2.
2018.3.11f1
OS (when editor-related)
Which operating system you're running the editor under, e.g.: Windows 10
macOS 10.14.4
Platform
Which target platform you're using, e.g.: WebGL
PC, Mac & Linux Standalone (Mac OS X)
Eventually, we would like to have the following built-in special effects in the stable release:
Feel free to add your suggestions in this thread.
Currently, a restart is required to apply the effect of changing a locale, while all the other game settings are applied immediately. To improve user experience, it would be nice to also change the locale setting that way.
It would be nice to allow nesting @gosub
in other subroutines for advanced script flow logic.
Add an option to replay voice clips associated (if any) with the backlog messages.
Describe your idea
A transition effect, that uses provided dissolve mask texture to drive the transition. The dissolve mask is represented by a channel in grayscale, where the white is revealed first and black is revealed at the end of the transition.
Describe possible use cases
User-driven custom transition effects.
Share reference implementations
https://www.renpy.org/doc/html/transitions.html#ImageDissolve
Describe your idea
A clear and concise description what should we change or add.
Sometimes we need to clear printer backlog (eg, Load a new game) to prevent confusion of the dialogue. Adding something like @clearBacklog
would be useful.
Describe possible use cases
A concrete example or two on how the proposed change could be used.
Share reference implementations
If applicable, add screenshots or links to other resources that shows a similar feature implemented in other VN engines or games.
Some other VN engines does allow to clear printer backlog. And considered it as an essential feature.
Something like a BASIC's gosub could be useful to invoke a repeating piece of a novel script. Ideally, it should also allow to reference external novel scripts.
Add an option to control the default and currently used (via novel scripts) easings (linear, easeInOutCubic, easeInOutQuad, etc) applied for transformations (eg, moving, scaling, etc).
Describe your idea
An option to specify an intro (opening) video clip in the configuration. This movie clip, when specified, should play automatically when starting the game and before showing the main menu.
Describe possible use cases
Opening/intro videos.
Describe your idea
A clear and concise description what should we change or add.
Add a menu where you can see ongoing story branches & endings or those who you have finished.
Describe possible use cases
A concrete example or two on how the proposed change could be used.
Access from the start menu to see which branches you have finished. And/or access from a menu or shortkey during the gameplay.
Share reference implementations
If applicable, add screenshots or links to other resources that shows a similar feature implemented in other VN engines or games.
Here is a (image) example. There are similar branch trees in other visual novel games.
Describe the bug
When using script rewinding feature, the process stops when passed through a @stop
action.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Rewind reaches the target line index.
Naninovel version
0.9.0-alpha
Unity version
2018.3.0f2.
OS (when editor-related)
Windows 10
Describe your idea
A generic tips system, which will allow the developers to add a text-based description of specific terms that can be unlocked and viewed by users in-game.
While in-game or in main menu, user can open tips browser UI, which will list all the available tips in two states: locked and unlocked. All the tips are locked by default, which means neither the title, not description is visible to the player. When the tip's key is discovered in-game (can be a novel action, like @unlockTip TipKey
), the tip becomes unlocked and can be viewed in the browser).
Describe possible use cases
Game encyclopedia, vocabulary, achievements etc.
Describe your idea
When clicking on a "TITLE" button in the printers control panel, loading or saving a game to an existing slot, show a confirmation dialogue warning the user that any unsaved progress will be lost.
Describe possible use cases
Prevent the users from accidentally loosing game progress or save data due to a missclick.
Describe your idea
Add TintColor
property and ChangeTintColorAsync(color, time)
method to the character's (actor?) interface and expose it via @char
novel script action.
Describe possible use cases
Tinting characters (any actors?) via novel scripts. Could be useful to indicate the 'active' (currently talking) characters on the scene.
Describe your idea
A clear and concise description what should we change or add.
Add the support for the novel scripts to script the title UI.
Describe possible use cases
A concrete example or two on how the proposed change could be used.
Currently, the title UI is unable to be scripted by the novel scripts, we must click "New Game" button to start the first script. But in the title UI, there are have many different components that should be controlled using the novel scripts. (Like title BGM, background, effect, etc.)
Share reference implementations
If applicable, add screenshots or links to other resources that shows a similar feature implemented in other VN engines or games.
Most VN engines and games can script their title UI by their own novel script or by the editor.
Describe the bug
A clear and concise description of what the bug is.
I am not sure this is by design or really a bug. But I am still reporting it, feel free to close this issue if it is not considered as a bug.
Waiting for input icon disappeared after the game loaded from a save.
To Reproduce
Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Expected behavior
A clear and concise description of what you expected to happen.
Waiting for input icon should appear normally.
Screenshots
If applicable, add screenshots to help explain your problem.
After loaded from a save, waiting for input icon disappeared
Naninovel version
Version of the engine as displayed inNaninovel -> About
window, e.g.: 1.0.12-beta
v1.3.2-beta build 2019-03-08
Unity version
Specify Unity version you are using, e.g.: 2018.3.5f2.
2018.3.11f1
OS (when editor-related)
Which operating system you're running the editor under, e.g.: Windows 10
macOS 10.14.4
Platform
Which target platform you're using, e.g.: WebGL
PC, Mac & Linux Standalone (Mac OS X)
Expose core Naninovel APIs to the popular visual scripting extensions, like Playmaker and Bolt.
https://hutonggames.fogbugz.com/default.asp?W166
https://hutonggames.fogbugz.com/default.asp?W714
Describe the bug
A clear and concise description of what the bug is.
Appearances path won't change after changing the character name (ID) in project settings. It will just prepend the new name to appearances path.
To Reproduce
Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Naninovel -> Configuration
context menu.Expected behavior
A clear and concise description of what you expected to happen.
Appearances path should change to the new character name. Not prepend the new name to appearances path.
Screenshots
If applicable, add screenshots to help explain your problem.
Character name (ID) with "Angel"
Appearances path before changing the character name
Changing character name (ID) to "AngelNew"
Naninovel version
Version of the engine as displayed inNaninovel -> About
window, e.g.: 1.0.12-beta
v1.3.2-beta build 2019-03-08
Unity version
Specify Unity version you are using, e.g.: 2018.3.5f2.
2018.3.11f1
OS (when editor-related)
Which operating system you're running the editor under, e.g.: Windows 10
macOS 10.14.4
Platform
Which target platform you're using, e.g.: WebGL
PC, Mac & Linux Standalone (Mac OS X)
Describe the bug
I’m unable to make the console appear during the game with ~.
I have a macbook and to get ~ you need to press alt+5 and it does not work (it seems to interact with the Unity Hand Tool because of the alt button, i think).
Naninovel version
v1.1.0-beta build 2019-01-13
Unity version
2018.3.1f1
OS (when editor-related)
MacOS Mojave 10.14.2
Expose API to get total / read number of lines (unique novel actions executed at least once) to track the game progress (completeness).
Describe your idea
Describe possible use cases
Creating the type of VNs where text is presented in manga/comics manner (eg, inside multiple text boxes/bubbles rather in a single frame).
Share reference implementations
https://store.steampowered.com/app/518280/Dead_End_Junction/
Add a novel action that would show an input field UI which will set the input text to the provided variable name. Useful for games, where player can pick a custom name for the protagonist or give a name/title to something else.
Describe the bug
Choices button not responding to user input when fullscreen printer is active and visible.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Choice button should respond to input.
Naninovel version
v1.0.0-beta build 2018-12-23
Unity version
2018.3.0f2
OS (when editor-related)
Windows 10
Add an extension package with a fullscreen and dialogue printers, that use TextMeshPro to draw the text.
Just like if
expressions, set
should support math functions from the .NET Math library.
Describe the bug
Novel script parsing (during game load) fails with Format exception: Input string was not in a correct format
exception when running under some non-English cultures.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Game is loading without exceptions.
Naninovel version
v1.0.0-beta build 2018-12-23
Unity version
2018.3.0f2.
Platform (when player-related)
Windows 10 standalone
Need to support character names that consist of multiple separate words and special characters, eg "Dr. Stein".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.