May 1, 2018

[Update] A node-based editor in Unity

As I announced in my previous post, we were considering a switch to Unity, mainly because of the Live2D support. So I've been poking around, trying to assess whether the Unity framework and C# was for me. To be honest, I think if I'd tried it a few years ago, C# would've turned me off. But I figured, I have so much experience in programming, and I wish to go into business as a game developer, I can't just stop at the difficulty of a new language. Plus, I learned Python so easily that it encouraged me to take the plunge.

So I need to recode everything I've done for Project Conversation in Unity/C# and it's probably be tedious and boring (rather than actually challenging, since I merely need to translate scripts from a language to another). But first I had to recreate a visual novel-like gameplay, and that's when I realized Unity allows one to do something very cool--you can program the editor itself! If you remember my works for RPG Maker XP, you should know that I like to hijack the system to make the game designer's life easier, like I did with my Balloon System or the Party Interaction System. So the mere possibility of messing around with the editor was the ultimate argument to win my heart, I guess.

Thus, the first challenge I set myself was to create a node-based editor to make it possible for me (and more importantly, for my partner) to write dialogue scenes in a simple, visual fashion. I know such a system already exists in the Asset Store, but it's paid, and I don't like how it works, and I couldn't just build a game for someone else's scripts and call it mine anyway. So I gathered my courage and well, I made it. It's quite crude by the time I'm writing this, but the basic concepts are there. You can create dialogue boxes, connect them in the order you want them to appear. And more importantly, it all converts into game logic which make the scene unfold exactly like you've set it up when you run the program. To be honest, I was surprised it actually worked (almost) at first, with so few bugs. :p So I'm quite proud of my work. :)

So, unless I run into a huge problem, you can expect Project Conversation to go to Unity. :)

No comments:

Post a Comment