Flowchart game assembly
- Steffenator
- Regular
- Posts: 53
- Joined: Fri Feb 17, 2017 11:58 am
- Contact:
Flowchart game assembly
I had an idea for a future game development option.
Has anyone ever thought of, or does it already exist, to make an interface where you have a library of RenPy actions, (menus, if-statements, user interactions, mini games, etc) represented by shapes, like in an electrical diagram, or flowchart? Each shape having additional options when opened to add images, type in dialogue, and whatnot. The shapes would be linked together by lines, connecting the subsequent events and options, and the engine would lay out the code properly. One could use these shapes to lay down the framework for large amounts of game in a very short time without tapping out a single keystroke. Arrangements can be saved as pre-canned events for later use.
Something like this would reduce the amount of stupid questions that newbies like my tend to ask.
:p
Is this a decent idea, or am I just trying to be lazy?
Has anyone ever thought of, or does it already exist, to make an interface where you have a library of RenPy actions, (menus, if-statements, user interactions, mini games, etc) represented by shapes, like in an electrical diagram, or flowchart? Each shape having additional options when opened to add images, type in dialogue, and whatnot. The shapes would be linked together by lines, connecting the subsequent events and options, and the engine would lay out the code properly. One could use these shapes to lay down the framework for large amounts of game in a very short time without tapping out a single keystroke. Arrangements can be saved as pre-canned events for later use.
Something like this would reduce the amount of stupid questions that newbies like my tend to ask.
:p
Is this a decent idea, or am I just trying to be lazy?
- PyTom
- Ren'Py Creator
- Posts: 16093
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
Re: Flowchart game assembly
It's not a stupid idea, but it's one that tends to not work well in practice.
What you're asking for is a visual programming language. These don't work well in practice, mostly because they're hard to work with, and require special tools to work with.
When I say it's hard to work with, I'll use the example of adding a line of dialogue to your game. In Ren'Py, you just type:
You can do that without taking your hands off the keyboard. In the visual tool you describe, you'd have to somehow indicate you'd want a new line of dialogue, you'd have to select the character that's speaking, and you'd have to enter the line of dialogue - switching back and forth from keyboard to screen at the same time. What looks easy when you're first getting started becomes a hassle when you're creating anything but the smallest game.
A visual programming language also requires you to use a single editing environment. The cost of that environment is borne by the engine developer, meaning that they have to choose between working on the engine and the editor. The result is that features you want can be missing - for example, a global search and replace of a name. Sure, they could implement that, but what didn't they. (This is why, with very few exceptions, visual languages have been failures.)
The nice thing about a textual language is it lets you leverage tons of tools that already exist. With Ren'Py, you get your choice of text editors - apart from JEdit and Editra, I believe their are Ren'Py language modes for Atom, Sublime, vi, Visual Studio Code, Eclipse, and Notepad++. You also have your choice of collaboration tools, to do things like merge changes between multiple people working a game, or show the changes between old and new versions.
Ren'Py's textual language does take a little while to learn - but I think it's easier than people think, and I've been working to make it easier all the time. I believe the gains in efficiency show in all but the most trivial of projects, and it really shines once you begin to collaborate with a team.
What you're asking for is a visual programming language. These don't work well in practice, mostly because they're hard to work with, and require special tools to work with.
When I say it's hard to work with, I'll use the example of adding a line of dialogue to your game. In Ren'Py, you just type:
Code: Select all
e "This is a line of dialogue."
A visual programming language also requires you to use a single editing environment. The cost of that environment is borne by the engine developer, meaning that they have to choose between working on the engine and the editor. The result is that features you want can be missing - for example, a global search and replace of a name. Sure, they could implement that, but what didn't they. (This is why, with very few exceptions, visual languages have been failures.)
The nice thing about a textual language is it lets you leverage tons of tools that already exist. With Ren'Py, you get your choice of text editors - apart from JEdit and Editra, I believe their are Ren'Py language modes for Atom, Sublime, vi, Visual Studio Code, Eclipse, and Notepad++. You also have your choice of collaboration tools, to do things like merge changes between multiple people working a game, or show the changes between old and new versions.
Ren'Py's textual language does take a little while to learn - but I think it's easier than people think, and I've been working to make it easier all the time. I believe the gains in efficiency show in all but the most trivial of projects, and it really shines once you begin to collaborate with a team.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
- Mammon
- Miko-Class Veteran
- Posts: 712
- Joined: Sat Nov 07, 2015 3:09 pm
- Completed: Pervert&Yandere, Stalker&Yandere
- Projects: Roses Of The Thorn Prince
- Contact:
Re: Flowchart game assembly
Maybe you could look in the 'other visual novel engines' section for the other VN's like Tyrannobuilder and such, I believe there are a few engines that do roughly what you're describing. Probably. However, I say that mainly so that you can see for yourself why it may not work out for you that well.
All programs that have easier basics through such visually comprehensible aids will be more difficult to grasp once you're no longer working within the range of what they're offering you. I have seen such increased difficulty for novices/noobs like me before when working with seemingly more accessible programs, once you hit an error or problem you can be completely stuck without any chance of fixing it. With Ren'py you'll need to get past that little hurdle of figuring out how it works first, and then a new hurdle for each new task you haven't done before. I much prefer that, and its trial-and-error method of just Shift+R'ing the game until you manage to find a way to avoid the error, over having one much greater error or all hurdles coming at you at once when trying to alpha test your game.
All programs that have easier basics through such visually comprehensible aids will be more difficult to grasp once you're no longer working within the range of what they're offering you. I have seen such increased difficulty for novices/noobs like me before when working with seemingly more accessible programs, once you hit an error or problem you can be completely stuck without any chance of fixing it. With Ren'py you'll need to get past that little hurdle of figuring out how it works first, and then a new hurdle for each new task you haven't done before. I much prefer that, and its trial-and-error method of just Shift+R'ing the game until you manage to find a way to avoid the error, over having one much greater error or all hurdles coming at you at once when trying to alpha test your game.
- Steffenator
- Regular
- Posts: 53
- Joined: Fri Feb 17, 2017 11:58 am
- Contact:
Re: Flowchart game assembly
Thanks guys.
I dig how willing the experienced members of this group are to help we, the unwashed noobs.
You guys rock.
PS: Where can I get one of those cool critique buttons?
I dig how willing the experienced members of this group are to help we, the unwashed noobs.
You guys rock.
PS: Where can I get one of those cool critique buttons?
- Mammon
- Miko-Class Veteran
- Posts: 712
- Joined: Sat Nov 07, 2015 3:09 pm
- Completed: Pervert&Yandere, Stalker&Yandere
- Projects: Roses Of The Thorn Prince
- Contact:
Re: Flowchart game assembly
Me, experienced?Steffenator wrote:I dig how willing the experienced members of this group are to help we, the unwashed noobs.
Click my Honest critique button to find out.Steffenator wrote:Where can I get one of those cool critique buttons?
- Steffenator
- Regular
- Posts: 53
- Joined: Fri Feb 17, 2017 11:58 am
- Contact:
Re: Flowchart game assembly
Sure, experienced, compared to me, certainly. And you are also, quoth, your avatar...a Veteran.
Re: Flowchart game assembly
You can use a mindmap application in the concept phase to check the routine flow and all the sections you need to code.
Then translate the nodes into labels.
I think is a good compromise.
Maybe someone can code a specific "Ren'Py Visual Novel MindMap" application .
Then translate the nodes into labels.
I think is a good compromise.
Maybe someone can code a specific "Ren'Py Visual Novel MindMap" application .
If you want to debate on a reply I gave to your posts, please QUOTE ME or i'll not be notified about. << now red so probably you'll see it.
10 ? "RENPY"
20 GOTO 10
RUN
10 ? "RENPY"
20 GOTO 10
RUN
- Steffenator
- Regular
- Posts: 53
- Joined: Fri Feb 17, 2017 11:58 am
- Contact:
Re: Flowchart game assembly
Cool, thanks.
Code: Select all
show thumbsup
me "You're the man, bro."
Re: Flowchart game assembly
A automatic generated flowchart would be surely useful. I don't believe its needed to represent every line or pose etc. in such a chart, however for checking your events, variables and such it would be very handy. Bug tracking is another use i can think of.
pytom described how much work it would need if you develop this, but whats with existing py modules etc? I did stumble over this(last answer):
http://stackoverflow.com/questions/4468 ... ualization
Could this work and reduce significant the work amount for such a feature?
Edit: I forgot this. It exists already something... This looks only like it is a flowchart maker using renpy. No analyze of existing projects, right? If i am right, then i don't understand the reason for this tool. There are 1000 other chart tools already. : https://bitbucket.org/theshad0w/renpedit/
Greets
pytom described how much work it would need if you develop this, but whats with existing py modules etc? I did stumble over this(last answer):
http://stackoverflow.com/questions/4468 ... ualization
Could this work and reduce significant the work amount for such a feature?
Edit: I forgot this. It exists already something... This looks only like it is a flowchart maker using renpy. No analyze of existing projects, right? If i am right, then i don't understand the reason for this tool. There are 1000 other chart tools already. : https://bitbucket.org/theshad0w/renpedit/
Greets
Who is online
Users browsing this forum: No registered users