Can you make a Visual Novel with LOVE?

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
User avatar
Echo
Prole
Posts: 46
Joined: Fri Jul 13, 2012 4:50 pm
Location: Lucid Moon

Can you make a Visual Novel with LOVE?

Post by Echo »

Has anyone ever made a visual novel with Love? Is it easy or is it difficult if so?

What is a Visual Novel?
A visual novel is basically a book with pictures where at some points you get to interact with the story (usually by selecting choices that lead to different reactions), sort of like a choose your adventure book but digital and with music and graphics. There mainly popular in Japan but are a sort of growing niche elsewhere. They can be about anything from sex to drama to dating to adventure to whatever floats your boat.

I think this would be easy to code, I already know how to output basic text onto the screen using the print function and love.draw (Hello World), also you can store character names in global variables like how you do in Ren'py plus managing and loading images cant be that hard to code i think. choices on the other hand might be a little tricky without using a ton of variables and if statements but I totally think this is very easy to do and will help me get used to Love and coding more...

The only thing that Renpy has over Love is the fact that you have a menu system ready and working for you straight away and you also have a message-box system and the ability to color names. Apart from that it would be the same thing...or do I have this twisted?
User avatar
dreadkillz
Party member
Posts: 223
Joined: Sun Mar 04, 2012 2:04 pm
Location: USA

Re: Can you make a Visual Novel with LOVE?

Post by dreadkillz »

