npdart
A minimal game engine for creating visual novels.
Please check the example
folder before use.
Features:
- Global and local game state management
- Scene tree
- Basic persistence (including autosaves)
- Rendering backgrounds and foreground sprites
- Sounds
- Textbox with RichText support
Example:
void main(){
runApp(const Example());
}
class Example extends StatelessWidget {
const Example({
super.key,
});
@override
Widget build(BuildContext context) {
const prefs = Preferences(savePath: '/example/');
return MaterialApp(
home: FutureBuilder(
future: getDefaultInitialSaveData(prefs),
builder: (context, snapshot) {
if (!snapshot.hasData) return Container(color: Colors.black);
return Novel(
initialState: snapshot.data!,
tree: Tree(scenes: {
'root': Scene(script: (stage, state) async => state.loadScene('root'))
}),
preferences: prefs);
},
),
);
}
}
Libraries
- npdart
- A minimal game engine for creating visual novels.