A downloadable engine

Download NowName your own price

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
StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorPersimmon Factory
GenreVisual Novel
Made withAseprite, GameMaker
TagsGame Design, Game engine, GameMaker
Average sessionA few hours
LanguagesEnglish
InputsKeyboard, Mouse
AccessibilityConfigurable controls, Interactive tutorial

Download

Download NowName your own price

Click download now to get access to the following files:

Persimmon VN (v. 1.1.8).yyz 19 MB

Development log

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

(+1)

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.

(2 edits) (+1)

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? 

(+1)

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)

}

(+1)

focus_set(), which is the built in method to make non-speaking characters darker, has just been fixed with patch 1.1.8.

(+1)

what's it about?