Persimmon Visual Novel
A downloadable engine
A simple and quick visual novel engine for GameMaker Studio 2!
Persimmon VN is a full blown engine with total customization control, fast development tools, and a ton of features and effects!
Features include:
A fast and easy sequencing system
Customizable setup
Easy character creation and manipulation
Textboxes with extensive control
Text effects including color, font, outline, wave, and shake
Choices
Saving/Loading with thumbnails
Extras like text shadows, particles, screenshake, autosave, audio, and more
Controller support
Textlog
Built in options UI
50+ event scripts total!
Includes a commented example demo and instruction manual
If you find any bugs, have any ideas for integrated features, or just questions, please reach out and comment!
Original works made using the Persimmon Visual Novel engine may be released or sold. Credit to me is appreciated, but not required. Check the "credits" note for legalities.
Updated | 9 days ago |
Status | Released |
Category | Tool |
Rating | Rated 5.0 out of 5 stars (2 total ratings) |
Author | Persimmon Factory |
Genre | Visual Novel |
Made with | Aseprite, GameMaker |
Tags | Game Design, Game engine, GameMaker |
Average session | A few hours |
Languages | English |
Inputs | Keyboard, Mouse |
Accessibility | Configurable controls, Interactive tutorial |
Download
Click download now to get access to the following files:
Development log
- version 1.1.834 days ago
- update 1.1.737 days ago
- Version 1.1.637 days ago
- 1.1 UpdateJun 24, 2022
Comments
Log in with itch.io to leave a comment.
its a nice engine, but it has a bug when you set up options the buttons does not trigger. i have a question.
for example if i mix up this engine with some gameplays and this engine purely for events, i need to creathe another obj_scenes or i need to add an (if) statement that checks the result of that gameplay in a global variable
I fixed the option buttons triggering bug, just download patch 1.1.6 to fix it.
To answer your question, there are many different ways you could mix this engine with other gameplay, but I would advise against having two obj_scenes objects at once. Checking to see if the other gameplay is 'finished' then adjusting a global variable would probably work best.
Thank you so much for the update it works like a charm, just a question i can not figure out how to increase the size of the textbox letters.
for example
i have this code
character_create("Girl A", noone, 0, 0, appear_instant, false, so_01, 0, false)
character_text_set("Girl A", c_white, c_white, c_white, c_white, font_silly, font_silly, 1.8)
// sets the character's text attributes
// creates a textbox using the created character's name/attributes
textbox_create("Girl A","It includes a bunch of effects and features to spice up your projects!")
running my game for some reason only the Text Girl A is increased in size, but the It includes a bunch of effects and features to spice up your projects!" is not increased... how i can increase it?
Patch 1.1.7 adds a 'size' parameter to character_text_set that changes the font size of the textbox's text.
First of all, I want to thank you very much for the update, im enjoying a lot your engine, I made some modifications that I believe that it can add value to your project.
For example, when you have multiple conversations with several characters, it adds a powerful visual effect to shadow the characters that are not talking without having to use the script character_destroy(). and having to create them again with character_create().
I added these 2 scripts
function character_apply_shadow(char, shadow_color) {
var char_id = ds_map_find_value(global.characters, char);
char_id.shadow_color = shadow_color;
char_id.shadow_active = true;
}
function character_remove_shadow(char) {
var char_id = ds_map_find_value(global.characters, char);
char_id.shadow_active = false;
}
obj_character step event modifications (on the line //effects n stuff )
if sprite_index != noone{ // effects n' stuff
// Apply shadow effect if active
if (shadow_active) {
image_blend = shadow_color;
} else {
image_blend = c_white;
}
And this is a example how i call the shadowing
if ev(){
character_hop("Manny Ae", hop_medium, false)
character_hop("Anny Mae", hop_medium, false)
character_sprite("Anny Mae", spr_annymae_shock)
textbox_create("Anny Mae", "Wow!", "My similar looking doppelganger Manny Ae?")
}
if ev(){
character_apply_shadow("Anny Mae", make_color_rgb(50, 50, 50));
wait_time(0.25)
}
if ev(){
textbox_create("Persimmon Factory", "Drawing one of 'em is hard enough, alright?")
}
if ev(){
textbox_create("Manny Ae", "Hi everyone!")
}
if ev(){
character_apply_shadow("Manny Ae", make_color_rgb(50, 50, 50));
character_remove_shadow("Anny Mae");
wait_time(0.25)
}
focus_set(), which is the built in method to make non-speaking characters darker, has just been fixed with patch 1.1.8.
what's it about?