Flowchart game assembly

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Post Reply
Message
Author
User avatar
Steffenator
Regular
Posts: 51
Joined: Fri Feb 17, 2017 11:58 am
Contact:

Flowchart game assembly

#1 Post by Steffenator » Sat Feb 18, 2017 2:50 pm

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?
There once was a language called Ren'Py
that made all the wannabes cry... with joy.
It gave them the power,
they spent every hour,
to finish a game, or die.


User avatar
PyTom
Ren'Py Creator
Posts: 15056
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

#2 Post by PyTom » Sat Feb 18, 2017 8:47 pm

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:

Code: Select all

e "This is a line of dialogue."
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.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mammon
Miko-Class Veteran
Posts: 624
Joined: Sat Nov 07, 2015 3:09 pm
Completed: Pervert&Yandere, Stalker&Yandere
Projects: Roses Of The Thorn Prince
Contact:

Re: Flowchart game assembly

#3 Post by Mammon » Sun Feb 19, 2017 4:57 am

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.
ImageImageImage

Want some CC sprites?

User avatar
Steffenator
Regular
Posts: 51
Joined: Fri Feb 17, 2017 11:58 am
Contact:

Re: Flowchart game assembly

#4 Post by Steffenator » Sun Feb 19, 2017 9:35 am

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?
There once was a language called Ren'Py
that made all the wannabes cry... with joy.
It gave them the power,
they spent every hour,
to finish a game, or die.


User avatar
Mammon
Miko-Class Veteran
Posts: 624
Joined: Sat Nov 07, 2015 3:09 pm
Completed: Pervert&Yandere, Stalker&Yandere
Projects: Roses Of The Thorn Prince
Contact:

Re: Flowchart game assembly

#5 Post by Mammon » Sun Feb 19, 2017 10:59 am

Steffenator wrote:I dig how willing the experienced members of this group are to help we, the unwashed noobs.
Me, experienced? :lol:
Steffenator wrote:Where can I get one of those cool critique buttons?
Click my Honest critique button to find out.
ImageImageImage

Want some CC sprites?

User avatar
Steffenator
Regular
Posts: 51
Joined: Fri Feb 17, 2017 11:58 am
Contact:

Re: Flowchart game assembly

#6 Post by Steffenator » Sun Feb 19, 2017 12:09 pm

Sure, experienced, compared to me, certainly. And you are also, quoth, your avatar...a Veteran.
There once was a language called Ren'Py
that made all the wannabes cry... with joy.
It gave them the power,
they spent every hour,
to finish a game, or die.


User avatar
gas
Veteran
Posts: 365
Joined: Mon Jan 26, 2009 7:21 pm
Contact:

Re: Flowchart game assembly

#7 Post by gas » Thu Feb 23, 2017 4:24 pm

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 :).
10 ? "RENPY"
20 GOTO 10

RUN

User avatar
Steffenator
Regular
Posts: 51
Joined: Fri Feb 17, 2017 11:58 am
Contact:

Re: Flowchart game assembly

#8 Post by Steffenator » Thu Feb 23, 2017 5:10 pm

Cool, thanks.

Code: Select all

show thumbsup
    me "You're the man, bro."
:lol:
There once was a language called Ren'Py
that made all the wannabes cry... with joy.
It gave them the power,
they spent every hour,
to finish a game, or die.


MadEddy
Newbie
Posts: 4
Joined: Sat Jan 28, 2017 3:24 pm
Contact:

Re: Flowchart game assembly

#9 Post by MadEddy » Tue Mar 14, 2017 5:41 am

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

Post Reply

Who is online

Users browsing this forum: No registered users