Simple answer: yes. It'll just be a little difficult compared to using Renpy because you don't have the genre specific tools available to you. You'll probably have to spend some time setting up your VN's engine before getting to the meaty part of your game. It shouldn't be to difficult to setup compared to the more complicated genre's(rpg's,side-scroller) where you have to worry about collision,physics,etc.

Don't forget to check out the list of libraries in the wiki: https://love2d.org/wiki/Category:Libraries
Last edited by dreadkillz on Tue Jul 17, 2012 8:42 pm, edited 1 time in total.
User avatar
josefnpat
Inner party member
Posts: 955
Joined: Wed Oct 05, 2011 1:36 am
Location: your basement
Contact:

Re: Can you make a Visual Novel with LOVE?

Post by josefnpat »

Echo wrote:Has anyone ever made a visual novel with Love? Is it easy or is it difficult if so?

What is a Visual Novel?
A visual novel is basically a book with pictures where at some points you get to interact with the story (usually by selecting choices that lead to different reactions), sort of like a choose your adventure book but digital and with music and graphics. There mainly popular in Japan but are a sort of growing niche elsewhere. They can be about anything from sex to drama to dating to adventure to whatever floats your boat.

I think this would be easy to code, I already know how to output basic text onto the screen using the print function and love.draw (Hello World), also you can store character names in global variables like how you do in Ren'py plus managing and loading images cant be that hard to code i think. choices on the other hand might be a little tricky without using a ton of variables and if statements but I totally think this is very easy to do and will help me get used to Love and coding more...

The only thing that Renpy has over Love is the fact that you have a menu system ready and working for you straight away and you also have a message-box system and the ability to color names. Apart from that it would be the same thing...or do I have this twisted?
At multiple points I have thought to myself, I ought to make a Ren'Py variant in love, and then tossed the idea aside.

IMO, the hardest part of visual novels is the content that goes into it.

Writing a basic scripting language for the conversations and such like Ren'Py would't be that hard, but it would probably be quite a bit of gruntwork.

If you, or anyone else, does manage to write one, please consider making it as reusable as possible!
Missing Sentinel Software | Twitter

FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: Can you make a Visual Novel with LOVE?

Post by coffee »

I'ts not only a Japan thing. The roots of that is based in "Interactive Fiction" concepts and you can discover a lot of tools, code and thoughts about it.
Start it's simple. So simple as this example. You just need to do the rest... ;)
Attachments
interactive_fiction.love
(908 Bytes) Downloaded 380 times
User avatar
Echo
Prole
Posts: 46
Joined: Fri Jul 13, 2012 4:50 pm
Location: Lucid Moon

Re: Can you make a Visual Novel with LOVE?

Post by Echo »

I've toyed around a bit with the coding and I see exactly what you guys are talking about:
So far it was easy enough to load and display an image and text, this is already the basis of every visual novel engine, however there are a lot of things I did not consider or looked over up untill now, something as simple as going to the next text or page, saving and loading, letting the user create bookmarks, screen transitions, message boxes and even just having a simple start menu make this quite a bit of work.
The libraries look great though, so far I've found a few that would make this go a lot smoother, I am a newbie after all and this would be the first time I ever write an engine, I do have basic programming skills plus a tutorial on strings and if statements in lua helped bring this piece of code together:

Code: Select all

function love.load()
   next_text = 0
   kit = "Kite"
   mon = "Monster"
   img1 = love.graphics.newImage("bed_intro.png")
   love.graphics.setBackgroundColor(0,0,0)
end

function love.keypressed(key, unicode)
if next_text ~= nil then
     --if variable next_text exists
     if key == 'z' then
      --controls user input to go to forward
      next_text = next_text + 1
     elseif key == 'x' then
      --controls user input to go to back
      next_text = next_text - 1
     end
	 end
end

function love.draw()
--resolution is 600x600
  local imgx = (0)
  local imgy = (0)
  love.graphics.draw(img1, imgx, imgy)
 --dialogue goes here
 if next_text == 1 then
  love.graphics.print( " Monster: \n ...boo! \n aren't you 'scared?'", 150, 350)
  love.graphics.print( next_text, 0, 0)
  end
  if next_text == 3 then
  love.graphics.print( " KiteL \n maybe a little...", 150, 350)
  love.graphics.print( next_text, 0, 0)
  end  
end

I'll be sure to make this as open-source and as re-usable as possible since I am a fan of visual novels and manga myself, it might not be a Ren'py equivalent at first but we''ll get there.

There is a little problem with the code though, when the user presses Z or X to navigate through the text, the variable that I used ( next_text ) does not have a limit so navigation becomes a bit messy, lets say you pressed X 5 times by mistake, the text would disappear and you would be stuck until you press Z 6 times over. easy for me because I know how I coded this but very irritating for anyone else. I need to write more if statements to limit the next_text variable to the numbers of outputted text to stop this, only I don't know how to do this...

I've attached a simple screenshot of what the code does, if you're wondering why it says BED on the title, that's the pixel-comic I am working on right now and trying to make it into a visual comic/novel. I only have 2 pages so far so its very far from even a demo.

I guess this will be a journey in itself...I will fight my urge to just give up and use Ren'py and do it for the LOVE.
Attachments
BED Screen.png
BED Screen.png (43.33 KiB) Viewed 6685 times
User avatar
josefnpat
Inner party member
Posts: 955
Joined: Wed Oct 05, 2011 1:36 am
Location: your basement
Contact:

Re: Can you make a Visual Novel with LOVE?

Post by josefnpat »

Echo wrote:I guess this will be a journey in itself...I will fight my urge to just give up and use Ren'py and do it for the LOVE.
Good on you! Love is a excellent engine.

If you need any help, please search the Forums/Wiki, and then ask the forum/IRC. If you're interested in making this an open source endeavour, consider pushing it onto github or bitbucket!
Missing Sentinel Software | Twitter

FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push
User avatar
Echo
Prole
Posts: 46
Joined: Fri Jul 13, 2012 4:50 pm
Location: Lucid Moon

Re: Can you make a Visual Novel with LOVE?

Post by Echo »

Git hub sounds like a great idea, open source would be far better since I might not always have the time to work on this, I think though I should first make all the basic stuff ready and let others add in the more complex/little details if they wish.

I would really like it if this could also make visual novels for ipad since having a visual novel on a portable device is much more complete. It's like having pokemon on the gameboy, sure there emu's and roms and stuff but being able to play something while waiting for the train, while skipping class in the toilets, while sitting at the bus stop is a lot more convinient for something as light hearted and as immersive as a visual novel. Plus I heard there is a compiler called Codify/Codea that supports Lua on the apple ipad and iphone, There probably some limitations though and apple has always limited content to itunes/istore so you would probably be forced to buy a license that should be about $100 bucks or $1000 ( not sure anymore ). Anway to cut this short I'm simply asking: is Love portable to ipad?

(Oh and thanks for the example coffee)
User avatar
Echo
Prole
Posts: 46
Joined: Fri Jul 13, 2012 4:50 pm
Location: Lucid Moon

Re: Can you make a Visual Novel with LOVE?

Post by Echo »

I think it would be best to try note-down a feature list of at least all the basic essentials a VN-engine should have
if you have any feel free to add or comment even if their a bit hardcore/difficult to make as of now ( like ipad support ).

Here is my feature list:
>Message boxes and the ability to re-size/re-scale and alter their design
( either complete customization or choosing from a list of set designs )

>Bookmarking system that lets you "save" your progress and return next start-up

>Multiple choice system that can easily recall choices you have made in the past
(these could be stored in a variable/array, coffee showed me a good example but I would like the source code please)

>Skip and Rewind buttons to skip ahead and to go back to specific scenes in the VN
(scene selection)

>Multiple control system, where you can press e.g space or the right-key for the mouse
to go to the next page/text.

>Character database that stores information about characters such as their name and
their status/relationship. this is necessary for more dating-sim VN's

>And it would be a dream come true if it was all possible to port this to ipad! I wish (-_-)
User avatar
josefnpat
Inner party member
Posts: 955
Joined: Wed Oct 05, 2011 1:36 am
Location: your basement
Contact:

Re: Can you make a Visual Novel with LOVE?

Post by josefnpat »

Echo wrote:Git hub sounds like a great idea, open source would be far better since I might not always have the time to work on this, I think though I should first make all the basic stuff ready and let others add in the more complex/little details if they wish.
This is the way to go. Drum up enough interest and you'll get pull requests!
Echo wrote:I would really like it if this could also make visual novels for ipad since having a visual novel on a portable device is much more complete. It's like having pokemon on the gameboy, sure there emu's and roms and stuff but being able to play something while waiting for the train, while skipping class in the toilets, while sitting at the bus stop is a lot more convinient for something as light hearted and as immersive as a visual novel. Plus I heard there is a compiler called Codify/Codea that supports Lua on the apple ipad and iphone, There probably some limitations though and apple has always limited content to itunes/istore so you would probably be forced to buy a license that should be about $100 bucks or $1000 ( not sure anymore ). Anway to cut this short I'm simply asking: is Love portable to ipad?

(Oh and thanks for the example coffee)
Next time, please search the forums first if you have questions. The short answer is no.
Echo wrote:I think it would be best to try note-down a feature list of at least all the basic essentials a VN-engine should have
if you have any feel free to add or comment even if their a bit hardcore/difficult to make as of now ( like ipad support ).

Here is my feature list:
>Message boxes and the ability to re-size/re-scale and alter their design
( either complete customization or choosing from a list of set designs )

>Bookmarking system that lets you "save" your progress and return next start-up

>Multiple choice system that can easily recall choices you have made in the past
(these could be stored in a variable/array, coffee showed me a good example but I would like the source code please)

>Skip and Rewind buttons to skip ahead and to go back to specific scenes in the VN
(scene selection)

>Multiple control system, where you can press e.g space or the right-key for the mouse
to go to the next page/text.

>Character database that stores information about characters such as their name and
their status/relationship. this is necessary for more dating-sim VN's

>And it would be a dream come true if it was all possible to port this to ipad! I wish (-_-)
It's good to determine the features you want, but I would suggest starting out working for a MVP (Minimal Viable Product). Think about what the minimum you need to make this project, and then make it with just that. You can always add more later!

Also, please don't double post. Edit your prior post if you want to add more information.
Missing Sentinel Software | Twitter

FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push
User avatar
Echo
Prole
Posts: 46
Joined: Fri Jul 13, 2012 4:50 pm
Location: Lucid Moon

Re: Can you make a Visual Novel with LOVE?

Post by Echo »

sorry for the double post and not searching for "is love portable to ipad", I'm a little exited I guess.

MVP would probably be:
>Simple message system: Just to display text in a basic message box ( theirs a library for this "message in a bottle" but it says its only 7.0 compatible? )
>Choice system ( just keeping track of variables in some kind of function )
>Character database ( storing character names and stats in a simple array )
>Load/Resource manager ( a simple function that loads images to be used and manages resources love.load will work for this )

the rest are sort of additional but I think those are the bare essentials for any VN engine at it's core. I have a problem calling variables in strings though, how do you do it:

lets say we have a variable:

Code: Select all

name = "Tom"
and we want to call it inside the print statement but also have a string of text printed as well:

Code: Select all

print("Hello my name is" name)
This results in an error? Should I just use a lot of variables or have one for the text? the thing is that in
visual novels their is a hell-lot of text and you cant store this in one variable.
Post Reply

Who is online

Users browsing this forum: Google [Bot], Mathisto and 48 guests