Text Games
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Text Games
Sad to say, I can't draw. I've written and released several text games, but I'm not satisfied with the way these games are displayed visually. I'm hunting for a system that will allow me to write a complex text game, yet give me a great deal of control over the visual presentation.
Has anyone used Ren'Py to create text-heavy, non-illustrated games?
I understand that there would be no parser for text input from the user, so all user input would be by clicking/tapping. Does Ren'Py support hyperlinks within text blocks? Can these be used to print new output to the main window? If a text block is too long for the visible window, can it be scrolled?
Can Ren'Py games (specific spots within the story) be saved and restored by the user? Is an undo function provided?
Sorry to ask such basic questions, but I figured it would be easier to ask the experts than to spend an hour poring over the documentation.
Has anyone used Ren'Py to create text-heavy, non-illustrated games?
I understand that there would be no parser for text input from the user, so all user input would be by clicking/tapping. Does Ren'Py support hyperlinks within text blocks? Can these be used to print new output to the main window? If a text block is too long for the visible window, can it be scrolled?
Can Ren'Py games (specific spots within the story) be saved and restored by the user? Is an undo function provided?
Sorry to ask such basic questions, but I figured it would be easier to ask the experts than to spend an hour poring over the documentation.
- papillon
- Arbiter of the Internets
- Posts: 4107
- Joined: Tue Aug 26, 2003 4:37 am
- Completed: lots; see website!
- Projects: something mysterious involving yuri, usually
- Organization: Hanako Games
- Tumblr: hanakogames
- Contact:
Re: Text Games
Look up Digital: A Love StoryHas anyone used Ren'Py to create text-heavy, non-illustrated games?
RenPy can do text input, but most people aren't up to the job of writing a robust text-adventure parser from scratch, so it's usually only used for prompting the user for specific information. Clickable thingies and changing the current display based on them is certainly feasible. I have been *told* that scrolling is more complicated than would be nice; I haven't personally messed with it.
Load/save is basic and built in. There is a very robust undo IF you are working with standard renpy codes - just rolling the mousewheel up will reverse your course through the game and undo any changes made. It is possible, though, that if you hack things far enough you will encounter situations that break rollback or cause it to behave in an unexpected manner.
- SusanTheCat
- Miko-Class Veteran
- Posts: 952
- Joined: Mon Dec 13, 2010 9:30 am
- Location: New Brunswick, Canada
- Contact:
Re: Text Games
You might also want to look at some javascript hypertext frameworks. They work well with text.
Undum: http://undum.com/
Vorple: http://vorple-if.com/ (Built on Undum and now Parchment)
The Play: http://www.deirdrakiai.com/theplay/ (an awesome IF written with Undum)
Twine: http://gimcrackd.com/etc/src/ (Visual editor)
Textallion: http://anamnese.online.fr/site2/textall ... ation.html (Can make CYOA and export to Pen'Py)
I have seen some Ren'py projects that work like a story book, so I'm certain an all text story would certainly work well.
What have you used for your text games?
Susan
Undum: http://undum.com/
Vorple: http://vorple-if.com/ (Built on Undum and now Parchment)
The Play: http://www.deirdrakiai.com/theplay/ (an awesome IF written with Undum)
Twine: http://gimcrackd.com/etc/src/ (Visual editor)
Textallion: http://anamnese.online.fr/site2/textall ... ation.html (Can make CYOA and export to Pen'Py)
I have seen some Ren'py projects that work like a story book, so I'm certain an all text story would certainly work well.
What have you used for your text games?
Susan
" It's not at all important to get it right the first time. It's vitally important to get it right the last time. "
— Andrew Hunt and David Thomas
— Andrew Hunt and David Thomas
Re: Text Games
Thanks, Susan. I've been looking closely at Undum/Vorple. At present, it is fatally flawed, in that the reader/user/player cannot save multiple game/story states and then reload a given state as needed. For any type of complex, branching interactive story, that limitation is a flat-out deal-breaker.
That's why I'm looking around for other options.
It turns out there's a mechanism in HTML 5 called localStorage, which should be able to store Undum story states. Maybe only a few lines of Javascript need to be added. But I don't want to spend weeks learning Javascript until I know that at the end I'll be able to produce a story.
localStorage has limitations: Saved games apparently won't be transferrable between one browser and another. But that's not a deal-breaker, it's just unfortunate.
That's why I'm looking around for other options.
It turns out there's a mechanism in HTML 5 called localStorage, which should be able to store Undum story states. Maybe only a few lines of Javascript need to be added. But I don't want to spend weeks learning Javascript until I know that at the end I'll be able to produce a story.
localStorage has limitations: Saved games apparently won't be transferrable between one browser and another. But that's not a deal-breaker, it's just unfortunate.
Re: Text Games
Thanks for the details. I'm not planning to write a text parser ... I'm not nearly that masochistic. At the moment I'm interested in text output -- I should have been more specific with my question. In order to structure an interactive story, it is often (almost always) necessary to assemble blocks of text "on the fly" before outputting them to the window display. I'm pretty sure Python will let you concatenate strings, so that shouldn't be a big problem, though I would expect it to be more work than in a dedicated text game authoring system.papillon wrote:RenPy can do text input, but most people aren't up to the job of writing a robust text-adventure parser from scratch, so it's usually only used for prompting the user for specific information. Clickable thingies and changing the current display based on them is certainly feasible. I have been *told* that scrolling is more complicated than would be nice; I haven't personally messed with it.
-
- Regular
- Posts: 98
- Joined: Sat Dec 31, 2011 7:05 pm
- Projects: Kangaroo, Terminal Love
- Location: DC
- Contact:
Re: Text Games
I've been working on a (mostly but not entirely) text-based game in C, building the interface and everything essentially from standard functions. Though I've been enjoying myself, I wouldn't recommend doing that because you likely won't be able to get it to be cross-platform without modifying the code significantly for different operating systems, so I guess that'd be a good example of what not to do.
- OokamiKasumi
- Eileen-Class Veteran
- Posts: 1779
- Joined: Thu Oct 14, 2010 3:53 am
- Completed: 14 games released -- and Counting.
- Organization: DarkErotica Games
- Deviantart: OokamiKasumi
- Location: NC, USA
- Contact:
Re: Text Games
Then Renpy would work for you. However you'd only be using a tiny fraction of what the system is capable of -- even at its most basic level. I can't draw either, (not enough to support an entire game, anyway,) so I use Photoshop and images gleaned from stock sites to make my pictures.midiguru wrote:Sad to say, I can't draw. I've written and released several text games, but I'm not satisfied with the way these games are displayed visually. I'm hunting for a system that will allow me to write a complex text game, yet give me a great deal of control over the visual presentation.
I don't know of any games done that way off hand, but YES it can. Renpy is fully capable of reproducing any of the text games found on Choice of Games," for example, only WITH graphics and sound effects.midiguru wrote:Has anyone used Ren'Py to create text-heavy, non-illustrated games?
I'm an author, I write books, so working with strictly text is actually far easier than working with pictures, music, and sound effects. That's why I originally went with Renpy, because I could use the full extent of my writing abilities PLUS add music.
There IS a way to have the player input text. I did a huge Mad-Libs game using this aspect.midiguru wrote:I understand that there would be no parser for text input from the user, so all user input would be by clicking/tapping.
Yes.midiguru wrote:Does Ren'Py support hyperlinks within text blocks?
If you use a hyperlink, it opens in a browser, not the game.midiguru wrote:Can these be used to print new output to the main window?
Having a scroll bar is possible, but the coding is old. It isn't readily compatible with the new coding, but it DOES exist. A better way, would be to use what Renpy has built into its system; simply allow the page to fill with text and have it stop. When the player hits the spacebar, the text clears and it fills with more text.midiguru wrote:If a text block is too long for the visible window, can it be scrolled?
YES. In fact it's built into the system and the number of saves possible is Unlimited.midiguru wrote:Can Ren'Py games (specific spots within the story) be saved and restored by the user?
As in where the player can go back a page or two and make a different choice? YES. That's also built into the system simply by using the Page Up key.midiguru wrote:Is an undo function provided?
Not True. The tutorials on the Wiki page: http://www.renpy.org/wiki/renpy/doc/tutorials/Tutorials are actually very easy to follow.midiguru wrote:Sorry to ask such basic questions, but I figured it would be easier to ask the experts than to spend an hour poring over the documentation.
FAQ: http://www.renpy.org/wiki/renpy/FAQ <-- Read this first.
Quickstart Manual: http://www.renpy.org/wiki/renpy/doc/tut ... Quickstart
Novel Mode: http://www.renpy.org/wiki/renpy/doc/tutorials/NVL-Mode
How to make an Otome Game: http://www.otome-games.com/index.php/ma ... otome-game (This is actually the easiest tutorial to follow, and it covers ALL the basics from playing with text to making menus to setting up flags.)
The Renpy system is quite user friendly to beginners, especially those who prefer to work with text. It's when you start designing complicated graphic interfaces and puzzle games that it becomes complicated.
Even better, this is an extremely active forum. By using the search function in the Renpy Questions part of the forum, you can find coding for just about any function you could think of, from how to make a hidden object game, to how to change every single aspect of the strictly coded framed buttons into a fully graphic user interface.
Just about anything you can think of can be done with Renpy -- Except true Animation. Renpy will not do anything beyond moving something around the screen. Gif images are right out.
Just to keep the record clear, "I" am a beginner, and I've completed 4 games of my own.
The first was strictly text, pictures, and music.
The second was a large scale Mad-Libs game
The third was a full Choose Your own Adventure game.
The last and most recent, was a Hidden Object game.
If I can do this much without knowing a single thing about coding, imagine what you could do.
Ookami Kasumi ~ Purveyor of fine Smut.
Most recent Games Completed:
"No amount of great animation will save a bad story." -- John Lasseter of Pixar
Most recent Games Completed:
- The Walk[Psychological][NanoWinter] ~ PG New!
- Trap! [ModernFantasy][VN] ~ PG16
- The Adventures of Prince Ivan [Fant/Adv/VN] ~ PG
"No amount of great animation will save a bad story." -- John Lasseter of Pixar
- SusanTheCat
- Miko-Class Veteran
- Posts: 952
- Joined: Mon Dec 13, 2010 9:30 am
- Location: New Brunswick, Canada
- Contact:
Re: Text Games
Being able to Undo is the default.OokamiKasumi wrote:As in where the player can go back a page or two and make a different choice? YES. That's also built into the system simply by using the Page Up key.midiguru wrote:Is an undo function provided?
You can also set up blocks to prevent undo-ing after a certain point. In my NaNo game I am giong to let the player undo through the conversations, but now through combat.
That sounds awesome. It's a great way to flex your programming powers.MoPark wrote:I've been working on a (mostly but not entirely) text-based game in C, building the interface and everything essentially from standard functions. Though I've been enjoying myself, I wouldn't recommend doing that because you likely won't be able to get it to be cross-platform without modifying the code significantly for different operating systems, so I guess that'd be a good example of what not to do.
I like Frankensteining code together. I am currently working on a mini project to implement Eliza (http://www.manifestation.com/neurotoys/eliza.php3) in Ren'Py.
[EDIT] To clarify: the website I pointed to is just an example of Eliza. That isn't my project.
Susan
Last edited by SusanTheCat on Tue Mar 20, 2012 12:00 pm, edited 1 time in total.
" It's not at all important to get it right the first time. It's vitally important to get it right the last time. "
— Andrew Hunt and David Thomas
— Andrew Hunt and David Thomas
-
- Miko-Class Veteran
- Posts: 758
- Joined: Tue Jun 22, 2010 12:54 am
- Completed: Christmas
- IRC Nick: DragoonHP
- Location: Zion Island, Solario
- Contact:
Re: Text Games
Really?SusanTheCat wrote:I like Frankensteining code together. I am currently working on a mini project to implement Eliza (http://www.manifestation.com/neurotoys/eliza.php3) in Ren'Py.
Susan
Good luck.
I had it's DOS version and I really used to enjoying *chatting* with it...
- leon
- Miko-Class Veteran
- Posts: 554
- Joined: Sun Oct 09, 2011 11:15 pm
- Completed: Visual Novel Tycoon, Night at the Hospital, Time Labyrinth, The Buried Moon, Left of Center, Super Otome Quest
- Projects: Lemon Project, Porcelain Heart, Dream's Dénouement
- Organization: Team ANARKY
- Contact:
Re: Text Games
Actually I thought they only do in-game calls, so I checked the documentation - http://www.renpy.org/wiki/renpy/doc/ref ... #Text_TagsOokamiKasumi wrote:If you use a hyperlink, it opens in a browser, not the game.midiguru wrote:Can these be used to print new output to the main window?
Hyperlinks open in a browser, if they begin with "http". Otherwise, clicking a hyperlink will call a label with that name. This is useful for in-game definitions.
Re: Text Games
Incursion is a text adventure made with Ren'Py, so you could draw some inspiration here.
-
- Regular
- Posts: 98
- Joined: Sat Dec 31, 2011 7:05 pm
- Projects: Kangaroo, Terminal Love
- Location: DC
- Contact:
Re: Text Games
I suppose that's one way to put it, hah. Really though, I needed something with a Unix terminal-like feel for the effect of the game, and while I could have used a more advanced system with some clever graphics manipulation to get the same feel, I decided to simply build up from nothing but a black box terminal. Glad I did, learned a lot more about coding by doing that. Randomly in the process I even figured out how to code malware which is lol.SusanTheCat wrote:That sounds awesome. It's a great way to flex your programming powers.MoPark wrote:I've been working on a (mostly but not entirely) text-based game in C, building the interface and everything essentially from standard functions. Though I've been enjoying myself, I wouldn't recommend doing that because you likely won't be able to get it to be cross-platform without modifying the code significantly for different operating systems, so I guess that'd be a good example of what not to do.
Unfortunately it still has some serious problems I'm trying to work on, especially in terms of lag on low-level systems. Probably should have used the Allegro libraries for C/C++, which would have made it cross-platform, but oops... Next time though, for sure!
Who is online
Users browsing this forum: No registered users