Fan made projects related to MLP

Search /collab/ threads

Name  
Email  
Subject  
Message  
File     
Embed    
Password  (for post and file deletion)

File 136951477433.png - (384.30KB , 1000x563 , 265542__throne_room.png )
44994 No. 44994
http://poniponi.com/

This is the first version with minimal set of features for a visual novel platform. I would appreciate some feedback and ideas. Should work fine with recent firefox/chrome/ipad.
Unspoiler all text  • Expand all images  • Reveal spoilers
>> No. 45000
How about explaining how this is better than competing products?

Have you done a proper scripting language design or did you just pick the first format that you could think of?

Do you have any people who will support the engine by actually using it for something serious?
>> No. 45003
>>45000
>How about explaining how this is better than competing products?
Its built as an web application so it doesn't require installing anything and distributing stories is trivial. I should be possible (when implemented) to embed it to other websites as well so it can be mixed with other web services.

>Have you done a proper scripting language design or did you just pick the first format that you could think of?
I just started building and refactored as I saw areas that I could improve. Currently I'm approaching scripting as a list of events and I think I've figured out how to do story branching and joining within this approach. It is hard to say what will be the pitfalls without building one comprehensive story first. If you have some input on this I would gladly hear your perspective.

>Do you have any people who will support the engine by actually using it for something serious?
Not really. I'm kind of putting this out in the open to see if anybody gets excited and wants to do something serious. I think I can really get someone excited when I get the editor ready as current system of adding, scaling and cropping images is quite painful.
>> No. 45009
I have been reading some renpy scripts recently and I can see how they are easy to write. No ugly markup, just short character ids and the dialog.

They are actually readable as text, as opposed to this json mess.
>> No. 45010
>>45009
Fair enough. RenPy seems to have quite nice syntax for scripts. Maybe I'll copy a bit of what their doing. Declaring names for images and scenes and minimizing required syntax for scripting seem all like good practices.

In the end I need to convert everything to JSON to use it with javascript but it might not be the best format for users.
>> No. 45011
>>45009
What do you think if it was reduced to something like this:

backgrounds:
throne_room: "/media/265542__throne_room.png",
wonderbolts_academy: "/media/313562__wonderbolts-academy_artist-ambassad0r.png"}

characters:
celestia:
happy: "/media/210309__princess-celestia_artist-90sigma.png"
suggestive: "/media/106615__princess-celestia_artist-synthrid.png"
magic: "/media/181657__princess-celestia_artist-akili-amethyst.png"

luna:
normal: "/media/188664__princess-luna_artist-canon-lb.png"


set background black
wait 2000
'' ... (click or press enter)
'' Where am I?
set background throne_room
set celestia happy on left with switch
'Celestia' Hello Anon.
'Celestia' I tried to bring back something from the human world but instead I ended up with you.
set celestia suggestive on left with blinds
wait 1000
set luna normal on right with switch
'Luna' You could just dump it on the moon~
set celestia magic on left with blinds
wait 200
set effect white with fade
clear luna on right
clear effect with fade
wait 300
set celestia happy on left
>> No. 45012
>>45010
Why is JSON required again? Also, why javascript? I like Flash.

>>45011
The declarations seems to allow for some syntactic ambiguity. I think you can afford a little more syntax there.
>> No. 45014
>>45012
>Why is JSON required again?
JavaScript Object Notation, it is the native data format for JavaScript. It's basically bunch of arrays and associative arrays and really convenient way to handle data when programming.

>Also, why javascript? I like Flash.
If I used Flash no mobile browser would run it and future support from desktop browsers is not certain (although I'd get nice support for IE6-IE8 :). Also, I'm interested in exploring new technologies like html5 canvas and some javascript libraries than a technology that is being phased out by browser vendors and even Adobe. JavaScript also allows packaging the whole thing as a native application for mobile devices.

>The declarations seems to allow for some syntactic ambiguity.
I'll fix it them I run across them. I already noticed that I needed 'set background color black' to differentiate from actual images. Now there cannot be a background 'color' but I guess that is manageable.
There may be problems if multiple characters share the same name or same images but that is not too much of a concern yet. Maybe I'll add an associative array of character handle - character name mappings in a similar fashion as image names.
>> No. 45015
>>45014
You didn't answer my question. I didn't ask what it is, but why it is required.
>> No. 45018
>>45015
It is required because manipulating JSON data in a javascript program is really easy. Other data formats are ok as long as they are easily mapped to JSON. I cannot use RenPy scripts because they rely on native Python stuff and I don't want to write a Python interpreter in JavaScript.

The stuff at >>45011 is easy to use from javascript programming prespective.
>> No. 45019
>>45018
JSON is a data encoding. Nothing more, nothing less. It has nothing to do with how the data is stored in memory while being used.

Please explain where you would use JSON, the data encoding, in this project.

Last edited at Mon, May 27th, 2013 11:16

>> No. 45021
>>45019
To encode data for javascript. Please explain your query.
>> No. 45022
>>45021
I am simply asking where JSON is used. Not why, but where.
>> No. 45023
>>45022
It is used as a format for storing story scripts and for server-client communication when any data is retrieved asynchronously.
>> No. 45024
>>45023
Server communication I can understand, but the story script? Aren't you making a new language?
>> No. 45027
>>45024
I'm still going to need to process the language in the context of javascript. That means I'm going to need data structures provided by javascript. The final user hopefully wont see any JSON but behind a very thin curtain everything will be stored as JSON.

In the demo here there is no server-side processing. Just static files and client side scripting.
>> No. 45029
>>45027
JSON is not the datastructures supported by JavaScript. It is a data encoding.

Where exactly are you going to use JSON again? To me it doesn't seem like that you are using it at all.

The script is never encoded using JSON, only the custom language. And I don't see any other data here.
>> No. 45037
File 136991149887.png - (126.19KB , 640x611 , _.png )
45037
>>45029

If they can make this awesomeness, they probably know what JSON is.

JSON syntax is a subset of JavaScript. It's a text (not binary) based serialization format that maps 1:1 to JavaScript objects. JSON is the simplest format to use directly with JavaScript.

>It is a data encoding

... that's text based. { this: "is JSON" }. The demo script is also JSON.

>Server communication I can understand, but the story script? Aren't you making a new language?

The story script is JSON. When it's sent across the network each character is encoded in a binary format. The binary encoding isn't JSON.

The story script isn't in a custom language but it could use one to make it simpler to type:
>>45011
>> No. 45039
>>45037
You didn't pay attention to the new proposed language at all, did you?
>> No. 45040
File 136992486580.jpg - (26.46KB , 640x360 , i_totally_did.jpg )
45040
>>45039

This?
>>45011

OPs gonna to make a parser to translate that into JSON. It's something cleaner to type the story scripts in instead of the mess at the bottom of poniponi.com.

What are you getting at?
>> No. 45041
>>45040
That's an assumption on your part. OP was not clear on this.
>> No. 45043
File 136995805493.png - (146.47KB , 640x596 , _.png )
45043
>>45041
>That's an assumption on your part.

Obviously, assumptions with experience are the fastest way to a solution. If they say they can make it work, I'll believe them.

I have no input on the new language itself 'cause I don't write story scripts. All I can say is it's a lot simpler for me to type than {brackets: "and quotes " everywhere"}.

The roadmap looks good too. I'll wait until something interesting can be done before playing with it too much. It is a demo after all.
[Return] [Entire Thread] [Last 50 posts] [First 100 posts]


Delete post []
Password    
Report post
Reason