mrstalker wrote: ↑
Tue Feb 19, 2019 10:49 pm
Good initiative man, I can't test right now because I'm on Debian, but from what I saw on GitHub, looks like good work! One question: Why you used C# instead of Python, which is the language used by Ren'py, it would not be easier?
Sorry for the bad English!
First of all, I like C#. When I first tried to code using it, it was pretty simple and it is still my favourite programming language. The same thing I want to say for the WPF - it's a great visualization subsystem of .NET Framework. Using the LINQ allowed me to get rid of databases in this application so I never even made any database.
Second - Visual Studio is my favourite IDE :3 Yes, it is so simple. Very comfortable one if you know what to do in it and at the moment of start of this project was the only one (I think it was) that allows you to see how the visual part of application on C++/C# looks like when using WPF.
Third reason is more complicated and is the main reason.
This project was recreated from scratch from my early project - the extended script editor, but I thought it has to become even better. I was trying to realise how to create a visual editor and I thought of two different options: extend the Ren'Py with additional Python code or do something else that can work independently. To extend Ren'Py that is a black box to me means to dive into it, study it hardly (which takes time and may be not so comfortable as I said earlier) and to try to develop something based on Ren'Py deeply integrated in it.
The way I though it to be made is exactly what I did - to visualize each moment in a game and get access to it's data there have to be a kind of a templates called "frame", "label", "image", "music" and so on to connect everything the most simple way possible. So I remembered a "frame" structure that takes place in a theory of AI and firstly it was used there, but the later interpretation of it was the class in OOP. But Python is not so good at OOP, the main and most common way to program stuff today. Also when you think about the way it has to work, in visual editor you will have the questions not only "how to build it", but "how to add/show something" and "how to remove/hide something". I knew OOP and C# good enough to divide the program into parts it required, create an algorythm of how the parts of the system have to work together and make them work that way, that's it. It could take time to deeply understand code of Ren'Py and to make a graphic user interface like I wanted it to be made, an at that moment I did have a will to create it, but didn't have enough time to study the new language, IDE, graphic subsystem and most importantly - the algorythm PyTom used to create Ren'Py to extend it with advanced graphics. Maybe in the future :3
I don't say it is the only way to create such a things, but I got everything together the way I could and the way I liked it the most. It is not finished, it is not perfect and it is not very good at performance questions but it works and works mostly as I expected.
I think I will have a possibility to compile it for Ubuntu and Debian.
I had a good time making it and hope you will too while testing it.)
P.S. My native country is Ukraine so maybe you can imagine how average level of my English is.)